Issues with climate component updating wrongly, going out of sync

Hi!

I’ve been experiencing some glitches with the generic thermostat which I’m using with an MQTT temperature sensor and a fibaro wall plug powering an electric heater. The problems I’ve been seeing is that the state occasionally gets locked in an “on” or an “off”-state, and the room gets unbearably warm or cold. Now I’ve identified one of these events in the log, and what I see is that as the heater is turned on, the status of the thermostat goes from heating to idle. It seems like the event state doesn’t get registered, and then it goes out of synch, somehow…

16-11-30 00:56:30 homeassistant.components.climate.generic_thermostat: Turning on heater switch.fibaro_system_fgwpe_wall_plug_switch_8_0
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event call_service[L]: service=turn_on, domain=switch, service_data=entity_id=switch.fibaro_system_fgwpe_wall_plug_switch_8_0, service_call_id=1976357168-220>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=climate.bedroom, new_state=<state climate.bedroom=idle; min_temp=15.0, operation_mode=idle, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:56:30.975336+01:00>, old_state=<state climate.bedroom=heat; min_temp=15.0, operation_mode=heat, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:56:16.990340+01:00>>

A larger extract:

16-11-30 00:56:16 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=climate.bedroom, new_state=<state climate.bedroom=heat; min_temp=15.0, operation_mode=heat, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:56:16.990340+01:00>, old_state=<state climate.bedroom=idle; min_temp=15.0, operation_mode=idle, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:31:51.077506+01:00>>
16-11-30 00:56:17 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=switch.fibaro_system_fgwpe_wall_plug_switch_8_0, new_state=<state switch.fibaro_system_fgwpe_wall_plug_switch_8_0=off; node_id=8, friendly_name=Radiator @ 2016-11-30T00:56:17.037951+01:00>, old_state=<state switch.fibaro_system_fgwpe_wall_plug_switch_8_0=on; node_id=8, friendly_name=Radiator @ 2016-11-30T00:56:08.476388+01:00>>
16-11-30 00:56:17 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=group.bedroom_environment, new_state=<state group.bedroom_environment=off; entity_id=('sensor.bedroom_humidity', 'sensor.bedroom_temperature', 'switch.fibaro_system_fgwpe_wall_plug_switch_8_0', 'climate.bedroom'), friendly_name=Bedroom, order=11 @ 2016-11-30T00:56:17.049475+01:00>, old_state=<state group.bedroom_environment=on; entity_id=('sensor.bedroom_humidity', 'sensor.bedroom_temperature', 'switch.fibaro_system_fgwpe_wall_plug_switch_8_0', 'climate.bedroom'), friendly_name=Bedroom, order=11 @ 2016-11-30T00:56:08.488938+01:00>>
16-11-30 00:56:17 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, new_state=<state group.all_switches=off; entity_id=('switch.fibaro_system_fgwpe_wall_plug_switch_41_0', 'switch.fibaro_system_fgwpe_wall_plug_switch_3_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0_3', 'switch.fibaro_system_fgwpe_wall_plug_switch_8_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0_2', 'switch.fibaro_system_fgwpe_wall_plug_switch_32_0', 'switch.fibaro_system_fgwpe_wall_plug_switch_7_0'), auto=True, friendly_name=all switches, order=18, hidden=True @ 2016-11-30T00:56:17.059309+01:00>, old_state=<state group.all_switches=on; entity_id=('switch.fibaro_system_fgwpe_wall_plug_switch_41_0', 'switch.fibaro_system_fgwpe_wall_plug_switch_3_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0_3', 'switch.fibaro_system_fgwpe_wall_plug_switch_8_0', 'switch.fibaro_system_fgs212_switch_3kw_switch_38_0_2', 'switch.fibaro_system_fgwpe_wall_plug_switch_32_0', 'switch.fibaro_system_fgwpe_wall_plug_switch_7_0'), auto=True, friendly_name=all switches, order=18, hidden=True @ 2016-11-30T00:56:08.498091+01:00>>
16-11-30 00:56:17 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=group.environment_view, new_state=<state group.environment_view=off; entity_id=('group.livingroom_environment', 'group.bedroom_environment', 'group.guestroom_environment'), hidden=True, friendly_name=Environment, order=1, view=True @ 2016-11-30T00:56:17.070860+01:00>, old_state=<state group.environment_view=on; entity_id=('group.livingroom_environment', 'group.bedroom_environment', 'group.guestroom_environment'), hidden=True, friendly_name=Environment, order=1, view=True @ 2016-11-30T00:56:08.517458+01:00>>
16-11-30 00:56:17 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=sensor.fibaro_system_fgwpe_wall_plug_power_8_4, new_state=<state sensor.fibaro_system_fgwpe_wall_plug_power_8_4=0.0; node_id=8, friendly_name=Bedroom radiator power, unit_of_measurement=W @ 2016-11-30T00:56:17.743055+01:00>, old_state=<state sensor.fibaro_system_fgwpe_wall_plug_power_8_4=1061.9; node_id=8, friendly_name=Bedroom radiator power, unit_of_measurement=W @ 2016-11-30T00:56:09.122107+01:00>>
16-11-30 00:56:18 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=sensor.fibaro_system_fgwpe_wall_plug_energy_3_0, new_state=<state sensor.fibaro_system_fgwpe_wall_plug_energy_3_0=4219.3; node_id=3, friendly_name=FIBARO System FGWPE Wall Plug Energy, unit_of_measurement=kWh @ 2016-11-30T00:56:18.568680+01:00>, old_state=<state sensor.fibaro_system_fgwpe_wall_plug_energy_3_0=4219.2; node_id=3, friendly_name=FIBARO System FGWPE Wall Plug Energy, unit_of_measurement=kWh @ 2016-11-30T00:50:08.578573+01:00>>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=sun.sun, new_state=<state sun.sun=below_horizon; azimuth=175.07, elevation=-68.24, next_setting=2016-11-30T17:52:30+00:00, friendly_name=Sun, next_rising=2016-11-30T05:45:20+00:00 @ 2016-11-29T18:52:09.509727+01:00>, old_state=<state sun.sun=below_horizon; azimuth=175.7, elevation=-68.26, next_setting=2016-11-30T17:52:30+00:00, friendly_name=Sun, next_rising=2016-11-30T05:45:20+00:00 @ 2016-11-29T18:52:09.509727+01:00>>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event mqtt_message_received[L]: topic=Temp12846772, payload=22.70, qos=0>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=sensor.bedroom_temperature, new_state=<state sensor.bedroom_temperature=22.7; friendly_name=Bedroom temperature, unit_of_measurement=°C @ 2016-11-30T00:56:30.959676+01:00>, old_state=<state sensor.bedroom_temperature=22.71; friendly_name=Bedroom temperature, unit_of_measurement=°C @ 2016-11-30T00:56:16.955595+01:00>>
16-11-30 00:56:30 homeassistant.components.climate.generic_thermostat: Turning on heater switch.fibaro_system_fgwpe_wall_plug_switch_8_0
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event call_service[L]: service=turn_on, domain=switch, service_data=entity_id=switch.fibaro_system_fgwpe_wall_plug_switch_8_0, service_call_id=1976357168-220>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=climate.bedroom, new_state=<state climate.bedroom=idle; min_temp=15.0, operation_mode=idle, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:56:30.975336+01:00>, old_state=<state climate.bedroom=heat; min_temp=15.0, operation_mode=heat, max_temp=25.0, current_temperature=22.7, temperature=23.0, friendly_name=bedroom, unit_of_measurement=°C @ 2016-11-30T00:56:16.990340+01:00>>
16-11-30 00:56:30 homeassistant.core: Bus:Handling <Event service_executed[L]: service_call_id=1976357168-220>
16-11-30 00:56:31 homeassistant.core: Bus:Handling <Event state_changed[L]: entity_id=sensor.fibaro_system_fgwpe_wall_plug_power_8_4, new_state=<state sensor.fibaro_system_fgwpe_wall_plug_power_8_4=1072.4; node_id=8, friendly_name=Bedroom radiator power, unit_of_measurement=W @ 2016-11-30T00:56:31.737664+01:00>, old_state=<state sensor.fibaro_system_fgwpe_wall_plug_power_8_4=0.0; node_id=8, friendly_name=Bedroom radiator power, unit_of_measurement=W @ 2016-11-30T00:56:17.743055+01:00>>

Has anyone experienced similar issues with the climate component?