mirror of
https://github.com/MAGICGrants/truenas-apps.git
synced 2026-01-08 04:03:51 -05:00
1005 lines
61 KiB
JSON
1005 lines
61 KiB
JSON
{
|
|
"1.1.60": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/__w/apps/apps/trains/community/esphome/1.1.60",
|
|
"last_update": "2025-12-05 13:14:36",
|
|
"required_features": [],
|
|
"human_version": "2025.11.4_1.1.60",
|
|
"version": "1.1.60",
|
|
"app_metadata": {
|
|
"app_version": "2025.11.4",
|
|
"capabilities": [
|
|
{
|
|
"description": "ESPHome is able to use raw and packet sockets",
|
|
"name": "NET_RAW"
|
|
},
|
|
{
|
|
"description": "ESPHome is able to change user ID of processes",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"home-automation"
|
|
],
|
|
"changelog_url": "https://esphome.io/changelog/",
|
|
"date_added": "2025-01-24",
|
|
"description": "ESPHome is a system to control your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.",
|
|
"home": "https://esphome.io",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/esphome/icons/icon.svg",
|
|
"keywords": [
|
|
"home-automation"
|
|
],
|
|
"lib_version": "2.1.65",
|
|
"lib_version_hash": "f92a9ee78c78fc77f86e7d8b545bd4c605c31c599e2c5da59f1615aa516cb8b5",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@truenas.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "esphome",
|
|
"run_as_context": [
|
|
{
|
|
"description": "ESPHome runs as any non-root user.",
|
|
"gid": 568,
|
|
"group_name": "esphome",
|
|
"uid": 568,
|
|
"user_name": "esphome"
|
|
}
|
|
],
|
|
"screenshots": [],
|
|
"sources": [
|
|
"https://github.com/esphome/esphome"
|
|
],
|
|
"title": "ESPHome",
|
|
"train": "community",
|
|
"version": "1.1.60"
|
|
},
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "ESPHome Configuration",
|
|
"description": "Configure ESPHome"
|
|
},
|
|
{
|
|
"name": "User and Group Configuration",
|
|
"description": "Configure User and Group for ESPHome"
|
|
},
|
|
{
|
|
"name": "Network Configuration",
|
|
"description": "Configure Network for ESPHome"
|
|
},
|
|
{
|
|
"name": "Storage Configuration",
|
|
"description": "Configure Storage for ESPHome"
|
|
},
|
|
{
|
|
"name": "Labels Configuration",
|
|
"description": "Configure Labels for ESPHome"
|
|
},
|
|
{
|
|
"name": "Resources Configuration",
|
|
"description": "Configure Resources for ESPHome"
|
|
}
|
|
],
|
|
"questions": [
|
|
{
|
|
"variable": "TZ",
|
|
"group": "ESPHome Configuration",
|
|
"label": "Timezone",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Etc/UTC",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "esphome",
|
|
"label": "",
|
|
"group": "ESPHome Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "devices",
|
|
"label": "Devices",
|
|
"description": "Devices to use for ESPHome.\nEg: Host Device: /dev/ttyUSB0, Container Device: /dev/ttyACM0\n",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "device",
|
|
"label": "Device",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "host_device",
|
|
"label": "Host Device",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "container_device",
|
|
"label": "Container Device",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "additional_envs",
|
|
"label": "Additional Environment Variables",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "env",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "run_as",
|
|
"label": "",
|
|
"group": "User and Group Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "user",
|
|
"label": "User ID",
|
|
"description": "The user id that ESPHome files will be owned by.",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 568,
|
|
"default": 568,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group ID",
|
|
"description": "The group id that ESPHome files will be owned by.",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 568,
|
|
"default": 568,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "network",
|
|
"label": "",
|
|
"group": "Network Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "web_port",
|
|
"label": "WebUI Port",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "bind_mode",
|
|
"label": "Port Bind Mode",
|
|
"description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "published",
|
|
"enum": [
|
|
{
|
|
"value": "published",
|
|
"description": "Publish port on the host for external access"
|
|
},
|
|
{
|
|
"value": "exposed",
|
|
"description": "Expose port for inter-container communication"
|
|
},
|
|
{
|
|
"value": "",
|
|
"description": "None"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "port_number",
|
|
"label": "Port Number",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 36052,
|
|
"min": 1,
|
|
"max": 65535,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_ips",
|
|
"label": "Host IPs",
|
|
"description": "IPs on the host to bind this port",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"bind_mode",
|
|
"=",
|
|
"published"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host_ip",
|
|
"label": "Host IP",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/node_bind_ip"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "additional_ports",
|
|
"label": "Additional Ports",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"host_network",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"items": [
|
|
{
|
|
"variable": "port",
|
|
"label": "Port",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "bind_mode",
|
|
"label": "Port Bind Mode",
|
|
"description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "published",
|
|
"enum": [
|
|
{
|
|
"value": "published",
|
|
"description": "Publish port on the host for external access"
|
|
},
|
|
{
|
|
"value": "exposed",
|
|
"description": "Expose port for inter-container communication"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "port_number",
|
|
"label": "Port Number",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 1,
|
|
"max": 65535,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "container_port",
|
|
"label": "Container Port",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 1,
|
|
"max": 65535,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "protocol",
|
|
"label": "Protocol",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "tcp",
|
|
"enum": [
|
|
{
|
|
"value": "tcp",
|
|
"description": "TCP"
|
|
},
|
|
{
|
|
"value": "udp",
|
|
"description": "UDP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_ips",
|
|
"label": "Host IPs",
|
|
"description": "IPs on the host to bind this port",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"bind_mode",
|
|
"=",
|
|
"published"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host_ip",
|
|
"label": "Host IP",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/node_bind_ip"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_network",
|
|
"label": "Host Network",
|
|
"description": "Bind to the host network. It's recommended to keep this disabled.\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "",
|
|
"group": "Storage Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "config",
|
|
"label": "ESPHome Config Storage",
|
|
"description": "The path to store ESPHome Config.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"hidden": true,
|
|
"default": "config"
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl_entries",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": []
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_path_config",
|
|
"label": "Host Path Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"host_path"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Host Path",
|
|
"description": "The host path to use for storage.",
|
|
"schema": {
|
|
"type": "hostpath",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "additional_storage",
|
|
"label": "Additional Storage",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "storageEntry",
|
|
"label": "Storage Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.</br>\nNFS Share: Is a NFS share that is mounted to as a volume.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
},
|
|
{
|
|
"value": "cifs",
|
|
"description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
|
|
},
|
|
{
|
|
"value": "nfs",
|
|
"description": "NFS Share (Mounts a volume to a NFS share)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "read_only",
|
|
"label": "Read Only",
|
|
"description": "Mount the volume as read only.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mount_path",
|
|
"label": "Mount Path",
|
|
"description": "The path inside the container to mount the storage.",
|
|
"schema": {
|
|
"type": "path",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_path_config",
|
|
"label": "Host Path Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"host_path"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Host Path",
|
|
"description": "The host path to use for storage.",
|
|
"schema": {
|
|
"type": "hostpath",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "storage_entry"
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl_entries",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cifs_config",
|
|
"label": "SMB Configuration",
|
|
"description": "The configuration for the SMB dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"cifs"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "The server to mount the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"description": "The path to mount the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"description": "The username to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "The password to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "The domain to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "nfs_config",
|
|
"label": "NFS Configuration",
|
|
"description": "The configuration for the NFS dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"nfs"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "The server to mount the NFS share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"description": "The path to mount the NFS share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "labels",
|
|
"label": "",
|
|
"group": "Labels Configuration",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "label",
|
|
"label": "Label",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"description": "Containers where the label should be applied",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "esphome",
|
|
"description": "esphome"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "resources",
|
|
"label": "",
|
|
"group": "Resources Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "limits",
|
|
"label": "Limits",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "cpus",
|
|
"label": "CPUs",
|
|
"description": "CPUs limit for ESPHome.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "Memory (in MB)",
|
|
"description": "Memory limit for ESPHome.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 4096,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"readme": "<h1>ESPHome</h1> <p><a href=\"https://github.com/esphome/esphome\">ESPHome</a> is a system to control your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.</p>",
|
|
"changelog": null,
|
|
"chart_metadata": {
|
|
"app_version": "2025.11.4",
|
|
"capabilities": [
|
|
{
|
|
"description": "ESPHome is able to use raw and packet sockets",
|
|
"name": "NET_RAW"
|
|
},
|
|
{
|
|
"description": "ESPHome is able to change user ID of processes",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"home-automation"
|
|
],
|
|
"changelog_url": "https://esphome.io/changelog/",
|
|
"date_added": "2025-01-24",
|
|
"description": "ESPHome is a system to control your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.",
|
|
"home": "https://esphome.io",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/esphome/icons/icon.svg",
|
|
"keywords": [
|
|
"home-automation"
|
|
],
|
|
"lib_version": "2.1.65",
|
|
"lib_version_hash": "f92a9ee78c78fc77f86e7d8b545bd4c605c31c599e2c5da59f1615aa516cb8b5",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@truenas.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "esphome",
|
|
"run_as_context": [
|
|
{
|
|
"description": "ESPHome runs as any non-root user.",
|
|
"gid": 568,
|
|
"group_name": "esphome",
|
|
"uid": 568,
|
|
"user_name": "esphome"
|
|
}
|
|
],
|
|
"screenshots": [],
|
|
"sources": [
|
|
"https://github.com/esphome/esphome"
|
|
],
|
|
"title": "ESPHome",
|
|
"train": "community",
|
|
"version": "1.1.60"
|
|
}
|
|
}
|
|
} |