diff --git a/homeassistant/components/vicare/const.py b/homeassistant/components/vicare/const.py index 83a759020ea..ff57508c34b 100644 --- a/homeassistant/components/vicare/const.py +++ b/homeassistant/components/vicare/const.py @@ -35,6 +35,7 @@ CONF_HEATING_TYPE = "heating_type" DEFAULT_CACHE_DURATION = 60 VICARE_BAR = "bar" +VICARE_CELSIUS = "celsius" VICARE_CUBIC_METER = "cubicMeter" VICARE_KW = "kilowatt" VICARE_KWH = "kilowattHour" diff --git a/homeassistant/components/vicare/sensor.py b/homeassistant/components/vicare/sensor.py index 20b9809e43d..c1f672a4479 100644 --- a/homeassistant/components/vicare/sensor.py +++ b/homeassistant/components/vicare/sensor.py @@ -44,6 +44,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from .const import ( VICARE_BAR, + VICARE_CELSIUS, VICARE_CUBIC_METER, VICARE_KW, VICARE_KWH, @@ -58,7 +59,9 @@ from .utils import ( get_burners, get_circuits, get_compressors, + get_condensors, get_device_serial, + get_evaporators, is_supported, normalize_state, ) @@ -76,6 +79,7 @@ VICARE_UNIT_TO_DEVICE_CLASS = { VICARE_UNIT_TO_HA_UNIT = { VICARE_BAR: UnitOfPressure.BAR, + VICARE_CELSIUS: UnitOfTemperature.CELSIUS, VICARE_CUBIC_METER: UnitOfVolume.CUBIC_METERS, VICARE_KW: UnitOfPower.KILO_WATT, VICARE_KWH: UnitOfEnergy.KILO_WATT_HOUR, @@ -1195,6 +1199,84 @@ COMPRESSOR_SENSORS: tuple[ViCareSensorEntityDescription, ...] = ( value_getter=lambda api: normalize_state(api.getPhase()), entity_category=EntityCategory.DIAGNOSTIC, ), + ViCareSensorEntityDescription( + key="compressor_inlet_temperature", + translation_key="compressor_inlet_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getCompressorInletTemperature(), + unit_getter=lambda api: api.getCompressorInletTemperatureUnit(), + entity_registry_enabled_default=False, + ), + ViCareSensorEntityDescription( + key="compressor_outlet_temperature", + translation_key="compressor_outlet_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getCompressorOutletTemperature(), + unit_getter=lambda api: api.getCompressorOutletTemperatureUnit(), + entity_registry_enabled_default=False, + ), + ViCareSensorEntityDescription( + key="compressor_inlet_pressure", + translation_key="compressor_inlet_pressure", + device_class=SensorDeviceClass.PRESSURE, + native_unit_of_measurement=UnitOfPressure.BAR, + value_getter=lambda api: api.getCompressorInletPressure(), + unit_getter=lambda api: api.getCompressorInletPressureUnit(), + entity_registry_enabled_default=False, + ), + ViCareSensorEntityDescription( + key="compressor_outlet_pressure", + translation_key="compressor_outlet_pressure", + device_class=SensorDeviceClass.PRESSURE, + native_unit_of_measurement=UnitOfPressure.BAR, + value_getter=lambda api: api.getCompressorOutletPressure(), + unit_getter=lambda api: api.getCompressorOutletPressureUnit(), + entity_registry_enabled_default=False, + ), +) + +CONDENSOR_SENSORS: tuple[ViCareSensorEntityDescription, ...] = ( + ViCareSensorEntityDescription( + key="condensor_liquid_temperature", + translation_key="condensor_liquid_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getCondensorLiquidTemperature(), + unit_getter=lambda api: api.getCondensorLiquidTemperatureUnit(), + entity_registry_enabled_default=False, + ), + ViCareSensorEntityDescription( + key="condensor_subcooling_temperature", + translation_key="condensor_subcooling_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getCondensorSubcoolingTemperature(), + unit_getter=lambda api: api.getCondensorSubcoolingTemperatureUnit(), + entity_registry_enabled_default=False, + ), +) + +EVAPORATOR_SENSORS: tuple[ViCareSensorEntityDescription, ...] = ( + ViCareSensorEntityDescription( + key="evaporator_overheat_temperature", + translation_key="evaporator_overheat_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getEvaporatorOverheatTemperature(), + unit_getter=lambda api: api.getEvaporatorOverheatTemperatureUnit(), + entity_registry_enabled_default=False, + ), + ViCareSensorEntityDescription( + key="evaporator_liquid_temperature", + translation_key="evaporator_liquid_temperature", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + value_getter=lambda api: api.getEvaporatorLiquidTemperature(), + unit_getter=lambda api: api.getEvaporatorLiquidTemperatureUnit(), + entity_registry_enabled_default=False, + ), ) @@ -1221,6 +1303,8 @@ def _build_entities( (get_circuits(device.api), CIRCUIT_SENSORS), (get_burners(device.api), BURNER_SENSORS), (get_compressors(device.api), COMPRESSOR_SENSORS), + (get_condensors(device.api), CONDENSOR_SENSORS), + (get_evaporators(device.api), EVAPORATOR_SENSORS), ): entities.extend( ViCareSensor( diff --git a/homeassistant/components/vicare/strings.json b/homeassistant/components/vicare/strings.json index eedd560da49..b6fc1800109 100644 --- a/homeassistant/components/vicare/strings.json +++ b/homeassistant/components/vicare/strings.json @@ -215,6 +215,18 @@ "compressor_hours_loadclass5": { "name": "Compressor hours load class 5" }, + "compressor_inlet_pressure": { + "name": "Compressor inlet pressure" + }, + "compressor_inlet_temperature": { + "name": "Compressor inlet temperature" + }, + "compressor_outlet_pressure": { + "name": "Compressor outlet pressure" + }, + "compressor_outlet_temperature": { + "name": "Compressor outlet temperature" + }, "compressor_phase": { "name": "Compressor phase", "state": { @@ -232,6 +244,12 @@ "compressor_starts": { "name": "Compressor starts" }, + "condensor_liquid_temperature": { + "name": "Condensor liquid temperature" + }, + "condensor_subcooling_temperature": { + "name": "Condensor subcooling temperature" + }, "dhw_storage_bottom_temperature": { "name": "DHW storage bottom temperature" }, @@ -306,6 +324,12 @@ "standby": "[%key:common::state::standby%]" } }, + "evaporator_liquid_temperature": { + "name": "Evaporator liquid temperature" + }, + "evaporator_overheat_temperature": { + "name": "Evaporator overheat temperature" + }, "filter_hours": { "name": "Filter hours" }, diff --git a/homeassistant/components/vicare/utils.py b/homeassistant/components/vicare/utils.py index 4d831cf625a..f8d8b7b3c2e 100644 --- a/homeassistant/components/vicare/utils.py +++ b/homeassistant/components/vicare/utils.py @@ -130,6 +130,28 @@ def get_compressors(device: PyViCareDevice) -> list[PyViCareHeatingDeviceCompone return [] +def get_condensors(device: PyViCareDevice) -> list[PyViCareHeatingDeviceComponent]: + """Return the list of condensors.""" + try: + return device.condensors + except PyViCareNotSupportedFeatureError: + _LOGGER.debug("No condensors found") + except AttributeError as error: + _LOGGER.debug("No condensors found: %s", error) + return [] + + +def get_evaporators(device: PyViCareDevice) -> list[PyViCareHeatingDeviceComponent]: + """Return the list of evaporators.""" + try: + return device.evaporators + except PyViCareNotSupportedFeatureError: + _LOGGER.debug("No evaporators found") + except AttributeError as error: + _LOGGER.debug("No evaporators found: %s", error) + return [] + + def filter_state(state: str) -> str | None: """Return the state if not 'nothing' or 'unknown'.""" return None if state in ("nothing", "unknown") else state diff --git a/tests/components/vicare/fixtures/Vitocal222G_Vitovent300W.json b/tests/components/vicare/fixtures/Vitocal222G_Vitovent300W.json index a733d33a12a..48d16093cf2 100644 --- a/tests/components/vicare/fixtures/Vitocal222G_Vitovent300W.json +++ b/tests/components/vicare/fixtures/Vitocal222G_Vitovent300W.json @@ -4,18 +4,77 @@ "apiVersion": 1, "commands": {}, "deviceId": "0", - "feature": "device.messages.errors.raw", + "feature": "device.messages.errors.counter.d6", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 0 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/device.messages.errors.counter.d6" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "device.messages.logbook", "gatewayId": "################", "isEnabled": true, "isReady": true, "properties": { "entries": { "type": "array", - "value": [] + "value": [ + { + "actor": "SEK_PUMPE1", + "additionalInfo": 120, + "event": "Inverter_CPU_error", + "stateMachine": "TPM_SC2", + "status": 0, + "timestamp": "2025-11-05T07:53:50.000Z" + }, + { + "actor": "SEK_PUMPE1", + "additionalInfo": 117, + "event": "Evap_SuctGas_T emp", + "stateMachine": "TPM_SC2", + "status": 100, + "timestamp": "2025-11-05T07:51:54.000Z" + }, + { + "actor": "VERDICHTER1", + "additionalInfo": 600, + "event": "Inverter_Under_voltage", + "stateMachine": "WAERMEPUMPE1", + "status": 0, + "timestamp": "2025-11-05T07:51:51.000Z" + }, + { + "actor": "E_HEIZ_ST1", + "additionalInfo": 0, + "circuit": "Heizkreis", + "event": "Liquid_Line_Temp", + "status": 0, + "timestamp": "2025-11-05T07:51:41.000Z" + }, + { + "actor": "E_HEIZ_ST1", + "additionalInfo": 100, + "circuit": "Heizkreis", + "event": "Liquid_Line_Temp", + "status": 3, + "timestamp": "2025-11-05T07:41:16.000Z" + } + ] } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/device.messages.errors.raw" + "timestamp": "2025-11-05T06:55:22.268Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/device.messages.logbook" }, { "apiVersion": 1, @@ -31,8 +90,8 @@ "value": "################" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/device.serial" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/device.serial" }, { "apiVersion": 1, @@ -48,8 +107,8 @@ "value": "notConnected" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.boiler.sensors.temperature.commonSupply" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.boiler.sensors.temperature.commonSupply" }, { "apiVersion": 1, @@ -65,8 +124,8 @@ "value": "################" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.boiler.serial" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.boiler.serial" }, { "apiVersion": 1, @@ -83,11 +142,16 @@ "properties": { "status": { "type": "string", - "value": "notConnected" + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 41.2 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.buffer.sensors.temperature.main" + "timestamp": "2025-11-05T07:15:16.532Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.buffer.sensors.temperature.main" }, { "apiVersion": 1, @@ -104,11 +168,16 @@ "properties": { "status": { "type": "string", - "value": "notConnected" + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 41.2 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.buffer.sensors.temperature.top" + "timestamp": "2025-11-05T07:15:16.532Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.buffer.sensors.temperature.top" }, { "apiVersion": 1, @@ -121,11 +190,16 @@ "properties": { "status": { "type": "string", - "value": "notConnected" + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 41.2 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.bufferCylinder.sensors.temperature.main" + "timestamp": "2025-11-05T07:15:16.532Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.bufferCylinder.sensors.temperature.main" }, { "apiVersion": 1, @@ -138,11 +212,16 @@ "properties": { "status": { "type": "string", - "value": "notConnected" + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 41.2 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.bufferCylinder.sensors.temperature.top" + "timestamp": "2025-11-05T07:15:16.532Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.bufferCylinder.sensors.temperature.top" }, { "apiVersion": 1, @@ -155,11 +234,52 @@ "properties": { "enabled": { "type": "array", - "value": ["0"] + "value": ["0", "1"] } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits" + }, + { + "apiVersion": 1, + "commands": { + "setName": { + "isExecutable": true, + "name": "setName", + "params": { + "name": { + "constraints": { + "maxLength": 20, + "minLength": 1 + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0/commands/setName" + } + }, + "deviceId": "0", + "feature": "heating.circuits.0", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": true + }, + "name": { + "type": "string", + "value": "Heizkreis Lüftung" + }, + "type": { + "type": "string", + "value": "heatingCircuit" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0" }, { "apiVersion": 1, @@ -172,35 +292,11 @@ "properties": { "status": { "type": "string", - "value": "on" + "value": "off" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.circulation.pump" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.circulation.pump", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.circulation.pump" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.circulation.pump", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.circulation.pump" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.circulation.pump" }, { "apiVersion": 1, @@ -213,35 +309,11 @@ "properties": { "status": { "type": "string", - "value": "on" + "value": "off" } }, - "timestamp": "2025-02-11T20:58:18.395Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.frostprotection" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.frostprotection", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.frostprotection" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.frostprotection", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.frostprotection" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.frostprotection" }, { "apiVersion": 1, @@ -269,7 +341,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.curve/commands/setCurve" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.curve/commands/setCurve" } }, "deviceId": "0", @@ -286,44 +358,20 @@ "slope": { "type": "number", "unit": "", - "value": 0.4 + "value": 0.2 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.curve" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.heating.curve", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.curve" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.heating.curve", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.heating.curve" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.curve" }, { "apiVersion": 1, "commands": { "resetSchedule": { - "isExecutable": false, + "isExecutable": true, "name": "resetSchedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule/commands/resetSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule/commands/resetSchedule" }, "setSchedule": { "isExecutable": true, @@ -341,7 +389,7 @@ "type": "Schedule" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule/commands/setSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule/commands/setSchedule" } }, "deviceId": "0", @@ -357,91 +405,52 @@ "entries": { "type": "Schedule", "value": { - "fri": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "mon": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "sat": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "sun": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "thu": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "tue": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ], - "wed": [ - { - "end": "24:00", - "mode": "normal", - "position": 0, - "start": "00:00" - } - ] + "fri": [], + "mon": [], + "sat": [], + "sun": [], + "thu": [], + "tue": [], + "wed": [] } } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.heating.schedule" }, { "apiVersion": 1, - "commands": {}, + "commands": { + "setName": { + "isExecutable": true, + "name": "setName", + "params": { + "name": { + "constraints": { + "maxLength": 20, + "minLength": 1 + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.name/commands/setName" + } + }, + "components": [], "deviceId": "0", - "feature": "heating.circuits.1.heating.schedule", + "feature": "heating.circuits.0.name", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.schedule" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.heating.schedule", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.heating.schedule" + "properties": { + "name": { + "type": "string", + "value": "Heizkreis Lüftung" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.name" }, { "apiVersion": 1, @@ -458,7 +467,7 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active/commands/setMode" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active/commands/setMode" } }, "deviceId": "0", @@ -472,32 +481,8 @@ "value": "dhwAndHeating" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.active", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.active" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.active", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.active" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active" }, { "apiVersion": 1, @@ -508,32 +493,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.cooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.cooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.cooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.cooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.cooling" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.cooling" }, { "apiVersion": 1, @@ -549,32 +510,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhw" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.dhw", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhw" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.dhw", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhw" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhw" }, { "apiVersion": 1, @@ -590,32 +527,8 @@ "value": true } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeating" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.dhwAndHeating", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeating" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.dhwAndHeating", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeating" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeating" }, { "apiVersion": 1, @@ -626,32 +539,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeatingCooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.dhwAndHeatingCooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeatingCooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.dhwAndHeatingCooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeatingCooling" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeatingCooling" }, { "apiVersion": 1, @@ -667,32 +556,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.forcedNormal" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.forcedNormal", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.forcedNormal" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.forcedNormal", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.forcedNormal" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.forcedNormal" }, { "apiVersion": 1, @@ -708,32 +573,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.forcedReduced" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.forcedReduced", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.forcedReduced" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.forcedReduced", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.forcedReduced" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.forcedReduced" }, { "apiVersion": 1, @@ -744,32 +585,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.heating" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.heating", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.heating" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.heating", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.heating" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.heating" }, { "apiVersion": 1, @@ -780,32 +597,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.heatingCooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.heatingCooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.heatingCooling" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.heatingCooling", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.heatingCooling" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.heatingCooling" }, { "apiVersion": 1, @@ -821,32 +614,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.normalStandby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.normalStandby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.normalStandby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.normalStandby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.normalStandby" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.normalStandby" }, { "apiVersion": 1, @@ -862,32 +631,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.standby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.modes.standby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.standby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.modes.standby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.standby" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.standby" }, { "apiVersion": 1, @@ -900,35 +645,11 @@ "properties": { "value": { "type": "string", - "value": "normal" + "value": "standby" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.active" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.active", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.active" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.active", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.active" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.active" }, { "apiVersion": 1, @@ -947,13 +668,13 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/activate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/activate" }, "deactivate": { "isExecutable": true, "name": "deactivate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/deactivate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/deactivate" }, "setTemperature": { "isExecutable": true, @@ -969,7 +690,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/setTemperature" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/setTemperature" } }, "deviceId": "0", @@ -989,50 +710,26 @@ "temperature": { "type": "number", "unit": "celsius", - "value": 20 + "value": 21 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.comfort", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.comfort" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.comfort", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.comfort" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.comfort" }, { "apiVersion": 1, "commands": { "activate": { - "isExecutable": true, + "isExecutable": false, "name": "activate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco/commands/activate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco/commands/activate" }, "deactivate": { "isExecutable": true, "name": "deactivate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco/commands/deactivate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco/commands/deactivate" } }, "deviceId": "0", @@ -1048,35 +745,11 @@ "temperature": { "type": "number", "unit": "celsius", - "value": 22 + "value": 21 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.eco", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.eco" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.eco", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.eco" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.eco" }, { "apiVersion": 1, @@ -1092,32 +765,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.fixed" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.fixed", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.fixed" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.fixed", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.fixed" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.fixed" }, { "apiVersion": 1, @@ -1136,7 +785,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.normal/commands/setTemperature" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.normal/commands/setTemperature" } }, "deviceId": "0", @@ -1147,7 +796,7 @@ "properties": { "active": { "type": "boolean", - "value": true + "value": false }, "demand": { "type": "string", @@ -1156,35 +805,11 @@ "temperature": { "type": "number", "unit": "celsius", - "value": 22 + "value": 21 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.normal" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.normal", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.normal" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.normal", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.normal" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.normal" }, { "apiVersion": 1, @@ -1203,7 +828,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.reduced/commands/setTemperature" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.reduced/commands/setTemperature" } }, "deviceId": "0", @@ -1223,35 +848,28 @@ "temperature": { "type": "number", "unit": "celsius", - "value": 20 + "value": 18 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.reduced" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.reduced" }, { "apiVersion": 1, "commands": {}, "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.reduced", + "feature": "heating.circuits.0.operating.programs.screedDrying.heatpump", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.reduced" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.reduced", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.reduced" + "properties": { + "useApproved": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.screedDrying.heatpump" }, { "apiVersion": 1, @@ -1264,35 +882,11 @@ "properties": { "active": { "type": "boolean", - "value": false + "value": true } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.standby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.operating.programs.standby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.standby" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.operating.programs.standby", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.standby" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.programs.standby" }, { "apiVersion": 1, @@ -1300,35 +894,21 @@ "deviceId": "0", "feature": "heating.circuits.0.sensors.temperature.room", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.sensors.temperature.room" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.sensors.temperature.room", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.sensors.temperature.room" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.sensors.temperature.room", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.sensors.temperature.room" + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 21.4 + } + }, + "timestamp": "2025-11-05T05:23:20.999Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.sensors.temperature.room" }, { "apiVersion": 1, @@ -1341,40 +921,11 @@ "properties": { "status": { "type": "string", - "value": "connected" - }, - "value": { - "type": "number", - "unit": "celsius", - "value": 26.3 + "value": "notConnected" } }, - "timestamp": "2025-02-11T20:49:01.456Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.sensors.temperature.supply" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.sensors.temperature.supply", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.sensors.temperature.supply" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.sensors.temperature.supply", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.sensors.temperature.supply" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.sensors.temperature.supply" }, { "apiVersion": 1, @@ -1388,35 +939,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 33.2 + "value": 0 } }, - "timestamp": "2025-02-11T19:48:05.380Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.temperature", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.temperature", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.temperature" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature" }, { "apiVersion": 1, @@ -1444,7 +971,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setLevels" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setLevels" }, "setMax": { "isExecutable": true, @@ -1460,7 +987,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setMax" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setMax" }, "setMin": { "isExecutable": true, @@ -1476,7 +1003,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setMin" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels/commands/setMin" } }, "deviceId": "0", @@ -1488,40 +1015,16 @@ "max": { "type": "number", "unit": "celsius", - "value": 44 + "value": 40 }, "min": { "type": "number", "unit": "celsius", - "value": 15 + "value": 10 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.1.temperature.levels", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature.levels" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.circuits.2.temperature.levels", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.temperature.levels" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.temperature.levels" }, { "apiVersion": 1, @@ -1539,11 +1042,11 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0/commands/setName" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1/commands/setName" } }, "deviceId": "0", - "feature": "heating.circuits.0", + "feature": "heating.circuits.1", "gatewayId": "################", "isEnabled": true, "isReady": true, @@ -1554,27 +1057,814 @@ }, "name": { "type": "string", - "value": "" + "value": "Heizkreis Heizung" }, "type": { "type": "string", "value": "heatingCircuit" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1" }, { "apiVersion": 1, "commands": {}, "deviceId": "0", - "feature": "heating.circuits.1", + "feature": "heating.circuits.1.circulation.pump", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "off" + } + }, + "timestamp": "2025-11-05T07:37:30.635Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.circulation.pump" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.frostprotection", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "off" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.frostprotection" + }, + { + "apiVersion": 1, + "commands": { + "setCurve": { + "isExecutable": true, + "name": "setCurve", + "params": { + "shift": { + "constraints": { + "max": 40, + "min": -15, + "stepping": 1 + }, + "required": true, + "type": "number" + }, + "slope": { + "constraints": { + "max": 3.5, + "min": 0, + "stepping": 0.1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.curve/commands/setCurve" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.heating.curve", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "shift": { + "type": "number", + "unit": "", + "value": 0 + }, + "slope": { + "type": "number", + "unit": "", + "value": 0.2 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.curve" + }, + { + "apiVersion": 1, + "commands": { + "resetSchedule": { + "isExecutable": true, + "name": "resetSchedule", + "params": {}, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.schedule/commands/resetSchedule" + }, + "setSchedule": { + "isExecutable": true, + "name": "setSchedule", + "params": { + "newSchedule": { + "constraints": { + "defaultMode": "standby", + "maxEntries": 8, + "modes": ["reduced", "normal", "fixed"], + "overlapAllowed": true, + "resolution": 10 + }, + "required": true, + "type": "Schedule" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.schedule/commands/setSchedule" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.heating.schedule", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": true + }, + "entries": { + "type": "Schedule", + "value": { + "fri": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "mon": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "sat": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "sun": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "thu": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "tue": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ], + "wed": [ + { + "end": "24:00", + "mode": "normal", + "position": 0, + "start": "00:00" + } + ] + } + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.heating.schedule" + }, + { + "apiVersion": 1, + "commands": { + "setName": { + "isExecutable": true, + "name": "setName", + "params": { + "name": { + "constraints": { + "maxLength": 20, + "minLength": 1 + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.name/commands/setName" + } + }, + "components": [], + "deviceId": "0", + "feature": "heating.circuits.1.name", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "name": { + "type": "string", + "value": "Heizkreis Heizung" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.name" + }, + { + "apiVersion": 1, + "commands": { + "setMode": { + "isExecutable": true, + "name": "setMode", + "params": { + "mode": { + "constraints": { + "enum": ["dhw", "dhwAndHeating", "standby"] + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.active/commands/setMode" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.active", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "string", + "value": "dhwAndHeating" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.active" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.cooling", "gatewayId": "################", "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.cooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.dhw", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhw" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.dhwAndHeating", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": true + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.dhwAndHeatingCooling", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeatingCooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.forcedNormal", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.forcedNormal" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.forcedReduced", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.forcedReduced" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.heating", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.heating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.heatingCooling", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.heatingCooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.normalStandby", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.normalStandby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.modes.standby", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.modes.standby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.active", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "string", + "value": "standby" + } + }, + "timestamp": "2025-11-05T07:37:30.635Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.active" + }, + { + "apiVersion": 1, + "commands": { + "activate": { + "isExecutable": true, + "name": "activate", + "params": { + "temperature": { + "constraints": { + "max": 30, + "min": 10, + "stepping": 1 + }, + "required": false, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.comfort/commands/activate" + }, + "deactivate": { + "isExecutable": true, + "name": "deactivate", + "params": {}, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.comfort/commands/deactivate" + }, + "setTemperature": { + "isExecutable": true, + "name": "setTemperature", + "params": { + "targetTemperature": { + "constraints": { + "max": 30, + "min": 10, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.comfort/commands/setTemperature" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.comfort", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + }, + "demand": { + "type": "string", + "value": "unknown" + }, + "temperature": { + "type": "number", + "unit": "celsius", + "value": 21 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.comfort" + }, + { + "apiVersion": 1, + "commands": { + "activate": { + "isExecutable": false, + "name": "activate", + "params": {}, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.eco/commands/activate" + }, + "deactivate": { + "isExecutable": true, + "name": "deactivate", + "params": {}, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.eco/commands/deactivate" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.eco", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + }, + "temperature": { + "type": "number", + "unit": "celsius", + "value": 22 + } + }, + "timestamp": "2025-11-05T07:37:30.635Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.eco" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.fixed", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.fixed" + }, + { + "apiVersion": 1, + "commands": { + "setTemperature": { + "isExecutable": true, + "name": "setTemperature", + "params": { + "targetTemperature": { + "constraints": { + "max": 30, + "min": 10, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.normal/commands/setTemperature" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.normal", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + }, + "demand": { + "type": "string", + "value": "unknown" + }, + "temperature": { + "type": "number", + "unit": "celsius", + "value": 22 + } + }, + "timestamp": "2025-11-05T07:37:30.635Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.normal" + }, + { + "apiVersion": 1, + "commands": { + "setTemperature": { + "isExecutable": true, + "name": "setTemperature", + "params": { + "targetTemperature": { + "constraints": { + "max": 30, + "min": 10, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.reduced/commands/setTemperature" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.reduced", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + }, + "demand": { + "type": "string", + "value": "unknown" + }, + "temperature": { + "type": "number", + "unit": "celsius", + "value": 22 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.reduced" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.screedDrying.heatpump", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "useApproved": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.screedDrying.heatpump" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.operating.programs.standby", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": true + } + }, + "timestamp": "2025-11-05T07:37:30.635Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.operating.programs.standby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.sensors.temperature.room", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 21.4 + } + }, + "timestamp": "2025-11-05T05:23:20.999Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.sensors.temperature.room" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.sensors.temperature.supply", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 34.3 + } + }, + "timestamp": "2025-11-05T07:36:47.741Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.sensors.temperature.supply" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.1.temperature", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "celsius", + "value": 0 + } + }, + "timestamp": "2025-11-05T07:37:33.709Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature" + }, + { + "apiVersion": 1, + "commands": { + "setLevels": { + "isExecutable": true, + "name": "setLevels", + "params": { + "maxTemperature": { + "constraints": { + "max": 70, + "min": 10, + "stepping": 1 + }, + "required": true, + "type": "number" + }, + "minTemperature": { + "constraints": { + "max": 30, + "min": 1, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature.levels/commands/setLevels" + }, + "setMax": { + "isExecutable": true, + "name": "setMax", + "params": { + "temperature": { + "constraints": { + "max": 70, + "min": 10, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature.levels/commands/setMax" + }, + "setMin": { + "isExecutable": true, + "name": "setMin", + "params": { + "temperature": { + "constraints": { + "max": 30, + "min": 1, + "stepping": 1 + }, + "required": true, + "type": "number" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature.levels/commands/setMin" + } + }, + "deviceId": "0", + "feature": "heating.circuits.1.temperature.levels", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "max": { + "type": "number", + "unit": "celsius", + "value": 40 + }, + "min": { + "type": "number", + "unit": "celsius", + "value": 12 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.temperature.levels" }, { "apiVersion": 1, @@ -1585,8 +1875,345 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.circulation.pump", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.circulation.pump" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.frostprotection", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.frostprotection" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.heating.curve", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.heating.curve" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.heating.schedule", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.heating.schedule" + }, + { + "apiVersion": 1, + "commands": {}, + "components": [], + "deviceId": "0", + "feature": "heating.circuits.2.name", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2024-01-18T15:47:01.598Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.name" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.active", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.active" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.cooling", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.cooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.dhw", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhw" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.dhwAndHeating", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.dhwAndHeatingCooling", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeatingCooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.forcedNormal", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.forcedNormal" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.forcedReduced", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.forcedReduced" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.heating", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.heating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.heatingCooling", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.heatingCooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.normalStandby", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.normalStandby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.modes.standby", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.modes.standby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.active", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.active" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.comfort", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.comfort" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.eco", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.eco" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.fixed", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.fixed" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.normal", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.normal" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.reduced", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.reduced" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.screedDrying.heatpump", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.screedDrying.heatpump" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.operating.programs.standby", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.operating.programs.standby" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.sensors.temperature.room", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.sensors.temperature.room" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.sensors.temperature.supply", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.sensors.temperature.supply" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.temperature", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.temperature" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.circuits.2.temperature.levels", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.temperature.levels" }, { "apiVersion": 1, @@ -1602,47 +2229,48 @@ "value": ["0"] } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.compressors" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors" }, { "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.compressors.0.statistics", - "gatewayId": "################", - "isEnabled": true, - "isReady": true, - "properties": { - "hours": { - "type": "number", - "unit": "hour", - "value": 4332.4 + "commands": { + "setActive": { + "isExecutable": false, + "name": "setActive", + "params": { + "active": { + "constraints": {}, + "required": true, + "type": "boolean" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0/commands/setActive" }, - "starts": { - "type": "number", - "unit": "", - "value": 21314 + "setPhase": { + "isExecutable": false, + "name": "setPhase", + "params": { + "value": { + "constraints": { + "enum": [ + "preparing", + "heating", + "pause", + "cooling", + "preparing-defrost", + "defrost", + "passive-defrost", + "off" + ] + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0/commands/setPhase" } }, - "timestamp": "2025-02-11T20:34:55.482Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.statistics" - }, - { - "apiVersion": 1, - "commands": {}, - "deviceId": "0", - "feature": "heating.compressors.1.statistics", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1.statistics" - }, - { - "apiVersion": 1, - "commands": {}, "deviceId": "0", "feature": "heating.compressors.0", "gatewayId": "################", @@ -1658,8 +2286,387 @@ "value": "off" } }, - "timestamp": "2025-02-11T20:45:56.068Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0" + "timestamp": "2025-11-05T07:02:08.142Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.heat.production.cooling.week", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowattHour", + "value": 0 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.heat.production.cooling.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.heat.production.current", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "watt", + "value": 0 + } + }, + "timestamp": "2025-11-05T06:52:28.461Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.heat.production.current" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.heat.production.dhw.week", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowattHour", + "value": 10.7 + } + }, + "timestamp": "2025-11-05T04:34:50.188Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.heat.production.dhw.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.heat.production.heating.week", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowattHour", + "value": 36.2 + } + }, + "timestamp": "2025-11-05T06:56:17.630Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.heat.production.heating.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.heatTarget", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "string", + "value": "none" + } + }, + "timestamp": "2025-11-05T05:33:45.330Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.heatTarget" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.power", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "kilowatt", + "value": 8 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.power" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.power.consumption.cooling.week", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.power.consumption.cooling.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.power.consumption.current", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowatt", + "value": 0 + } + }, + "timestamp": "2025-11-05T06:52:37.965Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.power.consumption.current" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.power.consumption.dhw.week", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowattHour", + "value": 2.3 + } + }, + "timestamp": "2025-11-05T04:34:50.188Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.power.consumption.dhw.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.power.consumption.heating.week", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "kilowattHour", + "value": 6.3 + } + }, + "timestamp": "2025-11-05T06:56:17.630Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.power.consumption.heating.week" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.power", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "notConnected" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.power" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.pressure.inlet", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "bar", + "value": 12.9 + } + }, + "timestamp": "2025-11-05T07:30:59.743Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.pressure.inlet" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.temperature.ambient", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "notConnected" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.temperature.ambient" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.temperature.inlet", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 23.3 + } + }, + "timestamp": "2025-11-05T07:34:06.343Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.temperature.inlet" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.temperature.outlet", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 31.8 + } + }, + "timestamp": "2025-11-05T07:34:06.343Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.temperature.outlet" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.sensors.temperature.overheat", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "notConnected" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.sensors.temperature.overheat" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.statistics", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "hours": { + "type": "number", + "unit": "hour", + "value": 2394.4 + }, + "starts": { + "type": "number", + "unit": "", + "value": 5067 + } + }, + "timestamp": "2025-11-05T06:49:02.935Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.statistics" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.0.statistics.load", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "hoursLoadClassFive": { + "type": "number", + "unit": "hour", + "value": 43 + }, + "hoursLoadClassFour": { + "type": "number", + "unit": "hour", + "value": 408 + }, + "hoursLoadClassOne": { + "type": "number", + "unit": "hour", + "value": 105 + }, + "hoursLoadClassThree": { + "type": "number", + "unit": "hour", + "value": 1305 + }, + "hoursLoadClassTwo": { + "type": "number", + "unit": "hour", + "value": 455 + } + }, + "timestamp": "2025-11-05T03:02:24.731Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.0.statistics.load" }, { "apiVersion": 1, @@ -1670,8 +2677,240 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.1.heat.production.current", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1.heat.production.current" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.1.power.consumption.current", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1.power.consumption.current" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.1.statistics", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1.statistics" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.compressors.1.statistics.load", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.compressors.1.statistics.load" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.condensors.0.sensors.temperature.subcooling", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": -2.8 + } + }, + "timestamp": "2025-11-05T07:34:54.257Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.condensors.0.sensors.temperature.subcooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.buffer.temperature.max", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "celsius", + "value": 40 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.buffer.temperature.max" + }, + { + "apiVersion": 1, + "commands": {}, + "deprecated": { + "info": "replaced by heating.dhw.configuration.temperature.dhwCylinder.max", + "removalDate": "2024-09-15" + }, + "deviceId": "0", + "feature": "heating.configuration.dhw.temperature.dhwCylinder.max", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.dhw.temperature.dhwCylinder.max" + }, + { + "apiVersion": 1, + "commands": {}, + "deprecated": { + "info": "replaced by heating.configuration.dhw.temperature.dhwCylinder.max", + "removalDate": "2024-09-15" + }, + "deviceId": "0", + "feature": "heating.configuration.dhw.temperature.hotWaterStorage.max", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.dhw.temperature.hotWaterStorage.max" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.dhwHeater", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.dhwHeater" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.flow.temperature.max", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "celsius", + "value": 40 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.flow.temperature.max" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.flow.temperature.min", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "celsius", + "value": 12 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.flow.temperature.min" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.heatingRod.dhw", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "useApproved": { + "type": "boolean", + "value": true + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.heatingRod.dhw" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.heatingRod.heating", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "useApproved": { + "type": "boolean", + "value": true + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.heatingRod.heating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.smartGrid.heatingRod", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.smartGrid.heatingRod" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.configuration.temperature.outside.DampingFactor", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "minute", + "value": 180 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.configuration.temperature.outside.DampingFactor" }, { "apiVersion": 1, @@ -1687,8 +2926,177 @@ "value": "################" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.controller.serial" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.controller.serial" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.coolingCircuits.0.reverse", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.coolingCircuits.0.reverse" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.coolingCircuits.0.type", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "string", + "value": "3xx-G Release 2014" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.coolingCircuits.0.type" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.cop.cooling", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 0 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.cop.cooling" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.cop.dhw", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 4.8 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.cop.dhw" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.cop.green", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 0 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.cop.green" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.cop.heating", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 5.4 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.cop.heating" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.cop.total", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "number", + "unit": "", + "value": 5.3 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.cop.total" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.device.mainECU", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "runtime": { + "type": "number", + "unit": "seconds", + "value": 101261244 + } + }, + "timestamp": "2025-11-05T07:37:19.435Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.device.mainECU" + }, + { + "apiVersion": 1, + "commands": { + "setTime": { + "isExecutable": true, + "name": "setTime", + "params": { + "value": { + "constraints": { + "regEx": "^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])$" + }, + "required": true, + "type": "string" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.device.time/commands/setTime" + } + }, + "deviceId": "0", + "feature": "heating.device.time", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T07:20:48.714Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.device.time" }, { "apiVersion": 1, @@ -1708,8 +3116,8 @@ "value": "on" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw" }, { "apiVersion": 1, @@ -1725,8 +3133,20 @@ "value": false } }, - "timestamp": "2025-02-11T19:42:36.300Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.charging" + "timestamp": "2025-11-05T04:30:06.991Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.charging" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.dhw.configuration.temperature.dhwCylinder.max", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.configuration.temperature.dhwCylinder.max" }, { "apiVersion": 1, @@ -1735,13 +3155,25 @@ "isExecutable": true, "name": "activate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge/commands/activate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge/commands/activate" }, "deactivate": { "isExecutable": true, "name": "deactivate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge/commands/deactivate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge/commands/deactivate" + }, + "setActive": { + "isExecutable": true, + "name": "setActive", + "params": { + "active": { + "constraints": {}, + "required": true, + "type": "boolean" + } + }, + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge/commands/setActive" } }, "deviceId": "0", @@ -1755,8 +3187,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.oneTimeCharge" }, { "apiVersion": 1, @@ -1769,20 +3201,20 @@ "properties": { "status": { "type": "string", - "value": "on" + "value": "off" } }, - "timestamp": "2025-02-11T19:42:36.300Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation" + "timestamp": "2025-11-05T07:00:06.069Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation" }, { "apiVersion": 1, "commands": { "resetSchedule": { - "isExecutable": false, + "isExecutable": true, "name": "resetSchedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/resetSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/resetSchedule" }, "setSchedule": { "isExecutable": true, @@ -1800,7 +3232,7 @@ "type": "Schedule" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/setSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/setSchedule" } }, "deviceId": "0", @@ -1818,65 +3250,107 @@ "value": { "fri": [ { - "end": "22:00", - "mode": "on", + "end": "08:00", + "mode": "5/25-cycles", "position": 0, - "start": "06:50" + "start": "06:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "mon": [ { - "end": "22:00", - "mode": "on", + "end": "08:00", + "mode": "5/25-cycles", "position": 0, - "start": "06:50" + "start": "06:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "sat": [ { - "end": "22:00", - "mode": "on", + "end": "09:00", + "mode": "5/25-cycles", "position": 0, - "start": "07:30" + "start": "07:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "sun": [ { - "end": "22:00", - "mode": "on", + "end": "09:00", + "mode": "5/25-cycles", "position": 0, - "start": "07:30" + "start": "07:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "thu": [ { - "end": "22:00", - "mode": "on", + "end": "08:00", + "mode": "5/25-cycles", "position": 0, - "start": "06:50" + "start": "06:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "tue": [ { - "end": "22:00", - "mode": "on", + "end": "08:00", + "mode": "5/25-cycles", "position": 0, - "start": "06:50" + "start": "06:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ], "wed": [ { - "end": "22:00", - "mode": "on", + "end": "08:00", + "mode": "5/25-cycles", "position": 0, - "start": "06:50" + "start": "06:00" + }, + { + "end": "20:00", + "mode": "5/25-cycles", + "position": 1, + "start": "18:00" } ] } } }, - "timestamp": "2025-02-11T17:50:12.565Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.circulation.schedule" }, { "apiVersion": 1, @@ -1887,17 +3361,17 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.primary" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.pumps.primary" }, { "apiVersion": 1, "commands": { "resetSchedule": { - "isExecutable": false, + "isExecutable": true, "name": "resetSchedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule/commands/resetSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule/commands/resetSchedule" }, "setSchedule": { "isExecutable": true, @@ -1915,7 +3389,7 @@ "type": "Schedule" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule/commands/setSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule/commands/setSchedule" } }, "deviceId": "0", @@ -1936,7 +3410,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "mon": [ @@ -1944,7 +3418,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "sat": [ @@ -1952,7 +3426,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "sun": [ @@ -1960,7 +3434,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "thu": [ @@ -1968,7 +3442,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "tue": [ @@ -1976,7 +3450,7 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ], "wed": [ @@ -1984,14 +3458,14 @@ "end": "22:00", "mode": "normal", "position": 0, - "start": "06:00" + "start": "05:30" } ] } } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.schedule" }, { "apiVersion": 1, @@ -2009,11 +3483,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 47.9 + "value": 45.1 } }, - "timestamp": "2025-02-11T20:39:18.305Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder" + "timestamp": "2025-11-05T07:24:39.759Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder" }, { "apiVersion": 1, @@ -2029,8 +3503,8 @@ "value": "notConnected" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder.bottom" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder.bottom" }, { "apiVersion": 1, @@ -2048,11 +3522,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 47.9 + "value": 45.1 } }, - "timestamp": "2025-02-11T20:39:18.305Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder.top" + "timestamp": "2025-11-05T07:24:39.759Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.dhwCylinder.top" }, { "apiVersion": 1, @@ -2074,11 +3548,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 47.9 + "value": 45.1 } }, - "timestamp": "2025-02-11T20:39:18.305Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage" + "timestamp": "2025-11-05T07:24:39.759Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage" }, { "apiVersion": 1, @@ -2098,8 +3572,8 @@ "value": "notConnected" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.bottom" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.bottom" }, { "apiVersion": 1, @@ -2121,11 +3595,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 47.9 + "value": 45.1 } }, - "timestamp": "2025-02-11T20:39:18.305Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.top" + "timestamp": "2025-11-05T07:24:39.759Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.top" }, { "apiVersion": 1, @@ -2141,8 +3615,8 @@ "value": "notConnected" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.outlet" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.outlet" }, { "apiVersion": 1, @@ -2161,7 +3635,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresis" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresis" }, "setHysteresisSwitchOffValue": { "isExecutable": false, @@ -2177,7 +3651,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOffValue" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOffValue" }, "setHysteresisSwitchOnValue": { "isExecutable": true, @@ -2193,7 +3667,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOnValue" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOnValue" } }, "deviceId": "0", @@ -2218,8 +3692,8 @@ "value": 5 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.hysteresis" }, { "apiVersion": 1, @@ -2240,7 +3714,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.main/commands/setTargetTemperature" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.main/commands/setTargetTemperature" } }, "deviceId": "0", @@ -2252,11 +3726,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 50 + "value": 45 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.main" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.main" }, { "apiVersion": 1, @@ -2275,7 +3749,7 @@ "type": "number" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.temp2/commands/setTargetTemperature" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.temp2/commands/setTargetTemperature" } }, "deviceId": "0", @@ -2287,11 +3761,124 @@ "value": { "type": "number", "unit": "celsius", - "value": 60 + "value": 45 } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.temp2" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.dhw.temperature.temp2" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.evaporators.0.sensors.temperature.liquid", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 18.2 + } + }, + "timestamp": "2025-11-05T07:34:50.587Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.evaporators.0.sensors.temperature.liquid" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.evaporators.0.sensors.temperature.overheat", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 0 + } + }, + "timestamp": "2025-11-05T06:52:41.702Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.evaporators.0.sensors.temperature.overheat" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.heatingRod.heatTarget", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "value": { + "type": "string", + "value": "none" + } + }, + "timestamp": "2025-11-05T06:52:29.129Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.heatingRod.heatTarget" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.heatingRod.runtime", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "levelOne": { + "type": "number", + "unit": "seconds", + "value": 815476 + }, + "levelTwo": { + "type": "number", + "unit": "seconds", + "value": 614313 + } + }, + "timestamp": "2025-11-05T06:53:58.597Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.heatingRod.runtime" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.heatingRod.status", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "level1": { + "type": "boolean", + "value": false + }, + "level2": { + "type": "boolean", + "value": false + }, + "level3": { + "type": "boolean", + "value": false + }, + "overall": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T06:52:21.601Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.heatingRod.status" }, { "apiVersion": 1, @@ -2309,7 +3896,7 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/changeEndDate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/changeEndDate" }, "schedule": { "isExecutable": true, @@ -2331,13 +3918,13 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/schedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/schedule" }, "unschedule": { "isExecutable": true, "name": "unschedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/unschedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday/commands/unschedule" } }, "deviceId": "0", @@ -2359,8 +3946,30 @@ "value": "" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.operating.programs.holiday" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.primaryCircuit.sensors.rotation", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "percent", + "value": 0 + } + }, + "timestamp": "2025-11-05T06:52:25.762Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.primaryCircuit.sensors.rotation" }, { "apiVersion": 1, @@ -2378,11 +3987,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 6.9 + "value": 15.5 } }, - "timestamp": "2025-02-11T20:58:31.054Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.primaryCircuit.sensors.temperature.return" + "timestamp": "2025-11-05T07:36:41.239Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.primaryCircuit.sensors.temperature.return" }, { "apiVersion": 1, @@ -2400,11 +4009,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 5.2 + "value": 14.6 } }, - "timestamp": "2025-02-11T20:48:38.307Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.primaryCircuit.sensors.temperature.supply" + "timestamp": "2025-11-05T07:32:35.014Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.primaryCircuit.sensors.temperature.supply" }, { "apiVersion": 1, @@ -2422,11 +4031,99 @@ "value": { "type": "number", "unit": "celsius", - "value": 26.9 + "value": 35.2 } }, - "timestamp": "2025-02-11T20:46:37.502Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.secondaryCircuit.sensors.temperature.supply" + "timestamp": "2025-11-05T07:36:20.795Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.secondaryCircuit.sensors.temperature.supply" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.sensors.pressure.hotGas", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "bar", + "value": 12.7 + } + }, + "timestamp": "2025-11-05T07:29:36.342Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.pressure.hotGas" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.sensors.pressure.suctionGas", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "bar", + "value": 12.9 + } + }, + "timestamp": "2025-11-05T07:30:59.743Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.pressure.suctionGas" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.sensors.temperature.hotGas", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 31.8 + } + }, + "timestamp": "2025-11-05T07:34:06.343Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.hotGas" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.sensors.temperature.liquidGas", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 18.2 + } + }, + "timestamp": "2025-11-05T07:34:50.587Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.liquidGas" }, { "apiVersion": 1, @@ -2444,11 +4141,11 @@ "value": { "type": "number", "unit": "celsius", - "value": 1.9 + "value": 6.1 } }, - "timestamp": "2025-02-11T21:00:13.154Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.outside" + "timestamp": "2025-11-05T06:23:43.575Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.outside" }, { "apiVersion": 1, @@ -2466,11 +4163,33 @@ "value": { "type": "number", "unit": "celsius", - "value": 26.5 + "value": 33.2 } }, - "timestamp": "2025-02-11T20:48:00.474Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.return" + "timestamp": "2025-11-05T07:35:16.900Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.return" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.sensors.temperature.suctionGas", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "connected" + }, + "value": { + "type": "number", + "unit": "celsius", + "value": 23.3 + } + }, + "timestamp": "2025-11-05T07:34:06.343Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.sensors.temperature.suctionGas" }, { "apiVersion": 1, @@ -2481,8 +4200,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar" }, { "apiVersion": 1, @@ -2493,8 +4212,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar.power.cumulativeProduced" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.power.cumulativeProduced" }, { "apiVersion": 1, @@ -2505,8 +4224,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar.power.production" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.power.production" }, { "apiVersion": 1, @@ -2517,8 +4236,20 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar.pumps.circuit" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.pumps.circuit" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.solar.rechargeSuppression", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.rechargeSuppression" }, { "apiVersion": 1, @@ -2529,8 +4260,8 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar.sensors.temperature.collector" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.sensors.temperature.collector" }, { "apiVersion": 1, @@ -2541,8 +4272,20 @@ "isEnabled": false, "isReady": true, "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.solar.sensors.temperature.dhw" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.sensors.temperature.dhw" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "heating.solar.statistics", + "gatewayId": "################", + "isEnabled": false, + "isReady": true, + "properties": {}, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/heating.solar.statistics" }, { "apiVersion": 1, @@ -2558,8 +4301,25 @@ "value": true } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "ventilation.heatExchanger.frostprotection", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "status": { + "type": "string", + "value": "off" + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.heatExchanger.frostprotection" }, { "apiVersion": 1, @@ -2567,11 +4327,17 @@ "deviceId": "0", "feature": "ventilation.levels.levelFour", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelFour" + "properties": { + "volumeFlow": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 257 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelFour" }, { "apiVersion": 1, @@ -2579,11 +4345,17 @@ "deviceId": "0", "feature": "ventilation.levels.levelOne", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelOne" + "properties": { + "volumeFlow": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 85 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelOne" }, { "apiVersion": 1, @@ -2591,11 +4363,17 @@ "deviceId": "0", "feature": "ventilation.levels.levelThree", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelThree" + "properties": { + "volumeFlow": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 191 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelThree" }, { "apiVersion": 1, @@ -2603,11 +4381,17 @@ "deviceId": "0", "feature": "ventilation.levels.levelTwo", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelTwo" + "properties": { + "volumeFlow": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 125 + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.levels.levelTwo" }, { "apiVersion": 1, @@ -2624,13 +4408,13 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active/commands/setMode" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active/commands/setMode" }, "setModeContinuousSensorOverride": { "isExecutable": false, "name": "setModeContinuousSensorOverride", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active/commands/setModeContinuousSensorOverride" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active/commands/setModeContinuousSensorOverride" } }, "deviceId": "0", @@ -2644,8 +4428,8 @@ "value": "ventilation" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.active" }, { "apiVersion": 1, @@ -2661,8 +4445,25 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.standard" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.standard" + }, + { + "apiVersion": 1, + "commands": {}, + "deviceId": "0", + "feature": "ventilation.operating.modes.standby", + "gatewayId": "################", + "isEnabled": true, + "isReady": true, + "properties": { + "active": { + "type": "boolean", + "value": false + } + }, + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.standby" }, { "apiVersion": 1, @@ -2678,8 +4479,8 @@ "value": true } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.ventilation" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.modes.ventilation" }, { "apiVersion": 1, @@ -2695,8 +4496,8 @@ "value": "levelThree" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.programs.active" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.programs.active" }, { "apiVersion": 1, @@ -2720,8 +4521,8 @@ "value": "schedule" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.state" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.operating.state" }, { "apiVersion": 1, @@ -2730,13 +4531,13 @@ "isExecutable": true, "name": "activate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort/commands/activate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort/commands/activate" }, "deactivate": { "isExecutable": true, "name": "deactivate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort/commands/deactivate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort/commands/deactivate" } }, "deviceId": "0", @@ -2750,8 +4551,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.comfort" }, { "apiVersion": 1, @@ -2760,13 +4561,13 @@ "isExecutable": true, "name": "activate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco/commands/activate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco/commands/activate" }, "deactivate": { "isExecutable": true, "name": "deactivate", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco/commands/deactivate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco/commands/deactivate" } }, "deviceId": "0", @@ -2780,8 +4581,8 @@ "value": false } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.eco" }, { "apiVersion": 1, @@ -2799,7 +4600,7 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/changeEndDate" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/changeEndDate" }, "schedule": { "isExecutable": true, @@ -2821,13 +4622,13 @@ "type": "string" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/schedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/schedule" }, "unschedule": { "isExecutable": true, "name": "unschedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/unschedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday/commands/unschedule" } }, "deviceId": "0", @@ -2849,17 +4650,17 @@ "value": "" } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.quickmodes.holiday" }, { "apiVersion": 1, "commands": { "resetSchedule": { - "isExecutable": false, + "isExecutable": true, "name": "resetSchedule", "params": {}, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule/commands/resetSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule/commands/resetSchedule" }, "setSchedule": { "isExecutable": true, @@ -2877,7 +4678,7 @@ "type": "Schedule" } }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule/commands/setSchedule" + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule/commands/setSchedule" } }, "deviceId": "0", @@ -2952,68 +4753,44 @@ } } }, - "timestamp": "2025-02-10T14:01:48.216Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule" + "timestamp": "2025-11-05T00:20:46.443Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.schedule" }, { "apiVersion": 1, - "commands": { - "setName": { - "isExecutable": true, - "name": "setName", - "params": { - "name": { - "constraints": { - "maxLength": 20, - "minLength": 1 - }, - "required": true, - "type": "string" - } - }, - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.name/commands/setName" - } - }, - "components": [], + "commands": {}, "deviceId": "0", - "feature": "heating.circuits.0.name", + "feature": "ventilation.volumeFlow.current.input", "gatewayId": "################", "isEnabled": true, "isReady": true, "properties": { - "name": { - "type": "string", - "value": "" + "value": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 257 } }, - "timestamp": "2025-01-12T22:36:28.706Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.0.name" + "timestamp": "2025-11-05T07:15:46.689Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.volumeFlow.current.input" }, { "apiVersion": 1, "commands": {}, - "components": [], "deviceId": "0", - "feature": "heating.circuits.1.name", + "feature": "ventilation.volumeFlow.current.output", "gatewayId": "################", - "isEnabled": false, + "isEnabled": true, "isReady": true, - "properties": {}, - "timestamp": "2024-02-02T01:29:44.670Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.1.name" - }, - { - "apiVersion": 1, - "commands": {}, - "components": [], - "deviceId": "0", - "feature": "heating.circuits.2.name", - "gatewayId": "################", - "isEnabled": false, - "isReady": true, - "properties": {}, - "timestamp": "2024-02-02T01:29:44.670Z", - "uri": "https://api.viessmann.com/iot/v1/features/installations/#######/gateways/################/devices/0/features/heating.circuits.2.name" + "properties": { + "value": { + "type": "number", + "unit": "cubicMeter/hour", + "value": 257 + } + }, + "timestamp": "2025-11-05T07:15:46.689Z", + "uri": "https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/0/features/ventilation.volumeFlow.current.output" } ] } diff --git a/tests/components/vicare/snapshots/test_sensor.ambr b/tests/components/vicare/snapshots/test_sensor.ambr index 92229ff4b2a..8a1bc268fa9 100644 --- a/tests/components/vicare/snapshots/test_sensor.ambr +++ b/tests/components/vicare/snapshots/test_sensor.ambr @@ -1171,10 +1171,62 @@ 'last_changed': , 'last_reported': , 'last_updated': , + 'state': '46', + }) +# --- +# name: test_all_entities[sensor.model11_signal_strength-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model11_signal_strength', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Signal strength', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'zigbee_signal_strength', + 'unique_id': 'gateway11_zigbee_################-zigbee_signal_strength', + 'unit_of_measurement': '%', + }) +# --- +# name: test_all_entities[sensor.model11_signal_strength-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model11 Signal strength', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.model11_signal_strength', + 'last_changed': , + 'last_reported': , + 'last_updated': , 'state': '37', }) # --- -# name: test_all_entities[sensor.model10_supply_temperature-entry] +# name: test_all_entities[sensor.model11_supply_temperature-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -1189,7 +1241,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, - 'entity_id': 'sensor.model10_supply_temperature', + 'entity_id': 'sensor.model11_supply_temperature', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -1210,20 +1262,20 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'supply_temperature', - 'unique_id': 'gateway10_zigbee_################-supply_temperature', + 'unique_id': 'gateway11_zigbee_################-supply_temperature', 'unit_of_measurement': , }) # --- -# name: test_all_entities[sensor.model10_supply_temperature-state] +# name: test_all_entities[sensor.model11_supply_temperature-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'temperature', - 'friendly_name': 'model10 Supply temperature', + 'friendly_name': 'model11 Supply temperature', 'state_class': , 'unit_of_measurement': , }), 'context': , - 'entity_id': 'sensor.model10_supply_temperature', + 'entity_id': 'sensor.model11_supply_temperature', 'last_changed': , 'last_reported': , 'last_updated': , @@ -2809,6 +2861,1199 @@ 'state': '1.015', }) # --- +# name: test_all_entities[sensor.model2_buffer_main_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_buffer_main_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Buffer main temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'buffer_main_temperature', + 'unique_id': 'gateway2_################-buffer main temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_buffer_main_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Buffer main temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_buffer_main_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '41.2', + }) +# --- +# name: test_all_entities[sensor.model2_buffer_top_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_buffer_top_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Buffer top temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'buffer_top_temperature', + 'unique_id': 'gateway2_################-buffer top temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_buffer_top_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Buffer top temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_buffer_top_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '41.2', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_hours-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model2_compressor_hours', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Compressor hours', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_hours', + 'unique_id': 'gateway2_################-compressor_hours-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_compressor_hours-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model2 Compressor hours', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_hours', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2394.4', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_inlet_pressure-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_compressor_inlet_pressure', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Compressor inlet pressure', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_inlet_pressure', + 'unique_id': 'gateway2_################-compressor_inlet_pressure-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_compressor_inlet_pressure-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'pressure', + 'friendly_name': 'model2 Compressor inlet pressure', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_inlet_pressure', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '12.9', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_inlet_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_compressor_inlet_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Compressor inlet temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_inlet_temperature', + 'unique_id': 'gateway2_################-compressor_inlet_temperature-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_compressor_inlet_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Compressor inlet temperature', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_inlet_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '23.3', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_outlet_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_compressor_outlet_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Compressor outlet temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_outlet_temperature', + 'unique_id': 'gateway2_################-compressor_outlet_temperature-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_compressor_outlet_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Compressor outlet temperature', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_outlet_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '31.8', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_phase-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model2_compressor_phase', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Compressor phase', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_phase', + 'unique_id': 'gateway2_################-compressor_phase-0', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[sensor.model2_compressor_phase-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model2 Compressor phase', + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_phase', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- +# name: test_all_entities[sensor.model2_compressor_starts-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model2_compressor_starts', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Compressor starts', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'compressor_starts', + 'unique_id': 'gateway2_################-compressor_starts-0', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[sensor.model2_compressor_starts-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model2 Compressor starts', + 'state_class': , + }), + 'context': , + 'entity_id': 'sensor.model2_compressor_starts', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '5067', + }) +# --- +# name: test_all_entities[sensor.model2_condensor_subcooling_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_condensor_subcooling_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Condensor subcooling temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'condensor_subcooling_temperature', + 'unique_id': 'gateway2_################-condensor_subcooling_temperature-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_condensor_subcooling_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Condensor subcooling temperature', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_condensor_subcooling_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '-2.8', + }) +# --- +# name: test_all_entities[sensor.model2_dhw_max_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_dhw_max_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'DHW max temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'hotwater_max_temperature', + 'unique_id': 'gateway2_################-hotwater_max_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_dhw_max_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 DHW max temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_dhw_max_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '60', + }) +# --- +# name: test_all_entities[sensor.model2_dhw_min_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_dhw_min_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'DHW min temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'hotwater_min_temperature', + 'unique_id': 'gateway2_################-hotwater_min_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_dhw_min_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 DHW min temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_dhw_min_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '10', + }) +# --- +# name: test_all_entities[sensor.model2_dhw_storage_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_dhw_storage_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'DHW storage temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'dhw_storage_temperature', + 'unique_id': 'gateway2_################-dhw_storage_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_dhw_storage_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 DHW storage temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_dhw_storage_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '45.1', + }) +# --- +# name: test_all_entities[sensor.model2_dhw_storage_top_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_dhw_storage_top_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'DHW storage top temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'dhw_storage_top_temperature', + 'unique_id': 'gateway2_################-dhw_storage_top_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_dhw_storage_top_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 DHW storage top temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_dhw_storage_top_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '45.1', + }) +# --- +# name: test_all_entities[sensor.model2_evaporator_liquid_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_evaporator_liquid_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Evaporator liquid temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'evaporator_liquid_temperature', + 'unique_id': 'gateway2_################-evaporator_liquid_temperature-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_evaporator_liquid_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Evaporator liquid temperature', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_evaporator_liquid_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '18.2', + }) +# --- +# name: test_all_entities[sensor.model2_evaporator_overheat_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_evaporator_overheat_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Evaporator overheat temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'evaporator_overheat_temperature', + 'unique_id': 'gateway2_################-evaporator_overheat_temperature-0', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_evaporator_overheat_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Evaporator overheat temperature', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_evaporator_overheat_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- +# name: test_all_entities[sensor.model2_outside_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_outside_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Outside temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'outside_temperature', + 'unique_id': 'gateway2_################-outside_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_outside_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Outside temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_outside_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '6.1', + }) +# --- +# name: test_all_entities[sensor.model2_primary_circuit_return_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_primary_circuit_return_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Primary circuit return temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'primary_circuit_return_temperature', + 'unique_id': 'gateway2_################-primary_circuit_return_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_primary_circuit_return_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Primary circuit return temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_primary_circuit_return_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '15.5', + }) +# --- +# name: test_all_entities[sensor.model2_primary_circuit_supply_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_primary_circuit_supply_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Primary circuit supply temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'primary_circuit_supply_temperature', + 'unique_id': 'gateway2_################-primary_circuit_supply_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_primary_circuit_supply_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Primary circuit supply temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_primary_circuit_supply_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '14.6', + }) +# --- +# name: test_all_entities[sensor.model2_return_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_return_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Return temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'return_temperature', + 'unique_id': 'gateway2_################-return_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_return_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Return temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_return_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '33.2', + }) +# --- +# name: test_all_entities[sensor.model2_secondary_circuit_supply_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_secondary_circuit_supply_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Secondary circuit supply temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'secondary_circuit_supply_temperature', + 'unique_id': 'gateway2_################-secondary_circuit_supply_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_secondary_circuit_supply_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Secondary circuit supply temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_secondary_circuit_supply_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '35.2', + }) +# --- +# name: test_all_entities[sensor.model2_supply_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_supply_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Supply temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'supply_temperature', + 'unique_id': 'gateway2_################-supply_temperature-1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_supply_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model2 Supply temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_supply_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '34.3', + }) +# --- +# name: test_all_entities[sensor.model2_ventilation_input_volume_flow-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_ventilation_input_volume_flow', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Ventilation input volume flow', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'ventilation_input_volumeflow', + 'unique_id': 'gateway2_################-ventilation_input_volumeflow', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_ventilation_input_volume_flow-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model2 Ventilation input volume flow', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_ventilation_input_volume_flow', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '257', + }) +# --- # name: test_all_entities[sensor.model2_ventilation_level-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -2848,7 +4093,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'ventilation_level', - 'unique_id': 'gateway2_deviceSerialViAir300F-ventilation_level', + 'unique_id': 'gateway2_################-ventilation_level', 'unit_of_measurement': None, }) # --- @@ -2870,7 +4115,59 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': 'levelone', + 'state': 'levelthree', + }) +# --- +# name: test_all_entities[sensor.model2_ventilation_output_volume_flow-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model2_ventilation_output_volume_flow', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Ventilation output volume flow', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'ventilation_output_volumeflow', + 'unique_id': 'gateway2_################-ventilation_output_volumeflow', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model2_ventilation_output_volume_flow-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model2 Ventilation output volume flow', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model2_ventilation_output_volume_flow', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '257', }) # --- # name: test_all_entities[sensor.model2_ventilation_reason-entry] @@ -2913,7 +4210,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'ventilation_reason', - 'unique_id': 'gateway2_deviceSerialViAir300F-ventilation_reason', + 'unique_id': 'gateway2_################-ventilation_reason', 'unit_of_measurement': None, }) # --- @@ -2936,588 +4233,7 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': 'permanent', - }) -# --- -# name: test_all_entities[sensor.model3_filter_hours-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model3_filter_hours', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Filter hours', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'filter_hours', - 'unique_id': 'gateway3_deviceId3-filter_hours', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model3_filter_hours-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model3 Filter hours', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model3_filter_hours', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '5795', - }) -# --- -# name: test_all_entities[sensor.model3_filter_overdue_hours-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model3_filter_overdue_hours', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Filter overdue hours', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'filter_overdue_hours', - 'unique_id': 'gateway3_deviceId3-filter_overdue_hours', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model3_filter_overdue_hours-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model3 Filter overdue hours', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model3_filter_overdue_hours', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0', - }) -# --- -# name: test_all_entities[sensor.model3_filter_remaining_hours-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model3_filter_remaining_hours', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Filter remaining hours', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'filter_remaining_hours', - 'unique_id': 'gateway3_deviceId3-filter_remaining_hours', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model3_filter_remaining_hours-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model3 Filter remaining hours', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model3_filter_remaining_hours', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '2965', - }) -# --- -# name: test_all_entities[sensor.model3_pm1-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_pm1', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'PM1', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway3_deviceId3-pm01', - 'unit_of_measurement': 'μg/m³', - }) -# --- -# name: test_all_entities[sensor.model3_pm1-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'pm1', - 'friendly_name': 'model3 PM1', - 'state_class': , - 'unit_of_measurement': 'μg/m³', - }), - 'context': , - 'entity_id': 'sensor.model3_pm1', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0.1', - }) -# --- -# name: test_all_entities[sensor.model3_pm10-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_pm10', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'PM10', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway3_deviceId3-pm10', - 'unit_of_measurement': 'μg/m³', - }) -# --- -# name: test_all_entities[sensor.model3_pm10-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'pm10', - 'friendly_name': 'model3 PM10', - 'state_class': , - 'unit_of_measurement': 'μg/m³', - }), - 'context': , - 'entity_id': 'sensor.model3_pm10', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0.5', - }) -# --- -# name: test_all_entities[sensor.model3_pm2_5-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_pm2_5', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'PM2.5', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway3_deviceId3-pm02', - 'unit_of_measurement': 'μg/m³', - }) -# --- -# name: test_all_entities[sensor.model3_pm2_5-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'pm25', - 'friendly_name': 'model3 PM2.5', - 'state_class': , - 'unit_of_measurement': 'μg/m³', - }), - 'context': , - 'entity_id': 'sensor.model3_pm2_5', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0.3', - }) -# --- -# name: test_all_entities[sensor.model3_pm4-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_pm4', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'PM4', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway3_deviceId3-pm04', - 'unit_of_measurement': 'μg/m³', - }) -# --- -# name: test_all_entities[sensor.model3_pm4-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'pm4', - 'friendly_name': 'model3 PM4', - 'state_class': , - 'unit_of_measurement': 'μg/m³', - }), - 'context': , - 'entity_id': 'sensor.model3_pm4', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0.4', - }) -# --- -# name: test_all_entities[sensor.model3_supply_fan_hours-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model3_supply_fan_hours', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Supply fan hours', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'supply_fan_hours', - 'unique_id': 'gateway3_deviceId3-supply_fan_hours', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model3_supply_fan_hours-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model3 Supply fan hours', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model3_supply_fan_hours', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '819', - }) -# --- -# name: test_all_entities[sensor.model3_supply_fan_speed-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model3_supply_fan_speed', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Supply fan speed', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'supply_fan_speed', - 'unique_id': 'gateway3_deviceId3-supply_fan_speed', - 'unit_of_measurement': 'rpm', - }) -# --- -# name: test_all_entities[sensor.model3_supply_fan_speed-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model3 Supply fan speed', - 'state_class': , - 'unit_of_measurement': 'rpm', - }), - 'context': , - 'entity_id': 'sensor.model3_supply_fan_speed', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '555', - }) -# --- -# name: test_all_entities[sensor.model3_supply_humidity-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_supply_humidity', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Supply humidity', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'supply_humidity', - 'unique_id': 'gateway3_deviceId3-supply_humidity', - 'unit_of_measurement': '%', - }) -# --- -# name: test_all_entities[sensor.model3_supply_humidity-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'humidity', - 'friendly_name': 'model3 Supply humidity', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.model3_supply_humidity', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '59', - }) -# --- -# name: test_all_entities[sensor.model3_supply_temperature-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model3_supply_temperature', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - 'sensor': dict({ - 'suggested_display_precision': 1, - }), - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Supply temperature', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'supply_temperature', - 'unique_id': 'gateway3_deviceId3-supply_temperature', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model3_supply_temperature-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'temperature', - 'friendly_name': 'model3 Supply temperature', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model3_supply_temperature', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '20.8', + 'state': 'schedule', }) # --- # name: test_all_entities[sensor.model3_ventilation_level-entry] @@ -3559,7 +4275,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'ventilation_level', - 'unique_id': 'gateway3_deviceId3-ventilation_level', + 'unique_id': 'gateway3_deviceSerialViAir300F-ventilation_level', 'unit_of_measurement': None, }) # --- @@ -3581,7 +4297,7 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': 'unavailable', + 'state': 'levelone', }) # --- # name: test_all_entities[sensor.model3_ventilation_reason-entry] @@ -3624,7 +4340,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'ventilation_reason', - 'unique_id': 'gateway3_deviceId3-ventilation_reason', + 'unique_id': 'gateway3_deviceSerialViAir300F-ventilation_reason', 'unit_of_measurement': None, }) # --- @@ -3647,10 +4363,721 @@ 'last_changed': , 'last_reported': , 'last_updated': , + 'state': 'permanent', + }) +# --- +# name: test_all_entities[sensor.model4_filter_hours-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_filter_hours', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Filter hours', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'filter_hours', + 'unique_id': 'gateway4_deviceId4-filter_hours', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model4_filter_hours-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model4 Filter hours', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model4_filter_hours', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '5795', + }) +# --- +# name: test_all_entities[sensor.model4_filter_overdue_hours-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_filter_overdue_hours', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Filter overdue hours', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'filter_overdue_hours', + 'unique_id': 'gateway4_deviceId4-filter_overdue_hours', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model4_filter_overdue_hours-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model4 Filter overdue hours', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model4_filter_overdue_hours', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0', + }) +# --- +# name: test_all_entities[sensor.model4_filter_remaining_hours-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_filter_remaining_hours', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Filter remaining hours', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'filter_remaining_hours', + 'unique_id': 'gateway4_deviceId4-filter_remaining_hours', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model4_filter_remaining_hours-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model4 Filter remaining hours', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model4_filter_remaining_hours', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2965', + }) +# --- +# name: test_all_entities[sensor.model4_pm1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_pm1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'PM1', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'gateway4_deviceId4-pm01', + 'unit_of_measurement': 'μg/m³', + }) +# --- +# name: test_all_entities[sensor.model4_pm1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'pm1', + 'friendly_name': 'model4 PM1', + 'state_class': , + 'unit_of_measurement': 'μg/m³', + }), + 'context': , + 'entity_id': 'sensor.model4_pm1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.1', + }) +# --- +# name: test_all_entities[sensor.model4_pm10-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_pm10', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'PM10', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'gateway4_deviceId4-pm10', + 'unit_of_measurement': 'μg/m³', + }) +# --- +# name: test_all_entities[sensor.model4_pm10-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'pm10', + 'friendly_name': 'model4 PM10', + 'state_class': , + 'unit_of_measurement': 'μg/m³', + }), + 'context': , + 'entity_id': 'sensor.model4_pm10', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.5', + }) +# --- +# name: test_all_entities[sensor.model4_pm2_5-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_pm2_5', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'PM2.5', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'gateway4_deviceId4-pm02', + 'unit_of_measurement': 'μg/m³', + }) +# --- +# name: test_all_entities[sensor.model4_pm2_5-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'pm25', + 'friendly_name': 'model4 PM2.5', + 'state_class': , + 'unit_of_measurement': 'μg/m³', + }), + 'context': , + 'entity_id': 'sensor.model4_pm2_5', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.3', + }) +# --- +# name: test_all_entities[sensor.model4_pm4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_pm4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'PM4', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'gateway4_deviceId4-pm04', + 'unit_of_measurement': 'μg/m³', + }) +# --- +# name: test_all_entities[sensor.model4_pm4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'pm4', + 'friendly_name': 'model4 PM4', + 'state_class': , + 'unit_of_measurement': 'μg/m³', + }), + 'context': , + 'entity_id': 'sensor.model4_pm4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.4', + }) +# --- +# name: test_all_entities[sensor.model4_supply_fan_hours-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_supply_fan_hours', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Supply fan hours', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'supply_fan_hours', + 'unique_id': 'gateway4_deviceId4-supply_fan_hours', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model4_supply_fan_hours-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model4 Supply fan hours', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model4_supply_fan_hours', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '819', + }) +# --- +# name: test_all_entities[sensor.model4_supply_fan_speed-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_supply_fan_speed', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Supply fan speed', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'supply_fan_speed', + 'unique_id': 'gateway4_deviceId4-supply_fan_speed', + 'unit_of_measurement': 'rpm', + }) +# --- +# name: test_all_entities[sensor.model4_supply_fan_speed-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model4 Supply fan speed', + 'state_class': , + 'unit_of_measurement': 'rpm', + }), + 'context': , + 'entity_id': 'sensor.model4_supply_fan_speed', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '555', + }) +# --- +# name: test_all_entities[sensor.model4_supply_humidity-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_supply_humidity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Supply humidity', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'supply_humidity', + 'unique_id': 'gateway4_deviceId4-supply_humidity', + 'unit_of_measurement': '%', + }) +# --- +# name: test_all_entities[sensor.model4_supply_humidity-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'humidity', + 'friendly_name': 'model4 Supply humidity', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.model4_supply_humidity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '59', + }) +# --- +# name: test_all_entities[sensor.model4_supply_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_supply_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Supply temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'supply_temperature', + 'unique_id': 'gateway4_deviceId4-supply_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model4_supply_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model4 Supply temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model4_supply_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '20.8', + }) +# --- +# name: test_all_entities[sensor.model4_ventilation_level-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'standby', + 'levelone', + 'leveltwo', + 'levelthree', + 'levelfour', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model4_ventilation_level', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Ventilation level', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'ventilation_level', + 'unique_id': 'gateway4_deviceId4-ventilation_level', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[sensor.model4_ventilation_level-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'model4 Ventilation level', + 'options': list([ + 'standby', + 'levelone', + 'leveltwo', + 'levelthree', + 'levelfour', + ]), + }), + 'context': , + 'entity_id': 'sensor.model4_ventilation_level', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unavailable', + }) +# --- +# name: test_all_entities[sensor.model4_ventilation_reason-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'standby', + 'permanent', + 'schedule', + 'sensordriven', + 'silent', + 'forcedlevelfour', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.model4_ventilation_reason', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Ventilation reason', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'ventilation_reason', + 'unique_id': 'gateway4_deviceId4-ventilation_reason', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[sensor.model4_ventilation_reason-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'model4 Ventilation reason', + 'options': list([ + 'standby', + 'permanent', + 'schedule', + 'sensordriven', + 'silent', + 'forcedlevelfour', + ]), + }), + 'context': , + 'entity_id': 'sensor.model4_ventilation_reason', + 'last_changed': , + 'last_reported': , + 'last_updated': , 'state': 'sensordriven', }) # --- -# name: test_all_entities[sensor.model4_battery_charge_total-entry] +# name: test_all_entities[sensor.model5_battery_charge_total-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -3665,7 +5092,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, - 'entity_id': 'sensor.model4_battery_charge_total', + 'entity_id': 'sensor.model5_battery_charge_total', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -3686,27 +5113,27 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'ess_charge_total', - 'unique_id': 'gateway4_deviceId4-ess_charge_total', + 'unique_id': 'gateway5_deviceId5-ess_charge_total', 'unit_of_measurement': , }) # --- -# name: test_all_entities[sensor.model4_battery_charge_total-state] +# name: test_all_entities[sensor.model5_battery_charge_total-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'energy', - 'friendly_name': 'model4 Battery charge total', + 'friendly_name': 'model5 Battery charge total', 'state_class': , 'unit_of_measurement': , }), 'context': , - 'entity_id': 'sensor.model4_battery_charge_total', + 'entity_id': 'sensor.model5_battery_charge_total', 'last_changed': , 'last_reported': , 'last_updated': , 'state': '1879163', }) # --- -# name: test_all_entities[sensor.model6_battery-entry] +# name: test_all_entities[sensor.model7_battery-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -3721,7 +5148,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': , - 'entity_id': 'sensor.model6_battery', + 'entity_id': 'sensor.model7_battery', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -3739,135 +5166,26 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': None, - 'unique_id': 'gateway6_zigbee_d87a3bfffe5d844a-battery_level', + 'unique_id': 'gateway7_zigbee_d87a3bfffe5d844a-battery_level', 'unit_of_measurement': '%', }) # --- -# name: test_all_entities[sensor.model6_battery-state] +# name: test_all_entities[sensor.model7_battery-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'battery', - 'friendly_name': 'model6 Battery', + 'friendly_name': 'model7 Battery', 'state_class': , 'unit_of_measurement': '%', }), 'context': , - 'entity_id': 'sensor.model6_battery', + 'entity_id': 'sensor.model7_battery', 'last_changed': , 'last_reported': , 'last_updated': , 'state': '89', }) # --- -# name: test_all_entities[sensor.model6_humidity-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model6_humidity', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Humidity', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway6_zigbee_d87a3bfffe5d844a-room_humidity', - 'unit_of_measurement': '%', - }) -# --- -# name: test_all_entities[sensor.model6_humidity-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'humidity', - 'friendly_name': 'model6 Humidity', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.model6_humidity', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '53', - }) -# --- -# name: test_all_entities[sensor.model6_temperature-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model6_temperature', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - 'sensor': dict({ - 'suggested_display_precision': 1, - }), - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Temperature', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': None, - 'unique_id': 'gateway6_zigbee_d87a3bfffe5d844a-room_temperature', - 'unit_of_measurement': , - }) -# --- -# name: test_all_entities[sensor.model6_temperature-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'temperature', - 'friendly_name': 'model6 Temperature', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.model6_temperature', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '17.5', - }) -# --- # name: test_all_entities[sensor.model7_humidity-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -3901,7 +5219,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': None, - 'unique_id': 'gateway7_zigbee_5cc7c1fffea33a3b-room_humidity', + 'unique_id': 'gateway7_zigbee_d87a3bfffe5d844a-room_humidity', 'unit_of_measurement': '%', }) # --- @@ -3918,7 +5236,7 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '52', + 'state': '53', }) # --- # name: test_all_entities[sensor.model7_temperature-entry] @@ -3957,7 +5275,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': None, - 'unique_id': 'gateway7_zigbee_5cc7c1fffea33a3b-room_temperature', + 'unique_id': 'gateway7_zigbee_d87a3bfffe5d844a-room_temperature', 'unit_of_measurement': , }) # --- @@ -3974,10 +5292,10 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '16.9', + 'state': '17.5', }) # --- -# name: test_all_entities[sensor.model8_battery-entry] +# name: test_all_entities[sensor.model8_humidity-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -3991,8 +5309,8 @@ 'device_id': , 'disabled_by': None, 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model8_battery', + 'entity_category': None, + 'entity_id': 'sensor.model8_humidity', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -4002,84 +5320,32 @@ 'name': None, 'options': dict({ }), - 'original_device_class': , + 'original_device_class': , 'original_icon': None, - 'original_name': 'Battery', + 'original_name': 'Humidity', 'platform': 'vicare', 'previous_unique_id': None, 'suggested_object_id': None, 'supported_features': 0, 'translation_key': None, - 'unique_id': 'gateway8_zigbee_################-battery_level', + 'unique_id': 'gateway8_zigbee_5cc7c1fffea33a3b-room_humidity', 'unit_of_measurement': '%', }) # --- -# name: test_all_entities[sensor.model8_battery-state] +# name: test_all_entities[sensor.model8_humidity-state] StateSnapshot({ 'attributes': ReadOnlyDict({ - 'device_class': 'battery', - 'friendly_name': 'model8 Battery', + 'device_class': 'humidity', + 'friendly_name': 'model8 Humidity', 'state_class': , 'unit_of_measurement': '%', }), 'context': , - 'entity_id': 'sensor.model8_battery', + 'entity_id': 'sensor.model8_humidity', 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '36', - }) -# --- -# name: test_all_entities[sensor.model8_signal_strength-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.model8_signal_strength', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Signal strength', - 'platform': 'vicare', - 'previous_unique_id': None, - 'suggested_object_id': None, - 'supported_features': 0, - 'translation_key': 'zigbee_signal_strength', - 'unique_id': 'gateway8_zigbee_################-zigbee_signal_strength', - 'unit_of_measurement': '%', - }) -# --- -# name: test_all_entities[sensor.model8_signal_strength-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'model8 Signal strength', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.model8_signal_strength', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '90', + 'state': '52', }) # --- # name: test_all_entities[sensor.model8_temperature-entry] @@ -4118,7 +5384,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': None, - 'unique_id': 'gateway8_zigbee_################-room_temperature', + 'unique_id': 'gateway8_zigbee_5cc7c1fffea33a3b-room_temperature', 'unit_of_measurement': , }) # --- @@ -4135,10 +5401,10 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '21.5', + 'state': '16.9', }) # --- -# name: test_all_entities[sensor.model8_valve_position-entry] +# name: test_all_entities[sensor.model9_battery-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -4152,8 +5418,8 @@ 'device_id': , 'disabled_by': None, 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.model8_valve_position', + 'entity_category': , + 'entity_id': 'sensor.model9_battery', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -4163,31 +5429,32 @@ 'name': None, 'options': dict({ }), - 'original_device_class': None, + 'original_device_class': , 'original_icon': None, - 'original_name': 'Valve position', + 'original_name': 'Battery', 'platform': 'vicare', 'previous_unique_id': None, 'suggested_object_id': None, 'supported_features': 0, - 'translation_key': 'valve_position', - 'unique_id': 'gateway8_zigbee_################-valve_position', + 'translation_key': None, + 'unique_id': 'gateway9_zigbee_################-battery_level', 'unit_of_measurement': '%', }) # --- -# name: test_all_entities[sensor.model8_valve_position-state] +# name: test_all_entities[sensor.model9_battery-state] StateSnapshot({ 'attributes': ReadOnlyDict({ - 'friendly_name': 'model8 Valve position', + 'device_class': 'battery', + 'friendly_name': 'model9 Battery', 'state_class': , 'unit_of_measurement': '%', }), 'context': , - 'entity_id': 'sensor.model8_valve_position', + 'entity_id': 'sensor.model9_battery', 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '2', + 'state': '36', }) # --- # name: test_all_entities[sensor.model9_signal_strength-entry] @@ -4239,7 +5506,115 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '46', + 'state': '90', + }) +# --- +# name: test_all_entities[sensor.model9_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model9_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Temperature', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'gateway9_zigbee_################-room_temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_all_entities[sensor.model9_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'model9 Temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.model9_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '21.5', + }) +# --- +# name: test_all_entities[sensor.model9_valve_position-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.model9_valve_position', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Valve position', + 'platform': 'vicare', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'valve_position', + 'unique_id': 'gateway9_zigbee_################-valve_position', + 'unit_of_measurement': '%', + }) +# --- +# name: test_all_entities[sensor.model9_valve_position-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'model9 Valve position', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.model9_valve_position', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2', }) # --- # name: test_all_entities[sensor.vitovalor_hydraulic_separator_temperature-entry] @@ -4278,7 +5653,7 @@ 'suggested_object_id': None, 'supported_features': 0, 'translation_key': 'hydraulic_separator_temperature', - 'unique_id': 'gateway5_deviceId5-hydraulic_separator_temperature', + 'unique_id': 'gateway6_deviceId6-hydraulic_separator_temperature', 'unit_of_measurement': , }) # --- diff --git a/tests/components/vicare/test_sensor.py b/tests/components/vicare/test_sensor.py index 74a2f3c9e09..285bb91face 100644 --- a/tests/components/vicare/test_sensor.py +++ b/tests/components/vicare/test_sensor.py @@ -26,6 +26,7 @@ async def test_all_entities( fixtures: list[Fixture] = [ Fixture({"type:boiler"}, "vicare/Vitodens300W.json"), Fixture({"type:heatpump"}, "vicare/Vitocal250A.json"), + Fixture({"type:heatpump"}, "vicare/Vitocal222G_Vitovent300W.json"), Fixture({"type:ventilation"}, "vicare/ViAir300F.json"), Fixture({"type:ventilation"}, "vicare/VitoPure.json"), Fixture({"type:ess"}, "vicare/VitoChargeVX3.json"),