# Required: serial settings
serial:
- # Required: location of the adapter (e.g. CC2531).
- # To autodetect the port, set 'port: null'.
+ # Location of the adapter
+ # USB adapters - use format "port: /dev/serial/by-id/XXX"
+ # Ethernet adapters - use format "port: tcp://192.168.1.12:6638"
port: /dev/ttyACM0
#port: 'tcp://pve.giorgioravera.it:20108'
- # Optional: disable LED of the adapter if supported (default: false)
- disable_led: true
- # Optional: adapter type, not needed unless you are experiencing problems (default: shown below, options: zstack, deconz, ezsp)
- #adapter: null
+ # Adapter type, allowed values: `zstack`, `ember`, `deconz`, `zigate` or `zboss`
adapter: ember
+ # Optional: disable LED of the adapter if supported (default: false)
+ disable_led: false
# Optional: Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600.
#baudrate: 115200
# Optional: RTS / CTS Hardware Flow Control for serial port (default: false)
mqtt:
# Required: MQTT server URL (use mqtts:// for SSL/TLS connection)
server: 'mqtt://mqtt.giorgioravera.it'
- #server: 'mqtts://mqtt.giorgioravera.it:8883'
# Optional: MQTT base topic for Zigbee2MQTT MQTT messages (default: zigbee2mqtt)
#base_topic: zigbee2mqtt
# Optional: absolute path to SSL/TLS certificate of CA used to sign server and client certificates (default: nothing)
# Optional: MQTT protocol version (default: 4), set this to 5 if you
# use the 'retention' device specific configuration
#version: 4
- # Optional: Disable retain for all send messages. ONLY enable if you MQTT broker doesn't
+ # Optional: Disable retain for all send messages. ONLY enable if your MQTT broker doesn't
# support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform).
# Enabling will break the Home Assistant integration. (default: false)
#force_disable_retain: false
-
-# Optional: allow new devices to join.
-permit_join: false
+ # Specifies the maximum allowed packet length (in bytes) that the server can send to Zigbee2MQTT. NOTE: The same value exists in your MQTT broker but for the length the client can send to it instead. (default: 1048576)
+ #maximum_packet_size: 1048576
frontend:
+ enabled: true
# Optional, default 8080
#port: 8080
- # Optional, default 0.0.0.0
+ # Optional, empty by default to listen on both IPv4 and IPv6. Opens a unix socket when given a path instead of an address (e.g. '/run/zigbee2mqtt/zigbee2mqtt.sock')
+ # Don't set this if you use Docker or the Home Assistant add-on unless you're sure the chosen IP is available inside the container
#host: 0.0.0.0
- # Optional, enables authentication, disabled by default
+ # Optional, enables authentication, disabled by default, cleartext (no hashing required)
auth_token: '!secret auth_token'
# Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page
#url: 'https://zigbee2mqtt.myhouse.org'
#ssl_cert: /config/etc/letsencrypt/live/mydomain.com/fullchain.pem
# Optional, private key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated
#ssl_key: /config/etc/letsencrypt/live/mydomain.com/privkey.pem
+ # Optional, base URL for the frontend, when served from a subpath, e.g. behind the proxy. Default value is '/'
+ #base_url: /zigbee2mqtt
# Define default values which are applied to all devices
device_options:
retain: true
temperature_precision: 0
humidity_precision: 0
- legacy: false
# Define the files which contains the configs
devices: devices.yaml
# Optional: OTA update settings
# See https://www.zigbee2mqtt.io/guide/usage/ota_updates.html for more info
#ota:
- # Optional: use IKEA TRADFRI OTA test server, see OTA updates documentation (default: false)
- #ikea_ota_use_test_url: false
- # Minimum time between OTA update checks
+ # Optional: Minimum time between OTA update checks
#update_check_interval: 1440
- # Disable automatic update checks
+ # Optional: Disable automatic update checks
#disable_automatic_update_check: false
+ # Optional: Limits the rate of requests (in milliseconds) during OTA updates to reduce network congestion.
+ # You can increase this value if your network appears unstable during OTA
+ #image_block_response_delay: 250
+ # Optional: The size of file chunks sent during an update (in bytes).
+ # Note: This value may get ignored for manufacturers that require specific values.
+ #default_maximum_data_size: 50
-# Optional: Enable the availability feature (default = false)
-#availability: true
-
-# Note: all options are optional
+# Optional: Availability feature
#availability:
+ # Enable the feature (default: false)
+ #enabled: true
#active:
# Time after which an active device will be marked as offline in
# minutes (default = 10 minutes)
# Optional: Home Assistant integration (MQTT discovery) (default: false)
homeassistant:
+ # Enable the integration (default: false)
+ enabled: true
# Optional: Home Assistant discovery topic (default: shown below)
+ # Note: should be different from [MQTT base topic](../mqtt.md) to prevent errors in HA software
#discovery_topic: 'homeassistant'
# Optional: Home Assistant status topic (default: shown below)
- # Note: in addition to the `status_topic`, 'homeassistant/status' will also be used
- #status_topic: 'hass/status'
- # Optional: Home Assistant legacy entity attributes, (default: shown below), when enabled:
- # Zigbee2MQTT will send additional states as attributes with each entity. For example,
- # A temperature & humidity sensor will have 2 entities for the temperature and
- # humidity, with this setting enabled both entities will also have
- # an temperature and humidity attribute.
- # Note: Disabling this option, requires a Home Assistant restart
- legacy_entity_attributes: false
- # Optional: Home Assistant legacy triggers (default: shown below), when enabled:
- # - Zigbee2mqt will send an empty 'action' or 'click' after one has been send
- # - A 'sensor_action' and 'sensor_click' will be discoverd
- legacy_triggers: false
+ #status_topic: 'homeassistant/status'
+ # Optional: Experimental support for Home Assistant event entities, may break in the future (default: shown below) when enabled:
+ # - An `event` entity will be discovered for each 'action'.
+ # - The `event_type` attribute will contain the action itself, additional attributes like `button` will have further information.
+ #experimental_event_entities: false
+ # Optional: Home Assistant legacy action sensor (default: `false`), when enabled:
+ # - Zigbee2MQTT will send an empty 'action' after one has been send
+ # - A 'sensor_action' will be discovered
+ legacy_action_sensor: false
# Optional: networkmap options
#map_options:
#active: '#009900'
#inactive: '#994444'
-# Optional, see 'External converters configuration' below
-#external_converters: []
-
-# Optional: advanced settings
advanced:
# Optional: configure adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)
#adapter_concurrent: null
# It can't go over the maximum of the respective hardware and might be limited
# by firmware (for example to migrate heat, or by using an unsupported firmware).
# For the CC2652R(B) this is 5 dBm, CC2652P/CC1352P-2 20 dBm.
+ #transmit_power: 5
transmit_power: 3
# Optional: Set the adapter delay, only used for Conbee/Raspbee adapters (default 0).
# In case you are having issues try `200`.
#last_seen: 'disable'
# Optional: Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg (default: false)
#elapsed: false
- # Optional: Enables report feature, this feature is DEPRECATED since reporting is now setup by default
- # when binding devices. Docs can still be found here: https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/information/report.md
- #report: true
- # Optional: disables the legacy api (default: shown below)
- legacy_api: false
# Optional: MQTT output type: json, attribute or attribute_and_json (default: shown below)
# Examples when 'state' of a device is published
# json: topic: 'zigbee2mqtt/my_bulb' payload '{"state": "ON"}'
#output: 'json'
# Optional: ZigBee pan ID (default: shown below)
# Setting pan_id: GENERATE will make Zigbee2MQTT generate a new panID on next startup
- pan_id: 0xbb41
- # Optional: Zigbee extended pan ID (default: shown below)
+ pan_id: 47937
+ # Optional: Zigbee extended pan ID, GENERATE will make Zigbee2MQTT generate a new extended panID on next startup (default: shown below)
#ext_pan_id: [0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD]
- # Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)
+ # Optional: Zigbee channel, changing might require re-pairing of some devices (see docs below). (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid problems)
# (default: 11)
#channel: 11
- # Optional: network encryption key, will improve security
+ # Optional: network encryption key
+ # GENERATE will make Zigbee2MQTT generate a new network key on next startup
# Note: changing requires repairing of all devices (default: shown below)
network_key: '!secret network_key'
- # Optional: Logging level, options: debug, info, warn, error (default: info)
+ # Optional: Logging level, options: debug, info, warning, error (default: info)
#log_level: info
- log_level: warn
+ log_level: warning
+ # Optional: Set log levels for certain namespaces hierarchies (default: {})
+ #log_namespaced_levels:
+ # z2m:mqtt: warning
# Optional: log timestamp format (default: shown below)
#timestamp_format: 'YYYY-MM-DD HH:mm:ss'
# Optional: Location of log directory (default: shown below)
#log_file: log.txt
# Optional: Rotate log every 10MB around 3 files (default: true)
#log_rotation: true
- # Optional: Output location of the log (default: shown below), leave empty to supress logging (log_output: [])
+ # Optional: format the 'console' output as structured JSON instead of colored plain text.
+ #log_console_json: false
+ # Optional: Output location of the log (default: shown below), leave empty to suppress logging (log_output: [])
# possible options: 'console', 'file', 'syslog'
#log_output:
# - console
# - file
# Create a symlink called "current" in the log directory which points to the latests log directory. (default: false)
- log_symlink_current: false
+ #log_symlink_current: false
# Optional: syslog configuration, skip values or entirely to use defaults. Only use when 'syslog' in 'log_output' (see above)
#log_syslog:
# host: localhost # The host running syslogd, defaults to localhost.
- # port: 123 # The port on the host that syslog is running on, defaults to syslogd's default port.
- # protocol: tcp4 # The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).
- # path: /dev/log # The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).
+ # port: 514 # The port on the host that syslog is running on, defaults to syslogd's default port.
+ # protocol: udp4 # The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).
+ # path: /dev/log # The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).
# pid: process.pid # PID of the process that log messages are coming from (Default process.pid).
# facility: local0 # Syslog facility to use (Default: local0).
# localhost: localhost # Host to indicate that log messages are coming from (Default: localhost).
- # type: 5424 # The type of the syslog protocol to use (Default: BSD, also valid: 5424).
+ # type: '5424' # The type of the syslog protocol to use (Default: BSD, also valid: 5424).
# app_name: Zigbee2MQTT # The name of the application (Default: Zigbee2MQTT).
# eol: '\n' # The end of line character to be added to the end of the message (Default: Message without modifications).
- # Wether to use legacy mode for the availability message payload (default: true)
- # true = online/offline
- # false = {"state":"online"} / {"state":"offline"}
- legacy_availability_payload: false
+
+version: 4