Zigbee2mqtt error messages about schema options not existing

I keep getting these messages in my supervisor log from zigbee2mqtt. I remember doing a reset configuration before but apparently they are still there.

Do i just edit the yaml and yank out the options ? Do i loose any functionality? Or do i move them elsewhere.

s.options] Unknown option 'base_topic' for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'external_converters' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'devices' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'groups' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'homeassistant' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'permit_join' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'advanced' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'device_options' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'blocklist' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'passlist' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'queue' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'frontend' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'experimental' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
23-07-24 21:08:18 WARNING (MainThread) [supervisor.addons.options] Option 'availability' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)

Yes and no respectively.

You should find that the options have been imported to your zigbee2mqtt configuration.yaml file already.

1 Like

Great, i’ll have a look. So i remove the offending options from the zigbee2mqtt yaml configuration under addons, as they are already in the zigbee2mqtt configuration.yaml ?

Hope that makes sense. I guess there are 2 locations for configuration now? It does look like they are sort of the same but they are in different order at least.

configuration.yaml:

external_converters: []
devices:
  - devices.yaml
groups:
  - groups.yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  user: mqtt
  password: Mqtt
  server: mqtt://192.168.50.148:1883
serial:
  port: >-
    /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2442794-if00
  adapter: deconz
advanced:
  log_level: warn
  pan_id: 6754
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blocklist: []
  availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
availability: false

add-on configuration yaml:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  base_topic: zigbee2mqtt
  user: mqtt
  password: Mqtt
  server: mqtt://192.168.50.148:1883
serial:
  port: >-
    /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2442794-if00
  adapter: deconz
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: true
advanced:
  log_level: warn
  pan_id: 6754
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blocklist: []
  availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
availability: false

Only remove the ones from the addon config page that are reported in the log as not existing in the schema.

Tom

Resurrection of an old thread I know, but I am getting the same reports in my log, but only have one instance that I can find.

2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'external_converters' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'devices' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'groups' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'homeassistant' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'permit_join' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'advanced' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'device_options' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'blocklist' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'passlist' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'queue' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'frontend' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'experimental' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)
2025-01-02 18:46:59.496 WARNING (MainThread) [supervisor.addons.options] Option 'availability' does not exist in the schema for Zigbee2MQTT (45df7312_zigbee2mqtt)

The offending items are at \config\zigbee2mqtt\configuration.yaml and not in my main config file. Some I can see have no entries (eg external_converters) and could be deleted, but things like “advanced” include the network key, while “frontend” gives a port. Some of these also appear in the Z2M GUI, so are they redundant? The network key is not in the GUI that I can see but the port is.

I assume I can delete all those main items from the z2m config yaml and leave anything else under things like “mqtt” and “serial”, but “advanced” has me puzzled.

These are not redundant in the Z2M GUI or config/zigbee2mqtt/configuration.yaml file. They are redundant in the add-on configuration tab. Remove them from there.

1 Like

Thank you. It’s all green now.

For anyone else chasing this: The offending items only show up if you switch to “Edit in YAML” - those three vertical dots in the top right of the panel. They are not visible in my GUI version.