Send device options via ZigBee2MQTT

Hey, i have an IKEA motion sensor and want to set the occupancy_timeout via an item. Unfortunately the occupancy_timeout is being controlled by “device specific options” and not via a /set request.

Adding this to a .things file, does not change anything at all. Its still not working. Is there even a way to change this via an item?

Thing mqtt:topic:Bewegungsmelder_Badezimmerspiegel "Z2M: Bewegungsmelder Badezimmerspiegel" (mqtt:broker:823098e4c9) [availabilityTopic="zigbee2mqtt/Bewegungsmelder_Badezimmerspiegel/availability", payloadAvailable="online", payloadNotAvailable="offline", transformationPattern="JSONPATH:$.state"] {
    Channels:
    Type switch : occupancy "Bewegung" [stateTopic="zigbee2mqtt/Bewegungsmelder_Badezimmerspiegel", transformationPattern="JSONPATH:$.occupancy", on="true", off="false"]
    Type number : occupancy_timeout "Timeout wenn keine Bewegung" [stateTopic="zigbee2mqtt/Bewegungsmelder_Badezimmerspiegel", commandTopic="zigbee2mqtt/Bewegungsmelder_Badezimmerspiegel/set", transformationPattern="JSONPATH:$.occupancy_timeout"]
    Type number : battery "Akkustand" [stateTopic="zigbee2mqtt/Bewegungsmelder_Badezimmerspiegel", transformationPattern="JSONPATH:$.battery", formatBeforePublish="%d%%"]
}

The battery/switch channels are working. the timeout channel does not.

Looking into my zigbee2mqtt-configurations.yaml i am getting this information:

  '0x70ac08fffe9ca116':
    friendly_name: Bewegungsmelder_Badezimmerspiegel
    occupancy_timeout: 90
    illuminance_below_threshold_check: false

I never had those informations in the .yaml file. Normally the devices are listed without any options like this:

  '0x00158d000839bc3b':
    friendly_name: Wassersensor_Aquarium
  '0x70ac08fffe94f241':
    friendly_name: Reinigungsschalter_Badezimmer
  '0x84182600000c2997':
    friendly_name: Filterpumpe_Pool_Terrasse
  '0x001788010219dbc9':
    friendly_name: Fernbedienung_Schminktisch_Hobbyraum

Regards,
Jimmi

Changing it to

Type number : occupancy_timeout "Timeout wenn keine Bewegung" [commandTopic="zigbee2mqtt/bridge/request/device/options", formatBeforePublish="{\"id\":\"0x70ac08fffe9ca116\",\"options\":{\"occupancy_timeout\":%s}}"]

worked finally.
Theres been a request for ZigBee2MQTT. And a little “tutorial” in the answers.

1 Like

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.