Repository: somm15/PyViCare

Issue:
min and max temperature for desired program 
there is function setProgramTemperature to set temperature for certain program 

```python
    def setProgramTemperature(self, program: str, temperature: int):
```

but no way how to find out allowed range and stepping, even though vicare API contains these values 

```text
    {
      'properties': {
        'active': {
          'value': False,
          'type': 'boolean'
        },
        'demand': {
          'value': 'unknown',
          'type': 'string'
        },
        'temperature': {
          'value': 65,
          'unit': 'celsius',
          'type': 'number'
        }
      },
      'commands': {
        'setTemperature': {
          'uri': '.../devices/0/features/heating.circuits.0.operating.programs.normal/commands/setTemperature',
          'name': 'setTemperature',
          'isExecutable': True,
          'params': {
            'targetTemperature': {
              'type': 'number',
              'required': True,
              'constraints': {
                'min': 20, # <--- here
                'max': 82, # <--- here
                'stepping': 1 # <--- here
              }
            }
          }
        }
      },
      'apiVersion': 1,
      'uri': '../devices/0/features/heating.circuits.0.operating.programs.normal',
      'gatewayId': '...',
      'feature': 'heating.circuits.0.operating.programs.normal',
      'timestamp': '2022-09-25T13:48:31.938Z',
      'isEnabled': True,
      'isReady': True,
      'deviceId': '0'
    },
```
A similar function exists in pyvicare for DWH part getDomesticHotWaterMinTemperature. getDomesticHotWaterMaxTemperature

Discussion:

Patch:
diff --git a/PyViCare/PyViCareHeatingDevice.py b/PyViCare/PyViCareHeatingDevice.py
index aa8a8f9..e68be11 100644
--- a/PyViCare/PyViCareHeatingDevice.py
+++ b/PyViCare/PyViCareHeatingDevice.py
@@ -429,6 +429,34 @@ class HeatingCircuit(HeatingDeviceWithComponent):
     def setNormalTemperature(self, temperature):
         return self.setProgramTemperature("normal", temperature)
 
+    @handleNotSupported
+    def getActiveProgramMinTemperature(self):
+        active_program = self.getActiveProgram()
+        if active_program in ['standby']:
+            return None
+        
+        return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.programs.{active_program}")[
+            "commands"]["setTemperature"]["params"]["targetTemperature"]["constraints"]["min"]
+
+    @handleNotSupported
+    def getActiveProgramMaxTemperature(self):
+        active_program = self.getActiveProgram()
+        if active_program in ['standby']:
+            return None
+       
+        return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.programs.{active_program}")[
+            "commands"]["setTemperature"]["params"]["targetTemperature"]["constraints"]["max"]
+
+    @handleNotSupported
+    def getActiveProgramStepping(self):
+        active_program = self.getActiveProgram()
+        if active_program in ['standby']:
+            return None
+       
+        return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.programs.{active_program}")[
+            "commands"]["setTemperature"]["params"]["targetTemperature"]["constraints"]["stepping"]
+
+
     """ Activate a program
         NOTE
         DEVICE_COMMUNICATION_ERROR can just mean that the program is already on
@@ -534,10 +562,10 @@ class HeatingCircuit(HeatingDeviceWithComponent):
 
     @handleNotSupported
     def getCurrentDesiredTemperature(self):
-        active_programm = self.getActiveProgram()
-        if active_programm in ['standby']:
+        active_program = self.getActiveProgram()
+        if active_program in ['standby']:
             return None
-        return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.programs.{active_programm}")[
+        return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.programs.{active_program}")[
             "properties"]["temperature"]["value"]
 
     @handleNotSupported


Test patch:
diff --git a/tests/response/Vitocal200.json b/tests/response/Vitocal200.json
index 22ef588..5b88264 100644
--- a/tests/response/Vitocal200.json
+++ b/tests/response/Vitocal200.json
@@ -1,2651 +1,2802 @@
 {
   "data": [
-    {
-      "properties": {
-        "value": {
-          "value": "dhwAndHeatingCooling",
-          "type": "string"
-        }
-      },
-      "commands": {
-        "setMode": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.active/commands/setMode",
-          "name": "setMode",
-          "isExecutable": true,
-          "params": {
-            "mode": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "enum": ["standby", "dhw", "dhwAndHeatingCooling"]
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.active",
-      "timestamp": "2022-09-15T07:49:31.028Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "enabled": {
-          "type": "array",
-          "value": ["0"]
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.compressors",
-      "timestamp": "2022-09-15T07:49:29.394Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.active",
-      "timestamp": "2022-09-15T07:49:31.046Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.sensors.temperature.supply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.sensors.temperature.supply",
-      "timestamp": "2022-09-15T07:49:30.459Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.heating.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.comfort",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.comfort",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.temperature.levels",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.temperature.levels",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.power.production",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar.power.production",
-      "timestamp": "2022-09-15T07:49:31.438Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.dhwAndHeatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.power.cumulativeProduced",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar.power.cumulativeProduced",
-      "timestamp": "2022-09-15T07:49:31.464Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelOne",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.levelOne",
-      "timestamp": "2022-09-15T07:49:31.453Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.circulation.pump",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.circulation.pump",
-      "timestamp": "2022-09-15T07:49:30.981Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "string",
-          "value": "XXXXXX"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/device.serial",
-      "gatewayId": "XXXXXX",
-      "feature": "device.serial",
-      "timestamp": "2022-09-15T07:49:29.506Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        },
-        "status": {
-          "value": "on",
-          "type": "string"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "off"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.circulation.pump",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.circulation.pump",
-      "timestamp": "2022-09-15T11:07:08.734Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.primaryCircuit.sensors.temperature.return",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.primaryCircuit.sensors.temperature.return",
-      "timestamp": "2022-09-15T07:49:30.466Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 23.4,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.sensors.temperature.room",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.sensors.temperature.room",
-      "timestamp": "2022-09-16T15:34:52.058Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.heatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.heatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "shift": {
-          "type": "number",
-          "unit": "",
-          "value": 0
-        },
-        "slope": {
-          "type": "number",
-          "unit": "",
-          "value": 0.6
-        }
-      },
-      "commands": {
-        "setCurve": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.curve/commands/setCurve",
-          "name": "setCurve",
-          "isExecutable": true,
-          "params": {
-            "slope": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 0,
-                "max": 3.5,
-                "stepping": 0.1
-              }
-            },
-            "shift": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": -15,
-                "max": 40,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.curve",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.heating.curve",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.comfort",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.comfort",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.circulation.pump",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.circulation.pump",
-      "timestamp": "2022-09-15T07:49:30.980Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "string",
-          "value": "XXXXXX"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.controller.serial",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.controller.serial",
-      "timestamp": "2022-09-15T07:49:30.700Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.fixed",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.fixed",
-      "timestamp": "2022-09-15T07:49:30.441Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.heating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.heating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.eco",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.eco",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.active",
-      "timestamp": "2022-09-15T07:49:30.983Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.buffer.sensors.temperature.top",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.buffer.sensors.temperature.top",
-      "timestamp": "2022-09-15T07:49:29.430Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "string",
-          "value": "standby"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.active",
-      "timestamp": "2022-09-15T07:49:30.982Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelFour",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.levelFour",
-      "timestamp": "2022-09-15T07:49:31.455Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.boiler.sensors.temperature.commonSupply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.boiler.sensors.temperature.commonSupply",
-      "timestamp": "2022-09-15T07:49:29.426Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelThree",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.levelThree",
-      "timestamp": "2022-09-15T07:49:31.454Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "demand": {
-          "value": "unknown",
-          "type": "string"
-        },
-        "temperature": {
-          "value": 21,
-          "unit": "celsius",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setTemperature": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.normal/commands/setTemperature",
-          "name": "setTemperature",
-          "isExecutable": true,
-          "params": {
-            "targetTemperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 30,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.normal",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.normal",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelTwo",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.levelTwo",
-      "timestamp": "2022-09-15T07:49:31.453Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 0,
-          "unit": "celsius"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.temperature",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.temperature",
-      "timestamp": "2022-09-15T07:49:31.476Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 19.4,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.secondaryCircuit.sensors.temperature.supply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.secondaryCircuit.sensors.temperature.supply",
-      "timestamp": "2022-09-16T16:04:43.693Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.outlet",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.sensors.temperature.outlet",
-      "timestamp": "2022-09-15T07:49:30.973Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.dhwAndHeatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 13.8,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.sensors.temperature.outside",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.sensors.temperature.outside",
-      "timestamp": "2022-09-16T15:25:01.844Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        },
-        "entries": {
-          "value": {
-            "mon": [],
-            "tue": [],
-            "wed": [],
-            "thu": [],
-            "fri": [],
-            "sat": [],
-            "sun": []
-          },
-          "type": "Schedule"
-        }
-      },
-      "commands": {
-        "setSchedule": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.schedule/commands/setSchedule",
-          "name": "setSchedule",
-          "isExecutable": true,
-          "params": {
-            "newSchedule": {
-              "type": "Schedule",
-              "required": true,
-              "constraints": {
-                "modes": ["reduced", "normal", "fixed"],
-                "maxEntries": 8,
-                "resolution": 10,
-                "defaultMode": "standby",
-                "overlapAllowed": true
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.heating.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.normal",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.normal",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.dhwAndHeating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar",
-      "timestamp": "2022-09-15T07:49:31.462Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "temperature": {
-          "value": 21,
-          "unit": "",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "activate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco/commands/activate",
-          "name": "activate",
-          "isExecutable": false,
-          "params": {}
-        },
-        "deactivate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco/commands/deactivate",
-          "name": "deactivate",
-          "isExecutable": false,
-          "params": {}
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.eco",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 58.5,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.top",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.sensors.temperature.hotWaterStorage.top",
-      "timestamp": "2022-09-16T15:02:51.919Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.bottom",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.sensors.temperature.hotWaterStorage.bottom",
-      "timestamp": "2022-09-15T07:49:30.961Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "off"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.pumps.circulation",
-      "timestamp": "2022-09-15T07:49:30.944Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 13.4,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.primaryCircuit.sensors.temperature.supply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.primaryCircuit.sensors.temperature.supply",
-      "timestamp": "2022-09-16T16:05:47.007Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.sensors.temperature.supply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.sensors.temperature.supply",
-      "timestamp": "2022-09-15T07:49:30.460Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        },
-        "entries": {
-          "value": {
-            "mon": [
-              {
-                "start": "11:00",
-                "end": "22:00",
-                "mode": "top",
-                "position": 0
-              }
-            ],
-            "tue": [
-              {
-                "start": "11:00",
-                "end": "22:00",
-                "mode": "top",
-                "position": 0
-              }
-            ],
-            "wed": [
-              {
-                "start": "11:00",
-                "end": "22:00",
-                "mode": "top",
-                "position": 0
-              }
-            ],
-            "thu": [
-              {
-                "start": "11:00",
-                "end": "22:00",
-                "mode": "top",
-                "position": 0
-              }
-            ],
-            "fri": [
-              {
-                "start": "11:00",
-                "end": "22:00",
-                "mode": "top",
-                "position": 0
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.standby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.cooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.cooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": true,
+                  "type": "boolean"
               },
-              {
-                "start": "10:00",
-                "end": "11:00",
-                "mode": "temp-2",
-                "position": 1
-              }
-            ],
-            "sat": [
-              {
-                "start": "10:00",
-                "end": "22:30",
-                "mode": "top",
-                "position": 0
-              }
-            ],
-            "sun": [
-              {
-                "start": "10:00",
-                "end": "22:30",
-                "mode": "top",
-                "position": 0
-              }
-            ]
-          },
-          "type": "Schedule"
-        }
-      },
-      "commands": {
-        "setSchedule": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.schedule/commands/setSchedule",
-          "name": "setSchedule",
-          "isExecutable": true,
-          "params": {
-            "newSchedule": {
-              "type": "Schedule",
-              "required": true,
-              "constraints": {
-                "modes": ["top", "normal", "temp-2"],
-                "maxEntries": 8,
-                "resolution": 10,
-                "defaultMode": "off",
-                "overlapAllowed": true
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.dhwAndHeating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.sensors.temperature.room",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.sensors.temperature.room",
-      "timestamp": "2022-09-15T07:49:30.456Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "type": "boolean",
-          "value": false
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.charging",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.charging",
-      "timestamp": "2022-09-16T09:02:09.418Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        },
-        "name": {
-          "value": "",
-          "type": "string"
-        },
-        "type": {
-          "value": "heatingCircuit",
-          "type": "string"
-        }
-      },
-      "commands": {
-        "setName": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0/commands/setName",
-          "name": "setName",
-          "isExecutable": true,
-          "params": {
-            "name": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "minLength": 1,
-                "maxLength": 20
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.modes.standby",
-      "timestamp": "2022-09-15T07:49:31.443Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0.modulation",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.burners.0.modulation",
-      "timestamp": "2022-09-15T07:49:29.716Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.normal",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.normal",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.dhwAndHeating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.pumps.circuit",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar.pumps.circuit",
-      "timestamp": "2022-09-15T07:49:31.466Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.fixed",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.fixed",
-      "timestamp": "2022-09-15T07:49:30.440Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "demand": {
-          "value": "unknown",
-          "type": "string"
-        },
-        "temperature": {
-          "value": 20,
-          "unit": "celsius",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setTemperature": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.reduced/commands/setTemperature",
-          "name": "setTemperature",
-          "isExecutable": true,
-          "params": {
-            "targetTemperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 30,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.reduced",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.reduced",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 0,
-          "unit": "celsius"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.temperature",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.temperature",
-      "timestamp": "2022-09-15T07:49:31.475Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.sensors.temperature.dhw",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar.sensors.temperature.dhw",
-      "timestamp": "2022-09-15T07:49:31.437Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "phase": {
-          "value": "off",
-          "type": "string"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.0",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.compressors.0",
-      "timestamp": "2022-09-16T09:11:52.604Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0.statistics",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.burners.0.statistics",
-      "timestamp": "2022-09-15T07:49:29.624Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.cooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.cooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.active",
-      "timestamp": "2022-09-15T07:49:31.419Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.sensors.temperature.collector",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.solar.sensors.temperature.collector",
-      "timestamp": "2022-09-15T07:49:31.463Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "notConnected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.buffer.sensors.temperature.main",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.buffer.sensors.temperature.main",
-      "timestamp": "2022-09-15T07:49:29.428Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.ventilation",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.modes.ventilation",
-      "timestamp": "2022-09-15T07:49:31.445Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.temperature.levels",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.temperature.levels",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "value": 50,
-          "unit": "celsius",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setTargetTemperature": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.main/commands/setTargetTemperature",
-          "name": "setTargetTemperature",
-          "isExecutable": true,
-          "params": {
-            "temperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "efficientLowerBorder": 10,
-                "efficientUpperBorder": 60,
-                "max": 60,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.main",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.temperature.main",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "starts": {
-          "type": "number",
-          "value": 5101,
-          "unit": ""
-        },
-        "hours": {
-          "type": "number",
-          "value": 11362.7,
-          "unit": "hour"
-        },
-        "hoursLoadClassOne": {
-          "type": "number",
-          "value": 283,
-          "unit": "hour"
-        },
-        "hoursLoadClassTwo": {
-          "type": "number",
-          "value": 4336,
-          "unit": "hour"
-        },
-        "hoursLoadClassThree": {
-          "type": "number",
-          "value": 5275,
-          "unit": "hour"
-        },
-        "hoursLoadClassFour": {
-          "type": "number",
-          "value": 611,
-          "unit": "hour"
-        },
-        "hoursLoadClassFive": {
-          "type": "number",
-          "value": 606,
-          "unit": "hour"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.0.statistics",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.compressors.0.statistics",
-      "timestamp": "2022-09-16T09:00:00.179Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhw",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.dhw",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "enabled": {
-          "value": ["0"],
-          "type": "array"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 58.5,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.sensors.temperature.hotWaterStorage",
-      "timestamp": "2022-09-16T15:02:51.887Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.eco",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.eco",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        },
-        "entries": {
-          "value": {
-            "mon": [],
-            "tue": [],
-            "wed": [],
-            "thu": [],
-            "fri": [],
-            "sat": [],
-            "sun": []
-          },
-          "type": "Schedule"
-        }
-      },
-      "commands": {
-        "setSchedule": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/setSchedule",
-          "name": "setSchedule",
-          "isExecutable": true,
-          "params": {
-            "newSchedule": {
-              "type": "Schedule",
-              "required": true,
-              "constraints": {
-                "modes": ["5/25-cycles", "5/10-cycles", "on"],
-                "maxEntries": 8,
-                "resolution": 10,
-                "defaultMode": "off",
-                "overlapAllowed": true
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.pumps.circulation.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.active",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.active",
-      "timestamp": "2022-09-15T07:49:30.984Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.heatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.heatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.schedule",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.heating.schedule",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.heating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.heating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 25.6,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.sensors.temperature.return",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.sensors.temperature.return",
-      "timestamp": "2022-09-16T16:04:19.593Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": true,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.dhwAndHeatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "shift": {
-          "type": "number",
-          "unit": "",
-          "value": -5
-        },
-        "slope": {
-          "type": "number",
-          "unit": "",
-          "value": 0.3
-        }
-      },
-      "commands": {
-        "setCurve": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.curve/commands/setCurve",
-          "name": "setCurve",
-          "isExecutable": true,
-          "params": {
-            "slope": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 0,
-                "max": 3.5,
-                "stepping": 0.1
-              }
-            },
-            "shift": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": -15,
-                "max": 40,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.curve",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.heating.curve",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "off"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.frostprotection",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.frostprotection",
-      "timestamp": "2022-09-15T07:49:29.830Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.reduced",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.reduced",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        }
-      },
-      "commands": {
-        "activate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge/commands/activate",
-          "name": "activate",
-          "isExecutable": true,
-          "params": {}
-        },
-        "deactivate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge/commands/deactivate",
-          "name": "deactivate",
-          "isExecutable": false,
-          "params": {}
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.oneTimeCharge",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "value": 60,
-          "unit": "celsius",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setTargetTemperature": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.temp2/commands/setTargetTemperature",
-          "name": "setTargetTemperature",
-          "isExecutable": true,
-          "params": {
-            "temperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 60,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.temp2",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.temperature.temp2",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.cooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.cooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "enabled": {
-          "type": "array",
-          "value": []
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.burners",
-      "timestamp": "2022-09-15T07:49:29.745Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "start": {
-          "value": "",
-          "type": "string"
-        },
-        "end": {
-          "value": "",
-          "type": "string"
-        }
-      },
-      "commands": {
-        "changeEndDate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/changeEndDate",
-          "name": "changeEndDate",
-          "isExecutable": false,
-          "params": {
-            "end": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$",
-                "sameDayAllowed": false
-              }
-            }
-          }
-        },
-        "schedule": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/schedule",
-          "name": "schedule",
-          "isExecutable": true,
-          "params": {
-            "start": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$"
-              }
-            },
-            "end": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$",
-                "sameDayAllowed": false
-              }
-            }
-          }
-        },
-        "unschedule": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/unschedule",
-          "name": "unschedule",
-          "isExecutable": true,
-          "params": {}
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.operating.programs.holiday",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.active",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.active",
-      "timestamp": "2022-09-15T07:49:31.446Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "status": {
-          "type": "string",
-          "value": "off"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.primary",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.pumps.primary",
-      "timestamp": "2022-09-15T07:49:30.938Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "string",
-          "value": "XXXXXX"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.boiler.serial",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.boiler.serial",
-      "timestamp": "2022-09-15T07:49:29.445Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.sensors.temperature.room",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.sensors.temperature.room",
-      "timestamp": "2022-09-15T07:49:30.456Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "type": "boolean",
-          "value": false
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.fixed",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.fixed",
-      "timestamp": "2022-09-15T07:49:30.439Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.frostprotection",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.frostprotection",
-      "timestamp": "2022-09-15T07:49:29.832Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.active",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.modes.active",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation",
-      "timestamp": "2022-09-15T07:49:31.439Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.standard",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.modes.standard",
-      "timestamp": "2022-09-15T07:49:31.444Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.standby",
-      "timestamp": "2022-09-15T07:49:31.452Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.burners.0",
-      "timestamp": "2022-09-15T07:49:29.772Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhw",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.dhw",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.cooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.cooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "value": 5,
-          "unit": "kelvin",
-          "type": "number"
-        },
-        "switchOnValue": {
-          "value": 5,
-          "unit": "kelvin",
-          "type": "number"
-        },
-        "switchOffValue": {
-          "value": 5,
-          "unit": "kelvin",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setHysteresis": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresis",
-          "name": "setHysteresis",
-          "isExecutable": true,
-          "params": {
-            "hysteresis": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 1,
-                "max": 10,
-                "stepping": 0.5
-              }
-            }
-          }
-        },
-        "setHysteresisSwitchOnValue": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOnValue",
-          "name": "setHysteresisSwitchOnValue",
-          "isExecutable": true,
-          "params": {
-            "hysteresis": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 1,
-                "max": 10,
-                "stepping": 0.5
-              }
-            }
-          }
-        },
-        "setHysteresisSwitchOffValue": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOffValue",
-          "name": "setHysteresisSwitchOffValue",
-          "isExecutable": true,
-          "params": {
-            "hysteresis": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 1,
-                "max": 10,
-                "stepping": 0.5
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.dhw.temperature.hysteresis",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.holiday",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.holiday",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.1.statistics",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.compressors.1.statistics",
-      "timestamp": "2022-09-15T07:49:29.413Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.reduced",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.reduced",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.heating",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.heating",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.standby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.programs.standby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "min": {
-          "value": 15,
-          "unit": "celsius",
-          "type": "number"
-        },
-        "minUnit": {
-          "value": "celsius",
-          "type": "string"
-        },
-        "max": {
-          "value": 45,
-          "unit": "celsius",
-          "type": "number"
-        },
-        "maxUnit": {
-          "value": "celsius",
-          "type": "string"
-        }
-      },
-      "commands": {
-        "setMin": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setMin",
-          "name": "setMin",
-          "isExecutable": true,
-          "params": {
-            "temperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 1,
-                "max": 30,
-                "stepping": 1
-              }
-            }
-          }
-        },
-        "setMax": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setMax",
-          "name": "setMax",
-          "isExecutable": true,
-          "params": {
-            "temperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 70,
-                "stepping": 1
-              }
-            }
-          }
-        },
-        "setLevels": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setLevels",
-          "name": "setLevels",
-          "isExecutable": true,
-          "params": {
-            "minTemperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 1,
-                "max": 30,
-                "stepping": 1
-              }
-            },
-            "maxTemperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 70,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.temperature.levels",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.1",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.compressors.1",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.comfort",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.programs.comfort",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.heatingCooling",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.heatingCooling",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhw",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.dhw",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 0,
-          "unit": "celsius"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.temperature",
-      "timestamp": "2022-09-15T07:49:31.474Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.frostprotection",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.frostprotection",
-      "timestamp": "2022-09-15T07:49:29.833Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "shift": {
-          "type": "number",
-          "unit": "",
-          "value": 0
-        },
-        "slope": {
-          "type": "number",
-          "unit": "",
-          "value": 0.6
-        }
-      },
-      "commands": {
-        "setCurve": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.curve/commands/setCurve",
-          "name": "setCurve",
-          "isExecutable": true,
-          "params": {
-            "slope": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 0,
-                "max": 3.5,
-                "stepping": 0.1
-              }
-            },
-            "shift": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": -15,
-                "max": 40,
-                "stepping": 1
-              }
-            }
-          }
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.curve",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.heating.curve",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "value": {
-          "type": "number",
-          "value": 25.9,
-          "unit": "celsius"
-        },
-        "status": {
-          "type": "string",
-          "value": "connected"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.sensors.temperature.supply",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.sensors.temperature.supply",
-      "timestamp": "2022-09-16T15:19:50.490Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.eco",
-      "gatewayId": "XXXXXX",
-      "feature": "ventilation.operating.programs.eco",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.normalStandby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.1.operating.modes.normalStandby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        },
-        "demand": {
-          "value": "unknown",
-          "type": "string"
-        },
-        "temperature": {
-          "value": 20,
-          "unit": "celsius",
-          "type": "number"
-        }
-      },
-      "commands": {
-        "setTemperature": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/setTemperature",
-          "name": "setTemperature",
-          "isExecutable": true,
-          "params": {
-            "targetTemperature": {
-              "type": "number",
-              "required": true,
-              "constraints": {
-                "min": 10,
-                "max": 30,
-                "stepping": 1
-              }
-            }
-          }
-        },
-        "activate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/activate",
-          "name": "activate",
-          "isExecutable": true,
-          "params": {
-            "temperature": {
-              "type": "number",
-              "required": false,
-              "constraints": {
-                "min": 10,
-                "max": 30,
-                "stepping": 1
-              }
-            }
-          }
-        },
-        "deactivate": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/deactivate",
-          "name": "deactivate",
-          "isExecutable": false,
-          "params": {}
-        }
-      },
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.programs.comfort",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {
-        "active": {
-          "value": false,
-          "type": "boolean"
-        }
-      },
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.normalStandby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.0.operating.modes.normalStandby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": true,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "properties": {},
-      "commands": {},
-      "apiVersion": 1,
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.normalStandby",
-      "gatewayId": "XXXXXX",
-      "feature": "heating.circuits.2.operating.modes.normalStandby",
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "isEnabled": false,
-      "isReady": true,
-      "deviceId": "0"
-    },
-    {
-      "apiVersion": 1,
-      "isEnabled": true,
-      "isReady": true,
-      "timestamp": "2022-09-15T07:49:28.992Z",
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.name",
-      "feature": "heating.circuits.0.name",
-      "deviceId": "0",
-      "gatewayId": "XXXXXX",
-      "components": [],
-      "commands": {
-        "setName": {
-          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.name/commands/setName",
-          "name": "setName",
-          "isExecutable": true,
-          "params": {
-            "name": {
-              "type": "string",
-              "required": true,
-              "constraints": {
-                "minLength": 1,
-                "maxLength": 20
-              }
-            }
+              "entries": {
+                  "value": {
+                      "mon": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ],
+                      "tue": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ],
+                      "wed": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ],
+                      "thu": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ],
+                      "fri": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ],
+                      "sat": [
+                          {
+                              "start": "11:00",
+                              "end": "22:00",
+                              "mode": "normal",
+                              "position": 0
+                          },
+                          {
+                              "start": "10:00",
+                              "end": "11:00",
+                              "mode": "temp-2",
+                              "position": 1
+                          }
+                      ],
+                      "sun": [
+                          {
+                              "start": "11:00",
+                              "end": "22:30",
+                              "mode": "top",
+                              "position": 0
+                          }
+                      ]
+                  },
+                  "type": "Schedule"
+              }
+          },
+          "commands": {
+              "setSchedule": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.schedule/commands/setSchedule",
+                  "name": "setSchedule",
+                  "isExecutable": true,
+                  "params": {
+                      "newSchedule": {
+                          "type": "Schedule",
+                          "required": true,
+                          "constraints": {
+                              "modes": [
+                                  "top",
+                                  "normal",
+                                  "temp-2"
+                              ],
+                              "maxEntries": 8,
+                              "resolution": 10,
+                              "defaultMode": "off",
+                              "overlapAllowed": true
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.schedule",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.holiday",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.holiday",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelOne",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.levelOne",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.forcedNormal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.forcedNormal",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 22,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.sensors.temperature.room",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.sensors.temperature.room",
+          "timestamp": "2023-05-12T18:43:41.663Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.charging",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.charging",
+          "timestamp": "2023-05-12T09:24:30.772Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.active",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.modes.active",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 11.6,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.sensors.temperature.outside",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.sensors.temperature.outside",
+          "timestamp": "2023-05-12T18:25:31.991Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.standby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 47.9,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.top",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.sensors.temperature.hotWaterStorage.top",
+          "timestamp": "2023-05-12T18:37:03.923Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "enabled": {
+                  "type": "array",
+                  "value": []
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.burners",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.dhwAndHeating",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhw",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.dhw",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.pumps.circuit",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar.pumps.circuit",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.dhwAndHeating",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "string",
+                  "value": "XXXXXX"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/device.serial",
+          "gatewayId": "XXXXXX",
+          "feature": "device.serial",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": true,
+                  "type": "boolean"
+              },
+              "demand": {
+                  "value": "unknown",
+                  "type": "string"
+              },
+              "temperature": {
+                  "value": 22,
+                  "unit": "celsius",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setTemperature": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.normal/commands/setTemperature",
+                  "name": "setTemperature",
+                  "isExecutable": true,
+                  "params": {
+                      "targetTemperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.normal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.normal",
+          "timestamp": "2023-05-12T05:10:37.384Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.normal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.normal",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.active",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.fixed",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.fixed",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 24.5,
+                  "unit": "celsius"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.temperature",
+          "timestamp": "2023-05-12T18:40:52.060Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.ventilation",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.modes.ventilation",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.active",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.frostprotection",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.frostprotection",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.heating.schedule",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "on"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.circulation.pump",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.circulation.pump",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.power.cumulativeProduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar.power.cumulativeProduced",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              },
+              "start": {
+                  "value": "",
+                  "type": "string"
+              },
+              "end": {
+                  "value": "",
+                  "type": "string"
+              }
+          },
+          "commands": {
+              "changeEndDate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/changeEndDate",
+                  "name": "changeEndDate",
+                  "isExecutable": false,
+                  "params": {
+                      "end": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$",
+                              "sameDayAllowed": false
+                          }
+                      }
+                  }
+              },
+              "schedule": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/schedule",
+                  "name": "schedule",
+                  "isExecutable": true,
+                  "params": {
+                      "start": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$"
+                          }
+                      },
+                      "end": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$",
+                              "sameDayAllowed": false
+                          }
+                      }
+                  }
+              },
+              "unschedule": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday/commands/unschedule",
+                  "name": "unschedule",
+                  "isExecutable": true,
+                  "params": {}
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.operating.programs.holiday",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.operating.programs.holiday",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.burners.0",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.active",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.eco",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.eco",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              }
+          },
+          "commands": {
+              "activate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge/commands/activate",
+                  "name": "activate",
+                  "isExecutable": true,
+                  "params": {}
+              },
+              "deactivate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge/commands/deactivate",
+                  "name": "deactivate",
+                  "isExecutable": false,
+                  "params": {}
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.oneTimeCharge",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.oneTimeCharge",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.sensors.temperature.room",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.sensors.temperature.room",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.power.production",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar.power.production",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.comfort",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.comfort",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.forcedReduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.forcedReduced",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": true,
+                  "type": "boolean"
+              },
+              "entries": {
+                  "value": {
+                      "mon": [],
+                      "tue": [],
+                      "wed": [],
+                      "thu": [],
+                      "fri": [],
+                      "sat": [],
+                      "sun": []
+                  },
+                  "type": "Schedule"
+              }
+          },
+          "commands": {
+              "setSchedule": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/setSchedule",
+                  "name": "setSchedule",
+                  "isExecutable": true,
+                  "params": {
+                      "newSchedule": {
+                          "type": "Schedule",
+                          "required": true,
+                          "constraints": {
+                              "modes": [
+                                  "5/25-cycles",
+                                  "5/10-cycles",
+                                  "on"
+                              ],
+                              "maxEntries": 8,
+                              "resolution": 10,
+                              "defaultMode": "off",
+                              "overlapAllowed": true
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.pumps.circulation.schedule",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.standby",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.primaryCircuit.sensors.temperature.return",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.primaryCircuit.sensors.temperature.return",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "value": 5,
+                  "unit": "kelvin",
+                  "type": "number"
+              },
+              "switchOnValue": {
+                  "value": 5,
+                  "unit": "kelvin",
+                  "type": "number"
+              },
+              "switchOffValue": {
+                  "value": 5,
+                  "unit": "kelvin",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setHysteresis": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresis",
+                  "name": "setHysteresis",
+                  "isExecutable": true,
+                  "params": {
+                      "hysteresis": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 1,
+                              "max": 10,
+                              "stepping": 0.5
+                          }
+                      }
+                  }
+              },
+              "setHysteresisSwitchOnValue": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOnValue",
+                  "name": "setHysteresisSwitchOnValue",
+                  "isExecutable": true,
+                  "params": {
+                      "hysteresis": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 1,
+                              "max": 10,
+                              "stepping": 0.5
+                          }
+                      }
+                  }
+              },
+              "setHysteresisSwitchOffValue": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOffValue",
+                  "name": "setHysteresisSwitchOffValue",
+                  "isExecutable": true,
+                  "params": {
+                      "hysteresis": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 1,
+                              "max": 10,
+                              "stepping": 0.5
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.hysteresis",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.temperature.hysteresis",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.dhwAndHeatingCooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.normal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.normal",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.normalStandby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.normalStandby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.dhwAndHeatingCooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.standby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.temperature.levels",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.temperature.levels",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "enabled": {
+                  "value": [
+                      "0"
+                  ],
+                  "type": "array"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.active",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 22.7,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.sensors.temperature.return",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.sensors.temperature.return",
+          "timestamp": "2023-05-12T18:31:30.745Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.1.statistics",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.compressors.1.statistics",
+          "timestamp": "2023-05-11T14:01:17.392Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.cooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.cooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.circulation.pump",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.circulation.pump",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.cooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.cooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.eco",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.eco",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.heatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.heatingCooling",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0.statistics",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.burners.0.statistics",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.frostprotection",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.frostprotection",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelTwo",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.levelTwo",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": true,
+                  "type": "boolean"
+              },
+              "entries": {
+                  "value": {
+                      "mon": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "tue": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "wed": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "thu": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "fri": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "sat": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ],
+                      "sun": [
+                          {
+                              "start": "00:00",
+                              "end": "24:00",
+                              "mode": "normal",
+                              "position": 0
+                          }
+                      ]
+                  },
+                  "type": "Schedule"
+              }
+          },
+          "commands": {
+              "setSchedule": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.schedule/commands/setSchedule",
+                  "name": "setSchedule",
+                  "isExecutable": true,
+                  "params": {
+                      "newSchedule": {
+                          "type": "Schedule",
+                          "required": true,
+                          "constraints": {
+                              "modes": [
+                                  "reduced",
+                                  "normal",
+                                  "fixed"
+                              ],
+                              "maxEntries": 8,
+                              "resolution": 10,
+                              "defaultMode": "standby",
+                              "overlapAllowed": true
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.heating.schedule",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.standby",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.buffer.sensors.temperature.main",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.buffer.sensors.temperature.main",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.heating.schedule",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.reduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.reduced",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.burners.0.modulation",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.burners.0.modulation",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.sensors.temperature.supply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.sensors.temperature.supply",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "string",
+                  "value": "normal"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.active",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 47.9,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.sensors.temperature.hotWaterStorage",
+          "timestamp": "2023-05-12T18:37:03.923Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "off"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.primary",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.pumps.primary",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.comfort",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.comfort",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.sensors.temperature.room",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.sensors.temperature.room",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.heating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.heating",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.temperature.levels",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.temperature.levels",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.fixed",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.fixed",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "enabled": {
+                  "type": "array",
+                  "value": [
+                      "0"
+                  ]
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.compressors",
+          "timestamp": "2023-05-11T14:01:17.392Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhw",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.dhw",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "value": 50,
+                  "unit": "celsius",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setTargetTemperature": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.temp2/commands/setTargetTemperature",
+                  "name": "setTargetTemperature",
+                  "isExecutable": true,
+                  "params": {
+                      "temperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 60,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.temp2",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.temperature.temp2",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              },
+              "phase": {
+                  "value": "off",
+                  "type": "string"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.0",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.compressors.0",
+          "timestamp": "2023-05-12T09:36:10.159Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.modes.standby",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.1",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.compressors.1",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.eco",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.eco",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.reduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.reduced",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 11.6,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.primaryCircuit.sensors.temperature.supply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.primaryCircuit.sensors.temperature.supply",
+          "timestamp": "2023-05-12T18:39:11.581Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.normalStandby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.normalStandby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "starts": {
+                  "type": "number",
+                  "value": 6973,
+                  "unit": ""
+              },
+              "hours": {
+                  "type": "number",
+                  "value": 13651.9,
+                  "unit": "hour"
+              },
+              "hoursLoadClassOne": {
+                  "type": "number",
+                  "value": 366,
+                  "unit": "hour"
+              },
+              "hoursLoadClassTwo": {
+                  "type": "number",
+                  "value": 5579,
+                  "unit": "hour"
+              },
+              "hoursLoadClassThree": {
+                  "type": "number",
+                  "value": 6024,
+                  "unit": "hour"
+              },
+              "hoursLoadClassFour": {
+                  "type": "number",
+                  "value": 659,
+                  "unit": "hour"
+              },
+              "hoursLoadClassFive": {
+                  "type": "number",
+                  "value": 715,
+                  "unit": "hour"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.compressors.0.statistics",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.compressors.0.statistics",
+          "timestamp": "2023-05-12T09:22:43.824Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.standby",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelFour",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.levelFour",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              },
+              "temperature": {
+                  "value": 22,
+                  "unit": "",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "activate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco/commands/activate",
+                  "name": "activate",
+                  "isExecutable": true,
+                  "params": {}
+              },
+              "deactivate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco/commands/deactivate",
+                  "name": "deactivate",
+                  "isExecutable": false,
+                  "params": {}
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.eco",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.eco",
+          "timestamp": "2023-05-12T05:10:37.384Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.fixed",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.fixed",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "string",
+                  "value": "XXXXXX"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.controller.serial",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.controller.serial",
+          "timestamp": "2023-05-11T14:01:17.392Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "off"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.frostprotection",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.frostprotection",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "off"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.pumps.circulation",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.pumps.circulation",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.modes.standard",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.modes.standard",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.programs.standby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.programs.standby",
+          "timestamp": "2023-05-11T14:01:17.221Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.heatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.heatingCooling",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 23.4,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.sensors.temperature.supply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.sensors.temperature.supply",
+          "timestamp": "2023-05-12T12:39:02.148Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "shift": {
+                  "type": "number",
+                  "unit": "",
+                  "value": 0
+              },
+              "slope": {
+                  "type": "number",
+                  "unit": "",
+                  "value": 0.6
+              }
+          },
+          "commands": {
+              "setCurve": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.curve/commands/setCurve",
+                  "name": "setCurve",
+                  "isExecutable": true,
+                  "params": {
+                      "slope": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 0,
+                              "max": 3.5,
+                              "stepping": 0.1
+                          }
+                      },
+                      "shift": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": -15,
+                              "max": 40,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.heating.curve",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.heating.curve",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 22.1,
+                  "unit": "celsius"
+              },
+              "status": {
+                  "type": "string",
+                  "value": "connected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.secondaryCircuit.sensors.temperature.supply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.secondaryCircuit.sensors.temperature.supply",
+          "timestamp": "2023-05-12T18:22:29.729Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              },
+              "demand": {
+                  "value": "unknown",
+                  "type": "string"
+              },
+              "temperature": {
+                  "value": 20,
+                  "unit": "celsius",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setTemperature": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.reduced/commands/setTemperature",
+                  "name": "setTemperature",
+                  "isExecutable": true,
+                  "params": {
+                      "targetTemperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.reduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.reduced",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": false,
+                  "type": "boolean"
+              },
+              "demand": {
+                  "value": "unknown",
+                  "type": "string"
+              },
+              "temperature": {
+                  "value": 20,
+                  "unit": "celsius",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setTemperature": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/setTemperature",
+                  "name": "setTemperature",
+                  "isExecutable": true,
+                  "params": {
+                      "targetTemperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              },
+              "activate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/activate",
+                  "name": "activate",
+                  "isExecutable": true,
+                  "params": {
+                      "temperature": {
+                          "type": "number",
+                          "required": false,
+                          "constraints": {
+                              "min": 10,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              },
+              "deactivate": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/deactivate",
+                  "name": "deactivate",
+                  "isExecutable": false,
+                  "params": {}
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.programs.comfort",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.programs.comfort",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.forcedNormal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.forcedNormal",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.heating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.heating",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.boiler.sensors.temperature.commonSupply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.boiler.sensors.temperature.commonSupply",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.buffer.sensors.temperature.top",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.buffer.sensors.temperature.top",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.forcedNormal",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.forcedNormal",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.programs.comfort",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.programs.comfort",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.forcedReduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.forcedReduced",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.active",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.active",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "value": "dhwAndHeatingCooling",
+                  "type": "string"
+              }
+          },
+          "commands": {
+              "setMode": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.active/commands/setMode",
+                  "name": "setMode",
+                  "isExecutable": true,
+                  "params": {
+                      "mode": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "enum": [
+                                  "dhw",
+                                  "dhwAndHeatingCooling",
+                                  "standby"
+                              ]
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.active",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.active",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "min": {
+                  "value": 15,
+                  "unit": "celsius",
+                  "type": "number"
+              },
+              "minUnit": {
+                  "value": "celsius",
+                  "type": "string"
+              },
+              "max": {
+                  "value": 45,
+                  "unit": "celsius",
+                  "type": "number"
+              },
+              "maxUnit": {
+                  "value": "celsius",
+                  "type": "string"
+              }
+          },
+          "commands": {
+              "setMin": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setMin",
+                  "name": "setMin",
+                  "isExecutable": true,
+                  "params": {
+                      "temperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 1,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              },
+              "setMax": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setMax",
+                  "name": "setMax",
+                  "isExecutable": true,
+                  "params": {
+                      "temperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 70,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              },
+              "setLevels": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels/commands/setLevels",
+                  "name": "setLevels",
+                  "isExecutable": true,
+                  "params": {
+                      "minTemperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 1,
+                              "max": 30,
+                              "stepping": 1
+                          }
+                      },
+                      "maxTemperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "max": 70,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.temperature.levels",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.temperature.levels",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.normalStandby",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.normalStandby",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "shift": {
+                  "type": "number",
+                  "unit": "",
+                  "value": 0
+              },
+              "slope": {
+                  "type": "number",
+                  "unit": "",
+                  "value": 0.6
+              }
+          },
+          "commands": {
+              "setCurve": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.curve/commands/setCurve",
+                  "name": "setCurve",
+                  "isExecutable": true,
+                  "params": {
+                      "slope": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 0,
+                              "max": 3.5,
+                              "stepping": 0.1
+                          }
+                      },
+                      "shift": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": -15,
+                              "max": 40,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.heating.curve",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.heating.curve",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.sensors.temperature.dhw",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar.sensors.temperature.dhw",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": true
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.dhwAndHeatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.dhwAndHeatingCooling",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.dhwAndHeating",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 0,
+                  "unit": "celsius"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.temperature",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.temperature",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.sensors.temperature.supply",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.sensors.temperature.supply",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.operating.programs.levelThree",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.operating.programs.levelThree",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/ventilation.schedule",
+          "gatewayId": "XXXXXX",
+          "feature": "ventilation.schedule",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "string",
+                  "value": "XXXXXX"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.boiler.serial",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.boiler.serial",
+          "timestamp": "2023-05-11T14:01:17.389Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar.sensors.temperature.collector",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar.sensors.temperature.collector",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.heating",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.heating",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "value": true,
+                  "type": "boolean"
+              },
+              "name": {
+                  "value": "",
+                  "type": "string"
+              },
+              "type": {
+                  "value": "heatingCircuit",
+                  "type": "string"
+              }
+          },
+          "commands": {
+              "setName": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0/commands/setName",
+                  "name": "setName",
+                  "isExecutable": true,
+                  "params": {
+                      "name": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "minLength": 1,
+                              "maxLength": 20
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.solar",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.solar",
+          "timestamp": "2023-05-11T14:01:17.394Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": true
+              },
+              "status": {
+                  "type": "string",
+                  "value": "on"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "value": 50,
+                  "unit": "celsius",
+                  "type": "number"
+              }
+          },
+          "commands": {
+              "setTargetTemperature": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.main/commands/setTargetTemperature",
+                  "name": "setTargetTemperature",
+                  "isExecutable": true,
+                  "params": {
+                      "temperature": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 10,
+                              "efficientLowerBorder": 10,
+                              "efficientUpperBorder": 60,
+                              "max": 60,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.temperature.main",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.temperature.main",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "shift": {
+                  "type": "number",
+                  "unit": "",
+                  "value": -6
+              },
+              "slope": {
+                  "type": "number",
+                  "unit": "",
+                  "value": 0.4
+              }
+          },
+          "commands": {
+              "setCurve": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.curve/commands/setCurve",
+                  "name": "setCurve",
+                  "isExecutable": true,
+                  "params": {
+                      "slope": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": 0,
+                              "max": 3.5,
+                              "stepping": 0.1
+                          }
+                      },
+                      "shift": {
+                          "type": "number",
+                          "required": true,
+                          "constraints": {
+                              "min": -15,
+                              "max": 40,
+                              "stepping": 1
+                          }
+                      }
+                  }
+              }
+          },
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.heating.curve",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.heating.curve",
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "value": {
+                  "type": "number",
+                  "value": 0,
+                  "unit": "celsius"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.temperature",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.temperature",
+          "timestamp": "2023-05-11T14:01:17.392Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "active": {
+                  "type": "boolean",
+                  "value": false
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.operating.modes.forcedReduced",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.0.operating.modes.forcedReduced",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.bottom",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.sensors.temperature.hotWaterStorage.bottom",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.operating.modes.dhw",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.2.operating.modes.dhw",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.operating.modes.heatingCooling",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.operating.modes.heatingCooling",
+          "timestamp": "2023-05-11T14:01:17.391Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {
+              "status": {
+                  "type": "string",
+                  "value": "notConnected"
+              }
+          },
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.dhw.sensors.temperature.outlet",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.dhw.sensors.temperature.outlet",
+          "timestamp": "2023-05-11T14:01:17.393Z",
+          "isEnabled": true,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "properties": {},
+          "commands": {},
+          "apiVersion": 1,
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.circulation.pump",
+          "gatewayId": "XXXXXX",
+          "feature": "heating.circuits.1.circulation.pump",
+          "timestamp": "2023-05-11T14:01:17.390Z",
+          "isEnabled": false,
+          "isReady": true,
+          "deviceId": "0"
+      },
+      {
+          "apiVersion": 1,
+          "isEnabled": true,
+          "isReady": true,
+          "timestamp": "2023-05-11T14:01:17.222Z",
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.name",
+          "feature": "heating.circuits.0.name",
+          "deviceId": "0",
+          "gatewayId": "XXXXXX",
+          "components": [],
+          "commands": {
+              "setName": {
+                  "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.0.name/commands/setName",
+                  "name": "setName",
+                  "isExecutable": true,
+                  "params": {
+                      "name": {
+                          "type": "string",
+                          "required": true,
+                          "constraints": {
+                              "minLength": 1,
+                              "maxLength": 20
+                          }
+                      }
+                  }
+              }
+          },
+          "properties": {
+              "name": {
+                  "type": "string",
+                  "value": ""
+              }
           }
-        }
       },
-      "properties": {
-        "name": {
-          "type": "string",
-          "value": ""
-        }
+      {
+          "apiVersion": 1,
+          "isEnabled": false,
+          "isReady": true,
+          "gatewayId": "XXXXXX",
+          "timestamp": "2021-12-04T14:50:27.994Z",
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.name",
+          "feature": "heating.circuits.1.name",
+          "components": [],
+          "deviceId": "0",
+          "commands": {},
+          "properties": {}
+      },
+      {
+          "apiVersion": 1,
+          "isEnabled": false,
+          "isReady": true,
+          "gatewayId": "XXXXXX",
+          "timestamp": "2021-12-04T14:50:27.998Z",
+          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.name",
+          "feature": "heating.circuits.2.name",
+          "components": [],
+          "deviceId": "0",
+          "commands": {},
+          "properties": {}
       }
-    },
-    {
-      "apiVersion": 1,
-      "isEnabled": false,
-      "isReady": true,
-      "gatewayId": "XXXXXX",
-      "timestamp": "2021-12-04T14:50:27.994Z",
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.1.name",
-      "feature": "heating.circuits.1.name",
-      "components": [],
-      "deviceId": "0",
-      "commands": {},
-      "properties": {}
-    },
-    {
-      "apiVersion": 1,
-      "isEnabled": false,
-      "isReady": true,
-      "gatewayId": "XXXXXX",
-      "timestamp": "2021-12-04T14:50:27.998Z",
-      "uri": "https://api.viessmann.com/iot/v1/equipment/installations/XXXXXX/gateways/XXXXXX/devices/0/features/heating.circuits.2.name",
-      "feature": "heating.circuits.2.name",
-      "components": [],
-      "deviceId": "0",
-      "commands": {},
-      "properties": {}
-    }
   ]
-}
+}
\ No newline at end of file
diff --git a/tests/test_TestForMissingProperties.py b/tests/test_TestForMissingProperties.py
index 5ec3fbb..d011afe 100644
--- a/tests/test_TestForMissingProperties.py
+++ b/tests/test_TestForMissingProperties.py
@@ -106,7 +106,7 @@ class TestForMissingProperties(unittest.TestCase):
             for match in re.findall(r'getProperty\(\s*?f?"(.*)"\s*?\)', all_python_files[python]):
                 feature_name = re.sub(r'{self.(circuit|burner|compressor)}', '0', match)
                 feature_name = re.sub(r'{burner}', '0', feature_name)
-                feature_name = re.sub(r'\.{(program|active_programm)}', '', feature_name)
+                feature_name = re.sub(r'\.{(program|active_program)}', '', feature_name)
                 used_features.append(feature_name)
 
         self.assertSetEqual(set([]), set(used_features) - set(all_features))
diff --git a/tests/test_Vitocal200.py b/tests/test_Vitocal200.py
index 3d0bf22..2411726 100644
--- a/tests/test_Vitocal200.py
+++ b/tests/test_Vitocal200.py
@@ -16,45 +16,45 @@ class Vitocal200(unittest.TestCase):
 
     def test_getCompressorHours(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHours(), 11362.7)
+            self.device.compressors[0].getHours(), 13651.9)
 
     def test_getAvailableCompressors(self):
         self.assertEqual(self.device.getAvailableCompressors(), ['0'])
 
     def test_getCompressorStarts(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getStarts(), 5101)
+            self.device.compressors[0].getStarts(), 6973)
 
     def test_getCompressorHoursLoadClass1(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHoursLoadClass1(), 283)
+            self.device.compressors[0].getHoursLoadClass1(), 366)
 
     def test_getCompressorHoursLoadClass2(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHoursLoadClass2(), 4336)
+            self.device.compressors[0].getHoursLoadClass2(), 5579)
 
     def test_getCompressorHoursLoadClass3(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHoursLoadClass3(), 5275)
+            self.device.compressors[0].getHoursLoadClass3(), 6024)
 
     def test_getCompressorHoursLoadClass4(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHoursLoadClass4(), 611)
+            self.device.compressors[0].getHoursLoadClass4(), 659)
 
     def test_getCompressorHoursLoadClass5(self):
         self.assertAlmostEqual(
-            self.device.compressors[0].getHoursLoadClass5(), 606)
+            self.device.compressors[0].getHoursLoadClass5(), 715)
 
     def test_getHeatingCurveSlope(self):
         self.assertAlmostEqual(
-            self.device.circuits[0].getHeatingCurveSlope(), 0.3)
+            self.device.getCircuit(0).getHeatingCurveSlope(), 0.4)
 
     def test_getHeatingCurveShift(self):
         self.assertAlmostEqual(
-            self.device.circuits[0].getHeatingCurveShift(), -5)
+            self.device.getCircuit(0).getHeatingCurveShift(), -6)
 
     def test_getReturnTemperature(self):
-        self.assertAlmostEqual(self.device.getReturnTemperature(), 25.6)
+        self.assertAlmostEqual(self.device.getReturnTemperature(), 22.7)
 
     def test_getReturnTemperaturePrimaryCircuit(self):
         self.assertRaises(PyViCareNotSupportedFeatureError,
@@ -62,18 +62,18 @@ class Vitocal200(unittest.TestCase):
 
     def test_getSupplyTemperaturePrimaryCircuit(self):
         self.assertAlmostEqual(
-            self.device.getSupplyTemperaturePrimaryCircuit(), 13.4)
+            self.device.getSupplyTemperaturePrimaryCircuit(), 11.6)
 
     def test_getPrograms(self):
         expected_programs = ['active', 'comfort', 'eco',
                              'fixed', 'normal', 'reduced', 'standby']
         self.assertListEqual(
-            self.device.circuits[0].getPrograms(), expected_programs)
+            self.device.getCircuit(0).getPrograms(), expected_programs)
 
     def test_getModes(self):
-        expected_modes = ['standby', 'dhw', 'dhwAndHeatingCooling']
+        expected_modes = ['dhw', 'dhwAndHeatingCooling', 'standby']
         self.assertListEqual(
-            self.device.circuits[0].getModes(), expected_modes)
+            self.device.getCircuit(0).getModes(), expected_modes)
 
     def test_getDomesticHotWaterCirculationPumpActive(self):
         self.assertEqual(
@@ -81,15 +81,23 @@ class Vitocal200(unittest.TestCase):
 
     def test_getDomesticHotWaterActiveMode_fri_10_10_time(self):
         with now_is('2021-09-10 10:10:00'):
-            self.assertEqual(
-                self.device.getDomesticHotWaterActiveMode(), 'temp-2')
+            self.assertIsNone(self.device.getDomesticHotWaterActiveMode())
 
     def test_getDomesticHotWaterDesiredTemperature_fri_10_10_time(self):
         with now_is('2021-09-10 10:10:00'):
-            self.assertEqual(
-                self.device.getDomesticHotWaterDesiredTemperature(), 60)
+            self.assertIsNone(
+                self.device.getDomesticHotWaterDesiredTemperature())
 
     def test_getDomesticHotWaterDesiredTemperature_fri_20_00_time(self):
         with now_is('2021-09-10 20:00:00'):
             self.assertEqual(
                 self.device.getDomesticHotWaterDesiredTemperature(), 50)
+
+    def test_getActiveProgramMinTemperature(self):
+        self.assertEqual(self.device.getCircuit(0).getActiveProgramMinTemperature(), 10)
+
+    def test_getActiveProgramMaxTemperature(self):
+        self.assertEqual(self.device.getCircuit(0).getActiveProgramMaxTemperature(), 30)
+
+    def test_getActiveProgramMaxTemperature(self):
+        self.assertEqual(self.device.getCircuit(0).getActiveProgramStepping(), 1)
\ No newline at end of file