Closed smarthomepch closed 3 years ago
Hard to say for sure. Is it Aqua Ariston NET or Ariston NET application used in your case? There are 2 classes and Ariston Aqua requires dedicated boiler type being specified. Incorrect integration selected would never be available. Also in case of Aqua Ariston it turned out that boiler have unique requests and incorrect type selected would also not work. For example boilers with Ariston Aqua do support logging to the website but they only list the boiler with no data provided. While Ariston fetches and parses data from website, where different water and climate data is in fact provided. For Aqua Ariston requests from Android phone were replicated instead and requests turned out to be unique per 3 models that people supplied access to.
Thx for prompt answer. My boiler is GENUS ONE SYSTEM 24 so I used Ariston NET (no aqua). Maybe I created the script wrongly? :(
is it the whole code that you are using?
Note that it takes usually around 20 seconds just for the first request (possible more in case of timeouts), so for initial tests I used 10 minutes time span and checked the data periodically (sensor_values
for example). Occasionally I used store_file
as input parameter to generate and check interchangeable data for example which requests were generated and which values were provided by the server.
Unlike Android application or website for monitoring purposes I use periodic requests and it often takes time to fetch (shortening delay between requests causes server to generate many errors). Available flag will be set only if login was successful (there is one flag) and if main data was fetched (first page on website with CH and DHW data), so you may also print _ariston_data
.
For example in Home Assistant integration during setup I initiate and start the integration and it works constantly, stop is actually never executed there. Home Assistant integration simply fetches generated sensors every few seconds and represents them.
By the way, are you trying to apply if for some home automation environment like Home Assistant or Domoticz?
Note that it takes usually around 20 seconds just for the first request ... This was the point! I have added
_ariston_data
+ the loop withtime.sleep(60)
and 2nd iteration was already successful!
1.0.28
False
False
{}
1.0.28
True
True
{'__tmpEm20': {'HydraulicScheme': 0, 'HvInputConfig': 0, 'HvInput': 0, 'DhwStorageTemperature': 0.0, 'HpSystemResistor1': False, 'HpSystemBoostDhw': False, 'AuxOutput1': 0, 'AuxOutput2': 0, 'DhwTimeProgComfortTemp': {'min': 0.0, 'max': 0.0, 'value': 0.0, 'prevValue': 0.0, 'step': 0.0}, 'DhwTimeProgEconomyTemp': {'min': 0.0, 'max': 0.0, 'value': 0.0, 'prevValue': 0.0, 'step': 0.0}, 'DhwModeStandard': 0, 'DhwModeAdvanced': 0, 'DhwMode': 0, 'AuxOutput3': 0, 'AuxOutput4': 0}, 'isEm20': False, 'hasTwoCoolingTemp': False, 'mode': 1, 'allowedModes': [0, 1, 2, 5], 'outsideTemp': 2.0, 'holidayEnabled': False, 'holidayUntil': '0001-01-01T00:00:00', 'dhwTemp': {'min': 40.0, 'max': 65.0, 'value': 45.0, 'prevValue': 0.0, 'step': 0.0}, 'flameSensor': False, 'dhwDisabled': False, 'zone': {'setpoints': {'comfort': 0.0, 'reduced': 0.0, 'coolComfort': 0.0, 'coolReduced': 0.0}, 'mode': {'allowedOptions': [0, 2, 3], 'value': 3}, 'comfortTemp': {'min': 10.0, 'max': 30.0, 'value': 20.5, 'prevValue': 0.0, 'step': 0.0}, 'desiredTemp': 20.5, 'roomTemp': 20.6, 'derogaTemp': {'min': 10.0, 'max': 30.0, 'value': 0.0, 'prevValue': 0.0, 'step': 0.0}, 'derogaEnabled': False, 'derogaUntil': None, 'heatRequest': False, 'heatRequestAir': False, 'antiFreezeTemp': 5.0, 'fireplaceEnabled': False, 'fireplaceUntil': None, 'pilotOn': False}, 'isCoolingSupported': False, 'isCoolingOnlySupported': False, 'isHeatingSupported': True, 'isHpSystem': False, 'isHybridSystem': False, 'heatingPumpResistorOn': False, 'dhwStorageTemp': 48.0, 'dhwBoilerPresent': True, 'heatingPumpOn': False, 'heatingPumpBoostDhw': False, 'quietMode': False, 'dhwReadOnly': False, 'hasDhwStorageProbe': True, 'weather': 4, 'remoteControl': {'requestedOn': 0, 'isAccepted': False, 'expiresAfterMinutes': 0}, 'flameForDhw': False, 'isVmcOn': False, 'isBoostVmcOn': False, 'dehumidifyRequest': False, 'extraVentilationRequest': False, 'dhwTimeProgComfortTemp': {'min': 40.0, 'max': 65.0, 'value': 45.0, 'prevValue': 0.0, 'step': 0.0}, 'dhwTimeProgEconomyTemp': {'min': 10.0, 'max': 45.0, 'value': 40.0, 'prevValue': 0.0, 'step': 0.0}, 'dhwMode': 1, 'dhwTimeProgSupported': True, 'dhwTimeProgComfortActive': True, 'isHvInputOff': False, 'completionToken': '', 'bmsActive': False, 'pilotSupported': True, 'cascadeSystemType': 0, 'dhwModeNotChangeable': False}
Yes, I would like to intergate it somehow with openhHab. Firstly I will start with presentation data as read only. Next step could be to send some commands :)
One more question. after a few minutes I lost connection:
<aristonremotethermo.ariston.AristonHandler object at 0xb6705c30> _get_main Problem reading data: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
If the script will be run in backround will the conection be re-established automatically or shall I check availability from time to time?
Integration was written to constantly attempt to restore the connection (if too many connection errors it will reattempt login, after few connection issues it increases delays between retries to reduce overload chances). It is common to get events due to boiler network issues, Ariston server issues, if whole chain is "overloaded" (can result in response codes in 500 and above). For the third I have created polling rate used during initiation. If it is increased (e.g. 1.2) all waiting timers and delays to reduce stress on the system.
Hi, first of all thanks for this project. I don't use HA but openHab, but wanted to check if I can integrate it somehow. Started with checking if AristonThermal at least answers to API, so I run below script.
Unfortunately answer is always False.
Do you have any idea what could be the reason? User and password are absolutely correct as I can login via webpage without any problems.
TIA