zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
743 stars 679 forks source link

[Device Support Request] Eurotronic Spirit Zigbee - Battery-operated Thermostat Radiator Valve (TRV) #356

Closed Hedda closed 4 years ago

Hedda commented 4 years ago

Request ZHA quirks for Eurotronic Spirit Zigbee which is a popular TRV (Thermostat Radiator Valve)

Looks like this official PDF documentation might contain all or most Zigbee attributes?

Supported by zigbee-herdsman (zigbee2mqtt) via its zigbee-herdsman-converters quirk handlers:

There is also quirk discussion about it for deCONZ here and their gateway now has support for it too:

Off-topic but FYI, Eurotronic also makes a Z-Wave version of this TRV (Thermostat Radiator Valve):

That same Z-Wave version is also being sold as OEM and rebranded to Aeotec Radiator Thermostats

PS: I already have 10 of the Aeotec Z-Wave version of this TVR myself and that works very well for me.

Hedda commented 4 years ago

FYI, @Adminiuga has now submitted a pull request for "ZHA Climate" (beta) with thermostats support.

It will probably not make it into Home Assistant 0.110 but it might hopefully make it into 0.111 +

It is of curse dependent on ZHA climate support making it into HA with https://github.com/home-assistant/core/pull/35682

docgalaxyblock commented 4 years ago

@Hedda I purchased one of these without checking if they are "supported"... I logged the pairing process here (HA 110): https://pastebin.com/PCbqqP1M

Maybee it is usefull or not

Greetings from Germany ^^

Adminiuga commented 4 years ago

you should try the dev build of HA

docgalaxyblock commented 4 years ago

I try it at a dev VM and it works fine. I think a quirk needs to be created.

docgalaxyblock commented 4 years ago

Ok, I updated my HA to the 111beta and the temperature control, reportaing and battery level work out of the box. The device could not be turned off (you can select OFF but the TRV will stay at his temperature) So the device needs some investigation. @dmulcahey Do you hove some time to investigate and could made a quirk please If your time allows this it would be famous if it will be at the next beta Greetings ^^

vigonotion commented 4 years ago

I worked on that one already: https://github.com/vigonotion/zha-device-handlers/tree/vi/spzb?files=1

It's based on an older dev version of HA 109 or so, I'm gonna update it in the following days

Hedda commented 4 years ago

FYI, for reference, "ZHA Climate" (beta) made it into the Home Assistant 0.111 Beta release candidate:

nerdosity commented 4 years ago

I can confirm them working.

docgalaxyblock commented 4 years ago

@nerdosity Do you have a quirk? And does the "off" work? I do not have one... (HA 0.111)

nerdosity commented 4 years ago

@nerdosity Do you have a quirk? And does the "off" work? I do not have one... (HA 0.111)

image

There is no quirk, I think the device support is standard at the moment. Maybe they will add a quirk when more attributes will be in the device, I don't really know how quirks works.

Turning it off does not work @Adminiuga , I think that in zigbee2mqtt it was mapped to window mode = ON. Here it does nothing to the connected device, I can hear it moving when I use a higher temperature value but it does not close when selecting OFF. Actually it's pretty pointless to turn them off, usually when winter finish I just put a lower value so they don't open hot water, but I think that this is not the behaviour desired.

docgalaxyblock commented 4 years ago

@nerdosity

I can confirm them working.

This post was a bit unclear ^^

@Adminiuga At my opinion this issue should stay open, only the basic temperature controll is working ATM. If connected to a Z2M Setup: grafik I like the three settings at Z2M to choose from much more:

When selecting "off" at Z2M it seems for me that also the temperture will be set to 5°C and at "heating" to 30°C (I'm not sure if this is correct)

A implementation to controll the childprotection would be nice (Something I like to test is if it is possible to bin the TRV directly to an window sensor. I ordered an aquara sensor for this test)

nerdosity commented 4 years ago

@docgalaxyblock

I can confirm them working.

This post was a bit unclear ^^

Sorry, I confirmed them working just after joining, having a battery+thermostat on my HA, and seeing that temperature changing was stable (i.e. changing from buttons -> change value in HA, and changing values in HA -> change value on the LCD). But I did not test the off, my bad.

Off - isn't working with ZHA yet

Was linked to "window mode" in zigbee2mqtt ;)

Hedda commented 4 years ago

@vigonotion Thanks for submitting a quirk to add/fix "OFF" and "Bidirectional temperature" functions!

https://github.com/zigpy/zha-device-handlers/pull/373

docgalaxyblock commented 4 years ago

This is not at the 0.112.0.dev20200613 right? Because there it is not working...mine spirit did not get a quirk there

dmulcahey commented 4 years ago

I’ll get a release pushed to dev at some point today

docgalaxyblock commented 4 years ago

Thx @dmulcahey Could you ping me when it is pushed please

dmulcahey commented 4 years ago

@docgalaxyblock it has been published to dev in HA

docgalaxyblock commented 4 years ago

grafik The "off" works fine thx @vigonotion (in my opinion even better as Z2M ) The "boost mode" is missing (I know it was not at the PR) Would be nice if the actual "heating" will be renamed to "automatic" (like Z2M has it)

grafik

or adding a new option named "boost"

vigonotion commented 4 years ago

"Auto" would be the wrong mode for that, Z2M is wrong there. See the climate documentation: https://developers.home-assistant.io/docs/core/entity/climate#hvac-modes HEAT = Heat to a specified target temperature AUTO = some kind of schedule, AI...

There's the option to add presets (BOOST preset), I'll look into that

Adminiuga commented 4 years ago

Yeah, the closest thing in HA architecture would be a preset mode. How do you enable boost mode?

docgalaxyblock commented 4 years ago

OK @Adminiuga By pressing the middle button (manual page 5) 😉

vigonotion commented 4 years ago

There is a manufacturer specific cluster, and using bit flags the boost mode can be enabled (like I did with the OFF mode, same cluster and attribute, and the boost mode const is already in the quirk)

https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/eurotronic/__init__.py#L132-L146

Adminiuga commented 4 years ago

Ok, how do you enable the boost mode via Zigbee? What value to what attribute do you write? Otherwise, per manual the boost mode is there. Just press the button :)

docgalaxyblock commented 4 years ago

By the eurotronic host flags: https://www.zigbee2mqtt.io/devices/SPZB0001.html

docgalaxyblock commented 4 years ago

I found a litte bug

Hedda commented 4 years ago

@docgalaxyblock suggest post issue to HA core as probably not related to zha-device-handlers quirk

Perhaps ask if @vigonotion can replicate since he posted quirk patch and has the device too himself

vigonotion commented 4 years ago

The problem is that the host flags attribute (where the OFF state is stored) is not reportable ("not sending information back to HA"). We'd need to poll the host flags once on HA boot (and maybe regularly because you could disable the OFF mode on the thermostat) AND implement a listener in the quirk on read attributes to update the system_mode correctly. I'm unsure how to do the polling.

I'll take a look at this after I implemented the ON mode, but I'm having issues with the newest HA dev and zha so it's really hard to test at the moment

Adminiuga commented 4 years ago

Have you tried configuring attribute reporting for host flags attribute, by modifying the HVAC channel source file?

stefanroelofs commented 4 years ago

I'm still having trouble communicating with this device.

These are the states of the eurotronic thermostat:

hvac_modes:
  - 'off'
min_temp: 7
max_temp: 35
current_temperature: 19.5
temperature: 15
hvac_action: idle
system_mode: '[4]/heat'
occupied_heating_setpoint: 1500
pi_heating_demand: 0
unoccupied_cooling_setpoint: 1600
friendly_name: bathroom_thermostatic_radiator_valve thermostat
supported_features: 1

So I can only choose 'Off' as mode, not 'Heat'. Receiving info seems ok, when I change set temperature on the device, I see this updated in HA. Setting temperature, or mode, from HA does not work.

Here are all log messages that reference my device (0xb4ab):

2020-07-02 21:31:52 DEBUG (MainThread) [zigpy.device] [0xb4ab] Delivery error for seq # 0x01, on endpoint id 1 cluster 0x0201: message send failure
2020-07-02 21:31:52 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: async_initialize: retryable request #1 failed: [0xb4ab:1:0x0201]: Message send failure. Retrying in 0.9s
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy.device] [0xb4ab] Extending timeout for 0x03 request
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Error while sending 4 req id frame: TXStatus.MAC_NO_ACK
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy.device] [0xb4ab] Delivery error for seq # 0x03, on endpoint id 1 cluster 0x0201: message send failure
2020-07-02 21:31:53 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: async_initialize: retryable request #2 failed: [0xb4ab:1:0x0201]: Message send failure. Retrying in 0.8s
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy.device] [0xb4ab] Extending timeout for 0x05 request
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 5 under 6 request id, data: b'0005000300040005000600'
2020-07-02 21:31:53 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (26, 6, 0, <DeconzAddressEndpoint address_mode=2 address=0xb4ab endpoint=1>, 260, 513, 1, b'\x00\x05\x00\x03\x00\x04\x00\x05\x00\x06\x00', 2, 0)
2020-07-02 21:32:04 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x06 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0xb4ab endpoint=1>, status: 0xd0
2020-07-02 21:32:04 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Error while sending 6 req id frame: TXStatus.NWK_ROUTE_DISCOVERY_FAILED
2020-07-02 21:32:04 DEBUG (MainThread) [zigpy.device] [0xb4ab] Delivery error for seq # 0x05, on endpoint id 1 cluster 0x0201: message send failure
2020-07-02 21:32:04 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: async_initialize: retryable request #3 failed: [0xb4ab:1:0x0201]: Message send failure. Retrying in 3.1s
2020-07-02 21:32:07 DEBUG (MainThread) [zigpy.device] [0xb4ab] Extending timeout for 0x07 request
2020-07-02 21:32:07 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 7 under 8 request id, data: b'0007000300040005000600'
2020-07-02 21:32:07 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (26, 8, 0, <DeconzAddressEndpoint address_mode=2 address=0xb4ab endpoint=1>, 260, 513, 1, b'\x00\x07\x00\x03\x00\x04\x00\x05\x00\x06\x00', 2, 0)
2020-07-02 21:32:17 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x08 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0xb4ab endpoint=1>, status: 0xd0
2020-07-02 21:32:17 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Error while sending 8 req id frame: TXStatus.NWK_ROUTE_DISCOVERY_FAILED
2020-07-02 21:32:17 DEBUG (MainThread) [zigpy.device] [0xb4ab] Delivery error for seq # 0x07, on endpoint id 1 cluster 0x0201: message send failure
2020-07-02 21:32:17 WARNING (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: async_initialize: all attempts have failed: [DeliveryError('[0xb4ab:1:0x0201]: Message send failure'), DeliveryError('[0xb4ab:1:0x0201]: Message send failure'), DeliveryError('[0xb4ab:1:0x0201]: Message send failure'), DeliveryError('[0xb4ab:1:0x0201]: Message send failure')]
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: 'async_initialize' stage succeeded
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0000]: 'async_initialize' stage succeeded
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0001]: 'async_initialize' stage succeeded
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0019]: 'async_initialize' stage succeeded
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xb4ab](SPZB0001): power source: Battery or Unknown
2020-07-02 21:32:17 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xb4ab](SPZB0001): completed initialization
2020-07-02 21:34:34 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, 1, 260, 513, b'\x1c7\x10\xc3\n\x03@)\xaa\x05', 0, 175, 255, 154, 21, 50, 0, -57]
2020-07-02 21:34:34 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=False disable_default_response=True> manufacturer=4151 tsn=195 command_id=Command.Report_Attributes>
2020-07-02 21:34:34 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=16387 value=<TypeValue type=int16s, value=1450>>]]
2020-07-02 21:34:34 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] Attribute report received: current_temperature_setpoint=1450
2020-07-02 21:34:34 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: Attribute report 'ThermostatCluster'[occupied_heating_setpoint] = 1450
2020-07-02 21:34:34 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: Attribute report 'ThermostatCluster'[current_temperature_setpoint] = 1450
2020-07-02 21:34:34 DEBUG (MainThread) [homeassistant.components.zha.entity] climate.bathroom_thermostatic_radiator_valve_thermostat: Attribute 'occupied_heating_setpoint' = 1450 update
2020-07-02 21:34:34 DEBUG (MainThread) [homeassistant.components.zha.entity] climate.bathroom_thermostatic_radiator_valve_thermostat: Attribute 'current_temperature_setpoint' = 1450 update
2020-07-02 21:34:34 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, ep: 1, profile: 0x0104, cluster_id: 0x0201, data: b'1c3710c30a034029aa05'
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy.device] [0xb4ab] Extending timeout for 0x3d request
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 61 under 62 request id, data: b'0437103d02084022210000'
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (26, 62, 0, <DeconzAddressEndpoint address_mode=2 address=0xb4ab endpoint=1>, 260, 513, 1, b'\x047\x10=\x02\x08@"!\x00\x00', 2, 0)
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x3e 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0xb4ab endpoint=1>, status: 0xe9
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Error while sending 62 req id frame: TXStatus.MAC_NO_ACK
2020-07-02 21:36:47 DEBUG (MainThread) [zigpy.device] [0xb4ab] Delivery error for seq # 0x3d, on endpoint id 1 cluster 0x0201: message send failure
2020-07-02 21:36:47 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: couldn't write {'system_mode': <SystemMode.OFF: 0>}: [0xb4ab:1:0x0201]: Message send failure
2020-07-02 21:36:47 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: couldn't set 'SystemMode.OFF' operation mode
2020-07-02 21:36:53 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [31, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, 1, 260, 513, b'\x18\x12\n\x12\x00)\xdc\x05', 0, 175, 255, 187, 21, 50, 0, -58]
2020-07-02 21:36:53 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=True> manufacturer=None tsn=18 command_id=Command.Report_Attributes>
2020-07-02 21:36:53 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=18 value=<TypeValue type=int16s, value=1500>>]]
2020-07-02 21:36:53 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] Attribute report received: occupied_heating_setpoint=1500
2020-07-02 21:36:53 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: Attribute report 'ThermostatCluster'[occupied_heating_setpoint] = 1500
2020-07-02 21:36:53 DEBUG (MainThread) [homeassistant.components.zha.entity] climate.bathroom_thermostatic_radiator_valve_thermostat: Attribute 'occupied_heating_setpoint' = 1500 update
2020-07-02 21:36:53 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, ep: 1, profile: 0x0104, cluster_id: 0x0201, data: b'18120a120029dc05'
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [32, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, 1, 260, 513, b'\x1c7\x10\xbc\n\x02@ \x00', 0, 175, 255, 230, 21, 50, 0, -57]
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=False disable_default_response=True> manufacturer=4151 tsn=188 command_id=Command.Report_Attributes>
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=16386 value=<TypeValue type=uint8_t, value=0>>]]
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] Attribute report received: errors=0
2020-07-02 21:39:49 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: Attribute report 'ThermostatCluster'[errors] = 0
2020-07-02 21:39:49 DEBUG (MainThread) [homeassistant.components.zha.entity] climate.bathroom_thermostatic_radiator_valve_thermostat: Attribute 'errors' = 0 update
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e71000700aa00
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, ep: 1, profile: 0x0104, cluster_id: 0x0201, data: b'1c3710bc0a02402000'
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1771000800010001
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17710025001e00220200000102abb40104010102070018bd0a0800200000afffe6153200c7
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [30, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, 1, 260, 513, b'\x18\xbd\n\x08\x00 \x00', 0, 175, 255, 230, 21, 50, 0, -57]
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=True> manufacturer=None tsn=189 command_id=Command.Report_Attributes>
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=8 value=<TypeValue type=uint8_t, value=0>>]]
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy.zcl] [0xb4ab:1:0x0201] Attribute report received: pi_heating_demand=0
2020-07-02 21:39:49 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xb4ab:1:0x0201]: Attribute report 'ThermostatCluster'[pi_heating_demand] = 0
2020-07-02 21:39:49 DEBUG (MainThread) [homeassistant.components.zha.entity] climate.bathroom_thermostatic_radiator_valve_thermostat: Attribute 'pi_heating_demand' = 0 update
2020-07-02 21:39:49 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xb4ab>, ep: 1, profile: 0x0104, cluster_id: 0x0201, data: b'18bd0a08002000'

I don't quite know how to troubleshoot this any further. The device worked ok under zigbee2mqtt. Thanks!

vigonotion commented 4 years ago

Did you restart Home Assistant after adding the thermostat? The manufacturer specific attribute containing the system mode information is not correctly sent on initialization i think

stefanroelofs commented 4 years ago

Yes, correct. I added device to HA. It worked ok at first. I could set states Heat, and Off. Then I restarted HA, and it stopped working.

stefanroelofs commented 4 years ago

I might have restarted HA while the device was in 'Off' mode actually, I don't remember for sure.

Thanks for your response anyway.

nerdosity commented 4 years ago

pi_heating_demand is working now. Now I can monitor my valve status:

image

I'm using this state template for turning on the burner when valves are open enough (or, when the delta between valve set temperature and the ambient temperature is large enough):

{{ (state_attr('sensor.climate.eurotronic_spzb0001_a3d6ff01_thermostat', 'pi_heating_demand')|int+state_attr('sensor.climate.eurotronic_spzb0001_a975c403_thermostat', 'pi_heating_demand')|int+state_attr('sensor.climate.eurotronic_spzb0001_bad6ff01_thermostat', 'pi_heating_demand')|int+state_attr('sensor.climate.eurotronic_spzb0001_6d75c403_thermostat', 'pi_heating_demand')|int )+state_attr('climate.calorifero_bagnetto', 'valve')|int > 99 }}

This worked last year with zigbee2mqtt, should work next winter I hope ;)

Lovely-Maisonette commented 4 years ago

Is there a regression? Version: Home Assistant 0.113.3 Docker: homeassistant/home-assistant:stable

Main problem: Battery always 0% Secondary: HVAC modes get sometimes lost or something, and then it cannot be turned on (or off)

image image image image image There now HVAC has only 1 option (off) This happens intermittently, and it is unrelated to the battery problem, which is always 0% no matter what. image

nerdosity commented 4 years ago

Hi, actually pi_heating_demand is 0-255 (I saw it jumping to 150 and I read in the PDF from Eurotronic). It should report percentage, can you please convert it mapping from 0-255 to 0-100%? It makes much more sense to use it without more templates.

Hedda commented 4 years ago

@Lovely-Maisonette & @nerdosity this this issue is closed I think that you need to open a new issue for any "new" problems.

sygys commented 2 years ago

the problem i have with this valve is that it doesnt hold its valve position in TRV_mode=1

It seems to pop back to mode 2 on its own. Do more people have this problem?