Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xiaomi QBKG03LM / QBKG04LM switches messed up payload with 'legacy: false' #11466

Closed
uncle-fed opened this issue Feb 17, 2022 · 36 comments
Closed
Labels
problem Something isn't working

Comments

@uncle-fed
Copy link

What happened?

This issue picks up on the abandoned problem report #3002, with some additional information about incorrect behaviour.

There are several issues with the QBKG03LM / QBKG04LM single and 2-button switches when you press (or hold) their button(s).

What did you expect to happen?

The generated payload does not correspond to the documented (and the expected) one when z2m is running with disabled legacy mode.

How to reproduce it (minimal and precise)

z2m has the following config options set:

advanced:
  legacy_availability_payload: false
  legacy_api: false
device_options:
  legacy: false
  • 1-button switch emits action: release, instead of the action: single when the button is clicked ordinarily. According to the documentation, the release action should only be seen when the switch button is held and then released.

  • Similarly, the 2-button switch emits action: release_left or action: release_right or release_both, instead of the single_left or single_right or single_both when the buttons are pressed shortly.

  • In addition to action, the 2-button switch has in its payload button_left: ... or button_right: ... property, which is not mentioned anywhere in the documentation. Even in the legacy mode it only mentions the deprecated click_* poperty, but nothing about button_ . Single button switch behaves correctly (does not transmit the button property in this case).

  • Even though it is not documented, it seems that the switch might be capable of distinguishing a double-click event. If you try it on a 2-button switch, for example, you get action: undefined_left, which is different from release_left or hold_left. This may suggest that the switch could potentially offer more actions.

  • Getting the operation_mode property does not work. Every time I try, I get the timeout Publish 'get' 'operation_mode' to '....' failed: 'Error: Read 0x00xxxxxxxxxxxxxxxx/2 genBasic([65314], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":4447,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 36884 - 2 - 19 - 0 - 1 after 10000ms)'. However, setting the operation_mode with /set does work properly and is instant.

Zigbee2MQTT version

1.23.0-dev commit: aace02c

Adapter firmware version

20190523

Adapter

СС2538-RPi-Hat

Debug log

No response

@uncle-fed uncle-fed added the problem Something isn't working label Feb 17, 2022
@uncle-fed uncle-fed changed the title Xiaomi QBKG03LM / QBKG04LM switches messed up 'action' when legacy mode is disabled Xiaomi QBKG03LM / QBKG04LM switches messed up payload with 'legacy: false' Feb 17, 2022
@Koenkk
Copy link
Owner

Koenkk commented Feb 18, 2022

About the first 3 points, we should put the non legacy actions in the exposes, could you provide a list of all options?

Even though it is not documented, it seems that the switch might be capable of distinguishing a double-click event. If you try it on a 2-button switch, for example, you get action: undefined_left, which is different from release_left or hold_left. This may suggest that the switch could potentially offer more actions.

Can you provide the debug log when the action contains undefined?

Getting the operation_mode property does not work. Every time I try, I get the timeout

This looks like your device does not support this, from Koenkk/zigbee-herdsman-converters@3d1a721 by @ruifung:

  • Expose access ALL, though I'm unsure if all devices will support GET-ing the attribute though.
    For example, my QBKG24LM only seems to be able to GET the attribute for one side. Wierd.

@uncle-fed
Copy link
Author

About the first 3 points, we should put the non legacy actions in the exposes, could you provide a list of all options?

I think one of us is confused here (currently me, with your reply :-))

I was trying to say that the documentation is fine (i.e. the documented behaviour = expected behaviour = how it should be), but the current implementation does not conform to that. The names of the "single click" events that z2m emits are not correct at present (as described in the first 2 points). And the 3rd point is about the fact that the currently present property should NOT be present in the payload, because it is not expected and it is not documented, i.e. it should be removed from the code, not put into the documentation :-)

In other words, this is not about documentation, it is about the code changes that should make z2m work as currently documented.

This looks like your device does not support this.

In this case, shouldn't the web UI / Zigbee converter NOT allow this GET operation and reject it immediately? Both models of the switches discussed here do not support "get" of the operation_mode but the operation is permitted with the timeout error that is produced after 10 seconds. So you are basically allowed to send a request that you know is not supported, which results that for the next 10 seconds after such request the device is "paralyzed" (all the following requests to the same device are stuck until the timeout is reached).

Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Feb 18, 2022
@Koenkk
Copy link
Owner

Koenkk commented Feb 18, 2022

The value of action depends wether you set legacy: false or true, what should be shown in the docs is what is send when legacy: false.

In this case, shouldn't the web UI / Zigbee converter NOT allow this GET operation and reject it immediately?

Done (shouldn't show the get anymore).

Changes will be available in the dev branch in tomorrow. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)

@uncle-fed
Copy link
Author

The value of action depends wether you set legacy: false or true, what should be shown in the docs is what is send when legacy

The docs are correct already. The action values described in the docs (when legacy is false) are "single". "hold", "release".
The reality is: "release", "hold", "release".

@Koenkk
Copy link
Owner

Koenkk commented Feb 18, 2022

The docs are correct already. The action values described in the docs (when legacy is false) are "single". "hold", "release".
The reality is: "release", "hold", "release".

this is for the QBKG04LM, what about the QBKG03LM, I expect (left|right)_(hold|release)

We also need to tackle the undefined case, can you provide the debug log of that?

@uncle-fed
Copy link
Author

uncle-fed commented Feb 18, 2022

As descibed in my inital post, points 1 and 2:

  • QBKG04LM emits action: release, instead of the documented action: single when the button is clicked ordinarily.
  • QBKG03LM emits action: release_left or action: release_right or action: release_both, instead of the single_left or single_right or single_both

@uncle-fed
Copy link
Author

Double click right -- results in {"action":"undefined_right"}

Zigbee2MQTT:debug 2022-02-18 22:42:15: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343184,"onOff":1}' from endpoint 3 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:42:15: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":201338128,"onOff":1}' from endpoint 3 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:42:15: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"onOff":2}' from endpoint 5 with groupID 0
Zigbee2MQTT:info  2022-02-18 22:42:16: MQTT publish: topic '...', payload '{"action":"undefined_right","button_right":"hold","linkquality":81,"state_right":"ON"}'

Double click left -- results in {"action":"release_left"}

Zigbee2MQTT:debug 2022-02-18 22:42:24: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343185,"onOff":1}' from endpoint 2 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:42:24: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:42:24: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":201338129,"onOff":1}' from endpoint 2 with groupID 0
Zigbee2MQTT:info  2022-02-18 22:42:25: MQTT publish: topic '...', payload '{"action":"release_left","button_left":"release","linkquality":89,"state_left":"ON"}'

Also, for completeness, single clicks that result in release_left|right|both: instead of single_left|right|both

Zigbee2MQTT:debug 2022-02-18 22:46:34: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343185,"onOff":0}' from endpoint 2 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:46:34: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
Zigbee2MQTT:info  2022-02-18 22:46:34: MQTT publish: topic '...', payload '{"action":"release_left","button_left":"release","linkquality":84,"state_left":"OFF"}'
Zigbee2MQTT:debug 2022-02-18 22:46:40: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343184,"onOff":0}' from endpoint 3 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:46:40: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 5 with groupID 0
Zigbee2MQTT:info  2022-02-18 22:46:40: MQTT publish: topic '...', payload '{"action":"release_right","button_right":"release","linkquality":70,"state_right":"OFF"}'
Zigbee2MQTT:debug 2022-02-18 22:46:56: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343185,"onOff":1}' from endpoint 2 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:46:56: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"61440":50343184,"onOff":1}' from endpoint 3 with groupID 0
Zigbee2MQTT:debug 2022-02-18 22:46:56: Received Zigbee message from '...', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 6 with groupID 0
Zigbee2MQTT:info  2022-02-18 22:46:57: MQTT publish: topic '...', payload '{"action":"release_both","linkquality":52,"state_left":"ON","state_right":"ON"}'

Also note the property called button_* that should not exist at all according to documented behaviour.

Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Feb 19, 2022
@Koenkk
Copy link
Owner

Koenkk commented Feb 19, 2022

  • Fixed the actions now (docs will be regenerated with next release on 1 March)
  • button_* will not be send anymore for QBKG03LM when legacy: false
  • action double_right should be send now, but are you able to trigger this for the left button and QBKG04LM?
    • The value of onOff is used to determine this, messages with 61440 are ignored.
    • 2 = double; 1 = release; 0 = hold;
    • For double click right you got {"onOff":2}
    • For double click left you got {"onOff":1}
    • Note to self; add these actions to the exposes once confirmed.

@uncle-fed
Copy link
Author

uncle-fed commented Feb 19, 2022

@Koenkk Thanks a lot, I've verified the latest code changes.

Double presses are now recognized (even though they are a bit awkward to actually generate consistently).
I was now able to trigger the double left (that was wrong in my last message) and double for a single button switch too.

So, everything you've said in the last comment is true and correct. Unfortunately.

Unfortunately, because both single press and a release after hold generate the same release event and this was precisely the reason why I opened this issue in the first place. I was hoping that the documentation was right and that the implementation was wrong, but the reverse is true: the switch seems to only realize 3 actions: release, hold and double, as you wrote.

To me this essentially means that the switch cannot be used to create scenarios where the same device could launch different actions on single press and on hold. If you configure action for the "release" event, it will be launched either on single press or at the end of hold - no distinction. Which then means, if you use single press action, then the hold cannot be used at all, as there is no way to distinguish between the end of hold or a single click.

I have a proposal here that maybe is able to resolve this "inconvenience".

Could there be an (internal, per device) flag that gets raised every time the hold event comes in.

  • When the release event comes, z2m will first check the flag.
  • If the flag is not set, the release should get converted into single.
  • If the flag was set, the release should remain without changes and the flag should get reset.

What do you think?

@Koenkk
Copy link
Owner

Koenkk commented Feb 20, 2022

What if the release actions will include the last action? So you will have a hold_release and single_release?

We have to think how to documents this and this cannot be the default behaviour since it is breaking.

@uncle-fed
Copy link
Author

We could also do single_release... but that's just basically exposing the internal flag suggested by me to the end user.

This of course would be already much better than the current implementation, but why not just actually implementing what has been documented from the start? I.e., the documentation pages for these switches stated action: single (not action: release) from the very first day when the legacy: false was introduced. So to me, the topic is not about "breaking behaviour" but actually making it work how it was always documented, and how it actually makes sense for being able to use automations properly.

@uncle-fed
Copy link
Author

See another user complaining about the documented behaviour not corresponding to reality here:
Koenkk/zigbee-herdsman-converters#3002

@Koenkk
Copy link
Owner

Koenkk commented Feb 20, 2022

i understand your point, but changing the behaviour is a breaking change, users depend on the current behaviour. So this new behaviour (with the flag stuff) should definitely be an option imo.

@uncle-fed
Copy link
Author

uncle-fed commented Feb 20, 2022

changing the behaviour is a breaking change

It is going to be breaking for those who never read the docs and just relied on the implemented behavior. Can we call something that fixes the behavior to be compliant with the documentation to be breaking? I'll leave you to be the judge of that. :)

I saw the problem because I read the docs and it didn't match the reality, so I immediately opened the issue here. Another person (quoted above) did the same. If others implemented something without following the API/docs and now it's going to break for them, whose problem is that? :)

Also we're talking about new, non legacy behaviour where a fix like that can also be justified as the way forward.

@Koenkk
Copy link
Owner

Koenkk commented Feb 20, 2022

In my opinion the docs were wrong (since the single action was there while it was never intended to be exposed. But that doesn't bring us any further.

I was wondering, is the hold always send? Or just when you hold if for a few secs

@uncle-fed
Copy link
Author

hold is sent only when you hold the button for longer than a second or so, and the subsequent release is sent once you let go.
hold does not get sent at all if you single-press or double-press.

@Koenkk
Copy link
Owner

Koenkk commented Feb 20, 2022

I see, so another non-breaking possibility here would be to publish two actions for the single case. Although for the release case you don't know if it was from a hold or single. What do you think?

So:

  • single press: release, single (new)
  • hold: hold, release

@uncle-fed
Copy link
Author

uncle-fed commented Feb 20, 2022

That sounds like a compromise solution which aims at being non-breaking.

You're right, it leaves one use case incomplete / broken (depending on what you intend to do with the hold/release actions). Not ideal... But we could extend this idea and go all the way: we should also then add another (second) action for the end of the "hold/release" sequence and call it hold_release and thus would allow both old and new logic without any breaking changes. The old actions remain as the release and the new ones would allow to distinguish between all of the events.

However, I still would like to point out that this discussion changes the accents about what's more important (in the long run) if we look in the context of legacy: false. I understood that the initiative of doing away with the legacy mode was put together as an attempt to "harmonize and make more/less uniform" all the various button events' names and related properties that were previously named a bit wild and inconsistent. In this light, introducing a "somewhat weird event concept with the same event called differently" feels rather strange and inconsistent again.

If there were no legacy: false general approach, I would probably agree that it is better to add a set of "second" actions that would serve 2 purposes. But as the intention was to do away with the ambiguous stuff in the non-legacy mode, I think (for me personally) it is better to announce "a possible breaking change" and have "single", "double", "hold" and "release" events and that's it. And don't forget that double was never there before, so this justifies the "breaking" change even more!

I know that a lot of people on the forums and Telegram channels dedicated to the theme are always discussing the changelogs for every single z2m release and even minor update. Surely people would notice a text "POTENTIALLY BREAKING" ;-)

@uncle-fed
Copy link
Author

uncle-fed commented Feb 20, 2022

Maybe, as yet another compromise, for now the set of secondary actions (single and hold_release) should be simply introduced. But the day you decide to make legacy: false the default behaviour of zigbee2mqtt, the release after single-press and the hold_release events should also be gone completely. What do you think?

@uncle-fed
Copy link
Author

The following three pictures are the status of the switch report when the single hold release

Do you mean that the switch actually provides different messages for the release after single-click and release after hold but the current converter does not make this distinction? Or I don't fully understand ?...

@Koenkk
Copy link
Owner

Koenkk commented Feb 21, 2022

Maybe, as yet another compromise, for now the set of secondary actions (single and hold_release) should be simply introduced.

This is fine by my

But the day you decide to make legacy: false the default behaviour of zigbee2mqtt, the release after single-press and the hold_release events should also be gone completely. What do you think?

Legacy false is already the default behavior for many users (it will be set once a new network is started)

@uncle-fed for the sake of completeness, can you provide me the debug log of the following sequences:

  • Press button and release immediately
  • Press button, hold for a few seconds, release

@uncle-fed
Copy link
Author

Single button switch, single press

Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"61440":59773986,"onOff":0}' from endpoint 2 with groupID 0
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
MQTT publish: payload '{"action":"release","linkquality":86,"state":"OFF"}'

Single button switch, hold... wait... release

Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"61440":59773986,"onOff":1}' from endpoint 2 with groupID 0
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":0}' from endpoint 4 with groupID 0
MQTT publish: payload '{"action":"hold","linkquality":92,"state":"ON"}'
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
MQTT publish: payload '{"action":"release","linkquality":94}'

2-button switch, left button, single press

Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"61440":50343185,"onOff":0}' from endpoint 2 with groupID 0
MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"linkquality":99}'
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
MQTT publish: payload '{"action":"release_left","linkquality":81,"state_left":"OFF"}'

2-button switch, left button, hold... wait... release

Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"61440":50343185,"onOff":1}' from endpoint 2 with groupID 0
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":0}' from endpoint 4 with groupID 0
MQTT publish: payload '{"action":"hold_left","linkquality":84,"state_left":"ON"}'
Zigbee message, type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
MQTT publish:payload '{"action":"release_left","linkquality":84}'

Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Feb 21, 2022
@Koenkk
Copy link
Owner

Koenkk commented Feb 21, 2022

Thanks, added it now, can you test it?

Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)

@uncle-fed
Copy link
Author

uncle-fed commented Feb 22, 2022

Hi, I've updated dev to get the 'converters 14.0.429' version but I don't get any new actions, i.e., no "single" actions seen, everything looks like before.

@uncle-fed
Copy link
Author

I've completely reinstalled z2m and switched to the latest dev branch. I am still not seeing the "two actions".
It must be some other parameter in my configuration.yaml that affects the behaviour if somebody can see it and I can't.
I don't have any other ideas.

homeassistant: false
permit_join: false
frontend:
  port: 8883
mqtt:
  base_topic: z2m
  server: mqtt://127.0.0.1
serial:
  port: /dev/serial0
advanced:
  cache_state: false
  cache_state_persistent: false
  cache_state_send_on_startup: false
  channel: 15
  last_seen: ISO_8601
  legacy_availability_payload: false
  legacy_api: false
  rtscts: false
availability:
  active:
    timeout: 5
  passive:
    timeout: 60
device_options:
  retain: false
  legacy: false
  debounce: 0.5
devices:
  '0x00xxxxxxxxxxxxxxx':
    friendly_name: switch/livingroom/ceiling
  '0x00xxxxxxxxxxxxxxx':
    friendly_name: switch/kitchen/wall

@Koenkk
Copy link
Owner

Koenkk commented Feb 23, 2022

@uncle-fed checked the code but I don't see what is wrong yet, is the release event still being send?

@uncle-fed
Copy link
Author

uncle-fed commented Feb 24, 2022

Yes, the release is being sent as before. Basically I don't observe any changed behaviour as if there were no code changes.

@Koenkk
Copy link
Owner

Koenkk commented Feb 24, 2022

@uncle-fed can you provide the debug log starting from the point where you start z2m until a release action is send?

See https://www.zigbee2mqtt.io/guide/usage/debug.html on how to enable debug logging.

@uncle-fed
Copy link
Author

Feb 24 19:07:36 rpi-don systemd[1]: Started zigbee2mqtt.
Feb 24 19:07:38 rpi-don npm[5352]: > zigbee2mqtt@1.23.0-dev start
Feb 24 19:07:38 rpi-don npm[5352]: > node index.js
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:45: Can't load state from file /opt/zigbee2mqtt/data/state.json (doesn't exist)
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:45: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-02-24.19-07-42' filename: log.txt
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:45: Removing old log directory '/opt/zigbee2mqtt/data/log/2022-02-22.01-40-39'
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:45: Starting Zigbee2MQTT version 1.23.0-dev (commit #caafc64f)
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:45: Starting zigbee-herdsman (0.14.18)
Feb 24 19:07:45 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:45: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/opt/zigbee2mqtt/data/coordinator_backup.json","databaseBackupPath":"/opt/zigbee2mqtt/data/database.db.backup","databasePath":"/opt/zigbee2mqtt/data/database.db","network":{"channelList":[15],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"path":"/dev/serial0","rtscts":false}}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: zigbee-herdsman started (resumed)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: Coordinator firmware version: '{"meta":{"maintrel":2,"majorrel":2,"minorrel":7,"product":2,"revision":20190523,"transportrev":2},"type":"zStack30x"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Zigbee network parameters: {"channel":11,"extendedPanID":"0x00124b00193650cc","panID":6754}
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: Currently 7 devices are joined:
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/sensor/kitchen/env (0x00158d000322a2f9): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/sensor/outside/env (0x00158d0002720d78): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/sensor/closet/fridge (0x00158d0004855456): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/sensor/bedroom/env (0x00158d00034cec62): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/sensor/livingroom/thermostat (0x000d6f000c2cddc2): AV2010/32 - SMaBiT (Bitron Video) Wireless wall thermostat with relay (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/switch/livingroom/ceiling (0x00158d0002ab622e): QBKG04LM - Xiaomi Aqara single key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: home/switch/kitchen/wall (0x00158d0002a718ff): QBKG03LM - Xiaomi Aqara double key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter (EndDevice)
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: Zigbee: disabling joining new devices.
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: Connecting to MQTT server at mqtt://127.0.0.1
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Using MQTT anonymous login
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: Connected to MQTT server
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:47: MQTT publish: topic 'z2m/bridge/state', payload '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/bridge/info' with data '{"commit":"caafc64f","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_whitelist":[],"cache_state":false,"cache_state_persistent":false,"cache_state_send_on_startup":false,"channel":15,"elapsed":false,"ext_pan_id":[221,221,221,221,221,221,221,221],"last_seen":"ISO_8601","legacy_api":false,"legacy_availability_payload":false,"log_directory":"/opt/zigbee2mqtt/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"debug","log_output":["console","file"],"log_rotation":true,"log_symlink_current":false,"log_syslog":{},"output":"json","pan_id":6754,"report":false,"rtscts":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"availability":{"active":{"timeout":5},"passive":{"timeout":60}},"blocklist":[],"device_options":{"debounce":0.5,"legacy":false,"retain":false},"devices":{"0x000d6f000c2cddc2":{"friendly_name":"home/sensor/livingroom/thermostat"},"0x00158d0002720d78":{"friendly_name":"home/sensor/outside/env"},"0x00158d0002a718ff":{"friendly_name":"home/switch/kitchen/wall"},"0x00158d0002ab622e":{"friendly_name":"home/switch/livingroom/ceiling"},"0x00158d000322a2f9":{"friendly_name":"home/sensor/kitchen/env"},"0x00158d00034cec62":{"friendly_name":"home/sensor/bedroom/env"},"0x00158d0004855456":{"friendly_name":"home/sensor/closet/fridge"}},"external_converters":[],"frontend":{"host":"0.0.0.0","port":8883},"groups":{},"homeassistant":false,"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"z2m","force_disable_retain":false,"include_device_information":false,"server":"mqtt://127.0.0.1"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":false,"port":"/dev/serial0","rtscts":false}},"config_schema":{"definitions":{"device":{"properties":{"debounce":{"description":"Debounces messages of this device","title":"Debounce","type":"number"},"debounce_ignore":{"description":"Protects unique payload values of specified payload properties from overriding within debounce time","examples":["action"],"items":{"type":"string"},"title":"Ignore debounce","type":"array"},"filtered_attributes":{"description":"Filter attributes from publish payload.","examples":["temperature","battery","action"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_optimistic":{"description":"Filter attributes from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["color_mode","color_temp","color"],"items":{"type":"string"},"title":"Filtered optimistic attributes","type":"array"},"friendly_name":{"description":"Used in the MQTT topic of a device. By default this is the device ID","readOnly":true,"title":"Friendly name","type":"string"},"icon":{"description":"The user-defined device icon for the frontend. It can be a link to an image (not a path to a file) or base64 encoded data URL like: image/svg+xml;base64,PHN2ZyB3aW....R0aD","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"QoS level for MQTT messages of this device","title":"QoS","type":"number"},"retain":{"description":"Retain MQTT messages of this device","title":"Retain","type":"boolean"},"retention":{"description":"Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5","title":"Retention","type":"number"}},"required":["friendly_name"],"type":"object"},"group":{"properties":{"devices":{"items":{"type":"string"},"type":"array"},"filtered_attributes":{"items":{"type":"string"},"type":"array"},"friendly_name":{"type":"string"},"optimistic":{"type":"boolean"},"qos":{"type":"number"},"retain":{"type":"boolean"}},"required":["friendly_name"],"type":"object"}},"properties":{"advanced":{"properties":{"adapter_concurrent":{"description":"Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)","requiresRestart":true,"title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"description":"Adapter delay","requiresRestart":true,"title":"Adapter delay","type":["number","null"]},"cache_state":{"default":true,"description":"MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant","title":"Cache state","type":"boolean"},"cache_state_persistent":{"default":true,"description":"Persist cached state, only used when cache_state: true","title":"Persist cache state","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Send cached state on startup, only used when cache_state: true","title":"Send cached state on startup","type":"boolean"},"channel":{"default":11,"description":"Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)","examples":[15,20,25],"maximum":26,"minimum":11,"requiresRestart":true,"title":"ZigBee channel","type":"number"},"elapsed":{"default":false,"description":"Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg","title":"Elapsed","type":"boolean"},"ext_pan_id":{"description":"Zigbee extended pan ID, changing requires repairing all devices!","items":{"type":"number"},"requiresRestart":true,"title":"Ext Pan ID","type":"array"},"last_seen":{"default":"disable","description":"Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message","enum":["disable","ISO_8601","ISO_8601_local","epoch"],"title":"Last seen","type":"string"},"legacy_api":{"default":true,"description":"Disables the legacy api (false = disable)","requiresRestart":true,"title":"Legacy API","type":"boolean"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availabilty and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","type":"boolean"},"log_directory":{"description":"Location of log directory","examples":["data/log/%TIMESTAMP%"],"requiresRestart":true,"title":"Log directory","type":"string"},"log_file":{"default":"log.txt","description":"Log file name, can also contain timestamp","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"requiresRestart":true,"title":"Log file","type":"string"},"log_level":{"default":"info","description":"Logging level","enum":["info","warn","error","debug"],"title":"Log level","type":"string"},"log_output":{"description":"Output location of the log, leave empty to suppress logging","items":{"enum":["console","file","syslog"],"type":"string"},"requiresRestart":true,"title":"Log output","type":"array"},"log_rotation":{"default":true,"description":"Log rotation","requiresRestart":true,"title":"Log rotation","type":"boolean"},"log_symlink_current":{"default":false,"description":"Create symlink to current logs in the log directory","requiresRestart":true,"title":"Log symlink current","type":"boolean"},"log_syslog":{"properties":{"app_name":{"default":"Zigbee2MQTT","description":"The name of the application (Default: Zigbee2MQTT).","title":"Localhost","type":"string"},"eol":{"default":"/n","description":"The end of line character to be added to the end of the message (Default: Message without modifications).","title":"eol","type":"string"},"host":{"default":"localhost","description":"The host running syslogd, defaults to localhost.","title":"Host","type":"string"},"localhost":{"default":"localhost","description":"Host to indicate that log messages are coming from (Default: localhost).","title":"Localhost","type":"string"},"path":{"default":"/dev/log","description":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","examples":["/var/run/syslog"],"title":"Path","type":"string"},"pid":{"default":"process.pid","description":"PID of the process that log messages are coming from (Default process.pid).","title":"PID","type":"string"},"port":{"default":123,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"tcp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["udp4","tls4","unix","unix-connect"],"title":"Protocol","type":"string"},"type":{"default":"5424","description":"The type of the syslog protocol to use (Default: BSD, also valid: 5424).","title":"Type","type":"string"}},"title":"syslog","type":"object"},"network_key":{"description":"Network encryption key, changing requires repairing all devices!","oneOf":[{"title":"Network key(string)","type":"string"},{"items":{"type":"number"},"title":"Network key(array)","type":"array"}],"requiresRestart":true,"title":"Network key"},"output":{"description":"Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\": \"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)","enum":["attribute_and_json","attribute","json"],"title":"MQTT output type","type":"string"},"pan_id":{"description":"ZigBee pan ID, changing requires repairing all devices!","oneOf":[{"title":"Pan ID (string)","type":"string"},{"title":"Pan ID (number)","type":"number"}],"requiresRestart":true,"title":"Pan ID"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","type":"string"},"transmit_power":{"description":"Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)","requiresRestart":true,"title":"Transmit power","type":["number","null"]}},"title":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"ban":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Ban (deprecated, use blocklist)","type":"array"},"blocklist":{"description":"Block devices from the network (by ieeeAddr)","items":{"type":"string"},"requiresRestart":true,"title":"Blocklist","type":"array"},"device_options":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"external_converters":{"description":"You can define external converters to e.g. add support for a DiY device","examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"requiresRestart":true,"title":"External converters","type":"array"},"frontend":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"properties":{"auth_token":{"description":"Enables authentication, disabled by default","requiresRestart":true,"title":"Auth token","type":["string","null"]},"host":{"default":"0.0.0.0","description":"Frontend binding host","requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port","requiresRestart":true,"title":"Port","type":"number"},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"legacy_triggers":{"default":true,"description":"Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd","title":"Home Assistant legacy triggers","type":"boolean"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"map_options":{"properties":{"graphviz":{"properties":{"colors":{"properties":{"fill":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"font":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"line":{"properties":{"active":{"type":"string"},"inactive":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}},"title":"Networkmap","type":"object"},"mqtt":{"properties":{"base_topic":{"default":"zigbee2mqtt","description":"MQTT base topic for Zigbee2MQTT MQTT messages","examples":["zigbee2mqtt"],"requiresRestart":true,"title":"Base topic","type":"string"},"ca":{"description":"Absolute path to SSL/TLS certificate of CA used to sign server and client certificates","examples":["/etc/ssl/mqtt-ca.crt"],"requiresRestart":true,"title":"Certificate authority","type":"string"},"cert":{"description":"Absolute path to SSL/TLS certificate for client-authentication","examples":["/etc/ssl/mqtt-client.crt"],"requiresRestart":true,"title":"SSL/TLS certificate","type":"string"},"client_id":{"description":"MQTT client ID","examples":["MY_CLIENT_ID"],"requiresRestart":true,"title":"Client ID","type":"string"},"force_disable_retain":{"default":false,"description":"Disable retain for all send messages. ONLY enable if you 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","requiresRestart":true,"title":"Force disable retain","type":"boolean"},"include_device_information":{"default":false,"description":"Include device information to mqtt messages","title":"Include device information","type":"boolean"},"keepalive":{"default":60,"description":"MQTT keepalive in second","requiresRestart":true,"title":"Keepalive","type":"number"},"key":{"description":"Absolute path to SSL/TLS key for client-authentication","examples":["/etc/ssl/mqtt-client.key"],"requiresRestart":true,"title":"SSL/TLS key","type":"string"},"password":{"description":"MQTT server authentication password","examples":["ILOVEPELMENI"],"requiresRestart":true,"title":"Password","type":"string"},"reject_unauthorized":{"default":true,"description":"Disable self-signed SSL certificate","requiresRestart":true,"title":"Reject unauthorized","type":"boolean"},"server":{"description":"MQTT server URL (use mqtts:// for SSL/TLS connection)","examples":["mqtt://localhost:1883"],"requiresRestart":true,"title":"MQTT server","type":"string"},"user":{"description":"MQTT server authentication user","examples":["johnnysilverhand"],"requiresRestart":true,"title":"User","type":"string"},"version":{"default":4,"description":"MQTT protocol version","examples":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["server"],"title":"MQTT","type":"object"},"ota":{"properties":{"disable_automatic_update_check":{"default":false,"description":"Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.","title":"Disable automatic update check","type":"boolean"},"ikea_ota_use_test_url":{"default":false,"description":"Use IKEA TRADFRI OTA test server, see OTA updates documentation","requiresRestart":true,"title":"IKEA TRADFRI OTA use test url","type":"boolean"},"update_check_interval":{"default":1440,"description":"Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.","title":"Update check interval","type":"number"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"title":"OTA updates","type":"object"},"passlist":{"description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","items":{"type":"string"},"requiresRestart":true,"title":"Passlist","type":"array"},"permit_join":{"default":false,"description":"Allow new devices to join (re-applied at restart)","title":"Permit join","type":"boolean"},"serial":{"properties":{"adapter":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"baudrate":{"description":"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","examples":[38400,57600,115200],"requiresRestart":true,"title":"Baudrate","type":"number"},"disable_led":{"default":false,"description":"Disable LED of the adapter if supported","requiresRestart":true,"title":"Disable led","type":"boolean"},"port":{"description":"Location of the adapter. To autodetect the port, set null","examples":["/dev/ttyACM0"],"requiresRestart":true,"title":"Port","type":["string","null"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b00193650cc","meta":{"maintrel":2,"majorrel":2,"minorrel":7,"product":2,"revision":20190523,"transportrev":2},"type":"zStack30x"},"log_level":"debug","network":{"channel":11,"extended_pan_id":"0x00124b00193650cc","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.23.0-dev"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/bridge/devices' with data '[{"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"11":{"bindings":[],"clusters":{"input":[],"output":["ssIasZone","ssIasWd"]},"configured_reportings":[],"scenes":[]},"110":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"12":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"13":{"bindings":[],"clusters":{"input":["genOta"],"output":[]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"47":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0x00124b00193650cc","interview_completed":true,"interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/kitchen/env","ieee_address":"0x00158d000322a2f9","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":29713,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/outside/env","ieee_address":"0x00158d0002720d78","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":62541,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20191205","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/closet/fridge","ieee_address":"0x00158d0004855456","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":29060,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/bedroom/env","ieee_address":"0x00158d00034cec62","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":18512,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"2016040716098367","definition":{"description":"Wireless wall thermostat with relay","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"features":[{"access":7,"description":"Temperature setpoint","name":"occupied_heating_setpoint","property":"occupied_heating_setpoint","type":"numeric","unit":"°C","value_max":30,"value_min":7,"value_step":0.5},{"access":5,"description":"Current temperature measured on the device","name":"local_temperature","property":"local_temperature","type":"numeric","unit":"°C"},{"access":7,"description":"Mode of this device","name":"system_mode","property":"system_mode","type":"enum","values":["off","auto","heat"]},{"access":5,"description":"The current running state","name":"running_state","property":"running_state","type":"enum","values":["idle","heat","cool"]},{"access":7,"description":"Offset to be used in the local_temperature","name":"local_temperature_calibration","property":"local_temperature_calibration","type":"numeric","unit":"°C","value_max":30,"value_min":-30,"value_step":0.1}],"type":"climate"},{"access":7,"description":"Enables/disables physical input on the device","name":"keypad_lockout","property":"keypad_lockout","type":"enum","values":["unlock","lock1","lock2"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"AV2010/32","options":[{"access":2,"description":"Controls the temperature unit of the thermostat (default celsius).","name":"thermostat_unit","property":"thermostat_unit","type":"enum","values":["celsius","fahrenheit"]},{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"SMaBiT (Bitron Video)"},"endpoints":{"1":{"bindings":[{"cluster":"genPollCtrl","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genBasic","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genIdentify","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"hvacThermostat","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"hvacUserInterfaceCfg","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}}],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genTime","genPollCtrl","hvacThermostat","hvacUserInterfaceCfg","haDiagnostic"],"output":["genIdentify","genOta"]},"configured_reportings":[{"attribute":"localTemp","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":10},{"attribute":"localTemperatureCalibration","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"occupiedHeatingSetpoint","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":10},{"attribute":"runningState","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"batteryAlarmState","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0},{"attribute":"batteryVoltage","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"home/sensor/livingroom/thermostat","ieee_address":"0x000d6f000c2cddc2","interview_completed":true,"interviewing":false,"manufacturer":"Bitron Home","model_id":"902010/32","network_address":27678,"power_source":"Battery","software_build_id":"V1b225-20151013","supported":true,"type":"EndDevice"},{"date_code":"04-25-2018","definition":{"description":"Aqara single key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter","exposes":[{"features":[{"access":7,"description":"On/off state of the switch","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["release","hold","double","single","hold_release"]},{"access":3,"description":"Decoupled mode","name":"operation_mode","property":"operation_mode","type":"enum","values":["control_relay","decoupled"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"QBKG04LM","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genPowerCfg","genDeviceTempCfg","genOta","genTime"],"output":["genBasic","genTime","genOta"]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/switch/livingroom/ceiling","ieee_address":"0x00158d0002ab622e","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.ctrl_neutral1","network_address":36884,"power_source":"DC Source","supported":true,"type":"EndDevice"},{"date_code":"04-25-2018","definition":{"description":"Aqara double key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter","exposes":[{"endpoint":"left","features":[{"access":7,"description":"On/off state of the switch","endpoint":"left","name":"state","property":"state_left","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"endpoint":"right","features":[{"access":7,"description":"On/off state of the switch","endpoint":"right","name":"state","property":"state_right","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["release_left","release_right","release_both","double_left","double_right","single_left","single_right","hold_release_left","hold_release_left"]},{"access":3,"description":"Operation mode for left button","endpoint":"left","name":"operation_mode","property":"operation_mode_left","type":"enum","values":["control_left_relay","control_right_relay","decoupled"]},{"access":3,"description":"Operation mode for right button","endpoint":"right","name":"operation_mode","property":"operation_mode_right","type":"enum","values":["control_left_relay","control_right_relay","decoupled"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"QBKG03LM","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true},{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"}],"supports_ota":true,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genPowerCfg","genDeviceTempCfg","genOta","genTime"],"output":["genBasic","genTime","genOta"]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/switch/kitchen/wall","ieee_address":"0x00158d0002a718ff","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.ctrl_neutral2","network_address":45,"power_source":"DC Source","supported":true,"type":"EndDevice"}]'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/bridge/groups' with data '[]'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/bridge/extensions' with data '[]'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/sensor/kitchen/env/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/sensor/outside/env/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/sensor/closet/fridge/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/sensor/bedroom/env/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/sensor/livingroom/thermostat/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/switch/livingroom/ceiling/availability' with data '{"state":"online"}'
Feb 24 19:07:47 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:47: Received MQTT message on 'z2m/home/switch/kitchen/wall/availability' with data '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/sensor/kitchen/env' was last seen '0.04' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/sensor/kitchen/env/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/sensor/outside/env' was last seen '0.08' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/sensor/outside/env/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/sensor/closet/fridge' was last seen '0.25' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/sensor/closet/fridge/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/sensor/bedroom/env' was last seen '0.68' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/sensor/bedroom/env/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/sensor/livingroom/thermostat' was last seen '0.48' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/sensor/livingroom/thermostat/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/switch/livingroom/ceiling' was last seen '0.01' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:07:48: Passive device 'home/switch/kitchen/wall' was last seen '0.02' hours ago.
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: MQTT publish: topic 'z2m/home/switch/kitchen/wall/availability', payload '{"state":"online"}'
Feb 24 19:07:48 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:07:48: Started frontend on port 0.0.0.0:8883

Feb 24 19:08:21 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:21: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'read', cluster 'genTime', data '["time"]' from endpoint 1 with groupID 0
Feb 24 19:08:21 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:08:21: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"last_seen":"2022-02-24T16:08:21.874Z","linkquality":105}'
Feb 24 19:08:33 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:33: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"61440":59773975,"onOff":0}' from endpoint 2 with groupID 0
Feb 24 19:08:33 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:33: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
Feb 24 19:08:34 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:08:34: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"action":"release","last_seen":"2022-02-24T16:08:33.931Z","linkquality":102,"state":"OFF"}'

Feb 24 19:08:42 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:42: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"61440":59773975,"onOff":1}' from endpoint 2 with groupID 0
Feb 24 19:08:43 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:43: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"onOff":0}' from endpoint 4 with groupID 0
Feb 24 19:08:43 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:08:43: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"action":"hold","last_seen":"2022-02-24T16:08:43.067Z","linkquality":99,"state":"ON"}'
Feb 24 19:08:44 rpi-don npm[5352]: Zigbee2MQTT:debug 2022-02-24 19:08:44: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
Feb 24 19:08:44 rpi-don npm[5352]: Zigbee2MQTT:info  2022-02-24 19:08:44: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"action":"release","last_seen":"2022-02-24T16:08:44.272Z","linkquality":99}'

@uncle-fed
Copy link
Author

First is a single press, then it is hold and release sequence.

@Koenkk
Copy link
Owner

Koenkk commented Feb 24, 2022

From the z2m dir, can you do nano node_modules/zigbee-herdsman-converters/converters/fromZigbee.js and above: https://github.com/Koenkk/zigbee-herdsman-converters/blob/e5f65e00abd7d7c6a8bfb27cd54fa4fee5febda9/converters/fromZigbee.js#L5533 add console.log("ACTION", action); and provide the STDOUT again?

@uncle-fed
Copy link
Author

> zigbee2mqtt@1.23.0-dev start
> node index.js

Zigbee2MQTT:debug 2022-02-24 19:22:46: Can't load state from file /opt/zigbee2mqtt/data/state.json (doesn't exist)
Zigbee2MQTT:info  2022-02-24 19:22:46: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-02-24.19-22-43' filename: log.txt
Zigbee2MQTT:debug 2022-02-24 19:22:46: Removing old log directory '/opt/zigbee2mqtt/data/log/2022-02-22.15-57-19'
Zigbee2MQTT:info  2022-02-24 19:22:46: Starting Zigbee2MQTT version 1.23.0-dev (commit #caafc64f)
Zigbee2MQTT:info  2022-02-24 19:22:46: Starting zigbee-herdsman (0.14.18)
Zigbee2MQTT:debug 2022-02-24 19:22:46: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/opt/zigbee2mqtt/data/coordinator_backup.json","databaseBackupPath":"/opt/zigbee2mqtt/data/database.db.backup","databasePath":"/opt/zigbee2mqtt/data/database.db","network":{"channelList":[15],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"path":"/dev/serial0","rtscts":false}}'
Zigbee2MQTT:info  2022-02-24 19:22:48: zigbee-herdsman started (resumed)
Zigbee2MQTT:info  2022-02-24 19:22:48: Coordinator firmware version: '{"meta":{"maintrel":2,"majorrel":2,"minorrel":7,"product":2,"revision":20190523,"transportrev":2},"type":"zStack30x"}'
Zigbee2MQTT:debug 2022-02-24 19:22:48: Zigbee network parameters: {"channel":11,"extendedPanID":"0x00124b00193650cc","panID":6754}
Zigbee2MQTT:info  2022-02-24 19:22:48: Currently 7 devices are joined:
Zigbee2MQTT:info  2022-02-24 19:22:48: home/sensor/kitchen/env (0x00158d000322a2f9): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/sensor/outside/env (0x00158d0002720d78): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/sensor/closet/fridge (0x00158d0004855456): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/sensor/bedroom/env (0x00158d00034cec62): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/sensor/livingroom/thermostat (0x000d6f000c2cddc2): AV2010/32 - SMaBiT (Bitron Video) Wireless wall thermostat with relay (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/switch/livingroom/ceiling (0x00158d0002ab622e): QBKG04LM - Xiaomi Aqara single key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: home/switch/kitchen/wall (0x00158d0002a718ff): QBKG03LM - Xiaomi Aqara double key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter (EndDevice)
Zigbee2MQTT:info  2022-02-24 19:22:48: Zigbee: disabling joining new devices.
Zigbee2MQTT:info  2022-02-24 19:22:48: Connecting to MQTT server at mqtt://127.0.0.1
Zigbee2MQTT:debug 2022-02-24 19:22:48: Using MQTT anonymous login
Zigbee2MQTT:info  2022-02-24 19:22:49: Connected to MQTT server
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/bridge/state', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/bridge/info' with data '{"commit":"caafc64f","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_whitelist":[],"cache_state":false,"cache_state_persistent":false,"cache_state_send_on_startup":false,"channel":15,"elapsed":false,"ext_pan_id":[221,221,221,221,221,221,221,221],"last_seen":"ISO_8601","legacy_api":false,"legacy_availability_payload":false,"log_directory":"/opt/zigbee2mqtt/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_symlink_current":false,"log_syslog":{},"output":"json","pan_id":6754,"report":false,"rtscts":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"availability":{"active":{"timeout":5},"passive":{"timeout":60}},"blocklist":[],"device_options":{"debounce":0.5,"legacy":false,"retain":false},"devices":{"0x000d6f000c2cddc2":{"friendly_name":"home/sensor/livingroom/thermostat"},"0x00158d0002720d78":{"friendly_name":"home/sensor/outside/env"},"0x00158d0002a718ff":{"friendly_name":"home/switch/kitchen/wall"},"0x00158d0002ab622e":{"friendly_name":"home/switch/livingroom/ceiling"},"0x00158d000322a2f9":{"friendly_name":"home/sensor/kitchen/env"},"0x00158d00034cec62":{"friendly_name":"home/sensor/bedroom/env"},"0x00158d0004855456":{"friendly_name":"home/sensor/closet/fridge"}},"external_converters":[],"frontend":{"host":"0.0.0.0","port":8883},"groups":{},"homeassistant":false,"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"z2m","force_disable_retain":false,"include_device_information":false,"server":"mqtt://127.0.0.1"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":false,"port":"/dev/serial0","rtscts":false}},"config_schema":{"definitions":{"device":{"properties":{"debounce":{"description":"Debounces messages of this device","title":"Debounce","type":"number"},"debounce_ignore":{"description":"Protects unique payload values of specified payload properties from overriding within debounce time","examples":["action"],"items":{"type":"string"},"title":"Ignore debounce","type":"array"},"filtered_attributes":{"description":"Filter attributes from publish payload.","examples":["temperature","battery","action"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_optimistic":{"description":"Filter attributes from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["color_mode","color_temp","color"],"items":{"type":"string"},"title":"Filtered optimistic attributes","type":"array"},"friendly_name":{"description":"Used in the MQTT topic of a device. By default this is the device ID","readOnly":true,"title":"Friendly name","type":"string"},"icon":{"description":"The user-defined device icon for the frontend. It can be a link to an image (not a path to a file) or base64 encoded data URL like: image/svg+xml;base64,PHN2ZyB3aW....R0aD","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"QoS level for MQTT messages of this device","title":"QoS","type":"number"},"retain":{"description":"Retain MQTT messages of this device","title":"Retain","type":"boolean"},"retention":{"description":"Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5","title":"Retention","type":"number"}},"required":["friendly_name"],"type":"object"},"group":{"properties":{"devices":{"items":{"type":"string"},"type":"array"},"filtered_attributes":{"items":{"type":"string"},"type":"array"},"friendly_name":{"type":"string"},"optimistic":{"type":"boolean"},"qos":{"type":"number"},"retain":{"type":"boolean"}},"required":["friendly_name"],"type":"object"}},"properties":{"advanced":{"properties":{"adapter_concurrent":{"description":"Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)","requiresRestart":true,"title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"description":"Adapter delay","requiresRestart":true,"title":"Adapter delay","type":["number","null"]},"cache_state":{"default":true,"description":"MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant","title":"Cache state","type":"boolean"},"cache_state_persistent":{"default":true,"description":"Persist cached state, only used when cache_state: true","title":"Persist cache state","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Send cached state on startup, only used when cache_state: true","title":"Send cached state on startup","type":"boolean"},"channel":{"default":11,"description":"Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)","examples":[15,20,25],"maximum":26,"minimum":11,"requiresRestart":true,"title":"ZigBee channel","type":"number"},"elapsed":{"default":false,"description":"Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg","title":"Elapsed","type":"boolean"},"ext_pan_id":{"description":"Zigbee extended pan ID, changing requires repairing all devices!","items":{"type":"number"},"requiresRestart":true,"title":"Ext Pan ID","type":"array"},"last_seen":{"default":"disable","description":"Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message","enum":["disable","ISO_8601","ISO_8601_local","epoch"],"title":"Last seen","type":"string"},"legacy_api":{"default":true,"description":"Disables the legacy api (false = disable)","requiresRestart":true,"title":"Legacy API","type":"boolean"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availabilty and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","type":"boolean"},"log_directory":{"description":"Location of log directory","examples":["data/log/%TIMESTAMP%"],"requiresRestart":true,"title":"Log directory","type":"string"},"log_file":{"default":"log.txt","description":"Log file name, can also contain timestamp","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"requiresRestart":true,"title":"Log file","type":"string"},"log_level":{"default":"info","description":"Logging level","enum":["info","warn","error","debug"],"title":"Log level","type":"string"},"log_output":{"description":"Output location of the log, leave empty to suppress logging","items":{"enum":["console","file","syslog"],"type":"string"},"requiresRestart":true,"title":"Log output","type":"array"},"log_rotation":{"default":true,"description":"Log rotation","requiresRestart":true,"title":"Log rotation","type":"boolean"},"log_symlink_current":{"default":false,"description":"Create symlink to current logs in the log directory","requiresRestart":true,"title":"Log symlink current","type":"boolean"},"log_syslog":{"properties":{"app_name":{"default":"Zigbee2MQTT","description":"The name of the application (Default: Zigbee2MQTT).","title":"Localhost","type":"string"},"eol":{"default":"/n","description":"The end of line character to be added to the end of the message (Default: Message without modifications).","title":"eol","type":"string"},"host":{"default":"localhost","description":"The host running syslogd, defaults to localhost.","title":"Host","type":"string"},"localhost":{"default":"localhost","description":"Host to indicate that log messages are coming from (Default: localhost).","title":"Localhost","type":"string"},"path":{"default":"/dev/log","description":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","examples":["/var/run/syslog"],"title":"Path","type":"string"},"pid":{"default":"process.pid","description":"PID of the process that log messages are coming from (Default process.pid).","title":"PID","type":"string"},"port":{"default":123,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"tcp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["udp4","tls4","unix","unix-connect"],"title":"Protocol","type":"string"},"type":{"default":"5424","description":"The type of the syslog protocol to use (Default: BSD, also valid: 5424).","title":"Type","type":"string"}},"title":"syslog","type":"object"},"network_key":{"description":"Network encryption key, changing requires repairing all devices!","oneOf":[{"title":"Network key(string)","type":"string"},{"items":{"type":"number"},"title":"Network key(array)","type":"array"}],"requiresRestart":true,"title":"Network key"},"output":{"description":"Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\": \"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)","enum":["attribute_and_json","attribute","json"],"title":"MQTT output type","type":"string"},"pan_id":{"description":"ZigBee pan ID, changing requires repairing all devices!","oneOf":[{"title":"Pan ID (string)","type":"string"},{"title":"Pan ID (number)","type":"number"}],"requiresRestart":true,"title":"Pan ID"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","type":"string"},"transmit_power":{"description":"Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)","requiresRestart":true,"title":"Transmit power","type":["number","null"]}},"title":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"ban":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Ban (deprecated, use blocklist)","type":"array"},"blocklist":{"description":"Block devices from the network (by ieeeAddr)","items":{"type":"string"},"requiresRestart":true,"title":"Blocklist","type":"array"},"device_options":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"external_converters":{"description":"You can define external converters to e.g. add support for a DiY device","examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"requiresRestart":true,"title":"External converters","type":"array"},"frontend":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"properties":{"auth_token":{"description":"Enables authentication, disabled by default","requiresRestart":true,"title":"Auth token","type":["string","null"]},"host":{"default":"0.0.0.0","description":"Frontend binding host","requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port","requiresRestart":true,"title":"Port","type":"number"},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"legacy_triggers":{"default":true,"description":"Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd","title":"Home Assistant legacy triggers","type":"boolean"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"map_options":{"properties":{"graphviz":{"properties":{"colors":{"properties":{"fill":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"font":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"line":{"properties":{"active":{"type":"string"},"inactive":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}},"title":"Networkmap","type":"object"},"mqtt":{"properties":{"base_topic":{"default":"zigbee2mqtt","description":"MQTT base topic for Zigbee2MQTT MQTT messages","examples":["zigbee2mqtt"],"requiresRestart":true,"title":"Base topic","type":"string"},"ca":{"description":"Absolute path to SSL/TLS certificate of CA used to sign server and client certificates","examples":["/etc/ssl/mqtt-ca.crt"],"requiresRestart":true,"title":"Certificate authority","type":"string"},"cert":{"description":"Absolute path to SSL/TLS certificate for client-authentication","examples":["/etc/ssl/mqtt-client.crt"],"requiresRestart":true,"title":"SSL/TLS certificate","type":"string"},"client_id":{"description":"MQTT client ID","examples":["MY_CLIENT_ID"],"requiresRestart":true,"title":"Client ID","type":"string"},"force_disable_retain":{"default":false,"description":"Disable retain for all send messages. ONLY enable if you 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","requiresRestart":true,"title":"Force disable retain","type":"boolean"},"include_device_information":{"default":false,"description":"Include device information to mqtt messages","title":"Include device information","type":"boolean"},"keepalive":{"default":60,"description":"MQTT keepalive in second","requiresRestart":true,"title":"Keepalive","type":"number"},"key":{"description":"Absolute path to SSL/TLS key for client-authentication","examples":["/etc/ssl/mqtt-client.key"],"requiresRestart":true,"title":"SSL/TLS key","type":"string"},"password":{"description":"MQTT server authentication password","examples":["ILOVEPELMENI"],"requiresRestart":true,"title":"Password","type":"string"},"reject_unauthorized":{"default":true,"description":"Disable self-signed SSL certificate","requiresRestart":true,"title":"Reject unauthorized","type":"boolean"},"server":{"description":"MQTT server URL (use mqtts:// for SSL/TLS connection)","examples":["mqtt://localhost:1883"],"requiresRestart":true,"title":"MQTT server","type":"string"},"user":{"description":"MQTT server authentication user","examples":["johnnysilverhand"],"requiresRestart":true,"title":"User","type":"string"},"version":{"default":4,"description":"MQTT protocol version","examples":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["server"],"title":"MQTT","type":"object"},"ota":{"properties":{"disable_automatic_update_check":{"default":false,"description":"Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.","title":"Disable automatic update check","type":"boolean"},"ikea_ota_use_test_url":{"default":false,"description":"Use IKEA TRADFRI OTA test server, see OTA updates documentation","requiresRestart":true,"title":"IKEA TRADFRI OTA use test url","type":"boolean"},"update_check_interval":{"default":1440,"description":"Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.","title":"Update check interval","type":"number"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"title":"OTA updates","type":"object"},"passlist":{"description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","items":{"type":"string"},"requiresRestart":true,"title":"Passlist","type":"array"},"permit_join":{"default":false,"description":"Allow new devices to join (re-applied at restart)","title":"Permit join","type":"boolean"},"serial":{"properties":{"adapter":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"baudrate":{"description":"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","examples":[38400,57600,115200],"requiresRestart":true,"title":"Baudrate","type":"number"},"disable_led":{"default":false,"description":"Disable LED of the adapter if supported","requiresRestart":true,"title":"Disable led","type":"boolean"},"port":{"description":"Location of the adapter. To autodetect the port, set null","examples":["/dev/ttyACM0"],"requiresRestart":true,"title":"Port","type":["string","null"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b00193650cc","meta":{"maintrel":2,"majorrel":2,"minorrel":7,"product":2,"revision":20190523,"transportrev":2},"type":"zStack30x"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0x00124b00193650cc","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.23.0-dev"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/bridge/devices' with data '[{"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"11":{"bindings":[],"clusters":{"input":[],"output":["ssIasZone","ssIasWd"]},"configured_reportings":[],"scenes":[]},"110":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"12":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"13":{"bindings":[],"clusters":{"input":["genOta"],"output":[]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"47":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0x00124b00193650cc","interview_completed":true,"interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/kitchen/env","ieee_address":"0x00158d000322a2f9","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":29713,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/outside/env","ieee_address":"0x00158d0002720d78","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":62541,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20191205","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/closet/fridge","ieee_address":"0x00158d0004855456","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":29060,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"20161129","definition":{"description":"Aqara temperature, humidity and pressure sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"The measured atmospheric pressure","name":"pressure","property":"pressure","type":"numeric","unit":"hPa"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WSDCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for pressure, takes into effect on next report of device.","name":"pressure_precision","property":"pressure_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the pressure value (absolute offset), takes into effect on next report of device.","name":"pressure_calibration","property":"pressure_calibration","type":"numeric"}],"supports_ota":false,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","65535","msTemperatureMeasurement","msPressureMeasurement","msRelativeHumidity"],"output":["genBasic","genGroups","65535"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/sensor/bedroom/env","ieee_address":"0x00158d00034cec62","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.weather","network_address":18512,"power_source":"Battery","software_build_id":"3000-0001","supported":true,"type":"EndDevice"},{"date_code":"2016040716098367","definition":{"description":"Wireless wall thermostat with relay","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"features":[{"access":7,"description":"Temperature setpoint","name":"occupied_heating_setpoint","property":"occupied_heating_setpoint","type":"numeric","unit":"°C","value_max":30,"value_min":7,"value_step":0.5},{"access":5,"description":"Current temperature measured on the device","name":"local_temperature","property":"local_temperature","type":"numeric","unit":"°C"},{"access":7,"description":"Mode of this device","name":"system_mode","property":"system_mode","type":"enum","values":["off","auto","heat"]},{"access":5,"description":"The current running state","name":"running_state","property":"running_state","type":"enum","values":["idle","heat","cool"]},{"access":7,"description":"Offset to be used in the local_temperature","name":"local_temperature_calibration","property":"local_temperature_calibration","type":"numeric","unit":"°C","value_max":30,"value_min":-30,"value_step":0.1}],"type":"climate"},{"access":7,"description":"Enables/disables physical input on the device","name":"keypad_lockout","property":"keypad_lockout","type":"enum","values":["unlock","lock1","lock2"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"AV2010/32","options":[{"access":2,"description":"Controls the temperature unit of the thermostat (default celsius).","name":"thermostat_unit","property":"thermostat_unit","type":"enum","values":["celsius","fahrenheit"]},{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"SMaBiT (Bitron Video)"},"endpoints":{"1":{"bindings":[{"cluster":"genPollCtrl","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genBasic","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"genIdentify","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"hvacThermostat","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}},{"cluster":"hvacUserInterfaceCfg","target":{"endpoint":1,"ieee_address":"0x00124b00193650cc","type":"endpoint"}}],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genTime","genPollCtrl","hvacThermostat","hvacUserInterfaceCfg","haDiagnostic"],"output":["genIdentify","genOta"]},"configured_reportings":[{"attribute":"localTemp","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":10},{"attribute":"localTemperatureCalibration","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"occupiedHeatingSetpoint","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":10},{"attribute":"runningState","cluster":"hvacThermostat","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"batteryAlarmState","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0},{"attribute":"batteryVoltage","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"home/sensor/livingroom/thermostat","ieee_address":"0x000d6f000c2cddc2","interview_completed":true,"interviewing":false,"manufacturer":"Bitron Home","model_id":"902010/32","network_address":27678,"power_source":"Battery","software_build_id":"V1b225-20151013","supported":true,"type":"EndDevice"},{"date_code":"04-25-2018","definition":{"description":"Aqara single key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter","exposes":[{"features":[{"access":7,"description":"On/off state of the switch","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["release","hold","double","single","hold_release"]},{"access":3,"description":"Decoupled mode","name":"operation_mode","property":"operation_mode","type":"enum","values":["control_relay","decoupled"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"QBKG04LM","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genPowerCfg","genDeviceTempCfg","genOta","genTime"],"output":["genBasic","genTime","genOta"]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/switch/livingroom/ceiling","ieee_address":"0x00158d0002ab622e","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.ctrl_neutral1","network_address":36884,"power_source":"DC Source","supported":true,"type":"EndDevice"},{"date_code":"04-25-2018","definition":{"description":"Aqara double key wired wall switch without neutral wire. Doesn't work as a router and doesn't support power meter","exposes":[{"endpoint":"left","features":[{"access":7,"description":"On/off state of the switch","endpoint":"left","name":"state","property":"state_left","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"endpoint":"right","features":[{"access":7,"description":"On/off state of the switch","endpoint":"right","name":"state","property":"state_right","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["release_left","release_right","release_both","double_left","double_right","single_left","single_right","hold_release_left","hold_release_left"]},{"access":3,"description":"Operation mode for left button","endpoint":"left","name":"operation_mode","property":"operation_mode_left","type":"enum","values":["control_left_relay","control_right_relay","decoupled"]},{"access":3,"description":"Operation mode for right button","endpoint":"right","name":"operation_mode","property":"operation_mode_right","type":"enum","values":["control_left_relay","control_right_relay","decoupled"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"QBKG03LM","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true},{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"}],"supports_ota":true,"vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genIdentify","genPowerCfg","genDeviceTempCfg","genOta","genTime"],"output":["genBasic","genTime","genOta"]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":["genBinaryOutput","genOnOff","genGroups","genScenes"],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":["genMultistateInput","genOnOff"],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"home/switch/kitchen/wall","ieee_address":"0x00158d0002a718ff","interview_completed":true,"interviewing":false,"manufacturer":"LUMI","model_id":"lumi.ctrl_neutral2","network_address":45,"power_source":"DC Source","supported":true,"type":"EndDevice"}]'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/bridge/groups' with data '[]'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/bridge/extensions' with data '[]'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/sensor/kitchen/env/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/sensor/outside/env/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/sensor/closet/fridge/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/sensor/bedroom/env/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/sensor/livingroom/thermostat/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/switch/livingroom/ceiling/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Received MQTT message on 'z2m/home/switch/kitchen/wall/availability' with data '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/sensor/kitchen/env' was last seen '0.29' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/sensor/kitchen/env/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/sensor/outside/env' was last seen '0.12' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/sensor/outside/env/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/sensor/closet/fridge' was last seen '0.10' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/sensor/closet/fridge/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/sensor/bedroom/env' was last seen '0.03' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/sensor/bedroom/env/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/sensor/livingroom/thermostat' was last seen '0.10' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/sensor/livingroom/thermostat/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/switch/livingroom/ceiling' was last seen '0.01' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling/availability', payload '{"state":"online"}'
Zigbee2MQTT:debug 2022-02-24 19:22:49: Passive device 'home/switch/kitchen/wall' was last seen '0.01' hours ago.
Zigbee2MQTT:info  2022-02-24 19:22:49: MQTT publish: topic 'z2m/home/switch/kitchen/wall/availability', payload '{"state":"online"}'
Zigbee2MQTT:info  2022-02-24 19:22:49: Started frontend on port 0.0.0.0:8883

Zigbee2MQTT:debug 2022-02-24 19:23:28: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"61440":59773975,"onOff":0}' from endpoint 2 with groupID 0
Zigbee2MQTT:debug 2022-02-24 19:23:28: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
ACTION release
Zigbee2MQTT:info  2022-02-24 19:23:29: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"action":"release","last_seen":"2022-02-24T16:23:28.722Z","linkquality":102,"state":"OFF"}'
Zigbee2MQTT:debug 2022-02-24 19:23:29: Received Zigbee message from 'home/switch/kitchen/wall', type 'read', cluster 'genTime', data '["time"]' from endpoint 1 with groupID 0
Zigbee2MQTT:info  2022-02-24 19:23:29: MQTT publish: topic 'z2m/home/switch/kitchen/wall', payload '{"last_seen":"2022-02-24T16:23:29.496Z","linkquality":76}'
Zigbee2MQTT:debug 2022-02-24 19:23:32: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"61440":59773975,"onOff":1}' from endpoint 2 with groupID 0
Zigbee2MQTT:debug 2022-02-24 19:23:32: Received Zigbee message from 'home/switch/livingroom/ceiling', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 4 with groupID 0
ACTION release
Zigbee2MQTT:info  2022-02-24 19:23:33: MQTT publish: topic 'z2m/home/switch/livingroom/ceiling', payload '{"action":"release","last_seen":"2022-02-24T16:23:32.798Z","linkquality":105,"state":"ON"}'

@Koenkk
Copy link
Owner

Koenkk commented Feb 25, 2022

Ah I think this is because the debounce in your configuration.yaml under device_options

@uncle-fed
Copy link
Author

Indeed that was the reason! Thanks!
I guess we kind of forgot that multiple action properties will collapse this way too.
I've added debounce_ignore: [action] to the config and was able to see the single and the hold_release events now.
Perhaps a warning about this should be given in the docs, 'cause this is something quite easy to overlook.

@Koenkk
Copy link
Owner

Koenkk commented Feb 25, 2022

done, can this be closed?

Koenkk added a commit to Koenkk/zigbee2mqtt.io that referenced this issue Feb 25, 2022
@uncle-fed
Copy link
Author

Yes, thanks a lot for your efforts and persistence!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
problem Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants