core: ZHA Climate reporting climate state incorrectly

The problem

In the newly added ZHA Climate implementation, HA is reporting thermostat is running as “Fan” and not “Cooling” ZHA Logging would indicate that the correct state is being reported, but this is not reflected in the state of the device in HA.

Running Attribute 'running_state' = RunningState.Fan_State_On|Cool_State_On Idle Attribute 'running_state' = RunningState.Idle

Environment

  • Home Assistant Core release with the issue: 111.1
  • Last working Home Assistant Core release (if known): Dev releases of zha-climate did report correctly
  • Operating environment (Home Assistant/Supervised/Docker/venv): Docker
  • Integration causing this issue: zha
  • Link to integration documentation on our website: https://www.home-assistant.io/integrations/zha/

Problem-relevant configuration.yaml


Traceback/Error logs

[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0x0000](EZSP): started initialization
[0x0000:ZDO](EZSP): 'async_initialize' stage succeeded
[0x0000](EZSP): power source: Mains
[0x0000](EZSP): completed initialization
[0xfbad] Extending timeout for 0x43 request
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=67 command_id=Command.Write_Attributes_rsp>
[0xfbad:1:0x0201]: wrote {'occupied_cooling_setpoint': 2555} attrs, Status: [[<WriteAttributesStatusRecord status=Status.SUCCESS>]]
[0xfbad:1:0x0201]: set cooling setpoint to 2555
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=95 command_id=Command.Report_Attributes>
[0xfbad:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=17 value=<TypeValue type=int16s, value=2555>>]]
[0xfbad:1:0x0201] Attribute report received: occupied_cooling_setpoint=2555
[0xfbad:1:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 2555
climate.centralite_3157100_8042030b_fan_thermostat: Attribute 'occupied_cooling_setpoint' = 2555 update
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=96 command_id=Command.Report_Attributes>
[0xfbad:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=41 value=<TypeValue type=bitmap16, value=bitmap16.4|2>>]]
[0xfbad:1:0x0201] Attribute report received: running_state=6
[0xfbad:1:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Fan_State_On|Cool_State_On
climate.centralite_3157100_8042030b_fan_thermostat: Attribute 'running_state' = RunningState.Fan_State_On|Cool_State_On update
[0xfbad] Extending timeout for 0x47 request
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=71 command_id=Command.Write_Attributes_rsp>
[0xfbad:1:0x0201]: wrote {'occupied_cooling_setpoint': 2722} attrs, Status: [[<WriteAttributesStatusRecord status=Status.SUCCESS>]]
[0xfbad:1:0x0201]: set cooling setpoint to 2722
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=97 command_id=Command.Report_Attributes>
[0xfbad:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=17 value=<TypeValue type=int16s, value=2722>>]]
[0xfbad:1:0x0201] Attribute report received: occupied_cooling_setpoint=2722
[0xfbad:1:0x0201]: Attribute report 'Thermostat'[occupied_cooling_setpoint] = 2722
climate.centralite_3157100_8042030b_fan_thermostat: Attribute 'occupied_cooling_setpoint' = 2722 update
[0xfbad:1:0x0201] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=98 command_id=Command.Report_Attributes>
[0xfbad:1:0x0201] ZCL request 0x000a: [[<Attribute attrid=41 value=<TypeValue type=bitmap16, value=bitmap16.0>>]]
[0xfbad:1:0x0201] Attribute report received: running_state=0
[0xfbad:1:0x0201]: Attribute report 'Thermostat'[running_state] = RunningState.Idle
climate.centralite_3157100_8042030b_fan_thermostat: Attribute 'running_state' = RunningState.Idle update

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 18 (17 by maintainers)

Most upvoted comments

Will do, thanks so much for your help on this issue and the new climate implementation! You’ve taken something I couldnt use at all into a very usable one in the latest releases!