Giter Club home page Giter Club logo

cozytouchpy's People

Contributors

bestlibre avatar biker91620 avatar bpoirriez avatar cyr-ius avatar deadia avatar dguihal avatar ptimatth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cozytouchpy's Issues

example.py script exits with error

Traceback (most recent call last): File "./example.py", line 98, in <module> loop.run_until_complete(async_demo()) File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete return future.result() File "./example.py", line 58, in async_demo await client.connect() File "/home/rutger/dev/cozytouchpy/cozytouchpy/client.py", line 79, in connect response = await self.__post("login", data=payload) File "/home/rutger/dev/cozytouchpy/cozytouchpy/client.py", line 58, in __post f"{self.server.endpoint}{path}", AttributeError: 'str' object has no attribute 'endpoint' 2023-05-20 16:36:38,085 - asyncio - ERROR - Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x761a6590> 2023-05-20 16:36:38,086 - asyncio - ERROR - Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x75c35d88>, 2662954.852166356)]'] connector: <aiohttp.connector.TCPConnector object at 0x75d0f970>

I included the proposed fixes for API and auth.

When using 3.1 version, example.py is returning an issue

Hi,

Using 2.0.3 version for a while, I uninstalled this version to use the new 3.1, but when I want to try the "example.py", it does not work properly with this result:

$ python3 example.py
2021-09-20 15:16:27,384 - root - INFO - ### PLACES ###
Traceback (most recent call last):
File "example.py", line 98, in <module>
loop.run_until_complete(async_demo())
File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
return future.result()
File "example.py", line 65, in async_demo
logger.info(place.id)
AttributeError: 'str' object has no attribute 'id'

I uninstalled 3.1 and reinstalled 2.0.3, and the example.py is working fine with my cozytouch account set in example.py.
Maybe something to change in example.py?

Great work, by the way. :)

Pilot Wire Interface - Enable Prog mode

Hello, and thx for moving-on biker91620 nice initial job !

Just to let you know that the Cozytouch API has a strange behaviour when it comes to setting operating mode of Pilot Wire Interfaces (I have a few of them at home).

On a "standard" cozytouch enabled heater, you basicaly set the operating mode (Auto, Basic, Prog ...). If you defined Basic, you can then set the heating level (Confort, etc ...).

Strangely, Pilot Wire Interface does not implement the operating mode API (!) so the cozytouch App only leverage Heating levels (off, confort, eco ...).
Fair enough, it does the job ... The main question is then ... how do we enable prog mode for those Pilot Wire Interfaces as there is no direct API to set te operating mode ! As such, as of today, it is not possible to enable PROG on a Pilot Wire Interace through your library ...

The crazy thing that the cozytouch guys have done on the app to overcome that is that when you set a Pilot Wire Interface from OFF to PROG for instance ... they just re-POST (PUT) the full prog schedule to the server (a big big json !), that looks to trigger PROG to on.

When I enable prog mode a Pilot Wire Interface through the app, I see this, and nothing else --> PUT /enduser-mobile-web/enduserAPI/setup/calendar/ruleSet HTTP/1.1 (application/json)

Attaching an uncrypted PCAP capture for your convinience when I was switching between the modes for Pilot Wire Interfaces in the cosytouch iOS app (as far as I remember, I did a OFF, then moved to BASIC/CONFORT, then to PROG).

proxy-200330-222640.zip

Thinking our loud, but if there is a way to get the schedule from the server, enabling prog mode for Pilot Wire Interfaces then could be achievable on your library by just posting it back when prog mode is asked ...

Just my basic feedback on that complex as hell API !
Guillaume.

Use in terminal

Hi, it is posible to use cozytouchpy in terminal or with script (python, bash,...)? and How?
Thank

Thermor WaterHeater Features

Hi @cyr-ius ,

As you requested (https://github.com/biker91620/ha-cozytouch/issues/18), please find the JSON (with "xxxx" for sensitive data) below.
I should point out that I have 2 water heaters which is why you can see the details twice.

Feel free to request more data if needed, I'd be happy to help :)

2020-06-02 14:29:31 DEBUG (MainThread) [cozytouchpy.client] Response json : 
{'creationTime': 1578562995000, 'lastUpdateTime': 1578562995000, 'id': 'SETUP-xxxx-xxxx-xxxx', 'location': {'creationTime': 1578562995000, 'lastUpdateTime': 1578562995000, 'city': 'xxxx', 'country': 'xxxx', 'postalCode': 'xxxxx', 'addressLine1': 'xxxx', 'timezone': 'Europe/Paris', 'longitude': xxxx, 'latitude': xxxx, 'twilightMode': 2, 'twilightAngle': 'CIVIL', 'twilightCity': 'xxxx', 'summerSolsticeDuskMinutes': 1290, 'winterSolsticeDuskMinutes': 990, 'twilightOffsetEnabled': False, 'dawnOffset': 0, 'duskOffset': 0}, 'gateways': [{'gatewayId': 'xxxx-xxxx-xxxx', 'type': 32, 'subType': 0, 'placeOID': 'xxxx', 'alive': True, 'timeReliable': True, 'connectivity': {'status': 'OK', 'protocolVersion': '2020.2.4'}, 'upToDate': True, 'updateStatus': 'UP_TO_DATE', 'syncInProgress': False, 'mode': 'ACTIVE', 'functions': 'INTERNET_AUTHORIZATION,SCENARIO_DOWNLOAD,SCENARIO_AUTO_LAUNCHING,SCENARIO_TELECO_LAUNCHING,INTERNET_UPLOAD,INTERNET_UPDATE,TRIGGERS_SENSORS'}], 'devices': [{'creationTime': 1578562995000, 'lastUpdateTime': 1578562995000, 'label': 'Box', 'deviceURL': 'internal://xxxx/pod/0', 'shortcut': False, 'controllableName': 'internal:PodMiniComponent', 'definition': {'commands': [{'commandName': 'getName', 'nparams': 0}, {'commandName': 'update', 'nparams': 0}, {'commandName': 'setCountryCode', 'nparams': 1}, {'commandName': 'activateCalendar', 'nparams': 0}, {'commandName': 'deactivateCalendar', 'nparams': 0}, {'commandName': 'refreshPodMode', 'nparams': 0}, {'commandName': 'refreshUpdateStatus', 'nparams': 0}, {'commandName': 'setCalendar', 'nparams': 1}, {'commandName': 'setLightingLedPodMode', 'nparams': 1}, {'commandName': 'setPodLedOff', 'nparams': 0}, {'commandName': 'setPodLedOn', 'nparams': 0}], 'states': [{'values': ['offline', 'online'], 'type': 'DiscreteState', 'qualifiedName': 'core:ConnectivityState'}, {'type': 'DataState', 'qualifiedName': 'core:CountryCodeState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'values': ['doublePress', 'longPress', 'simplePress', 'triplePress', 'veryLongPress'], 'type': 'DiscreteState', 'qualifiedName': 'internal:LastActionConfigButtonState'}, {'type': 'ContinuousState', 'qualifiedName': 'internal:LightingLedPodModeState'}], 'dataProperties': [], 'widgetName': 'Pod', 'uiClass': 'Pod', 'qualifiedName': 'internal:PodMiniComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Box'}, {'name': 'internal:LightingLedPodModeState', 'type': 2, 'value': 1.0}, {'name': 'core:CountryCodeState', 'type': 3, 'value': 'xxxx'}], 'attributes': [], 'available': True, 'enabled': True, 'placeOID': 'xxxx', 'widget': 'Pod', 'type': 1, 'oid': 'xxxx', 'uiClass': 'Pod'}, {'creationTime': 1578564113000, 'lastUpdateTime': 1578564113000, 'label': 'DHWP Actuator', 'deviceURL': 'io://xxxx#1', 'shortcut': False, 'controllableName': 'io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent', 'definition': {'commands': [{'commandName': 'delayedStopIdentify', 'nparams': 1}, {'commandName': 'getName', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'refreshAbsenceEndDate', 'nparams': 0}, {'commandName': 'refreshAbsenceMode', 'nparams': 0}, {'commandName': 'refreshAbsenceStartDate', 'nparams': 0}, {'commandName': 'refreshBoostEndDate', 'nparams': 0}, {'commandName': 'refreshBoostMode', 'nparams': 0}, {'commandName': 'refreshBoostStartDate', 'nparams': 0}, {'commandName': 'refreshBottomTankWaterTemperature', 'nparams': 0}, {'commandName': 'refreshManufacturerName', 'nparams': 0}, {'commandName': 'refreshMiddleWaterTemperatureIn', 'nparams': 0}, {'commandName': 'refreshTargetTemperature', 'nparams': 0}, {'commandName': 'refreshWaterConsumption', 'nparams': 0}, {'commandName': 'refreshWaterTargetTemperature', 'nparams': 0}, {'commandName': 'refreshWaterTemperature', 'nparams': 0}, {'commandName': 'setAbsenceEndDate', 'nparams': 1}, {'commandName': 'setAbsenceMode', 'nparams': 1}, {'commandName': 'setAbsenceStartDate', 'nparams': 1}, {'commandName': 'setBoostEndDate', 'nparams': 1}, {'commandName': 'setBoostMode', 'nparams': 1}, {'commandName': 'setBoostStartDate', 'nparams': 1}, {'commandName': 'setComfortTargetTemperature', 'nparams': 1}, {'commandName': 'setDateTime', 'nparams': 1}, {'commandName': 'setEcoTargetTemperature', 'nparams': 1}, {'commandName': 'setExpectedNumberOfShower', 'nparams': 1}, {'commandName': 'setFrostProtectionTargetTemperature', 'nparams': 1}, {'commandName': 'setName', 'nparams': 1}, {'commandName': 'setTargetTemperature', 'nparams': 1}, {'commandName': 'setWaterTargetTemperature', 'nparams': 1}, {'commandName': 'setWaterTemperature', 'nparams': 1}, {'commandName': 'startIdentify', 'nparams': 0}, {'commandName': 'stopIdentify', 'nparams': 0}, {'commandName': 'wink', 'nparams': 1}, {'commandName': 'refreshExpectedNumberOfShower', 'nparams': 0}, {'commandName': 'refreshAntiLegionellosis', 'nparams': 0}, {'commandName': 'refreshAwayModeDuration', 'nparams': 0}, {'commandName': 'refreshBoilerInstallationOption', 'nparams': 0}, {'commandName': 'refreshBoostModeDuration', 'nparams': 0}, {'commandName': 'refreshCurrentOperatingMode', 'nparams': 0}, {'commandName': 'refreshDHWCapacity', 'nparams': 0}, {'commandName': 'refreshDHWError', 'nparams': 0}, {'commandName': 'refreshDHWMode', 'nparams': 0}, {'commandName': 'refreshElectricalExtraManagement', 'nparams': 0}, {'commandName': 'refreshExtractionOption', 'nparams': 0}, {'commandName': 'refreshInstallation', 'nparams': 0}, {'commandName': 'refreshMiddleWaterTemperature', 'nparams': 0}, {'commandName': 'refreshOperatingModeCapabilities', 'nparams': 0}, {'commandName': 'refreshOperatingRange', 'nparams': 0}, {'commandName': 'refreshOperatingTime', 'nparams': 0}, {'commandName': 'refreshProgrammingSlots', 'nparams': 0}, {'commandName': 'refreshRateManagement', 'nparams': 0}, {'commandName': 'refreshSmartGridOption', 'nparams': 0}, {'commandName': 'setAntiLegionellosis', 'nparams': 1}, {'commandName': 'setAwayModeDuration', 'nparams': 1}, {'commandName': 'setBoilerInstallationOption', 'nparams': 1}, {'commandName': 'setBoostModeDuration', 'nparams': 1}, {'commandName': 'setCurrentOperatingMode', 'nparams': 1}, {'commandName': 'setDHWMode', 'nparams': 1}, {'commandName': 'setElectricalExtraManagement', 'nparams': 1}, {'commandName': 'setExtractionOption', 'nparams': 1}, {'commandName': 'setHaltedTargetTemperature', 'nparams': 1}, {'commandName': 'setInstallation', 'nparams': 1}, {'commandName': 'setOperatingRange', 'nparams': 1}, {'commandName': 'setProgrammingSlots', 'nparams': 1}, {'commandName': 'setRateManagement', 'nparams': 1}, {'commandName': 'setSmartGridOption', 'nparams': 1}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:AbsenceEndDateState'}, {'type': 'DataState', 'qualifiedName': 'core:AbsenceStartDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BoostElectricPowerConsumptionState'}, {'type': 'DataState', 'qualifiedName': 'core:BoostEndDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BoostModeDurationState'}, {'type': 'DataState', 'qualifiedName': 'core:BoostStartDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BottomTankWaterTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ComfortTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ControlWaterTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:DHWPSoftwareVersionState'}, {'type': 'DataState', 'qualifiedName': 'core:DateTimeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:EcoTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ExpectedNumberOfShowerState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:FrostProtectionTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:HaltedTargetTemperatureState'}, {'type': 'DataState', 'qualifiedName': 'core:HeatingStatusState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerNameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MaximalShowerManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MaximalTemperatureManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MiddleWaterTemperatureInState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MinimalShowerManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MinimalTemperatureManualModeState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:NumberOfShowerRemainingState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:NumberOfTankState'}, {'values': ['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program'], 'type': 'DiscreteState', 'qualifiedName': 'core:OperatingModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PowerHeatElectricalInState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PriorityLockTimerState'}, {'type': 'DataState', 'qualifiedName': 'core:ProgrammingAvailableState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:SecuredPositionTemperatureState'}, {'values': ['available', 'unavailable'], 'type': 'DiscreteState', 'qualifiedName': 'core:StatusState'}, {'type': 'DataState', 'qualifiedName': 'core:StopRelaunchState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TemperatureState'}, {'type': 'DataState', 'qualifiedName': 'core:V40WaterVolumeEstimationState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:VersionState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterConsumptionState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:AntiLegionellosisState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:AwayModeDurationState'}, {'values': ['boilerOptimising', 'boilerPriority', 'heatPumpOptimising', 'heatPumpPriority'], 'type': 'DiscreteState', 'qualifiedName': 'io:BoilerInstallationOptionState'}, {'values': ['off', 'on', 'prog'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWAbsenceModeState'}, {'values': ['off', 'on', 'prog'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWBoostModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:DHWCapacityState'}, {'type': 'DataState', 'qualifiedName': 'io:DHWErrorState'}, {'values': ['autoMode', 'manualEcoActive', 'manualEcoInactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:ElectricBoosterOperatingTimeState'}, {'values': ['auto', 'deactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:ElectricalExtraManagementState'}, {'values': ['fastExtractionSpeed', 'lowExtractionSpeed', 'noExtraction'], 'type': 'DiscreteState', 'qualifiedName': 'io:ExtractionOptionState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:HeatPumpOperatingTimeState'}, {'values': ['extraBoiler', 'extraSolar', 'onlyThermodynamic'], 'type': 'DiscreteState', 'qualifiedName': 'io:InstallationState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:MiddleWaterTemperatureState'}, {'type': 'DataState', 'qualifiedName': 'io:OperatingModeCapabilitiesState'}, {'values': ['pac24h_elec24h', 'pacProg_elecProg'], 'type': 'DiscreteState', 'qualifiedName': 'io:OperatingRangeState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerConsumptionFanState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerHeatElectricalState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerHeatPumpState'}, {'values': ['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2'], 'type': 'DiscreteState', 'qualifiedName': 'io:PriorityLockLevelState'}, {'values': ['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind'], 'type': 'DiscreteState', 'qualifiedName': 'io:PriorityLockOriginatorState'}, {'type': 'DataState', 'qualifiedName': 'io:ProgrammingSlotsState'}, {'values': ['forbidden', 'no', 'recommended', 'unsuitable', 'wanted'], 'type': 'DiscreteState', 'qualifiedName': 'io:RateManagementState'}, {'values': ['active', 'deactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:SmartGridOptionState'}], 'dataProperties': [{'value': '500', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'DomesticHotWaterProduction', 'uiClass': 'WaterHeatingSystem', 'uiClassifiers': ['generator'], 'qualifiedName': 'io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'DHWP Actuator'}, {'name': 'core:VersionState', 'type': 3, 'value': 'xxxx'}, {'name': 'core:PriorityLockTimerState', 'type': 1, 'value': 0}, {'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:RSSILevelState', 'type': 2, 'value': 92.0}, {'name': 'io:RateManagementState', 'type': 3, 'value': '?'}, {'name': 'io:OperatingModeCapabilitiesState', 'type': 11, 'value': {'relaunch': 1, 'absence': 1, 'rateManagement': 1, 'energyDemandStatus': 0}}, {'name': 'core:OperatingModeState', 'type': 11, 'value': {'relaunch': 'Not_Used', 'absence': 'Not_Used'}}, {'name': 'core:WaterConsumptionState', 'type': 1, 'value': 114}, {'name': 'io:DHWErrorState', 'type': 11, 'value': {'code': 255, 'minor': 255, 'family': 'W', 'type': 4}}, {'name': 'io:HeatPumpOperatingTimeState', 'type': 1, 'value': 0}, {'name': 'io:ElectricBoosterOperatingTimeState', 'type': 1, 'value': 406}, {'name': 'io:DHWModeState', 'type': 3, 'value': 'autoMode'}, {'name': 'core:TemperatureState', 'type': 2, 'value': 20.0}, {'name': 'core:TargetTemperatureState', 'type': 2, 'value': 20.0}, {'name': 'io:OperatingRangeState', 'type': 3, 'value': 'pac24h_elec24h'}, {'name': 'io:ProgrammingSlotsState', 'type': 11, 'value': {'slot2': {'start': '00:00', 'end': '00:00'}, 'slot1': {'start': '22:00', 'end': '06:00'}}}, {'name': 'io:AntiLegionellosisState', 'type': 1, 'value': 1}, {'name': 'core:ProgrammingAvailableState', 'type': 1, 'value': 0}, {'name': 'io:DHWBoostModeState', 'type': 3, 'value': 'off'}, {'name': 'io:DHWAbsenceModeState', 'type': 3, 'value': 'off'}, {'name': 'core:NumberOfTankState', 'type': 1, 'value': 2}, {'name': 'core:BoostElectricPowerConsumptionState', 'type': 1, 'value': 0}, {'name': 'core:PowerHeatElectricalInState', 'type': 1, 'value': 0}, {'name': 'io:MiddleWaterTemperatureState', 'type': 2, 'value': 59.7}, {'name': 'core:BottomTankWaterTemperatureState', 'type': 2, 'value': 0.0}, {'name': 'core:V40WaterVolumeEstimationState', 'type': 1, 'value': 25556}, {'name': 'io:PowerHeatElectricalState', 'type': 1, 'value': 0}, {'name': 'io:PowerHeatPumpState', 'type': 1, 'value': 0}, {'name': 'core:WaterTemperatureState', 'type': 2, 'value': 60.0}, {'name': 'core:WaterTargetTemperatureState', 'type': 2, 'value': 60.0}, {'name': 'core:ExpectedNumberOfShowerState', 'type': 1, 'value': 4}, {'name': 'core:ControlWaterTargetTemperatureState', 'type': 2, 'value': 42.0}, {'name': 'core:StopRelaunchState', 'type': 3, 'value': ' Relaunch Enable'}, {'name': 'core:MiddleWaterTemperatureInState', 'type': 2, 'value': 42.3}, {'name': 'core:HeatingStatusState', 'type': 3, 'value': 'off'}, {'name': 'core:NumberOfShowerRemainingState', 'type': 1, 'value': 2}, {'name': 'core:DateTimeState', 'type': 11, 'value': {'month': 6, 'hour': 19, 'year': 2020, 'weekday': 0, 'day': 1, 'minute': 10, 'second': 8}}, {'name': 'core:ManufacturerNameState', 'type': 3, 'value': 'Thermor'}, {'name': 'core:DHWPSoftwareVersionState', 'type': 3, 'value': 'MALICIO'}, {'name': 'io:DHWCapacityState', 'type': 1, 'value': 80}, {'name': 'core:BoostStartDateState', 'type': 11, 'value': {'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}}, {'name': 'core:BoostEndDateState', 'type': 11, 'value': {'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}}, {'name': 'core:MinimalTemperatureManualModeState', 'type': 2, 'value': 50.0}, {'name': 'core:MaximalTemperatureManualModeState', 'type': 2, 'value': 70.0}, {'name': 'core:MinimalShowerManualModeState', 'type': 1, 'value': 2}, {'name': 'core:MaximalShowerManualModeState', 'type': 1, 'value': 4}], 'attributes': [], 'available': True, 'enabled': True, 'placeOID': 'xxxx', 'widget': 'DomesticHotWaterProduction', 'type': 1, 'oid': 'xxxx', 'uiClass': 'WaterHeatingSystem'}, {'creationTime': 1578564113000, 'lastUpdateTime': 1578564113000, 'label': 'IO (xxxx#2)', 'deviceURL': 'io://xxxx', 'shortcut': False, 'controllableName': 'io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor', 'definition': {'commands': [{'commandName': 'refreshElectricEnergyConsumption', 'nparams': 0}], 'states': [{'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff0State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff1State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff2State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff3State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff4State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff5State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff6State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff7State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff8State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff9State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ElectricEnergyConsumptionState'}, {'values': ['available', 'unavailable'], 'type': 'DiscreteState', 'qualifiedName': 'core:StatusState'}], 'dataProperties': [], 'widgetName': 'CumulativeElectricPowerConsumptionSensor', 'uiClass': 'ElectricitySensor', 'qualifiedName': 'io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor', 'type': 'SENSOR'}, 'states': [{'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:ElectricEnergyConsumptionState', 'type': 1, 'value': 780996}], 'attributes': [{'name': 'core:PowerSourceType', 'type': 3, 'value': 'mainSupply'}, {'name': 'core:MeasuredValueType', 'type': 3, 'value': 'core:ElectricalEnergyInWh'}], 'available': True, 'enabled': True, 'placeOID': 'xxxx', 'widget': 'CumulativeElectricPowerConsumptionSensor', 'type': 2, 'oid': 'xxxx', 'uiClass': 'ElectricitySensor'}, {'creationTime': 1578564290000, 'lastUpdateTime': 1578564290000, 'label': 'DHWP Actuator', 'deviceURL': 'io://xxxx#1', 'shortcut': False, 'controllableName': 'io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent', 'definition': {'commands': [{'commandName': 'delayedStopIdentify', 'nparams': 1}, {'commandName': 'getName', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'refreshAbsenceEndDate', 'nparams': 0}, {'commandName': 'refreshAbsenceMode', 'nparams': 0}, {'commandName': 'refreshAbsenceStartDate', 'nparams': 0}, {'commandName': 'refreshBoostEndDate', 'nparams': 0}, {'commandName': 'refreshBoostMode', 'nparams': 0}, {'commandName': 'refreshBoostStartDate', 'nparams': 0}, {'commandName': 'refreshBottomTankWaterTemperature', 'nparams': 0}, {'commandName': 'refreshManufacturerName', 'nparams': 0}, {'commandName': 'refreshMiddleWaterTemperatureIn', 'nparams': 0}, {'commandName': 'refreshTargetTemperature', 'nparams': 0}, {'commandName': 'refreshWaterConsumption', 'nparams': 0}, {'commandName': 'refreshWaterTargetTemperature', 'nparams': 0}, {'commandName': 'refreshWaterTemperature', 'nparams': 0}, {'commandName': 'setAbsenceEndDate', 'nparams': 1}, {'commandName': 'setAbsenceMode', 'nparams': 1}, {'commandName': 'setAbsenceStartDate', 'nparams': 1}, {'commandName': 'setBoostEndDate', 'nparams': 1}, {'commandName': 'setBoostMode', 'nparams': 1}, {'commandName': 'setBoostStartDate', 'nparams': 1}, {'commandName': 'setComfortTargetTemperature', 'nparams': 1}, {'commandName': 'setDateTime', 'nparams': 1}, {'commandName': 'setEcoTargetTemperature', 'nparams': 1}, {'commandName': 'setExpectedNumberOfShower', 'nparams': 1}, {'commandName': 'setFrostProtectionTargetTemperature', 'nparams': 1}, {'commandName': 'setName', 'nparams': 1}, {'commandName': 'setTargetTemperature', 'nparams': 1}, {'commandName': 'setWaterTargetTemperature', 'nparams': 1}, {'commandName': 'setWaterTemperature', 'nparams': 1}, {'commandName': 'startIdentify', 'nparams': 0}, {'commandName': 'stopIdentify', 'nparams': 0}, {'commandName': 'wink', 'nparams': 1}, {'commandName': 'refreshExpectedNumberOfShower', 'nparams': 0}, {'commandName': 'refreshAntiLegionellosis', 'nparams': 0}, {'commandName': 'refreshAwayModeDuration', 'nparams': 0}, {'commandName': 'refreshBoilerInstallationOption', 'nparams': 0}, {'commandName': 'refreshBoostModeDuration', 'nparams': 0}, {'commandName': 'refreshCurrentOperatingMode', 'nparams': 0}, {'commandName': 'refreshDHWCapacity', 'nparams': 0}, {'commandName': 'refreshDHWError', 'nparams': 0}, {'commandName': 'refreshDHWMode', 'nparams': 0}, {'commandName': 'refreshElectricalExtraManagement', 'nparams': 0}, {'commandName': 'refreshExtractionOption', 'nparams': 0}, {'commandName': 'refreshInstallation', 'nparams': 0}, {'commandName': 'refreshMiddleWaterTemperature', 'nparams': 0}, {'commandName': 'refreshOperatingModeCapabilities', 'nparams': 0}, {'commandName': 'refreshOperatingRange', 'nparams': 0}, {'commandName': 'refreshOperatingTime', 'nparams': 0}, {'commandName': 'refreshProgrammingSlots', 'nparams': 0}, {'commandName': 'refreshRateManagement', 'nparams': 0}, {'commandName': 'refreshSmartGridOption', 'nparams': 0}, {'commandName': 'setAntiLegionellosis', 'nparams': 1}, {'commandName': 'setAwayModeDuration', 'nparams': 1}, {'commandName': 'setBoilerInstallationOption', 'nparams': 1}, {'commandName': 'setBoostModeDuration', 'nparams': 1}, {'commandName': 'setCurrentOperatingMode', 'nparams': 1}, {'commandName': 'setDHWMode', 'nparams': 1}, {'commandName': 'setElectricalExtraManagement', 'nparams': 1}, {'commandName': 'setExtractionOption', 'nparams': 1}, {'commandName': 'setHaltedTargetTemperature', 'nparams': 1}, {'commandName': 'setInstallation', 'nparams': 1}, {'commandName': 'setOperatingRange', 'nparams': 1}, {'commandName': 'setProgrammingSlots', 'nparams': 1}, {'commandName': 'setRateManagement', 'nparams': 1}, {'commandName': 'setSmartGridOption', 'nparams': 1}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:AbsenceEndDateState'}, {'type': 'DataState', 'qualifiedName': 'core:AbsenceStartDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BoostElectricPowerConsumptionState'}, {'type': 'DataState', 'qualifiedName': 'core:BoostEndDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BoostModeDurationState'}, {'type': 'DataState', 'qualifiedName': 'core:BoostStartDateState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:BottomTankWaterTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ComfortTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ControlWaterTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:DHWPSoftwareVersionState'}, {'type': 'DataState', 'qualifiedName': 'core:DateTimeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:EcoTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ExpectedNumberOfShowerState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:FrostProtectionTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:HaltedTargetTemperatureState'}, {'type': 'DataState', 'qualifiedName': 'core:HeatingStatusState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerNameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MaximalShowerManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MaximalTemperatureManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MiddleWaterTemperatureInState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MinimalShowerManualModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:MinimalTemperatureManualModeState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:NumberOfShowerRemainingState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:NumberOfTankState'}, {'values': ['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program'], 'type': 'DiscreteState', 'qualifiedName': 'core:OperatingModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PowerHeatElectricalInState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PriorityLockTimerState'}, {'type': 'DataState', 'qualifiedName': 'core:ProgrammingAvailableState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:SecuredPositionTemperatureState'}, {'values': ['available', 'unavailable'], 'type': 'DiscreteState', 'qualifiedName': 'core:StatusState'}, {'type': 'DataState', 'qualifiedName': 'core:StopRelaunchState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TemperatureState'}, {'type': 'DataState', 'qualifiedName': 'core:V40WaterVolumeEstimationState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:VersionState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterConsumptionState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterTargetTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:WaterTemperatureState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:AntiLegionellosisState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:AwayModeDurationState'}, {'values': ['boilerOptimising', 'boilerPriority', 'heatPumpOptimising', 'heatPumpPriority'], 'type': 'DiscreteState', 'qualifiedName': 'io:BoilerInstallationOptionState'}, {'values': ['off', 'on', 'prog'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWAbsenceModeState'}, {'values': ['off', 'on', 'prog'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWBoostModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:DHWCapacityState'}, {'type': 'DataState', 'qualifiedName': 'io:DHWErrorState'}, {'values': ['autoMode', 'manualEcoActive', 'manualEcoInactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:DHWModeState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:ElectricBoosterOperatingTimeState'}, {'values': ['auto', 'deactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:ElectricalExtraManagementState'}, {'values': ['fastExtractionSpeed', 'lowExtractionSpeed', 'noExtraction'], 'type': 'DiscreteState', 'qualifiedName': 'io:ExtractionOptionState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:HeatPumpOperatingTimeState'}, {'values': ['extraBoiler', 'extraSolar', 'onlyThermodynamic'], 'type': 'DiscreteState', 'qualifiedName': 'io:InstallationState'}, {'type': 'ContinuousState', 'qualifiedName': 'io:MiddleWaterTemperatureState'}, {'type': 'DataState', 'qualifiedName': 'io:OperatingModeCapabilitiesState'}, {'values': ['pac24h_elec24h', 'pacProg_elecProg'], 'type': 'DiscreteState', 'qualifiedName': 'io:OperatingRangeState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerConsumptionFanState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerHeatElectricalState'}, {'type': 'DataState', 'qualifiedName': 'io:PowerHeatPumpState'}, {'values': ['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2'], 'type': 'DiscreteState', 'qualifiedName': 'io:PriorityLockLevelState'}, {'values': ['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind'], 'type': 'DiscreteState', 'qualifiedName': 'io:PriorityLockOriginatorState'}, {'type': 'DataState', 'qualifiedName': 'io:ProgrammingSlotsState'}, {'values': ['forbidden', 'no', 'recommended', 'unsuitable', 'wanted'], 'type': 'DiscreteState', 'qualifiedName': 'io:RateManagementState'}, {'values': ['active', 'deactive'], 'type': 'DiscreteState', 'qualifiedName': 'io:SmartGridOptionState'}], 'dataProperties': [{'value': '500', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'DomesticHotWaterProduction', 'uiClass': 'WaterHeatingSystem', 'uiClassifiers': ['generator'], 'qualifiedName': 'io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'DHWP Actuator'}, {'name': 'core:VersionState', 'type': 3, 'value': 'xxxx'}, {'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:RSSILevelState', 'type': 2, 'value': 98.0}, {'name': 'io:RateManagementState', 'type': 3, 'value': '?'}, {'name': 'io:OperatingModeCapabilitiesState', 'type': 11, 'value': {'relaunch': 1, 'absence': 1, 'rateManagement': 1, 'energyDemandStatus': 0}}, {'name': 'core:OperatingModeState', 'type': 11, 'value': {'relaunch': 'Not_Used', 'absence': 'Not_Used'}}, {'name': 'core:WaterConsumptionState', 'type': 1, 'value': 112}, {'name': 'io:DHWErrorState', 'type': 11, 'value': {'code': 255, 'minor': 255, 'family': 'W', 'type': 4}}, {'name': 'io:HeatPumpOperatingTimeState', 'type': 1, 'value': 0}, {'name': 'io:ElectricBoosterOperatingTimeState', 'type': 1, 'value': 179}, {'name': 'io:DHWModeState', 'type': 3, 'value': 'autoMode'}, {'name': 'core:TemperatureState', 'type': 2, 'value': 20.0}, {'name': 'core:TargetTemperatureState', 'type': 2, 'value': 20.0}, {'name': 'io:OperatingRangeState', 'type': 3, 'value': 'pac24h_elec24h'}, {'name': 'io:ProgrammingSlotsState', 'type': 11, 'value': {'slot2': {'start': '00:00', 'end': '00:00'}, 'slot1': {'start': '22:00', 'end': '06:00'}}}, {'name': 'io:AntiLegionellosisState', 'type': 1, 'value': 1}, {'name': 'core:ProgrammingAvailableState', 'type': 1, 'value': 0}, {'name': 'io:DHWBoostModeState', 'type': 3, 'value': 'off'}, {'name': 'io:DHWAbsenceModeState', 'type': 3, 'value': 'off'}, {'name': 'core:NumberOfTankState', 'type': 1, 'value': 2}, {'name': 'core:BoostElectricPowerConsumptionState', 'type': 1, 'value': 0}, {'name': 'core:PowerHeatElectricalInState', 'type': 1, 'value': 0}, {'name': 'io:MiddleWaterTemperatureState', 'type': 2, 'value': 59.3}, {'name': 'core:BottomTankWaterTemperatureState', 'type': 2, 'value': 0.0}, {'name': 'core:V40WaterVolumeEstimationState', 'type': 1, 'value': 7729}, {'name': 'io:PowerHeatElectricalState', 'type': 1, 'value': 0}, {'name': 'io:PowerHeatPumpState', 'type': 1, 'value': 0}, {'name': 'core:WaterTemperatureState', 'type': 2, 'value': 60.0}, {'name': 'core:WaterTargetTemperatureState', 'type': 2, 'value': 60.0}, {'name': 'core:ExpectedNumberOfShowerState', 'type': 1, 'value': 2}, {'name': 'core:ControlWaterTargetTemperatureState', 'type': 2, 'value': 42.0}, {'name': 'core:StopRelaunchState', 'type': 3, 'value': ' Relaunch Enable'}, {'name': 'core:MiddleWaterTemperatureInState', 'type': 2, 'value': 41.4}, {'name': 'core:HeatingStatusState', 'type': 3, 'value': 'off'}, {'name': 'core:NumberOfShowerRemainingState', 'type': 1, 'value': 2}, {'name': 'core:DateTimeState', 'type': 11, 'value': {'month': 6, 'hour': 19, 'year': 2020, 'weekday': 0, 'day': 1, 'minute': 10, 'second': 15}}, {'name': 'core:ManufacturerNameState', 'type': 3, 'value': 'Thermor'}, {'name': 'core:DHWPSoftwareVersionState', 'type': 3, 'value': 'MALICIO'}, {'name': 'io:DHWCapacityState', 'type': 1, 'value': 80}, {'name': 'core:BoostStartDateState', 'type': 11, 'value': {'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}}, {'name': 'core:BoostEndDateState', 'type': 11, 'value': {'month': '??', 'hour': 0, 'year': 0, 'weekday': 0, 'day': '??', 'minute': 0, 'second': 0}}, {'name': 'core:MinimalTemperatureManualModeState', 'type': 2, 'value': 50.0}, {'name': 'core:MaximalTemperatureManualModeState', 'type': 2, 'value': 70.0}, {'name': 'core:MinimalShowerManualModeState', 'type': 1, 'value': 2}, {'name': 'core:MaximalShowerManualModeState', 'type': 1, 'value': 4}], 'attributes': [], 'available': True, 'enabled': True, 'placeOID': 'xxxx', 'widget': 'DomesticHotWaterProduction', 'type': 1, 'oid': 'xxxx', 'uiClass': 'WaterHeatingSystem'}, {'creationTime': 1578564290000, 'lastUpdateTime': 1578564290000, 'label': 'IO (xxxx#2)', 'deviceURL': 'io://xxxx#2', 'shortcut': False, 'controllableName': 'io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor', 'definition': {'commands': [{'commandName': 'refreshElectricEnergyConsumption', 'nparams': 0}], 'states': [{'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff0State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff1State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff2State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff3State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff4State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff5State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff6State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff7State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff8State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ConsumptionTariff9State'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ElectricEnergyConsumptionState'}, {'values': ['available', 'unavailable'], 'type': 'DiscreteState', 'qualifiedName': 'core:StatusState'}], 'dataProperties': [], 'widgetName': 'CumulativeElectricPowerConsumptionSensor', 'uiClass': 'ElectricitySensor', 'qualifiedName': 'io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor', 'type': 'SENSOR'}, 'states': [{'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:ElectricEnergyConsumptionState', 'type': 1, 'value': 253965}], 'attributes': [{'name': 'core:PowerSourceType', 'type': 3, 'value': 'mainSupply'}, {'name': 'core:MeasuredValueType', 'type': 3, 'value': 'core:ElectricalEnergyInWh'}], 'available': True, 'enabled': True, 'placeOID': 'xxxx', 'widget': 'CumulativeElectricPowerConsumptionSensor', 'type': 2, 'oid': 'xxxx', 'uiClass': 'ElectricitySensor'}], 'zones': [], 'resellerDelegationType': 'NEVER', 'oid': 'xxxx', 'rootPlace': {'creationTime': 1578562995000, 'lastUpdateTime': 1578562995000, 'label': 'All House', 'type': 0, 'oid': 'xxxx', 'subPlaces': [{'creationTime': 1578564225000, 'lastUpdateTime': 1578564225000, 'label': "Salle D'eau", 'type': 8, 'oid': 'xxxx', 'subPlaces': []}, {'creationTime': 1578564177000, 'lastUpdateTime': 1578564177000, 'label': 'Salle De Bain', 'type': 8, 'oid': 'xxxx', 'subPlaces': []}]}, 'features': []}

Thanks,

Cache mechanism

This is a continuation of https://github.com/biker91620/cozypy/issues/7

I will try to get the json ASAP.

I'm still thinking that if it is possible to get the data for all the devices in one call, it should be done. I have 9 heaters and there's at least one call to the API for each of them. I'm suspecting more, one for each sensor in home assistant.

Log error Unsupported 'standby'

Same comment as #10

Logger: cozytouchpy.objects.device
Source: /srv/homeassistant/lib/python3.7/site-packages/cozytouchpy/objects/device.py:130
First occurred: 16:48:28 (14 occurrences)
Last logged: 16:50:33

    Unsupported 'standby' value in ['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program']
    Unsupported 'internal' value in ['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program']
    Unsupported 'basic' value in ['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program']

Logg error unsuported integer 6.0

This stack trace came from my home assistant.

Logger: cozytouchpy.objects.device
Source: /srv/homeassistant/lib/python3.7/site-packages/cozytouchpy/objects/device.py:124
First occurred: 17:01:24 (7 occurrences)
Last logged: 17:01:46

    Unsupported Integer 6.0
    Unsupported Integer 20.0
    Unsupported Integer 3.5
    Unsupported Integer 3.0
    Unsupported Integer 4.0

I have 4 heater "Atlantic ONIRIS" and one water heater "Atlantic Linéo"

i don't know if there is a real impact :/

401 on login

Hi,
I tried to test your library but unfortunatly I had a 401 on client.connect.

I believe it's related to the credentials I used, I put as username and password those I'm using to connect on the mobile application "Atlantic Cozytouch".
What kind of credentials should I use?

Thanks!

Example fails: TypeError: CozytouchClient.__init__() missing 1 required positional argument: 'server'

Just after a "git clone" I do:

$ python3 example.py 
Traceback (most recent call last):
  File "/Users/rousseau/Documents/github/cozytouchpy/example.py", line 21, in <module>
    client = CozytouchClient(username, password)
TypeError: CozytouchClient.__init__() missing 1 required positional argument: 'server'

The example code uses client = CozytouchClient(username, password) without giving any value for the server parameter.

I guess the correct syntax should be:

client = CozytouchClient(username, password, "atlantic_cozytouch")

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.