openviess / PyViCare

Python Library to access Viessmann ViCare API
Apache License 2.0
131 stars 87 forks source link

Heat pump power consumption #301

Open stefanvogel64 opened 1 year ago

stefanvogel64 commented 1 year ago

I like PyViCare. It’s very helpful. But I’m missing the value for heat pump power consumption. I upgrade to the new version. There is a function get….power consumption. But it doesn’t work. Python return an error

nagelp commented 1 year ago

Can you show your script and the error message?

I don't have a heat pump, so I can't test your specific case directly, but maybe with that info we can find out what's going on.

stefanvogel64 commented 1 year ago

das Script benutze ich schon über ein Jahr. Läuft jede halbe Stunden auf meinem PI.

In der alten PyVicare gab es bisher keine PowerConsumption.

Wollte jetzt nur die neuen DEFs für PowerConsumption benutzen. Aber da gibt es immer einen Fehler.

import sys

import logging

import datetime

from PyViCare.PyViCare import PyViCare

import PyViCare.PyViCareHeatPump as py

auf Viessmann Seite muss man sich eine API Key erstellen

https://developer.viessmann.com/de

libaray : https://github.com/somm15/PyViCare

library : https://pypi.org/project/PyViCare/#description

client_id = "xxxxxxxxxxxxxxxxxxxx"

email = @.***"

password = xxxxxxxxxxxxxxxxxxx"

vicare = PyViCare()

vicare.initWithCredentials(email, password, client_id, "token.save")

device = vicare.devices[0]

hp = device.asHeatPump;

print(device.getModel())

print("Online" if device.isOnline() else "Offline")

print(device.get_raw_json())

print(device.getConfig())

h = device.asHeatPump()

print(h.getAvailableCompressors())

print(h.getCircuit())

print(h.getCircuit)

print(h.getDomesticHotWaterConfiguredTemperature()) # eingestellte Wassertemperatur

print(h.getDomesticHotWaterStorageTemperature()) # aktuelle Wassertemperatur

print(h.getAvailableCompressors())

print(h.getPowerConsumptionUnit())

print(h.getPowerConsumptionToday[0])

Outputs bis zum Fehler:

Von: Patrick Nagel @.> Gesendet: Samstag, 18. Februar 2023 16:27 An: somm15/PyViCare @.> Cc: stefanvogel64 @.>; Author @.> Betreff: Re: [somm15/PyViCare] Heat pump power consumption (Issue #301)

Can you show your script and the error message?

I don't have a heat pump, so I can't test your specific case directly, but maybe with that info we can find out what's going on.

— Reply to this email directly, view it on GitHub https://github.com/somm15/PyViCare/issues/301#issuecomment-1435699851 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A57LDKCPENBZPDA3P5BLDBDWYDS3HANCNFSM6AAAAAAVAK6TAM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/A57LDKBKYQLSZM3BNOBHA7LWYDS3HA5CNFSM6AAAAAAVAK6TAOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSVSMFIW.gif Message ID: @. @.> >

JeB2022Nov commented 1 year ago

When looking at the JSON, is there an entry for power consumption for your device at all and if it is, is it enabled? It could be that this feature is not available for the device and/or the free API version.

stefanvogel64 commented 1 year ago

I used this command. Is this right?

vicare = PyViCare()

vicare.initWithCredentials(email, password, client_id, "token.save")

device = vicare.devices[0]

hp = device.asHeatPump;

print(device.getModel())

print("Online" if device.isOnline() else "Offline")

devjson =device.get_raw_json();

print(device.get_raw_json());

And got back this JSON (dict)

{'apiVersion': 1,

       'commands': {'setSchedule': {'isExecutable': True,

                                    'name': 'setSchedule',

                                    'params': {'newSchedule': {'constraints': {'defaultMode': 'off',

                                                                               'maxEntries': 8,

                                                                               'modes': ['top',

                                                                                         'normal',

                                                                                         'temp-2'],

                                                                               'overlapAllowed': True,

                                                                               'resolution': 10},

                                                               'required': True,

                                                               'type': 'Schedule'}},

                                    'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.schedule/commands/setSchedule'}},

       'deviceId': '0',

       'feature': 'heating.dhw.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'entries': {'type': 'Schedule',

                                  'value': {'fri': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'mon': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'sat': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'sun': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'thu': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'tue': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}],

                                            'wed': [{'end': '22:30',

                                                     'mode': 'top',

                                                     'position': 0,

                                                     'start': '05:00'}]}}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.schedule'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw.sensors.temperature.hotWaterStorage',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string', 'value': 'connected'},

                      'value': {'type': 'number',

                                'unit': 'celsius',

                                'value': 47.5}},

       'timestamp': '2023-02-22T18:36:36.012Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.0.temperature',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'value': {'type': 'number',

                                'unit': 'celsius',

                                'value': 27.2}},

       'timestamp': '2023-02-22T18:16:48.602Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.temperature'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw.pumps.primary',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string', 'value': 'off'}},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.pumps.primary'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.modes.standby',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.modes.standby'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.solar',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.solar'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.modes.forcedReduced',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.modes.forcedReduced'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.levelTwo',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.levelTwo'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.programs.fixed',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.programs.fixed'},

      {'apiVersion': 1,

       'commands': {'setHysteresis': {'isExecutable': True,

                                     'name': 'setHysteresis',

                                      'params': {'hysteresis': {'constraints': {'max': 10,

                                                                                'min': 1,

                                                                               'stepping': 0.5},

                                                                'required': True,

                                                                'type': 'number'}},

                                      'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresis'},

                    'setHysteresisSwitchOffValue': {'isExecutable': True,

                                                    'name': 'setHysteresisSwitchOffValue',

                                                    'params': {'hysteresis': {'constraints': {'max': 10,

                                                                                              'min': 1,

                                                                                              'stepping': 0.5},

                                                                              'required': True,

                                                                              'type': 'number'}},

                                                    'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOffValue'},

                    'setHysteresisSwitchOnValue': {'isExecutable': True,

                                                   'name': 'setHysteresisSwitchOnValue',

                                                   'params': {'hysteresis': {'constraints': {'max': 10,

                                                                                             'min': 1,

                                                                                             'stepping': 0.5},

                                                                             'required': True,

                                                                             'type': 'number'}},

                                                   'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.hysteresis/commands/setHysteresisSwitchOnValue'}},

       'deviceId': '0',

       'feature': 'heating.dhw.temperature.hysteresis',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'switchOffValue': {'type': 'number',

                                         'unit': 'kelvin',

                                         'value': 5},

                      'switchOnValue': {'type': 'number',

                                        'unit': 'kelvin',

                                        'value': 5},

                      'value': {'type': 'number',

                                'unit': 'kelvin',

                                'value': 5}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.hysteresis'},

      {'apiVersion': 1,

       'commands': {'setTargetTemperature': {'isExecutable': True,

                                             'name': 'setTargetTemperature',

                                             'params': {'temperature': {'constraints': {'max': 60,

                                                                                        'min': 10,

                                                                                        'stepping': 1},

                                                                        'required': True,

                                                                        'type': 'number'}},

                                             'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.temp2/commands/setTargetTemperature'}},

       'deviceId': '0',

       'feature': 'heating.dhw.temperature.temp2',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'value': {'type': 'number',

                                'unit': 'celsius',

                                'value': 55}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.temperature.temp2'},

      {'apiVersion': 1,

       'commands': {'setLevels': {'isExecutable': True,

                                  'name': 'setLevels',

                                  'params': {'maxTemperature': {'constraints': {'max': 70,

                                                                                'min': 10,

                                                                                'stepping': 1},

                                                                'required': True,

                                                                'type': 'number'},

                                             'minTemperature': {'constraints': {'max': 30,

                                                                                'min': 1,

                                                                                'stepping': 1},

                                                                'required': True,

                                                                'type': 'number'}},

                                  'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.temperature.levels/commands/setLevels'},

                    'setMax': {'isExecutable': True,

                               'name': 'setMax',

                               'params': {'temperature': {'constraints': {'max': 70,

                                                                          'min': 10,

                                                                          'stepping': 1},

                                                          'required': True,

                                                          'type': 'number'}},

                               'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.temperature.levels/commands/setMax'},

                    'setMin': {'isExecutable': True,

                               'name': 'setMin',

                               'params': {'temperature': {'constraints': {'max': 30,

                                                                          'min': 1,

                                                                          'stepping': 1},

                                                          'required': True,

                                                          'type': 'number'}},

                               'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.temperature.levels/commands/setMin'}},

       'deviceId': '0',

       'feature': 'heating.circuits.0.temperature.levels',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'max': {'type': 'number',

                              'unit': 'celsius',

                              'value': 40},

                      'maxUnit': {'type': 'string', 'value': 'celsius'},

                      'min': {'type': 'number',

                              'unit': 'celsius',

                              'value': 15},

                      'minUnit': {'type': 'string', 'value': 'celsius'}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.temperature.levels'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw.sensors.temperature.hotWaterStorage.bottom',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string',

                                 'value': 'notConnected'}},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage.bottom'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.levelThree',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.levelThree'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.modes.standby',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.standby'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.programs.comfort',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.programs.comfort'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.boiler.serial',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'value': {'type': 'string',

                                'value': '7788532901774112'}},

       'timestamp': '2023-02-21T14:40:06.959Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.boiler.serial'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.eco',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.eco'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.modes.dhwAndHeating',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.dhwAndHeating'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.programs.normal',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.programs.normal'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.circulation.pump',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.circulation.pump'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.compressors.0',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'phase': {'type': 'string', 'value': 'heating'}},

       'timestamp': '2023-02-22T18:31:12.950Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.compressors.0'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.modes.dhw',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.dhw'},

      {'apiVersion': 1,

       'commands': {'setSchedule': {'isExecutable': True,

                                    'name': 'setSchedule',

                                    'params': {'newSchedule': {'constraints': {'defaultMode': 'off',

                                                                               'maxEntries': 8,

                                                                               'modes': ['5/25-cycles',

                                                                                         '5/10-cycles',

                                                                                         'on'],

                                                                               'overlapAllowed': True,

                                                                               'resolution': 10},

                                                               'required': True,

                                                               'type': 'Schedule'}},

                                    'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.pumps.circulation.schedule/commands/setSchedule'}},

       'deviceId': '0',

       'feature': 'heating.dhw.pumps.circulation.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'entries': {'type': 'Schedule',

                                  'value': {'fri': [],

                                            'mon': [{'end': '07:40',

                                                     'mode': '5/25-cycles',

                                                     'position': 0,

                                                     'start': '05:40'},

                                                    {'end': '21:00',

                                                     'mode': '5/25-cycles',

                                                     'position': 2,

                                                     'start': '17:00'}],

                                            'sat': [],

                                            'sun': [],

                                            'thu': [],

                                            'tue': [{'end': '07:40',

                                                     'mode': '5/25-cycles',

                                                     'position': 0,

                                                     'start': '05:40'},

                                                    {'end': '21:00',

                                                     'mode': '5/25-cycles',

                                                     'position': 2,

                                                     'start': '17:00'}],

                                            'wed': [{'end': '07:40',

                                                     'mode': '5/25-cycles',

                                                     'position': 0,

                                                     'start': '05:40'},

                                                    {'end': '21:00',

                                                     'mode': '5/25-cycles',

                                                     'position': 2,

                                                     'start': '17:00'}]}}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.pumps.circulation.schedule'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.modes.dhwAndHeating',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.modes.dhwAndHeating'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.modes.heating',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.heating'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.burners.0.statistics',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.959Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.burners.0.statistics'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.active',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.active'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.modes.standby',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.modes.standby'},

      {'apiVersion': 1,

       'commands': {'setMode': {'isExecutable': False,

                                'name': 'setMode',

                                'params': {'mode': {'constraints': {'enum': ['balanced']},

                                                    'required': True,

                                                    'type': 'string'}},

                                'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.operating.modes.active/commands/setMode'}},

       'deviceId': '0',

       'feature': 'heating.dhw.operating.modes.active',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'value': {'type': 'string', 'value': 'balanced'}},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.operating.modes.active'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.programs.reduced',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.programs.reduced'},

      {'apiVersion': 1,

       'commands': {'setCurve': {'isExecutable': True,

                                 'name': 'setCurve',

                                 'params': {'shift': {'constraints': {'max': 40,

                                                                      'min': -15,

                                                                      'stepping': 1},

                                                      'required': True,

                                                      'type': 'number'},

                                            'slope': {'constraints': {'max': 3.5,

                                                                      'min': 0,

                                                                      'stepping': 0.1},

                                                      'required': True,

                                                      'type': 'number'}},

                                 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.heating.curve/commands/setCurve'}},

       'deviceId': '0',

       'feature': 'heating.circuits.0.heating.curve',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'shift': {'type': 'number', 'unit': '', 'value': -5},

                      'slope': {'type': 'number',

                                'unit': '',

                                'value': 0.6}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.heating.curve'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.programs.active',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.programs.active'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.sensors.temperature.outside',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string', 'value': 'connected'},

                      'value': {'type': 'number',

                                'unit': 'celsius',

                                'value': 9.7}},

       'timestamp': '2023-02-22T18:42:40.893Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.sensors.temperature.outside'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.sensors.temperature.supply',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.961Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.sensors.temperature.supply'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.0.operating.modes.heating',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.modes.heating'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.compressors.0.statistics',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'hours': {'type': 'number',

                                'unit': 'hour',

                                'value': 5484.5},

                      'hoursLoadClassFive': {'type': 'number',

                                             'unit': 'hour',

                                             'value': 622},

                      'hoursLoadClassFour': {'type': 'number',

                                             'unit': 'hour',

                                             'value': 954},

                      'hoursLoadClassOne': {'type': 'number',

                                            'unit': 'hour',

                                            'value': 180},

                      'hoursLoadClassThree': {'type': 'number',

                                              'unit': 'hour',

                                              'value': 2119},

                      'hoursLoadClassTwo': {'type': 'number',

                                            'unit': 'hour',

                                            'value': 1506},

                      'starts': {'type': 'number',

                                 'unit': '',

                                 'value': 6317}},

       'timestamp': '2023-02-22T18:51:06.467Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.compressors.0.statistics'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.heating.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.heating.schedule'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.levelOne',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.levelOne'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.schedule'},

      {'apiVersion': 1,

       'commands': {'activate': {'isExecutable': True,

                                 'name': 'activate',

                                 'params': {'temperature': {'constraints': {'max': 30,

                                                                            'min': 10,

                                                                            'stepping': 1},

                                                            'required': False,

                                                            'type': 'number'}},

                                 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/activate'},

                    'deactivate': {'isExecutable': False,

                                   'name': 'deactivate',

                                   'params': {},

                                   'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/deactivate'},

                    'setTemperature': {'isExecutable': True,

                                       'name': 'setTemperature',

                                       'params': {'targetTemperature': {'constraints': {'max': 30,

                                                                                        'min': 10,

                                                                                        'stepping': 1},

                                                                        'required': True,

                                                                        'type': 'number'}},

                                       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.programs.comfort/commands/setTemperature'}},

       'deviceId': '0',

       'feature': 'heating.circuits.0.operating.programs.comfort',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': False},

                      'demand': {'type': 'string', 'value': 'unknown'},

                      'temperature': {'type': 'number',

                                      'unit': 'celsius',

                                      'value': 21}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.programs.comfort'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw.charging',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': False}},

       'timestamp': '2023-02-22T18:00:45.086Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.charging'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.programs.normal',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.programs.normal'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'ventilation.operating.programs.levelFour',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.963Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.programs.levelFour'},

      {'apiVersion': 1,

       'commands': {'setName': {'isExecutable': True,

                                'name': 'setName',

                                'params': {'name': {'constraints': {'maxLength': 20,

                                                                    'minLength': 1},

                                                    'required': True,

                                                    'type': 'string'}},

                                'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0/commands/setName'}},

       'deviceId': '0',

       'feature': 'heating.circuits.0',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'name': {'type': 'string', 'value': ''},

                      'type': {'type': 'string',

                               'value': 'heatingCircuit'}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.boiler.sensors.temperature.commonSupply',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string',

                                 'value': 'notConnected'}},

       'timestamp': '2023-02-21T14:40:06.959Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.boiler.sensors.temperature.commonSupply'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw.sensors.temperature.outlet',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string',

                                 'value': 'notConnected'}},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw.sensors.temperature.outlet'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.solar.sensors.temperature.collector',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.solar.sensors.temperature.collector'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.frostprotection',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.frostprotection'},

      {'apiVersion': 1,

       'commands': {'setSchedule': {'isExecutable': True,

                                    'name': 'setSchedule',

                                    'params': {'newSchedule': {'constraints': {'defaultMode': 'standby',

                                                                               'maxEntries': 8,

                                                                               'modes': ['reduced',

                                                                                         'normal',

                                                                                         'fixed'],

                                                                               'overlapAllowed': True,

                                                                               'resolution': 10},

                                                               'required': True,

                                                               'type': 'Schedule'}},

                                    'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.heating.schedule/commands/setSchedule'}},

       'deviceId': '0',

       'feature': 'heating.circuits.0.heating.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'entries': {'type': 'Schedule',

                                  'value': {'fri': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'mon': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'sat': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'sun': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'thu': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'tue': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}],

                                            'wed': [{'end': '05:00',

                                                     'mode': 'reduced',

                                                     'position': 0,

                                                     'start': '00:00'},

                                                    {'end': '24:00',

                                                     'mode': 'normal',

                                                     'position': 1,

                                                     'start': '05:00'}]}}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.heating.schedule'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.operating.modes.heatingCooling',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.operating.modes.heatingCooling'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.primaryCircuit.sensors.temperature.return',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'status': {'type': 'string',

                                 'value': 'notConnected'}},

       'timestamp': '2023-02-21T14:40:06.962Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.primaryCircuit.sensors.temperature.return'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.sensors.temperature.room',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.sensors.temperature.room'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.frostprotection',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.frostprotection'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.sensors.temperature.room',

      'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-21T14:40:06.960Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.sensors.temperature.room'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.dhw',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'active': {'type': 'boolean', 'value': True},

                      'status': {'type': 'string', 'value': 'on'}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.dhw'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.programs.standby',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.programs.standby'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.heating.schedule',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.heating.schedule'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.2.temperature.levels',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.temperature.levels'},

      {'apiVersion': 1,

       'commands': {},

       'deviceId': '0',

       'feature': 'heating.circuits.1.operating.modes.heatingCooling',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.heatingCooling'},

      {'apiVersion': 1,

       'commands': {'setName': {'isExecutable': True,

                                'name': 'setName',

                                'params': {'name': {'constraints': {'maxLength': 20,

                                                                    'minLength': 1},

                                                    'required': True,

                                                    'type': 'string'}},

                                'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.name/commands/setName'}},

       'components': [],

       'deviceId': '0',

       'feature': 'heating.circuits.0.name',

       'gatewayId': '7637415000671193',

       'isEnabled': True,

       'isReady': True,

       'properties': {'name': {'type': 'string', 'value': ''}},

       'timestamp': '2023-02-18T22:10:23.078Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.name'},

      {'apiVersion': 1,

       'commands': {},

       'components': [],

       'deviceId': '0',

       'feature': 'heating.circuits.1.name',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2021-12-02T02:40:27.429Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.name'},

      {'apiVersion': 1,

       'commands': {},

       'components': [],

       'deviceId': '0',

       'feature': 'heating.circuits.2.name',

       'gatewayId': '7637415000671193',

       'isEnabled': False,

       'isReady': True,

       'properties': {},

       'timestamp': '2021-12-02T02:40:27.550Z',

       'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.2.name'}]}

{'data': [{'properties': {'active': {'value': False, 'type': 'boolean'}}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.modes.dhw', 'gatewayId': '7637415000671193', 'feature': 'heating.circuits.0.operating.modes.dhw', 'timestamp': '2023-02-18T22:10:23.077Z', 'isEnabled': True, 'isReady': True, 'deviceId': '0'}, {'properties': {'active': {'type': 'boolean', 'value': False}}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.programs.fixed', 'gatewayId': '7637415000671193', 'feature': 'heating.circuits.0.operating.programs.fixed', 'timestamp': '2023-02-21T14:40:06.960Z', 'isEnabled': True, 'isReady': True, 'deviceId': '0'}, {'properties': {'active': {'value': False, 'type': 'boolean'}}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.0.operating.modes.forcedReduced', 'gatewayId': '7637415000671193', 'feature': 'heating.circuits.0.operating.modes.forcedReduced', 'timestamp': '2023-02-18T22:10:23.077Z', '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/185436/gateways/7637415000671193/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/185436/gateways/7637415000671193/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/185436/gateways/7637415000671193/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/185436/gateways/7637415000671193/devices/0/features/heating.operating.programs.holiday', 'gatewayId': '7637415000671193', 'feature': 'heating.operating.programs.holiday', 'timestamp': '2023-02-18T22:10:23.077Z', 'isEnabled': True, 'isReady': True, 'deviceId': '0'}, {'properties': {'value': {'type': 'string', 'value': '7728494905490116'}}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.controller.serial', 'gatewayId': '7637415000671193', 'feature': 'heating.controller.serial', 'timestamp': '2023-02-21T14:40:06.961Z', 'isEnabled': True, 'isReady': True, 'deviceId': '0'}, {'properties': {}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.circuits.1.operating.modes.normalStandby', 'gatewayId': '7637415000671193', 'feature': 'heating.circuits.1.operating.modes.normalStandby', 'timestamp': '2023-02-18T22:10:23.077Z', 'isEnabled': False, 'isReady': True, 'deviceId': '0'}, {'properties': {}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/heating.solar.sensors.temperature.dhw', 'gatewayId': '7637415000671193', 'feature': 'heating.solar.sensors.temperature.dhw', 'timestamp': '2023-02-21T14:40:06.962Z', 'isEnabled': False, 'isReady': True, 'deviceId': '0'}, {'properties': {}, 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/equipment/installations/185436/gateways/7637415000671193/devices/0/features/ventilation.operating.modes.standard', 'gatewayId': '7637415000671193', 'feature': 'ventila

JeB2022Nov commented 1 year ago

Hi, so far I can see, there is no feature returing power consumption for the heatpump in the JSON at all. The PyVicare can only report what is in there. Question is, whether you see power consumption if using the App? In this case, power consumption would be available for your account / device and the remaining question is, why it is not available using the API? If it is not visible with the App either, this feature is just not available for your account/device.

stefanvogel64 commented 1 year ago

Thanks for your help.

My ViCare App from Viessmann doesn’t show power consumption. This is only available direct at the heat pump in the menu.

Von: JeB2022Nov @.> Gesendet: Donnerstag, 23. Februar 2023 11:13 An: somm15/PyViCare @.> Cc: stefanvogel64 @.>; Author @.> Betreff: Re: [somm15/PyViCare] Heat pump power consumption (Issue #301)

Hi, so far I can see, there is no feature returing power consumption for the heatpump in the JSON at all. The PyVicare can only report what is in there. Question is, whether you see power consumption if using the App? In this case, power consumption would be available for your account / device and the remaining question is, why it is not available using the API? If it is not visible with the App either, this feature is just not available for your account/device.

— Reply to this email directly, view it on GitHub https://github.com/somm15/PyViCare/issues/301#issuecomment-1441498928 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A57LDKBX6DQXYD3JNXKUC7DWY4Z2TANCNFSM6AAAAAAVAK6TAM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/A57LDKHNUPNCRD6LVAPRZN3WY4Z2TA5CNFSM6AAAAAAVAK6TAOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSV5ODTA.gif Message ID: @. @.> >

stefanvogel64 commented 1 year ago

on my mobile device I upgraded to Pro version of ViCare App which costs 3,99€ per month. There I now can also see power consumption on different time levels (down to hour) for complete time range. Why can't I access this data via pyViCare libarary? Or does it takes a couple of days till it's released for my account. I still can't the power consumption in JSON heat pump object.

dennisheitmann commented 1 year ago

@stefanvogel64 The Viessmann developer account (which is used by this library) is to my knowledge independent from the in-app subscription.

dennisheitmann commented 1 year ago

@stefanvogel64 Please look here for api subscriptions: https://developer.viessmann.com/start/pricing.html

stefanvogel64 commented 1 year ago

This means I have to pay to get just the data from may own heat pump? Unbelievable. With basic access I can get and set all IOT points. But power consumption values are not allowed? Is it possible to access the heat pump directly within my own network?

dennisheitmann commented 1 year ago

@stefanvogel64 Please always remember that this open source library only uses the official Viessmann API. The Viessmann company decides for itself what is possible with this API and your device. This library only makes easy access for Python scripts to this API.

dennisheitmann commented 1 year ago

@stefanvogel64 Unfortunately there is no direct access to the devices in our own networks. Otherwise, I guess, 90% of the users of this library would immediately switch to direct data read...

stefanvogel64 commented 1 year ago

Thanks for your help. It’s a very helpful and great library you developed. I just complain about Viessmann that they want to have extra money for own heat pump data

woehrl01 commented 1 year ago

@stefanvogel64 in order to see if the api returns data for you, you can generate a dump like described in the Readme. Maybe there are a few additional methods missing. Unfortunately not every data is returned for every device, and we are depending on hints for missing data fields.

stefanvogel64 commented 1 year ago

I did the dump using the coding from your readme file. So, my Vitocal 222S doens't return all the power consumption data. In the Viessmann API description it's part of the BASIC(free) package. Can I do some further tests for you? It's strange that the ViCare App shows the power consumption data in their payed version.

JeB2022Nov commented 1 year ago

@stefanvogel64: Is it possible to access the heat pump directly within my own network?

I don't know any solution to interact directly with the vitoconnect modem device by WLAN. However, if you google around, there are solutions, to build an own optolink to USB connector and a Raspi SW, where you be the man in the middle on the way to the vitoconnect and you can read and control much more than by the API. However, it was looking too complicated for me and I didn't study it in more detail. Another option is a commercial KNX interface to the heating system.

woehrl01 commented 1 year ago

@stefanvogel64 If you pay for the data, I suggest you write to the developer support of Viessmann directly. The data should be there, it least that's the reason why they sell that.

crazyfx1 commented 1 year ago

If you have the Vitoconnect 100 (which most of us have), you can use it's USB to Optolink Cable instead of building one. The only downside is that then you don't have a cable for the Vitoconnect anymore ;)

Some more info direct access in via vonctrold for Home-Assistant is here: https://community.home-assistant.io/t/viessmann-openv-vcontrold-client-optolink/496463

kjfschils commented 1 year ago

I'm having similar issue where my Vitocal 222A doesn't show power consumption in PyViCare because not available in JSON. But I do see power consumption in ViCare App and also https://viguide.viessmann.com/ shows power consumption (as per screenshot). Is this an issue on Viessmann side or are changes in PyViCare integration required? image

crazyfx1 commented 1 year ago

If it's not in the JSON there is nothing we can do.

stefanvogel64 commented 1 year ago

that's bad that Viessmann doesn't support the API with all parameters. In my payed mobile App I get consumption values down to quarter hour base. But JSON object shows now consumption per week.

crazyfx1 commented 1 year ago

I have a Vitocal 200 from 2018 and I'm also seeing the consumption in the ViCare app. This must be a newer feature, haven't seen it before. But the API still doesn't provide any consumption values for me.

stefanvogel64 commented 1 year ago

I checked the JSON opbject and then add 3 functions to moule PyViCareHeatpump.py:

test ownFunktion

def getPowerTotal(self):
    return self.service.getProperty("heating.compressors.0.power.consumption.dhw.week")
def getPowerTotal2(self):
    return self.service.getProperty("heating.compressors.0.heat.production.dhw.week")
def getPowerTotal3(self):
    return self.service.getProperty("heating.compressors.0.power.consumption.heating.week")