mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 09:17:53 +00:00
Bump plugwise to v1.6.0 and adapt (#131659)
This commit is contained in:
parent
81d0bcde53
commit
8bb0fab732
@ -83,7 +83,7 @@ def migrate_sensor_entities(
|
||||
# Migrating opentherm_outdoor_temperature
|
||||
# to opentherm_outdoor_air_temperature sensor
|
||||
for device_id, device in coordinator.data.devices.items():
|
||||
if device.get("dev_class") != "heater_central":
|
||||
if device["dev_class"] != "heater_central":
|
||||
continue
|
||||
|
||||
old_unique_id = f"{device_id}-outdoor_temperature"
|
||||
|
@ -39,11 +39,19 @@ async def async_setup_entry(
|
||||
if not coordinator.new_devices:
|
||||
return
|
||||
|
||||
async_add_entities(
|
||||
PlugwiseClimateEntity(coordinator, device_id)
|
||||
for device_id in coordinator.new_devices
|
||||
if coordinator.data.devices[device_id]["dev_class"] in MASTER_THERMOSTATS
|
||||
)
|
||||
if coordinator.data.gateway["smile_name"] == "Adam":
|
||||
async_add_entities(
|
||||
PlugwiseClimateEntity(coordinator, device_id)
|
||||
for device_id in coordinator.new_devices
|
||||
if coordinator.data.devices[device_id]["dev_class"] == "climate"
|
||||
)
|
||||
else:
|
||||
async_add_entities(
|
||||
PlugwiseClimateEntity(coordinator, device_id)
|
||||
for device_id in coordinator.new_devices
|
||||
if coordinator.data.devices[device_id]["dev_class"]
|
||||
in MASTER_THERMOSTATS
|
||||
)
|
||||
|
||||
_add_entities()
|
||||
entry.async_on_unload(coordinator.async_add_listener(_add_entities))
|
||||
@ -69,6 +77,11 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):
|
||||
super().__init__(coordinator, device_id)
|
||||
self._attr_extra_state_attributes = {}
|
||||
self._attr_unique_id = f"{device_id}-climate"
|
||||
|
||||
self._location = device_id
|
||||
if (location := self.device.get("location")) is not None:
|
||||
self._location = location
|
||||
|
||||
self.cdr_gateway = coordinator.data.gateway
|
||||
gateway_id: str = coordinator.data.gateway["gateway_id"]
|
||||
self.gateway_data = coordinator.data.devices[gateway_id]
|
||||
@ -222,7 +235,7 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):
|
||||
if mode := kwargs.get(ATTR_HVAC_MODE):
|
||||
await self.async_set_hvac_mode(mode)
|
||||
|
||||
await self.coordinator.api.set_temperature(self.device["location"], data)
|
||||
await self.coordinator.api.set_temperature(self._location, data)
|
||||
|
||||
@plugwise_command
|
||||
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
|
||||
@ -237,7 +250,7 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):
|
||||
await self.coordinator.api.set_regulation_mode(hvac_mode)
|
||||
else:
|
||||
await self.coordinator.api.set_schedule_state(
|
||||
self.device["location"],
|
||||
self._location,
|
||||
"on" if hvac_mode == HVACMode.AUTO else "off",
|
||||
)
|
||||
if self.hvac_mode == HVACMode.OFF:
|
||||
@ -246,4 +259,4 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):
|
||||
@plugwise_command
|
||||
async def async_set_preset_mode(self, preset_mode: str) -> None:
|
||||
"""Set the preset mode."""
|
||||
await self.coordinator.api.set_preset(self.device["location"], preset_mode)
|
||||
await self.coordinator.api.set_preset(self._location, preset_mode)
|
||||
|
@ -64,11 +64,11 @@ class PlugwiseDataUpdateCoordinator(DataUpdateCoordinator[PlugwiseData]):
|
||||
version = await self.api.connect()
|
||||
self._connected = isinstance(version, Version)
|
||||
if self._connected:
|
||||
self.api.get_all_devices()
|
||||
self.api.get_all_gateway_entities()
|
||||
|
||||
async def _async_update_data(self) -> PlugwiseData:
|
||||
"""Fetch data from Plugwise."""
|
||||
data = PlugwiseData({}, {})
|
||||
data = PlugwiseData(devices={}, gateway={})
|
||||
try:
|
||||
if not self._connected:
|
||||
await self._connect()
|
||||
|
@ -15,6 +15,6 @@ async def async_get_config_entry_diagnostics(
|
||||
"""Return diagnostics for a config entry."""
|
||||
coordinator = entry.runtime_data
|
||||
return {
|
||||
"gateway": coordinator.data.gateway,
|
||||
"devices": coordinator.data.devices,
|
||||
"gateway": coordinator.data.gateway,
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from plugwise.constants import DeviceData
|
||||
from plugwise.constants import GwEntityData
|
||||
|
||||
from homeassistant.const import ATTR_NAME, ATTR_VIA_DEVICE, CONF_HOST
|
||||
from homeassistant.helpers.device_registry import (
|
||||
@ -74,7 +74,7 @@ class PlugwiseEntity(CoordinatorEntity[PlugwiseDataUpdateCoordinator]):
|
||||
)
|
||||
|
||||
@property
|
||||
def device(self) -> DeviceData:
|
||||
def device(self) -> GwEntityData:
|
||||
"""Return data for this device."""
|
||||
return self.coordinator.data.devices[self._dev_id]
|
||||
|
||||
|
@ -7,6 +7,6 @@
|
||||
"integration_type": "hub",
|
||||
"iot_class": "local_polling",
|
||||
"loggers": ["plugwise"],
|
||||
"requirements": ["plugwise==1.5.2"],
|
||||
"requirements": ["plugwise==1.6.0"],
|
||||
"zeroconf": ["_plugwise._tcp.local."]
|
||||
}
|
||||
|
@ -91,12 +91,12 @@ class PlugwiseNumberEntity(PlugwiseEntity, NumberEntity):
|
||||
) -> None:
|
||||
"""Initiate Plugwise Number."""
|
||||
super().__init__(coordinator, device_id)
|
||||
self.device_id = device_id
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{device_id}-{description.key}"
|
||||
self._attr_mode = NumberMode.BOX
|
||||
self._attr_native_max_value = self.device[description.key]["upper_bound"]
|
||||
self._attr_native_min_value = self.device[description.key]["lower_bound"]
|
||||
self._attr_unique_id = f"{device_id}-{description.key}"
|
||||
self.device_id = device_id
|
||||
self.entity_description = description
|
||||
|
||||
native_step = self.device[description.key]["resolution"]
|
||||
if description.key != "temperature_offset":
|
||||
|
@ -10,7 +10,7 @@ from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import PlugwiseConfigEntry
|
||||
from .const import LOCATION, SelectOptionsType, SelectType
|
||||
from .const import SelectOptionsType, SelectType
|
||||
from .coordinator import PlugwiseDataUpdateCoordinator
|
||||
from .entity import PlugwiseEntity
|
||||
from .util import plugwise_command
|
||||
@ -89,8 +89,12 @@ class PlugwiseSelectEntity(PlugwiseEntity, SelectEntity):
|
||||
) -> None:
|
||||
"""Initialise the selector."""
|
||||
super().__init__(coordinator, device_id)
|
||||
self.entity_description = entity_description
|
||||
self._attr_unique_id = f"{device_id}-{entity_description.key}"
|
||||
self.entity_description = entity_description
|
||||
|
||||
self._location = device_id
|
||||
if (location := self.device.get("location")) is not None:
|
||||
self._location = location
|
||||
|
||||
@property
|
||||
def current_option(self) -> str:
|
||||
@ -106,8 +110,8 @@ class PlugwiseSelectEntity(PlugwiseEntity, SelectEntity):
|
||||
async def async_select_option(self, option: str) -> None:
|
||||
"""Change to the selected entity option.
|
||||
|
||||
self.device[LOCATION] and STATE_ON are required for the thermostat-schedule select.
|
||||
self._location and STATE_ON are required for the thermostat-schedule select.
|
||||
"""
|
||||
await self.coordinator.api.set_select(
|
||||
self.entity_description.key, self.device[LOCATION], option, STATE_ON
|
||||
self.entity_description.key, self._location, option, STATE_ON
|
||||
)
|
||||
|
@ -439,8 +439,8 @@ class PlugwiseSensorEntity(PlugwiseEntity, SensorEntity):
|
||||
) -> None:
|
||||
"""Initialise the sensor."""
|
||||
super().__init__(coordinator, device_id)
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{device_id}-{description.key}"
|
||||
self.entity_description = description
|
||||
|
||||
@property
|
||||
def native_value(self) -> int | float:
|
||||
|
@ -93,8 +93,8 @@ class PlugwiseSwitchEntity(PlugwiseEntity, SwitchEntity):
|
||||
) -> None:
|
||||
"""Set up the Plugwise API."""
|
||||
super().__init__(coordinator, device_id)
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{device_id}-{description.key}"
|
||||
self.entity_description = description
|
||||
|
||||
@property
|
||||
def is_on(self) -> bool:
|
||||
|
@ -1622,7 +1622,7 @@ plexauth==0.0.6
|
||||
plexwebsocket==0.0.14
|
||||
|
||||
# homeassistant.components.plugwise
|
||||
plugwise==1.5.2
|
||||
plugwise==1.6.0
|
||||
|
||||
# homeassistant.components.plum_lightpad
|
||||
plumlightpad==0.0.11
|
||||
|
@ -1329,7 +1329,7 @@ plexauth==0.0.6
|
||||
plexwebsocket==0.0.14
|
||||
|
||||
# homeassistant.components.plugwise
|
||||
plugwise==1.5.2
|
||||
plugwise==1.6.0
|
||||
|
||||
# homeassistant.components.plum_lightpad
|
||||
plumlightpad==0.0.11
|
||||
|
@ -93,7 +93,7 @@ def mock_smile_adam() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("3.0.15")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -120,7 +120,7 @@ def mock_smile_adam_2() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("3.6.4")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -147,7 +147,7 @@ def mock_smile_adam_3() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("3.6.4")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -174,7 +174,7 @@ def mock_smile_adam_4() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("3.2.8")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -200,7 +200,7 @@ def mock_smile_anna() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("4.0.15")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -226,7 +226,7 @@ def mock_smile_anna_2() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("4.0.15")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -252,7 +252,7 @@ def mock_smile_anna_3() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("4.0.15")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -278,7 +278,7 @@ def mock_smile_p1() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("4.4.2")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -304,7 +304,7 @@ def mock_smile_p1_2() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("4.4.2")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -330,7 +330,7 @@ def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("1.8.22")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
@ -356,7 +356,7 @@ def mock_stretch() -> Generator[MagicMock]:
|
||||
smile.connect.return_value = Version("3.1.11")
|
||||
all_data = _read_json(chosen_env, "all_data")
|
||||
smile.async_update.return_value = PlugwiseData(
|
||||
all_data["gateway"], all_data["devices"]
|
||||
all_data["devices"], all_data["gateway"]
|
||||
)
|
||||
|
||||
yield smile
|
||||
|
@ -45,7 +45,7 @@
|
||||
"name": "Anna",
|
||||
"preset_modes": ["away", "vacation", "asleep", "home", "no_frost"],
|
||||
"sensors": {
|
||||
"illuminance": 151,
|
||||
"illuminance": 150.8,
|
||||
"setpoint": 20.5,
|
||||
"temperature": 20.4
|
||||
},
|
||||
|
@ -31,7 +31,7 @@
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "f871b8c4d63549319221e294e4f88074",
|
||||
@ -40,6 +40,7 @@
|
||||
"name": "Tom Badkamer",
|
||||
"sensors": {
|
||||
"battery": 99,
|
||||
"setpoint": 18.0,
|
||||
"temperature": 21.6,
|
||||
"temperature_difference": -0.2,
|
||||
"valve_position": 100
|
||||
@ -54,34 +55,16 @@
|
||||
"zigbee_mac_address": "000D6F000C8FF5EE"
|
||||
},
|
||||
"ad4838d7d35c4d6ea796ee12ae5aedf8": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "cool",
|
||||
"control_state": "cooling",
|
||||
"dev_class": "thermostat",
|
||||
"location": "f2bf9048bef64cc5b6d5110154e33c81",
|
||||
"model": "ThermoTouch",
|
||||
"model_id": "143.1",
|
||||
"name": "Anna",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"setpoint": 23.5,
|
||||
"temperature": 25.8
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 1.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 23.5,
|
||||
"upper_bound": 35.0
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"da224107914542988a88561b4452b0f6": {
|
||||
@ -113,20 +96,10 @@
|
||||
"zigbee_mac_address": "000D6F000D5A168D"
|
||||
},
|
||||
"e2f4322d57924fa090fbbc48b3a140dc": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": true
|
||||
},
|
||||
"climate_mode": "auto",
|
||||
"control_state": "preheating",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-10T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -134,8 +107,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Lisa Badkamer",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "Badkamer",
|
||||
"sensors": {
|
||||
"battery": 14,
|
||||
"setpoint": 23.5,
|
||||
@ -147,12 +118,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 25.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "000D6F000C869B61"
|
||||
},
|
||||
@ -166,14 +131,81 @@
|
||||
"name": "Test",
|
||||
"switches": {
|
||||
"relay": true
|
||||
}
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"f2bf9048bef64cc5b6d5110154e33c81": {
|
||||
"active_preset": "home",
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "cool",
|
||||
"control_state": "cooling",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Living room",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"electricity_consumed": 149.9,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 25.8
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 1.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 23.5,
|
||||
"upper_bound": 35.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"],
|
||||
"secondary": []
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"f871b8c4d63549319221e294e4f88074": {
|
||||
"active_preset": "home",
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "cool",
|
||||
"control_state": "auto",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Bathroom",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "Badkamer",
|
||||
"sensors": {
|
||||
"electricity_consumed": 0.0,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 23.9
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 25.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["e2f4322d57924fa090fbbc48b3a140dc"],
|
||||
"secondary": ["1772a4ea304041adb83f357b751341ff"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
}
|
||||
},
|
||||
"gateway": {
|
||||
"cooling_present": true,
|
||||
"gateway_id": "da224107914542988a88561b4452b0f6",
|
||||
"heater_id": "056ee145a816487eaa69243c3280f8bf",
|
||||
"item_count": 157,
|
||||
"item_count": 89,
|
||||
"notifications": {},
|
||||
"reboot": true,
|
||||
"smile_name": "Adam"
|
||||
|
@ -36,7 +36,7 @@
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "f871b8c4d63549319221e294e4f88074",
|
||||
@ -45,6 +45,7 @@
|
||||
"name": "Tom Badkamer",
|
||||
"sensors": {
|
||||
"battery": 99,
|
||||
"setpoint": 18.0,
|
||||
"temperature": 18.6,
|
||||
"temperature_difference": -0.2,
|
||||
"valve_position": 100
|
||||
@ -59,34 +60,16 @@
|
||||
"zigbee_mac_address": "000D6F000C8FF5EE"
|
||||
},
|
||||
"ad4838d7d35c4d6ea796ee12ae5aedf8": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "heat",
|
||||
"control_state": "preheating",
|
||||
"dev_class": "thermostat",
|
||||
"location": "f2bf9048bef64cc5b6d5110154e33c81",
|
||||
"model": "ThermoTouch",
|
||||
"model_id": "143.1",
|
||||
"name": "Anna",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"setpoint": 20.0,
|
||||
"temperature": 19.1
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 1.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 20.0,
|
||||
"upper_bound": 35.0
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"da224107914542988a88561b4452b0f6": {
|
||||
@ -112,20 +95,10 @@
|
||||
"zigbee_mac_address": "000D6F000D5A168D"
|
||||
},
|
||||
"e2f4322d57924fa090fbbc48b3a140dc": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": true
|
||||
},
|
||||
"climate_mode": "auto",
|
||||
"control_state": "off",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-10T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -133,8 +106,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Lisa Badkamer",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "Badkamer",
|
||||
"sensors": {
|
||||
"battery": 14,
|
||||
"setpoint": 15.0,
|
||||
@ -146,12 +117,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 15.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "000D6F000C869B61"
|
||||
},
|
||||
@ -165,14 +130,81 @@
|
||||
"name": "Test",
|
||||
"switches": {
|
||||
"relay": true
|
||||
}
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"f2bf9048bef64cc5b6d5110154e33c81": {
|
||||
"active_preset": "home",
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "heat",
|
||||
"control_state": "preheating",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Living room",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"electricity_consumed": 149.9,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 19.1
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 1.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 20.0,
|
||||
"upper_bound": 35.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"],
|
||||
"secondary": []
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"f871b8c4d63549319221e294e4f88074": {
|
||||
"active_preset": "home",
|
||||
"available_schedules": [
|
||||
"Badkamer",
|
||||
"Test",
|
||||
"Vakantie",
|
||||
"Weekschema",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "auto",
|
||||
"control_state": "off",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Bathroom",
|
||||
"preset_modes": ["no_frost", "asleep", "vacation", "home", "away"],
|
||||
"select_schedule": "Badkamer",
|
||||
"sensors": {
|
||||
"electricity_consumed": 0.0,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 17.9
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 15.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["e2f4322d57924fa090fbbc48b3a140dc"],
|
||||
"secondary": ["1772a4ea304041adb83f357b751341ff"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
}
|
||||
},
|
||||
"gateway": {
|
||||
"cooling_present": false,
|
||||
"gateway_id": "da224107914542988a88561b4452b0f6",
|
||||
"heater_id": "056ee145a816487eaa69243c3280f8bf",
|
||||
"item_count": 157,
|
||||
"item_count": 89,
|
||||
"notifications": {},
|
||||
"reboot": true,
|
||||
"smile_name": "Adam"
|
||||
|
@ -1,13 +1,56 @@
|
||||
{
|
||||
"devices": {
|
||||
"1346fbd8498d4dbcab7e18d51b771f3d": {
|
||||
"06aecb3d00354375924f50c47af36bd2": {
|
||||
"active_preset": "no_frost",
|
||||
"climate_mode": "off",
|
||||
"control_state": "off",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Slaapkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"temperature": 24.2
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["1346fbd8498d4dbcab7e18d51b771f3d"],
|
||||
"secondary": ["356b65335e274d769c338223e7af9c33"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"13228dab8ce04617af318a2888b3c548": {
|
||||
"active_preset": "home",
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Woonkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"temperature": 27.4
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 4.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 9.0,
|
||||
"upper_bound": 30.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["f61f1a2535f54f52ad006a3d18e459ca"],
|
||||
"secondary": ["833de10f269c4deab58fb9df69901b4e"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"1346fbd8498d4dbcab7e18d51b771f3d": {
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "off",
|
||||
"control_state": "off",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -15,7 +58,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Slaapkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"battery": 92,
|
||||
"setpoint": 13.0,
|
||||
@ -27,18 +69,12 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A03"
|
||||
},
|
||||
"1da4d325838e4ad8aac12177214505c9": {
|
||||
"available": true,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "d58fec52899f4f1c92e4f8fad6d8c48c",
|
||||
@ -62,7 +98,7 @@
|
||||
},
|
||||
"356b65335e274d769c338223e7af9c33": {
|
||||
"available": true,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "06aecb3d00354375924f50c47af36bd2",
|
||||
@ -102,13 +138,10 @@
|
||||
"zigbee_mac_address": "ABCD012345670A06"
|
||||
},
|
||||
"6f3e9d7084214c21b9dfa46f6eeb8700": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -116,7 +149,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Kinderkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"battery": 79,
|
||||
"setpoint": 13.0,
|
||||
@ -128,18 +160,12 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A02"
|
||||
},
|
||||
"833de10f269c4deab58fb9df69901b4e": {
|
||||
"available": true,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "13228dab8ce04617af318a2888b3c548",
|
||||
@ -162,13 +188,10 @@
|
||||
"zigbee_mac_address": "ABCD012345670A09"
|
||||
},
|
||||
"a6abc6a129ee499c88a4d420cc413b47": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -176,7 +199,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Logeerkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"battery": 80,
|
||||
"setpoint": 13.0,
|
||||
@ -188,12 +210,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A01"
|
||||
},
|
||||
@ -219,9 +235,32 @@
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670101"
|
||||
},
|
||||
"d27aede973b54be484f6842d1b2802ad": {
|
||||
"active_preset": "home",
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Kinderkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"temperature": 30.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["6f3e9d7084214c21b9dfa46f6eeb8700"],
|
||||
"secondary": ["d4496250d0e942cfa7aea3476e9070d5"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"d4496250d0e942cfa7aea3476e9070d5": {
|
||||
"available": true,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "d27aede973b54be484f6842d1b2802ad",
|
||||
@ -243,6 +282,29 @@
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A04"
|
||||
},
|
||||
"d58fec52899f4f1c92e4f8fad6d8c48c": {
|
||||
"active_preset": "home",
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Logeerkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"temperature": 30.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["a6abc6a129ee499c88a4d420cc413b47"],
|
||||
"secondary": ["1da4d325838e4ad8aac12177214505c9"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"e4684553153b44afbef2200885f379dc": {
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
@ -280,13 +342,10 @@
|
||||
"vendor": "Remeha B.V."
|
||||
},
|
||||
"f61f1a2535f54f52ad006a3d18e459ca": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "heat",
|
||||
"control_state": "off",
|
||||
"dev_class": "zone_thermometer",
|
||||
"firmware": "2020-09-01T02:00:00+02:00",
|
||||
"hardware": "1",
|
||||
@ -294,7 +353,6 @@
|
||||
"model": "Jip",
|
||||
"model_id": "168-01",
|
||||
"name": "Woonkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"battery": 100,
|
||||
"humidity": 56.2,
|
||||
@ -307,12 +365,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 4.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 9.0,
|
||||
"upper_bound": 30.0
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A08"
|
||||
}
|
||||
@ -321,7 +373,7 @@
|
||||
"cooling_present": false,
|
||||
"gateway_id": "b5c2386c6f6342669e50fe49dd05b188",
|
||||
"heater_id": "e4684553153b44afbef2200885f379dc",
|
||||
"item_count": 228,
|
||||
"item_count": 244,
|
||||
"notifications": {},
|
||||
"reboot": true,
|
||||
"smile_name": "Adam"
|
||||
|
@ -21,6 +21,73 @@
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A15"
|
||||
},
|
||||
"08963fec7c53423ca5680aa4cb502c63": {
|
||||
"active_preset": "away",
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Badkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "Badkamer Schema",
|
||||
"sensors": {
|
||||
"temperature": 18.9
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 14.0,
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": [
|
||||
"f1fee6043d3642a9b0a65297455f008e",
|
||||
"680423ff840043738f42cc7f1ff97a36"
|
||||
],
|
||||
"secondary": []
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"12493538af164a409c6a1c79e38afe1c": {
|
||||
"active_preset": "away",
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "heat",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Bios",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"electricity_consumed": 0.0,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 16.5
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["df4a4a8169904cdb9c03d61a21f42140"],
|
||||
"secondary": ["a2c3583e0a6349358998b760cea82d2a"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"21f2b542c49845e6bb416884c55778d6": {
|
||||
"available": true,
|
||||
"dev_class": "game_console_plug",
|
||||
@ -42,6 +109,28 @@
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A12"
|
||||
},
|
||||
"446ac08dd04d4eff8ac57489757b7314": {
|
||||
"active_preset": "no_frost",
|
||||
"climate_mode": "heat",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Garage",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"temperature": 15.6
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 5.5,
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["e7693eb9582644e5b865dba8d4447cf1"],
|
||||
"secondary": []
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"4a810418d5394b3f82727340b91ba740": {
|
||||
"available": true,
|
||||
"dev_class": "router_plug",
|
||||
@ -89,13 +178,13 @@
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2019-03-27T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "08963fec7c53423ca5680aa4cb502c63",
|
||||
"model": "Tom/Floor",
|
||||
"model_id": "106-03",
|
||||
"name": "Thermostatic Radiator Badkamer",
|
||||
"name": "Thermostatic Radiator Badkamer 1",
|
||||
"sensors": {
|
||||
"battery": 51,
|
||||
"setpoint": 14.0,
|
||||
@ -113,20 +202,10 @@
|
||||
"zigbee_mac_address": "ABCD012345670A17"
|
||||
},
|
||||
"6a3bf693d05e48e0b460c815a4fdd09d": {
|
||||
"active_preset": "asleep",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -134,8 +213,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Zone Thermostat Jessie",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "CV Jessie",
|
||||
"sensors": {
|
||||
"battery": 37,
|
||||
"setpoint": 15.0,
|
||||
@ -147,12 +224,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 15.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A03"
|
||||
},
|
||||
@ -176,6 +247,37 @@
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A05"
|
||||
},
|
||||
"82fa13f017d240daa0d0ea1775420f24": {
|
||||
"active_preset": "asleep",
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Jessie",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "CV Jessie",
|
||||
"sensors": {
|
||||
"temperature": 17.2
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 15.0,
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"thermostats": {
|
||||
"primary": ["6a3bf693d05e48e0b460c815a4fdd09d"],
|
||||
"secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"90986d591dcd426cae3ec3e8111ff730": {
|
||||
"binary_sensors": {
|
||||
"heating_state": true
|
||||
@ -216,7 +318,7 @@
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2019-03-27T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "12493538af164a409c6a1c79e38afe1c",
|
||||
@ -241,7 +343,7 @@
|
||||
},
|
||||
"b310b72a0e354bfab43089919b9a88bf": {
|
||||
"available": true,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2019-03-27T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "c50f167537524366a5af7aa3942feb1e",
|
||||
@ -264,20 +366,10 @@
|
||||
"zigbee_mac_address": "ABCD012345670A02"
|
||||
},
|
||||
"b59bcebaf94b499ea7d46e4a66fb62d8": {
|
||||
"active_preset": "home",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-08-02T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -285,8 +377,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Zone Lisa WK",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "GF7 Woonkamer",
|
||||
"sensors": {
|
||||
"battery": 34,
|
||||
"setpoint": 21.5,
|
||||
@ -298,14 +388,41 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A07"
|
||||
},
|
||||
"c50f167537524366a5af7aa3942feb1e": {
|
||||
"active_preset": "home",
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "climate",
|
||||
"model": "ThermoZone",
|
||||
"name": "Woonkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "GF7 Woonkamer",
|
||||
"sensors": {
|
||||
"electricity_consumed": 35.6,
|
||||
"electricity_produced": 0.0,
|
||||
"temperature": 20.9
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 21.5,
|
||||
"upper_bound": 99.9
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A07"
|
||||
"thermostats": {
|
||||
"primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"],
|
||||
"secondary": ["b310b72a0e354bfab43089919b9a88bf"]
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"cd0ddb54ef694e11ac18ed1cbce5dbbd": {
|
||||
"available": true,
|
||||
@ -333,7 +450,7 @@
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2019-03-27T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "82fa13f017d240daa0d0ea1775420f24",
|
||||
@ -357,20 +474,10 @@
|
||||
"zigbee_mac_address": "ABCD012345670A10"
|
||||
},
|
||||
"df4a4a8169904cdb9c03d61a21f42140": {
|
||||
"active_preset": "away",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "heat",
|
||||
"dev_class": "zone_thermostat",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
@ -378,8 +485,6 @@
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Zone Lisa Bios",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "off",
|
||||
"sensors": {
|
||||
"battery": 67,
|
||||
"setpoint": 13.0,
|
||||
@ -391,22 +496,14 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 13.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A06"
|
||||
},
|
||||
"e7693eb9582644e5b865dba8d4447cf1": {
|
||||
"active_preset": "no_frost",
|
||||
"available": true,
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "heat",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2019-03-27T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
@ -414,7 +511,6 @@
|
||||
"model": "Tom/Floor",
|
||||
"model_id": "106-03",
|
||||
"name": "CV Kraan Garage",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"sensors": {
|
||||
"battery": 68,
|
||||
"setpoint": 5.5,
|
||||
@ -428,39 +524,21 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 5.5,
|
||||
"upper_bound": 100.0
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A11"
|
||||
},
|
||||
"f1fee6043d3642a9b0a65297455f008e": {
|
||||
"active_preset": "away",
|
||||
"available": true,
|
||||
"available_schedules": [
|
||||
"CV Roan",
|
||||
"Bios Schema met Film Avond",
|
||||
"GF7 Woonkamer",
|
||||
"Badkamer Schema",
|
||||
"CV Jessie",
|
||||
"off"
|
||||
],
|
||||
"binary_sensors": {
|
||||
"low_battery": false
|
||||
},
|
||||
"climate_mode": "auto",
|
||||
"dev_class": "zone_thermostat",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2016-10-27T02:00:00+02:00",
|
||||
"hardware": "255",
|
||||
"location": "08963fec7c53423ca5680aa4cb502c63",
|
||||
"model": "Lisa",
|
||||
"model_id": "158-01",
|
||||
"name": "Zone Thermostat Badkamer",
|
||||
"preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
|
||||
"select_schedule": "Badkamer Schema",
|
||||
"name": "Thermostatic Radiator Badkamer 2",
|
||||
"sensors": {
|
||||
"battery": 92,
|
||||
"setpoint": 14.0,
|
||||
@ -472,12 +550,6 @@
|
||||
"setpoint": 0.0,
|
||||
"upper_bound": 2.0
|
||||
},
|
||||
"thermostat": {
|
||||
"lower_bound": 0.0,
|
||||
"resolution": 0.01,
|
||||
"setpoint": 14.0,
|
||||
"upper_bound": 99.9
|
||||
},
|
||||
"vendor": "Plugwise",
|
||||
"zigbee_mac_address": "ABCD012345670A08"
|
||||
},
|
||||
@ -505,7 +577,7 @@
|
||||
"cooling_present": false,
|
||||
"gateway_id": "fe799307f1624099878210aa0b9f1475",
|
||||
"heater_id": "90986d591dcd426cae3ec3e8111ff730",
|
||||
"item_count": 340,
|
||||
"item_count": 364,
|
||||
"notifications": {
|
||||
"af82e4ccf9c548528166d38e560662a4": {
|
||||
"warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device."
|
||||
|
@ -96,7 +96,8 @@
|
||||
"name": "Schakel",
|
||||
"switches": {
|
||||
"relay": true
|
||||
}
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"d950b314e9d8499f968e6db8d82ef78c": {
|
||||
"dev_class": "report",
|
||||
@ -111,7 +112,8 @@
|
||||
"name": "Stroomvreters",
|
||||
"switches": {
|
||||
"relay": true
|
||||
}
|
||||
},
|
||||
"vendor": "Plugwise"
|
||||
},
|
||||
"e1c884e7dede431dadee09506ec4f859": {
|
||||
"dev_class": "refrigerator",
|
||||
|
@ -23,6 +23,90 @@
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A15',
|
||||
}),
|
||||
'08963fec7c53423ca5680aa4cb502c63': dict({
|
||||
'active_preset': 'away',
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'climate',
|
||||
'model': 'ThermoZone',
|
||||
'name': 'Badkamer',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'Badkamer Schema',
|
||||
'sensors': dict({
|
||||
'temperature': 18.9,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 14.0,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'thermostats': dict({
|
||||
'primary': list([
|
||||
'f1fee6043d3642a9b0a65297455f008e',
|
||||
'680423ff840043738f42cc7f1ff97a36',
|
||||
]),
|
||||
'secondary': list([
|
||||
]),
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
}),
|
||||
'12493538af164a409c6a1c79e38afe1c': dict({
|
||||
'active_preset': 'away',
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'climate_mode': 'heat',
|
||||
'dev_class': 'climate',
|
||||
'model': 'ThermoZone',
|
||||
'name': 'Bios',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'off',
|
||||
'sensors': dict({
|
||||
'electricity_consumed': 0.0,
|
||||
'electricity_produced': 0.0,
|
||||
'temperature': 16.5,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 13.0,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'thermostats': dict({
|
||||
'primary': list([
|
||||
'df4a4a8169904cdb9c03d61a21f42140',
|
||||
]),
|
||||
'secondary': list([
|
||||
'a2c3583e0a6349358998b760cea82d2a',
|
||||
]),
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
}),
|
||||
'21f2b542c49845e6bb416884c55778d6': dict({
|
||||
'available': True,
|
||||
'dev_class': 'game_console_plug',
|
||||
@ -44,6 +128,37 @@
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A12',
|
||||
}),
|
||||
'446ac08dd04d4eff8ac57489757b7314': dict({
|
||||
'active_preset': 'no_frost',
|
||||
'climate_mode': 'heat',
|
||||
'dev_class': 'climate',
|
||||
'model': 'ThermoZone',
|
||||
'name': 'Garage',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'sensors': dict({
|
||||
'temperature': 15.6,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 5.5,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'thermostats': dict({
|
||||
'primary': list([
|
||||
'e7693eb9582644e5b865dba8d4447cf1',
|
||||
]),
|
||||
'secondary': list([
|
||||
]),
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
}),
|
||||
'4a810418d5394b3f82727340b91ba740': dict({
|
||||
'available': True,
|
||||
'dev_class': 'router_plug',
|
||||
@ -91,13 +206,13 @@
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'dev_class': 'thermo_sensor',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2019-03-27T01:00:00+01:00',
|
||||
'hardware': '1',
|
||||
'location': '08963fec7c53423ca5680aa4cb502c63',
|
||||
'model': 'Tom/Floor',
|
||||
'model_id': '106-03',
|
||||
'name': 'Thermostatic Radiator Badkamer',
|
||||
'name': 'Thermostatic Radiator Badkamer 1',
|
||||
'sensors': dict({
|
||||
'battery': 51,
|
||||
'setpoint': 14.0,
|
||||
@ -115,20 +230,10 @@
|
||||
'zigbee_mac_address': 'ABCD012345670A17',
|
||||
}),
|
||||
'6a3bf693d05e48e0b460c815a4fdd09d': dict({
|
||||
'active_preset': 'asleep',
|
||||
'available': True,
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'zone_thermostat',
|
||||
'firmware': '2016-10-27T02:00:00+02:00',
|
||||
'hardware': '255',
|
||||
@ -136,14 +241,6 @@
|
||||
'model': 'Lisa',
|
||||
'model_id': '158-01',
|
||||
'name': 'Zone Thermostat Jessie',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'CV Jessie',
|
||||
'sensors': dict({
|
||||
'battery': 37,
|
||||
'setpoint': 15.0,
|
||||
@ -155,12 +252,6 @@
|
||||
'setpoint': 0.0,
|
||||
'upper_bound': 2.0,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 15.0,
|
||||
'upper_bound': 99.9,
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A03',
|
||||
}),
|
||||
@ -184,6 +275,47 @@
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A05',
|
||||
}),
|
||||
'82fa13f017d240daa0d0ea1775420f24': dict({
|
||||
'active_preset': 'asleep',
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'climate',
|
||||
'model': 'ThermoZone',
|
||||
'name': 'Jessie',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'CV Jessie',
|
||||
'sensors': dict({
|
||||
'temperature': 17.2,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 15.0,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'thermostats': dict({
|
||||
'primary': list([
|
||||
'6a3bf693d05e48e0b460c815a4fdd09d',
|
||||
]),
|
||||
'secondary': list([
|
||||
'd3da73bde12a47d5a6b8f9dad971f2ec',
|
||||
]),
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
}),
|
||||
'90986d591dcd426cae3ec3e8111ff730': dict({
|
||||
'binary_sensors': dict({
|
||||
'heating_state': True,
|
||||
@ -224,7 +356,7 @@
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'dev_class': 'thermo_sensor',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2019-03-27T01:00:00+01:00',
|
||||
'hardware': '1',
|
||||
'location': '12493538af164a409c6a1c79e38afe1c',
|
||||
@ -249,7 +381,7 @@
|
||||
}),
|
||||
'b310b72a0e354bfab43089919b9a88bf': dict({
|
||||
'available': True,
|
||||
'dev_class': 'thermo_sensor',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2019-03-27T01:00:00+01:00',
|
||||
'hardware': '1',
|
||||
'location': 'c50f167537524366a5af7aa3942feb1e',
|
||||
@ -272,20 +404,10 @@
|
||||
'zigbee_mac_address': 'ABCD012345670A02',
|
||||
}),
|
||||
'b59bcebaf94b499ea7d46e4a66fb62d8': dict({
|
||||
'active_preset': 'home',
|
||||
'available': True,
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'zone_thermostat',
|
||||
'firmware': '2016-08-02T02:00:00+02:00',
|
||||
'hardware': '255',
|
||||
@ -293,14 +415,6 @@
|
||||
'model': 'Lisa',
|
||||
'model_id': '158-01',
|
||||
'name': 'Zone Lisa WK',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'GF7 Woonkamer',
|
||||
'sensors': dict({
|
||||
'battery': 34,
|
||||
'setpoint': 21.5,
|
||||
@ -312,14 +426,51 @@
|
||||
'setpoint': 0.0,
|
||||
'upper_bound': 2.0,
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A07',
|
||||
}),
|
||||
'c50f167537524366a5af7aa3942feb1e': dict({
|
||||
'active_preset': 'home',
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'climate',
|
||||
'model': 'ThermoZone',
|
||||
'name': 'Woonkamer',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'GF7 Woonkamer',
|
||||
'sensors': dict({
|
||||
'electricity_consumed': 35.6,
|
||||
'electricity_produced': 0.0,
|
||||
'temperature': 20.9,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 21.5,
|
||||
'upper_bound': 99.9,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'thermostats': dict({
|
||||
'primary': list([
|
||||
'b59bcebaf94b499ea7d46e4a66fb62d8',
|
||||
]),
|
||||
'secondary': list([
|
||||
'b310b72a0e354bfab43089919b9a88bf',
|
||||
]),
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A07',
|
||||
}),
|
||||
'cd0ddb54ef694e11ac18ed1cbce5dbbd': dict({
|
||||
'available': True,
|
||||
@ -347,7 +498,7 @@
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'dev_class': 'thermo_sensor',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2019-03-27T01:00:00+01:00',
|
||||
'hardware': '1',
|
||||
'location': '82fa13f017d240daa0d0ea1775420f24',
|
||||
@ -371,20 +522,10 @@
|
||||
'zigbee_mac_address': 'ABCD012345670A10',
|
||||
}),
|
||||
'df4a4a8169904cdb9c03d61a21f42140': dict({
|
||||
'active_preset': 'away',
|
||||
'available': True,
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'climate_mode': 'heat',
|
||||
'dev_class': 'zone_thermostat',
|
||||
'firmware': '2016-10-27T02:00:00+02:00',
|
||||
'hardware': '255',
|
||||
@ -392,14 +533,6 @@
|
||||
'model': 'Lisa',
|
||||
'model_id': '158-01',
|
||||
'name': 'Zone Lisa Bios',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'off',
|
||||
'sensors': dict({
|
||||
'battery': 67,
|
||||
'setpoint': 13.0,
|
||||
@ -411,22 +544,14 @@
|
||||
'setpoint': 0.0,
|
||||
'upper_bound': 2.0,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 13.0,
|
||||
'upper_bound': 99.9,
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A06',
|
||||
}),
|
||||
'e7693eb9582644e5b865dba8d4447cf1': dict({
|
||||
'active_preset': 'no_frost',
|
||||
'available': True,
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'climate_mode': 'heat',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2019-03-27T01:00:00+01:00',
|
||||
'hardware': '1',
|
||||
@ -434,13 +559,6 @@
|
||||
'model': 'Tom/Floor',
|
||||
'model_id': '106-03',
|
||||
'name': 'CV Kraan Garage',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'sensors': dict({
|
||||
'battery': 68,
|
||||
'setpoint': 5.5,
|
||||
@ -454,45 +572,21 @@
|
||||
'setpoint': 0.0,
|
||||
'upper_bound': 2.0,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 5.5,
|
||||
'upper_bound': 100.0,
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A11',
|
||||
}),
|
||||
'f1fee6043d3642a9b0a65297455f008e': dict({
|
||||
'active_preset': 'away',
|
||||
'available': True,
|
||||
'available_schedules': list([
|
||||
'CV Roan',
|
||||
'Bios Schema met Film Avond',
|
||||
'GF7 Woonkamer',
|
||||
'Badkamer Schema',
|
||||
'CV Jessie',
|
||||
'off',
|
||||
]),
|
||||
'binary_sensors': dict({
|
||||
'low_battery': False,
|
||||
}),
|
||||
'climate_mode': 'auto',
|
||||
'dev_class': 'zone_thermostat',
|
||||
'dev_class': 'thermostatic_radiator_valve',
|
||||
'firmware': '2016-10-27T02:00:00+02:00',
|
||||
'hardware': '255',
|
||||
'location': '08963fec7c53423ca5680aa4cb502c63',
|
||||
'model': 'Lisa',
|
||||
'model_id': '158-01',
|
||||
'name': 'Zone Thermostat Badkamer',
|
||||
'preset_modes': list([
|
||||
'home',
|
||||
'asleep',
|
||||
'away',
|
||||
'vacation',
|
||||
'no_frost',
|
||||
]),
|
||||
'select_schedule': 'Badkamer Schema',
|
||||
'name': 'Thermostatic Radiator Badkamer 2',
|
||||
'sensors': dict({
|
||||
'battery': 92,
|
||||
'setpoint': 14.0,
|
||||
@ -504,12 +598,6 @@
|
||||
'setpoint': 0.0,
|
||||
'upper_bound': 2.0,
|
||||
}),
|
||||
'thermostat': dict({
|
||||
'lower_bound': 0.0,
|
||||
'resolution': 0.01,
|
||||
'setpoint': 14.0,
|
||||
'upper_bound': 99.9,
|
||||
}),
|
||||
'vendor': 'Plugwise',
|
||||
'zigbee_mac_address': 'ABCD012345670A08',
|
||||
}),
|
||||
@ -537,7 +625,7 @@
|
||||
'cooling_present': False,
|
||||
'gateway_id': 'fe799307f1624099878210aa0b9f1475',
|
||||
'heater_id': '90986d591dcd426cae3ec3e8111ff730',
|
||||
'item_count': 340,
|
||||
'item_count': 364,
|
||||
'notifications': dict({
|
||||
'af82e4ccf9c548528166d38e560662a4': dict({
|
||||
'warning': "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device.",
|
||||
|
@ -28,7 +28,7 @@ async def test_adam_climate_entity_attributes(
|
||||
hass: HomeAssistant, mock_smile_adam: MagicMock, init_integration: MockConfigEntry
|
||||
) -> None:
|
||||
"""Test creation of adam climate device environment."""
|
||||
state = hass.states.get("climate.zone_lisa_wk")
|
||||
state = hass.states.get("climate.woonkamer")
|
||||
assert state
|
||||
assert state.state == HVACMode.AUTO
|
||||
assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT]
|
||||
@ -46,7 +46,7 @@ async def test_adam_climate_entity_attributes(
|
||||
assert state.attributes["max_temp"] == 35.0
|
||||
assert state.attributes["target_temp_step"] == 0.1
|
||||
|
||||
state = hass.states.get("climate.zone_thermostat_jessie")
|
||||
state = hass.states.get("climate.jessie")
|
||||
assert state
|
||||
assert state.state == HVACMode.AUTO
|
||||
assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT]
|
||||
@ -68,7 +68,7 @@ async def test_adam_2_climate_entity_attributes(
|
||||
hass: HomeAssistant, mock_smile_adam_2: MagicMock, init_integration: MockConfigEntry
|
||||
) -> None:
|
||||
"""Test creation of adam climate device environment."""
|
||||
state = hass.states.get("climate.anna")
|
||||
state = hass.states.get("climate.living_room")
|
||||
assert state
|
||||
assert state.state == HVACMode.HEAT
|
||||
assert state.attributes["hvac_action"] == "preheating"
|
||||
@ -78,7 +78,7 @@ async def test_adam_2_climate_entity_attributes(
|
||||
HVACMode.HEAT,
|
||||
]
|
||||
|
||||
state = hass.states.get("climate.lisa_badkamer")
|
||||
state = hass.states.get("climate.bathroom")
|
||||
assert state
|
||||
assert state.state == HVACMode.AUTO
|
||||
assert state.attributes["hvac_action"] == "idle"
|
||||
@ -96,7 +96,7 @@ async def test_adam_3_climate_entity_attributes(
|
||||
freezer: FrozenDateTimeFactory,
|
||||
) -> None:
|
||||
"""Test creation of adam climate device environment."""
|
||||
state = hass.states.get("climate.anna")
|
||||
state = hass.states.get("climate.living_room")
|
||||
assert state
|
||||
assert state.state == HVACMode.COOL
|
||||
assert state.attributes["hvac_action"] == "cooling"
|
||||
@ -109,7 +109,7 @@ async def test_adam_3_climate_entity_attributes(
|
||||
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
||||
"heating"
|
||||
)
|
||||
data.devices["ad4838d7d35c4d6ea796ee12ae5aedf8"]["control_state"] = "heating"
|
||||
data.devices["f2bf9048bef64cc5b6d5110154e33c81"]["control_state"] = "heating"
|
||||
data.devices["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][
|
||||
"cooling_state"
|
||||
] = False
|
||||
@ -121,7 +121,7 @@ async def test_adam_3_climate_entity_attributes(
|
||||
async_fire_time_changed(hass)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state = hass.states.get("climate.anna")
|
||||
state = hass.states.get("climate.living_room")
|
||||
assert state
|
||||
assert state.state == HVACMode.HEAT
|
||||
assert state.attributes["hvac_action"] == "heating"
|
||||
@ -135,7 +135,7 @@ async def test_adam_3_climate_entity_attributes(
|
||||
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
||||
"cooling"
|
||||
)
|
||||
data.devices["ad4838d7d35c4d6ea796ee12ae5aedf8"]["control_state"] = "cooling"
|
||||
data.devices["f2bf9048bef64cc5b6d5110154e33c81"]["control_state"] = "cooling"
|
||||
data.devices["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][
|
||||
"cooling_state"
|
||||
] = True
|
||||
@ -147,7 +147,7 @@ async def test_adam_3_climate_entity_attributes(
|
||||
async_fire_time_changed(hass)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state = hass.states.get("climate.anna")
|
||||
state = hass.states.get("climate.living_room")
|
||||
assert state
|
||||
assert state.state == HVACMode.COOL
|
||||
assert state.attributes["hvac_action"] == "cooling"
|
||||
@ -168,7 +168,7 @@ async def test_adam_climate_adjust_negative_testing(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{"entity_id": "climate.zone_lisa_wk", "temperature": 25},
|
||||
{"entity_id": "climate.woonkamer", "temperature": 25},
|
||||
blocking=True,
|
||||
)
|
||||
|
||||
@ -180,7 +180,7 @@ async def test_adam_climate_entity_climate_changes(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{"entity_id": "climate.zone_lisa_wk", "temperature": 25},
|
||||
{"entity_id": "climate.woonkamer", "temperature": 25},
|
||||
blocking=True,
|
||||
)
|
||||
assert mock_smile_adam.set_temperature.call_count == 1
|
||||
@ -192,7 +192,7 @@ async def test_adam_climate_entity_climate_changes(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{
|
||||
"entity_id": "climate.zone_lisa_wk",
|
||||
"entity_id": "climate.woonkamer",
|
||||
"hvac_mode": "heat",
|
||||
"temperature": 25,
|
||||
},
|
||||
@ -207,14 +207,14 @@ async def test_adam_climate_entity_climate_changes(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{"entity_id": "climate.zone_lisa_wk", "temperature": 150},
|
||||
{"entity_id": "climate.woonkamer", "temperature": 150},
|
||||
blocking=True,
|
||||
)
|
||||
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_PRESET_MODE,
|
||||
{"entity_id": "climate.zone_lisa_wk", "preset_mode": "away"},
|
||||
{"entity_id": "climate.woonkamer", "preset_mode": "away"},
|
||||
blocking=True,
|
||||
)
|
||||
assert mock_smile_adam.set_preset.call_count == 1
|
||||
@ -225,7 +225,7 @@ async def test_adam_climate_entity_climate_changes(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_HVAC_MODE,
|
||||
{"entity_id": "climate.zone_lisa_wk", "hvac_mode": "heat"},
|
||||
{"entity_id": "climate.woonkamer", "hvac_mode": "heat"},
|
||||
blocking=True,
|
||||
)
|
||||
assert mock_smile_adam.set_schedule_state.call_count == 2
|
||||
@ -238,7 +238,7 @@ async def test_adam_climate_entity_climate_changes(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_HVAC_MODE,
|
||||
{
|
||||
"entity_id": "climate.zone_thermostat_jessie",
|
||||
"entity_id": "climate.jessie",
|
||||
"hvac_mode": "dry",
|
||||
},
|
||||
blocking=True,
|
||||
|
@ -34,17 +34,18 @@ SECONDARY_ID = (
|
||||
TOM = {
|
||||
"01234567890abcdefghijklmnopqrstu": {
|
||||
"available": True,
|
||||
"dev_class": "thermo_sensor",
|
||||
"dev_class": "thermostatic_radiator_valve",
|
||||
"firmware": "2020-11-04T01:00:00+01:00",
|
||||
"hardware": "1",
|
||||
"location": "f871b8c4d63549319221e294e4f88074",
|
||||
"model": "Tom/Floor",
|
||||
"name": "Tom Zolder",
|
||||
"name": "Tom Badkamer 2",
|
||||
"binary_sensors": {
|
||||
"low_battery": False,
|
||||
},
|
||||
"sensors": {
|
||||
"battery": 99,
|
||||
"setpoint": 18.0,
|
||||
"temperature": 18.6,
|
||||
"temperature_difference": 2.3,
|
||||
"valve_position": 0.0,
|
||||
@ -246,7 +247,7 @@ async def test_update_device(
|
||||
entity_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 31
|
||||
== 38
|
||||
)
|
||||
assert (
|
||||
len(
|
||||
@ -254,11 +255,19 @@ async def test_update_device(
|
||||
device_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 6
|
||||
== 8
|
||||
)
|
||||
|
||||
# Add a 2nd Tom/Floor
|
||||
data.devices.update(TOM)
|
||||
data.devices["f871b8c4d63549319221e294e4f88074"]["thermostats"].update(
|
||||
{
|
||||
"secondary": [
|
||||
"01234567890abcdefghijklmnopqrstu",
|
||||
"1772a4ea304041adb83f357b751341ff",
|
||||
]
|
||||
}
|
||||
)
|
||||
with patch(HA_PLUGWISE_SMILE_ASYNC_UPDATE, return_value=data):
|
||||
freezer.tick(timedelta(minutes=1))
|
||||
async_fire_time_changed(hass)
|
||||
@ -270,7 +279,7 @@ async def test_update_device(
|
||||
entity_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 37
|
||||
== 45
|
||||
)
|
||||
assert (
|
||||
len(
|
||||
@ -278,7 +287,7 @@ async def test_update_device(
|
||||
device_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 7
|
||||
== 9
|
||||
)
|
||||
item_list: list[str] = []
|
||||
for device_entry in list(device_registry.devices.values()):
|
||||
@ -286,6 +295,9 @@ async def test_update_device(
|
||||
assert "01234567890abcdefghijklmnopqrstu" in item_list
|
||||
|
||||
# Remove the existing Tom/Floor
|
||||
data.devices["f871b8c4d63549319221e294e4f88074"]["thermostats"].update(
|
||||
{"secondary": ["01234567890abcdefghijklmnopqrstu"]}
|
||||
)
|
||||
data.devices.pop("1772a4ea304041adb83f357b751341ff")
|
||||
with patch(HA_PLUGWISE_SMILE_ASYNC_UPDATE, return_value=data):
|
||||
freezer.tick(timedelta(minutes=1))
|
||||
@ -298,7 +310,7 @@ async def test_update_device(
|
||||
entity_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 31
|
||||
== 38
|
||||
)
|
||||
assert (
|
||||
len(
|
||||
@ -306,7 +318,7 @@ async def test_update_device(
|
||||
device_registry, mock_config_entry.entry_id
|
||||
)
|
||||
)
|
||||
== 6
|
||||
== 8
|
||||
)
|
||||
item_list: list[str] = []
|
||||
for device_entry in list(device_registry.devices.values()):
|
||||
|
@ -18,7 +18,7 @@ async def test_adam_select_entities(
|
||||
) -> None:
|
||||
"""Test a thermostat Select."""
|
||||
|
||||
state = hass.states.get("select.zone_lisa_wk_thermostat_schedule")
|
||||
state = hass.states.get("select.woonkamer_thermostat_schedule")
|
||||
assert state
|
||||
assert state.state == "GF7 Woonkamer"
|
||||
|
||||
@ -32,7 +32,7 @@ async def test_adam_change_select_entity(
|
||||
SELECT_DOMAIN,
|
||||
SERVICE_SELECT_OPTION,
|
||||
{
|
||||
ATTR_ENTITY_ID: "select.zone_lisa_wk_thermostat_schedule",
|
||||
ATTR_ENTITY_ID: "select.woonkamer_thermostat_schedule",
|
||||
ATTR_OPTION: "Badkamer Schema",
|
||||
},
|
||||
blocking=True,
|
||||
|
Loading…
x
Reference in New Issue
Block a user