Plugwise: bug-fix for Anna + Techneco Elga combination (#104521)
parent
2e1c722303
commit
959b98be0e
|
@ -7,6 +7,6 @@
|
||||||
"integration_type": "hub",
|
"integration_type": "hub",
|
||||||
"iot_class": "local_polling",
|
"iot_class": "local_polling",
|
||||||
"loggers": ["crcmod", "plugwise"],
|
"loggers": ["crcmod", "plugwise"],
|
||||||
"requirements": ["plugwise==0.34.0"],
|
"requirements": ["plugwise==0.34.3"],
|
||||||
"zeroconf": ["_plugwise._tcp.local."]
|
"zeroconf": ["_plugwise._tcp.local."]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1477,7 +1477,7 @@ plexauth==0.0.6
|
||||||
plexwebsocket==0.0.14
|
plexwebsocket==0.0.14
|
||||||
|
|
||||||
# homeassistant.components.plugwise
|
# homeassistant.components.plugwise
|
||||||
plugwise==0.34.0
|
plugwise==0.34.3
|
||||||
|
|
||||||
# homeassistant.components.plum_lightpad
|
# homeassistant.components.plum_lightpad
|
||||||
plumlightpad==0.0.11
|
plumlightpad==0.0.11
|
||||||
|
|
|
@ -1135,7 +1135,7 @@ plexauth==0.0.6
|
||||||
plexwebsocket==0.0.14
|
plexwebsocket==0.0.14
|
||||||
|
|
||||||
# homeassistant.components.plugwise
|
# homeassistant.components.plugwise
|
||||||
plugwise==0.34.0
|
plugwise==0.34.3
|
||||||
|
|
||||||
# homeassistant.components.plum_lightpad
|
# homeassistant.components.plum_lightpad
|
||||||
plumlightpad==0.0.11
|
plumlightpad==0.0.11
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
"binary_sensors": {
|
"binary_sensors": {
|
||||||
"compressor_state": true,
|
"compressor_state": true,
|
||||||
"cooling_enabled": false,
|
"cooling_enabled": false,
|
||||||
|
"cooling_state": false,
|
||||||
"dhw_state": false,
|
"dhw_state": false,
|
||||||
"flame_state": false,
|
"flame_state": false,
|
||||||
"heating_state": true,
|
"heating_state": true,
|
||||||
|
@ -40,7 +41,7 @@
|
||||||
"setpoint": 60.0,
|
"setpoint": 60.0,
|
||||||
"upper_bound": 100.0
|
"upper_bound": 100.0
|
||||||
},
|
},
|
||||||
"model": "Generic heater",
|
"model": "Generic heater/cooler",
|
||||||
"name": "OpenTherm",
|
"name": "OpenTherm",
|
||||||
"sensors": {
|
"sensors": {
|
||||||
"dhw_temperature": 46.3,
|
"dhw_temperature": 46.3,
|
||||||
|
@ -72,7 +73,8 @@
|
||||||
"cooling_activation_outdoor_temperature": 21.0,
|
"cooling_activation_outdoor_temperature": 21.0,
|
||||||
"cooling_deactivation_threshold": 4.0,
|
"cooling_deactivation_threshold": 4.0,
|
||||||
"illuminance": 86.0,
|
"illuminance": 86.0,
|
||||||
"setpoint": 20.5,
|
"setpoint_high": 30.0,
|
||||||
|
"setpoint_low": 20.5,
|
||||||
"temperature": 19.3
|
"temperature": 19.3
|
||||||
},
|
},
|
||||||
"temperature_offset": {
|
"temperature_offset": {
|
||||||
|
@ -84,16 +86,18 @@
|
||||||
"thermostat": {
|
"thermostat": {
|
||||||
"lower_bound": 4.0,
|
"lower_bound": 4.0,
|
||||||
"resolution": 0.1,
|
"resolution": 0.1,
|
||||||
"setpoint": 20.5,
|
"setpoint_high": 30.0,
|
||||||
|
"setpoint_low": 20.5,
|
||||||
"upper_bound": 30.0
|
"upper_bound": 30.0
|
||||||
},
|
},
|
||||||
"vendor": "Plugwise"
|
"vendor": "Plugwise"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gateway": {
|
"gateway": {
|
||||||
"cooling_present": false,
|
"cooling_present": true,
|
||||||
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
||||||
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
||||||
|
"item_count": 66,
|
||||||
"notifications": {},
|
"notifications": {},
|
||||||
"smile_name": "Smile Anna"
|
"smile_name": "Smile Anna"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
"cooling_activation_outdoor_temperature": 21.0,
|
"cooling_activation_outdoor_temperature": 21.0,
|
||||||
"cooling_deactivation_threshold": 4.0,
|
"cooling_deactivation_threshold": 4.0,
|
||||||
"illuminance": 86.0,
|
"illuminance": 86.0,
|
||||||
"setpoint_high": 24.0,
|
"setpoint_high": 30.0,
|
||||||
"setpoint_low": 20.5,
|
"setpoint_low": 20.5,
|
||||||
"temperature": 26.3
|
"temperature": 26.3
|
||||||
},
|
},
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"thermostat": {
|
"thermostat": {
|
||||||
"lower_bound": 4.0,
|
"lower_bound": 4.0,
|
||||||
"resolution": 0.1,
|
"resolution": 0.1,
|
||||||
"setpoint_high": 24.0,
|
"setpoint_high": 30.0,
|
||||||
"setpoint_low": 20.5,
|
"setpoint_low": 20.5,
|
||||||
"upper_bound": 30.0
|
"upper_bound": 30.0
|
||||||
},
|
},
|
||||||
|
@ -97,6 +97,7 @@
|
||||||
"cooling_present": true,
|
"cooling_present": true,
|
||||||
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
||||||
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
||||||
|
"item_count": 66,
|
||||||
"notifications": {},
|
"notifications": {},
|
||||||
"smile_name": "Smile Anna"
|
"smile_name": "Smile Anna"
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
"cooling_activation_outdoor_temperature": 25.0,
|
"cooling_activation_outdoor_temperature": 25.0,
|
||||||
"cooling_deactivation_threshold": 4.0,
|
"cooling_deactivation_threshold": 4.0,
|
||||||
"illuminance": 86.0,
|
"illuminance": 86.0,
|
||||||
"setpoint_high": 24.0,
|
"setpoint_high": 30.0,
|
||||||
"setpoint_low": 20.5,
|
"setpoint_low": 20.5,
|
||||||
"temperature": 23.0
|
"temperature": 23.0
|
||||||
},
|
},
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"thermostat": {
|
"thermostat": {
|
||||||
"lower_bound": 4.0,
|
"lower_bound": 4.0,
|
||||||
"resolution": 0.1,
|
"resolution": 0.1,
|
||||||
"setpoint_high": 24.0,
|
"setpoint_high": 30.0,
|
||||||
"setpoint_low": 20.5,
|
"setpoint_low": 20.5,
|
||||||
"upper_bound": 30.0
|
"upper_bound": 30.0
|
||||||
},
|
},
|
||||||
|
@ -97,6 +97,7 @@
|
||||||
"cooling_present": true,
|
"cooling_present": true,
|
||||||
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
"gateway_id": "015ae9ea3f964e668e490fa39da3870b",
|
||||||
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
"heater_id": "1cbf783bb11e4a7c8a6843dee3a86927",
|
||||||
|
"item_count": 66,
|
||||||
"notifications": {},
|
"notifications": {},
|
||||||
"smile_name": "Smile Anna"
|
"smile_name": "Smile Anna"
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,17 +296,18 @@ async def test_anna_climate_entity_attributes(
|
||||||
assert state
|
assert state
|
||||||
assert state.state == HVACMode.AUTO
|
assert state.state == HVACMode.AUTO
|
||||||
assert state.attributes["hvac_action"] == "heating"
|
assert state.attributes["hvac_action"] == "heating"
|
||||||
assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT]
|
assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT_COOL]
|
||||||
|
|
||||||
assert "no_frost" in state.attributes["preset_modes"]
|
assert "no_frost" in state.attributes["preset_modes"]
|
||||||
assert "home" in state.attributes["preset_modes"]
|
assert "home" in state.attributes["preset_modes"]
|
||||||
|
|
||||||
assert state.attributes["current_temperature"] == 19.3
|
assert state.attributes["current_temperature"] == 19.3
|
||||||
assert state.attributes["preset_mode"] == "home"
|
assert state.attributes["preset_mode"] == "home"
|
||||||
assert state.attributes["supported_features"] == 17
|
assert state.attributes["supported_features"] == 18
|
||||||
assert state.attributes["temperature"] == 20.5
|
assert state.attributes["target_temp_high"] == 30
|
||||||
assert state.attributes["min_temp"] == 4.0
|
assert state.attributes["target_temp_low"] == 20.5
|
||||||
assert state.attributes["max_temp"] == 30.0
|
assert state.attributes["min_temp"] == 4
|
||||||
|
assert state.attributes["max_temp"] == 30
|
||||||
assert state.attributes["target_temp_step"] == 0.1
|
assert state.attributes["target_temp_step"] == 0.1
|
||||||
|
|
||||||
|
|
||||||
|
@ -325,7 +326,7 @@ async def test_anna_2_climate_entity_attributes(
|
||||||
HVACMode.HEAT_COOL,
|
HVACMode.HEAT_COOL,
|
||||||
]
|
]
|
||||||
assert state.attributes["supported_features"] == 18
|
assert state.attributes["supported_features"] == 18
|
||||||
assert state.attributes["target_temp_high"] == 24.0
|
assert state.attributes["target_temp_high"] == 30
|
||||||
assert state.attributes["target_temp_low"] == 20.5
|
assert state.attributes["target_temp_low"] == 20.5
|
||||||
|
|
||||||
|
|
||||||
|
@ -354,13 +355,13 @@ async def test_anna_climate_entity_climate_changes(
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
"climate",
|
"climate",
|
||||||
"set_temperature",
|
"set_temperature",
|
||||||
{"entity_id": "climate.anna", "target_temp_high": 25, "target_temp_low": 20},
|
{"entity_id": "climate.anna", "target_temp_high": 30, "target_temp_low": 20},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_anna.set_temperature.call_count == 1
|
assert mock_smile_anna.set_temperature.call_count == 1
|
||||||
mock_smile_anna.set_temperature.assert_called_with(
|
mock_smile_anna.set_temperature.assert_called_with(
|
||||||
"c784ee9fdab44e1395b8dee7d7a497d5",
|
"c784ee9fdab44e1395b8dee7d7a497d5",
|
||||||
{"setpoint_high": 25.0, "setpoint_low": 20.0},
|
{"setpoint_high": 30.0, "setpoint_low": 20.0},
|
||||||
)
|
)
|
||||||
|
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
|
@ -386,7 +387,7 @@ async def test_anna_climate_entity_climate_changes(
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
"climate",
|
"climate",
|
||||||
"set_hvac_mode",
|
"set_hvac_mode",
|
||||||
{"entity_id": "climate.anna", "hvac_mode": "heat"},
|
{"entity_id": "climate.anna", "hvac_mode": "heat_cool"},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_anna.set_schedule_state.call_count == 1
|
assert mock_smile_anna.set_schedule_state.call_count == 1
|
||||||
|
@ -400,4 +401,4 @@ async def test_anna_climate_entity_climate_changes(
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
state = hass.states.get("climate.anna")
|
state = hass.states.get("climate.anna")
|
||||||
assert state.state == HVACMode.HEAT
|
assert state.state == HVACMode.HEAT
|
||||||
assert state.attributes["hvac_modes"] == [HVACMode.HEAT]
|
assert state.attributes["hvac_modes"] == [HVACMode.HEAT_COOL]
|
||||||
|
|
Loading…
Reference in New Issue