Closed itavero closed 3 years ago
Looks like I'll have at least a couple of hours tomorrow to start setting up the Service Handler for these kind of devices.
In the meantime I've also added all the devices currently in zigbee2mqtt (except for the white label ones) that expose a climate
type. Hopefully other people will be able to find this issue, instead of opening up a new one. π
Started on the implementation today. Not a lot of progress yet.
Most devices only expose one property for the setpoint, except for the following two devices which expose both a occupied_heating_setpoint
and a occupied_cooling_setpoint
:
HomeKit doesn't specify separate heating and cooling setpoints as far as I'm aware. For now I will ignore these exceptions and focus on an implementation that should work for the majority of the devices (with only a single setpoint).
So far I've setup the ServiceHandler class today. I still need to add the code to actually map/handle the characteristics (right now I've only added a monitor to publish the local_temperature
to HomeKit).
Hopefully I'll be able to do the rest of the implementation this week. Not sure if I'll have enough time to also add the automated tests this week (which I would like to do before releasing it, but since where still in the "beta" phase, I might release it before these tests have been written).
Not sure what the Temperature Display Units characteristic is for. I think it is intended to change the unit on the device itself. As I don't see a device that supports changing this via Zigbee2MQTT (and if it does it's probably a one time thing), I'm fixing this characteristic to degrees Celcius for now.
I think I finished the implementation, but I haven't tested it at all (except for npm run build
, npm run test
and regenerating the device documentation π
).
If you want to have a peek at the implementation, please look at #43 (and ignore all the changes in the docs/devices/
folder as these are all generated files).
I'll probably have some time to write (some) automated tests tomorrow evening.
So, if you are waiting for this, you might be in luck and be able to control your heating system via HomeKit before this heating season is over. π
On a related note: I plan to put the new major version on the latest
channel in February. Before I do that, I'll release this new feature in another beta release to gather some feedback from people that actually have this climate
devices.
Added an automated test and updated the documentation as well (see PR #43 ). Also thanks to @jukben for already given my code from the PR a test run.
It's late in the evening now, so I'm not going to make a release right now. I do plan to make a new beta release with this new feature this weekend. I'll post another update once it is available via npm i homebridge-z2m@next
π
Version 1.1.0-beta.2 has just been released and can be installed with npm i homebridge-z2m@next
.
@jhm47 / @Kepro / @mojijafari If you have some time to give it a try, that would be awesome. I'm closing this issue as, the implementation is available via the next
channel now. Feedback can still be added to this issue (or you can open up a new one).
If someone would still like to see support for the Leviton RC-2000WH or Centralite 3157100, please open up a new issue and propose how to deal with the dual setpoint property "problem".
@itavero I'm using homebridge-z2m v1.1.0-beta.3
and nothing :(
@Kepro Can you start Homebridge with debugging logging enabled and post the logs from the startup? It should mention which services are being created.
Thx Arno! This is awesome!!
Just did a very quick check (updated to beta3) β seems to work β¦ I could change the temperature on my Eurotronics TRV through my iPhone.
(I will need to do some more testing β¦)
Cheers
hmm, checking zigbee2MQTT version and it's 1.17.0
[31/01/2021, 11:32:49] Loaded plugin: homebridge-z2m@1.1.0-beta.3
[31/01/2021, 11:32:49] Registering platform 'homebridge-z2m.zigbee2mqtt'
[31/01/2021, 11:32:49] ---
[31/01/2021, 11:32:50] [zigbee2mqtt] Restoring old (pre v1.0.0) accessory Thermostat Living Room (0x5c0272fffedaad9e). This accessory will not work until updated device information is received from Zigbee2MQTT v1.17.0 or newer.
[31/01/2021, 11:32:50] [zigbee2mqtt] Restoring old (pre v1.0.0) accessory Thermostat Bed Room (0x847127fffe963e13). This accessory will not work until updated device information is received from Zigbee2MQTT v1.17.0 or newer.
[31/01/2021, 11:32:50] [zigbee2mqtt] Restoring old (pre v1.0.0) accessory Thermostat Kids Room (0x5c0272fffedabf6d). This accessory will not work until updated device information is received from Zigbee2MQTT v1.17.0 or newer.
update:
[31/01/2021, 11:38:48] [zigbee2mqtt] Failed to setup switch for accessory Thermostat Living Room from expose "{"features":[{"access":7,"description":"Enables/disables physical input on the device","name":"state","property":"child_lock","type":"binary","value_off":"UNLOCK","value_on":"LOCK"}],"type":"lock"}": Error: Required "lock_state" property not found for Lock.
[31/01/2021, 11:38:48] [zigbee2mqtt] Configuring Thermostat for Thermostat Living Room
[31/01/2021, 11:38:48] [zigbee2mqtt] Configuring Battery Service for Thermostat Living Room
[31/01/2021, 11:38:48] [zigbee2mqtt] Failed to setup switch for accessory Thermostat Bed Room from expose "{"features":[{"access":7,"description":"Enables/disables physical input on the device","name":"state","property":"child_lock","type":"binary","value_off":"UNLOCK","value_on":"LOCK"}],"type":"lock"}": Error: Required "lock_state" property not found for Lock.
[31/01/2021, 11:38:48] [zigbee2mqtt] Configuring Thermostat for Thermostat Bed Room
[31/01/2021, 11:38:48] [zigbee2mqtt] Configuring Battery Service for Thermostat Bed Room
[31/01/2021, 11:38:48] [zigbee2mqtt] Failed to setup switch for accessory Thermostat Kids Room from expose "{"features":[{"access":7,"description":"Enables/disables physical input on the device","name":"state","property":"child_lock","type":"binary","value_off":"UNLOCK","value_on":"LOCK"}],"type":"lock"}": Error: Required "lock_state" property not found for Lock.
but it's working now :)
Have a zen zen-01-w thermostat connected to z2m. Showing as unsupported in HomeKit. Was working in the past, but I recently re-installed z2m after a SD card crash. Any ideas?
Have a zen zen-01-w thermostat connected to z2m. Showing as unsupported in HomeKit. Was working in the past, but I recently re-installed z2m after a SD card crash. Any ideas?
Perhaps the exposes information provided by Zigbee2MQTT has changed. Our website also mentions it is unsupported now, was that different in the past? https://z2m.dev/devices/zen/zen-01-w.html
Yes, it was supported when I bought it.
Aaron Weissman @.***
On Aug 21, 2022, at 10:50 AM, Arno Moonen @.***> wrote:
ο»Ώ Have a zen zen-01-w thermostat connected to z2m. Showing as unsupported in HomeKit. Was working in the past, but I recently re-installed z2m after a SD card crash. Any ideas?
Perhaps the exposes information provided by Zigbee2MQTT has changed. Our website also mentions it is unsupported now, was that different in the past? https://z2m.dev/devices/zen/zen-01-w.html
β Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.
I would suggest to look into the changes made in recent versions of zigbee-herdsman-converters, and/or downgrading Zigbee2MQTT itself to find a working version. After that you can open up a PR/issue on zigbee-herdsman-converters
Given that several people are requesting support for
climate
devices, I decided to make one central issue to discuss the implementation and post updates.Related issues on GitHub:
32 Thermostat like the Eurotronics ones
37 Immax 07703L Radiator valve
39 Tuya Thermostat valve
It seems that these devices are best mapped as a Thermostat service. In #32, @sjorge shared the mapping he uses in node-red.
Implementing a Service Handler for
climate
devices will probably bring support for the following devices (and their white label variants) to this plugin: