Plugwise: bug-fix for Anna + Techneco Elga combination (#104521)

pull/104967/head
Bouwe Westerdijk 2023-11-26 13:08:10 +01:00 committed by GitHub
parent 2e1c722303
commit 959b98be0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 28 additions and 21 deletions

View File

@ -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."]
} }

View File

@ -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

View File

@ -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

View File

@ -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"
} }

View File

@ -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"
} }

View File

@ -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"
} }

View File

@ -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]