+version: 4
+
# 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
+ # Adapter type, allowed values: `zstack`, `ember`, `deconz`, `zigate` or `zboss`
+ adapter: null
# Optional: disable LED of the adapter if supported (default: false)
disable_led: false
- # Optional: adapter type, not needed unless you are experiencing problems (default: shown below, options: zstack, deconz, ezsp)
- adapter: null
# 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)
# 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: true
+ # 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
auth_token: your-secret-token
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
+ # Optional, list of regular expressions to hide notifications, the example below hides notifications for failed device pings
+ #notification_filter:
+ # - 'z2m: Failed to ping.*'
+ # Optional, this will change the web-based UI
+ #package: zigbee2mqtt-frontend
# Define default values which are applied to all devices
device_options:
# 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: true
- # 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: true
+ 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:
- - freepad_ext.js
- - one-more-converter.js
-
-# 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
# 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
+ # Optional: Set the adapter delay, only used for Conbee/Raspbee adapters (default 0).
+ # In case you are having issues try `200`.
+ # For more information see https://github.com/Koenkk/zigbee2mqtt/issues/4884
+ adapter_delay: 0
# Optional: state caching, MQTT message payload will contain all attributes, not only changed ones.
# Has to be true when integrating via Home Assistant (default: true)
cache_state: true
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: true
# 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"}'
# Optional: ZigBee channel, changing requires re-pairing of all devices. (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: [ 1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13 ]
# Optional: Logging level, options: debug, info, warn, error (default: info)
log_level: info
+ # 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
# 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).
+ 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).
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: true
\ No newline at end of file