fredericvl / py-agua-iot

py-agua-iot provides controlling heating devices connected via the IOT Agua platform of Micronova
Apache License 2.0
32 stars 16 forks source link

Found a customer code #4

Open jo0246 opened 3 years ago

jo0246 commented 3 years ago

I'm new on GitHub, and could not find a way to create a pull request, sorry. For my pellet Stove (Nordic Fire, Reeva 7) i have the following customer code: 953712. I ran a packet inspector on my android phone so i found out the customer code. Will check today if it works.

jo0246 commented 3 years ago

It works as an integration in Home Assistant. Great job you guys did! Thank you! However, two thinks are not working properly:

Allso the current status, real power and smoke temp is not showing up. No problem, but would be great if i can fix this.

fredericvl commented 3 years ago

Hi @jo0246,

For my pellet Stove (Nordic Fire, Reeva 7) i have the following customer code: 953712

Which app are you using, I suppose not the Nordic Fire 2.0 from Micronova SRL?

It would help me a lot if you can do all kind of actions (set temperature, set power, set ventilation power, etc.) and also sniff the traffic with a packet inspector (like you already did) and deliver me the outputs of it. Just don't forget to clear sensitive data like your password :-)

Fan mode shows the current power instead of the ventilation power;

Well actually I did not saw a stove yet (until now) where the ventilation power can be adjusted. That's why I implemented the power as fan mode in the HA example. So if I understand correctly with your stove you can set both the power value and ventilation power value? (FYI: HA only allows changes to temperature, fan mode and HVAC mode. So implement both power & ventilation would be impossible in HA.)

Allso the current status, real power and smoke temp is not showing up.

So you are not seeing this info as attributes of the climate device? (see reference sceenshot below) Climate Attributes screenshot

jo0246 commented 3 years ago

Hi,

Which app are you using, I suppose not the Nordic Fire 2.0 from Micronova SRL?

I am using the Ravelli WiFi app.

It would help me a lot if you can do all kind of actions (set temperature, set power, set ventilation power, etc.)

I have sniffed the packages but dont know what part of the log you need. Can i share the logs directly? Would like to prevent that sensitive data will be posted. A part of the logging i have for lowering the power from 4 to 3:

Host: aico.agua-iot.com:3001
Connection: keep-alive
Content-Length: 205
Accept: application/json, text/javascript, */*; q=0.01
id_brand: 1
*************************
User-Agent: Mozilla/5.0 (Linux; Android 10; ********* Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.141 Mobile Safari/537.36
local: false
customer_code: 953712
Content-Type: application/json
X-Requested-With: com.micronovasrl.ninaravelli
Accept-Encoding: gzip, deflate
Accept-Language: nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7

{"id_product":"*******************","id_device":"******************","Protocol":"RWMSmaster","BitData":[8],"Endianess":["L"],"Items":[32850],"Masks":[65535],"Values":[3]}HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, customer_code, id_brand, local, Access-Control-Allow-Origin, filepath, expect, host, content-length, enctype, Connection, Origin, Accept-Encoding, Accept-Language, User-Agent, Content-Disposition, Upgrade
Access-Control-Allow-Methods: GET,PUT,POST,DELETE
Access-Control-Allow-Credentials: true
Content-Type: application/json; charset=utf-8
Content-Length: 102
ETag: 
Date: Sun, 07 Feb 2021 15:11:04 GMT
Connection: keep-alive

{"Success":true,"Text":"DEVICE_ENQUEUE_MESSAGE_OK","idRequest":"*******"}GET /deviceJobStatus/**********{} HTTP/1.1
Host: aico.agua-iot.com:3001
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
id_brand: 1
*************************
User-Agent: Mozilla/5.0 (Linux; Android 10; 8888888/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.141 Mobile Safari/537.36
local: false
customer_code: 953712
Content-Type: application/json
X-Requested-With: com.micronovasrl.ninaravelli
Accept-Encoding: gzip, deflate
Accept-Language: nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7

HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, customer_code, id_brand, local, Access-Control-Allow-Origin, filepath, expect, host, content-length, enctype, Connection, Origin, Accept-Encoding, Accept-Language, User-Agent, Content-Disposition, Upgrade
Access-Control-Allow-Methods: GET,PUT,POST,DELETE
Access-Control-Allow-Credentials: true
Content-Type: application/json; charset=utf-8
Content-Length: 118
ETag: "
Date: Sun, 07 Feb 2021 15:11:04 GMT
Connection: keep-alive )

So you are not seeing this info as attributes of the climate device? (see reference sceenshot below)

i see the same attributes: image. Do you know how i can get these visible in the lovelace UI?

fredericvl commented 3 years ago

I have sniffed the packages but dont know what part of the log you need. Can i share the logs directly? Would like to prevent that sensitive data will be posted.

I just realized that I will need some more information, but I'll try to create some extra debug logging in the Python module itself. Give me some time and I will come back to you.

Do you know how i can get these visible in the lovelace UI?

You could use the Entities card in lovelace to display attributes of entities:

type: entities
title: Stove information
entities:
  - entity: climate.kachel_woonkamer
    type: attribute
    name: Smoke Temperature
    attribute: smoke_temperature
    suffix: °C
  - entity: climate.kachel_woonkamer
    type: attribute
    name: Real Power
    attribute: real_power
  - entity: climate.kachel_woonkamer
    type: attribute
    name: Current Status
    attribute: human_device_status
jo0246 commented 3 years ago

Thank you! The attributes don't show the right values. If you need help, let me know!

fredericvl commented 3 years ago

Hi @jo0246

I've created a new version v0.0.6 with some additional debug logging, the version in the Home Assistant example is also bumped. Can you update to that version and change the log level in Home Assistant to debug and send me the logs please?

jo0246 commented 3 years ago

Hi,

I installed the updated version, however the debug logging is not working. I have added:

logger: default: info logs: custom_components.aguaiot: debug

This did not result in any debug logs. Did i do anything wrong?

fredericvl commented 3 years ago

Strange, on my HA instance it also does not work if I only set custom_components.aguaiot to debug. But if I change the default log level to debug then I see them passing by. Can you try setting it globally?

jo0246 commented 3 years ago

I have tested it and found several logs. Could you inform me what part of the log you need?

Here an example of changing the state:

2021-02-20 10:28:04 DEBUG (SyncWorker_3) [py_agua_iot] JOBANSWERSTATUS COMPLETED! 2021-02-20 10:28:04 DEBUG (SyncWorker_3) [py_agua_iot] SUCCESSFULLY RETRIEVED ITEM IN JOBANSWERDATA! 2021-02-20 10:28:04 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=climate.kachel_woonkamer, old_state=<state climate.kachel_woonkamer=heat; hvac_modes=['heat', 'off'], min_temp=7.0, max_temp=41.0, target_temp_step=0.5, fan_modes=['1', '2', '3', '4', '5'], current_temperature=0.0, temperature=19.0, fan_mode=4, hvac_action=heating, alarm_code=0, device_status=5, human_device_status=CLEANING FIRE-POT, smoke_temperature=729.0, real_power=1, friendly_name=Kachel woonkamer, supported_features=9 @ 2021-02-20T10:21:01.216140+01:00>, new_state=<state climate.kachel_woonkamer=heat; hvac_modes=['heat', 'off'], min_temp=7.0, max_temp=41.0, target_temp_step=0.5, fan_modes=['1', '2', '3', '4', '5'], current_temperature=0.0, temperature=19.0, fan_mode=4, hvac_action=heating, alarm_code=0, device_status=5, human_device_status=CLEANING FIRE-POT, smoke_temperature=728.0, real_power=1, friendly_name=Kachel woonkamer, supported_features=9 @ 2021-02-20T10:21:01.216140+01:00>> 2021-02-20 10:28:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [1897305784] Sending {"id": 2, "type": "event", "event": {"event_type": "state_changed", "data": {"entity_id": "climate.kachel_woonkamer", "old_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 729.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:27:04.150741+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}, "new_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 728.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}}, "origin": "LOCAL", "time_fired": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}} 2021-02-20 10:28:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [1847097328] Sending {"id": 2, "type": "event", "event": {"event_type": "state_changed", "data": {"entity_id": "climate.kachel_woonkamer", "old_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 729.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:27:04.150741+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}, "new_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 728.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}}, "origin": "LOCAL", "time_fired": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}} 2021-02-20 10:28:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [1829219440] Sending {"id": 2, "type": "event", "event": {"event_type": "state_changed", "data": {"entity_id": "climate.kachel_woonkamer", "old_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 729.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:27:04.150741+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}, "new_state": {"entity_id": "climate.kachel_woonkamer", "state": "heat", "attributes": {"hvac_modes": ["heat", "off"], "min_temp": 7.0, "max_temp": 41.0, "target_temp_step": 0.5, "fan_modes": ["1", "2", "3", "4", "5"], "current_temperature": 0.0, "temperature": 19.0, "fan_mode": "4", "hvac_action": "heating", "alarm_code": 0, "device_status": 5, "human_device_status": "CLEANING FIRE-POT", "smoke_temperature": 728.0, "real_power": 1, "friendly_name": "Kachel woonkamer", "supported_features": 9}, "last_changed": "2021-02-20T09:21:01.216140+00:00", "last_updated": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}}, "origin": "LOCAL", "time_fired": "2021-02-20T09:28:04.069359+00:00", "context": {"id": "***MASKED***", "parent_id": null, "user_id": null}}}

jo0246 commented 3 years ago

To add some more detail:

The app on my phone shows:

fredericvl commented 3 years ago

I have tested it and found several logs. Could you inform me what part of the log you need?

I need all log lines that contain [py_agua_iot] It would be great if you can deliver them.

jo0246 commented 3 years ago

Hi,

I have checked the whole log file for py_agua_iot (a lot of lines :)) but it seems that the logging is very limited:

2021-02-21 09:02:15 DEBUG (SyncWorker_2) [py_agua_iot] Debug mode is not explicitly enabled (but may be enabled elsewhere). 2021-02-21 09:02:17 DEBUG (SyncWorker_2) [py_agua_iot] SUCCESSFULLY UPDATED REGISTERS MAP! 2021-02-21 09:02:17 DEBUG (SyncWorker_2) [py_agua_iot] GETBUFFERREADING SUCCEEDED! 2021-02-21 09:02:18 DEBUG (SyncWorker_2) [py_agua_iot] JOBANSWERSTATUS COMPLETED! 2021-02-21 09:02:18 DEBUG (SyncWorker_2) [py_agua_iot] SUCCESSFULLY RETRIEVED ITEM IN JOBANSWERDATA!

Maybe the logging is not working? That should explain why debug logging on the specific component is not working. Allso the first line of logging indicates that.

fredericvl commented 3 years ago

The first line stating Debug mode is not explicitly enabled means that the debug parameter in the Python component itself is not enabled, which is normal behaviour because otherwise it would also logs the full HTTP requests with headers and body and that would create too much overhead. Since your log is showing DEBUG in front of lines with [py_agua_iot] I'm sure that the DEBUG level is working. Unless you are not using the latest version of the HA example, you should see more DEBUG lines that contain things like the full registers & information map (large json maps).

Can you verify if you are using the latest HA example? The manifest.json file should have 2 references to version 0.0.6:

  "version": "0.0.6",
  "requirements": ["py-agua-iot==0.0.6"],

If not, can you please update to latest and restart HA and check for extra DEBUG logging?

Thanks!

jo0246 commented 3 years ago

I have made a mistake. I thought that i had updated the component, however it was still on 0.5. I have allso deleted the pycache folder and now it works like a charm 👍:



2021-02-21 10:10:56 DEBUG (SyncWorker_0) [py_agua_iot] SUCCESSFULLY UPDATED REGISTERS MAP!
2021-02-21 10:10:56 DEBUG (SyncWorker_0) [py_agua_iot] REGISTERS MAP: {'accensioni_get': {'reg_type': 'GET', 'offset': 33006, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'alarms_get': {'reg_type': 'GET', 'offset': 50, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'calendar_day_set': {'reg_type': 'SET', 'offset': 33019, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 31, 'mask': 65535}, 'calendar_day_week_set': {'reg_type': 'SET', 'offset': 33016, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 7, 'mask': 65535}, 'calendar_month_set': {'reg_type': 'SET', 'offset': 33020, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 12, 'mask': 65535}, 'calendar_year_set': {'reg_type': 'SET', 'offset': 33021, 'formula': '#+2000', 'formula_inverse': '#-2000', 'format_string': '{0}', 'set_min': 15, 'set_max': 50, 'mask': 65535}, 'canalization_1_2_vent_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_2_vent_set': {'reg_type': 'SET', 'offset': 32857, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'canalization_1_2_verso_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_2_verso_set': {'reg_type': 'SET', 'offset': 32858, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 4, 'mask': 65535}, 'canalization_1_temp_air_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_temp_air_get': {'reg_type': 'GET', 'offset': 4, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_1_temp_air_set': {'reg_type': 'SET', 'offset': 32853, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_2_temp_air_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_2_temp_air_get': {'reg_type': 'GET', 'offset': 3, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_2_temp_air_set': {'reg_type': 'SET', 'offset': 32854, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_man_auto_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_man_auto_set': {'reg_type': 'SET', 'offset': 32855, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 65535}, 'canalization_single_temp_air_get': {'reg_type': 'GET', 'offset': 3, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_single_temp_air_set': {'reg_type': 'SET', 'offset': 32852, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_single_temp_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_vent_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_vent_set': {'reg_type': 'SET', 'offset': 32856, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'canalization_single_verso_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_verso_set': {'reg_type': 'SET', 'offset': 32859, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 2, 'mask': 65535}, 'chrono_general_enable_set': {'reg_type': 'SET', 'offset': 32865, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 255}, 'chrono_p1_day_friday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p1_day_monday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p1_day_saturday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p1_day_sunday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p1_day_thursday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p1_day_tuesday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p1_day_wednesday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p1_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p1_fan_set': {'reg_type': 'SET', 'offset': 32826, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p1_power_set': {'reg_type': 'SET', 'offset': 32875, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p1_start_set': {'reg_type': 'SET', 'offset': 32872, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p1_stop_set': {'reg_type': 'SET', 'offset': 32873, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p1_temperature_set': {'reg_type': 'SET', 'offset': 32876, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p2_day_friday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p2_day_monday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p2_day_saturday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p2_day_sunday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p2_day_thursday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p2_day_tuesday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p2_day_wednesday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p2_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p2_fan_set': {'reg_type': 'SET', 'offset': 32827, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p2_power_set': {'reg_type': 'SET', 'offset': 32882, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p2_start_set': {'reg_type': 'SET', 'offset': 32879, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p2_stop_set': {'reg_type': 'SET', 'offset': 32880, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p2_temperature_set': {'reg_type': 'SET', 'offset': 32883, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p3_day_friday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p3_day_monday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p3_day_saturday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p3_day_sunday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p3_day_thursday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p3_day_tuesday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p3_day_wednesday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p3_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p3_fan_set': {'reg_type': 'SET', 'offset': 32828, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p3_power_set': {'reg_type': 'SET', 'offset': 32889, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 5, 'mask': 65535}, 'chrono_p3_start_set': {'reg_type': 'SET', 'offset': 32886, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p3_stop_set': {'reg_type': 'SET', 'offset': 32887, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p3_temperature_set': {'reg_type': 'SET', 'offset': 32890, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p4_day_friday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p4_day_monday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p4_day_saturday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p4_day_sunday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p4_day_thursday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p4_day_tuesday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p4_day_wednesday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p4_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p4_fan_set': {'reg_type': 'SET', 'offset': 32829, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p4_power_set': {'reg_type': 'SET', 'offset': 32896, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p4_start_set': {'reg_type': 'SET', 'offset': 32893, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p4_stop_set': {'reg_type': 'SET', 'offset': 32894, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p4_temperature_set': {'reg_type': 'SET', 'offset': 32897, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'clock_hour_set': {'reg_type': 'SET', 'offset': 33017, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 23, 'mask': 65535}, 'clock_minute_set': {'reg_type': 'SET', 'offset': 33018, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 59, 'mask': 65535}, 'hw_power_fw_revision_get': {'reg_type': 'GET', 'offset': 241, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 255}, 'hw_power_fw_type_get': {'reg_type': 'GET', 'offset': 240, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 255}, 'ore_lavoro_par_get': {'reg_type': 'GET', 'offset': 33004, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} h', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'ore_lavoro_tot_get': {'reg_type': 'GET', 'offset': 33002, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'power_set': {'reg_type': 'SET', 'offset': 32850, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'real_power_get': {'reg_type': 'GET', 'offset': 52, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'status_get': {'reg_type': 'GET', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535, 'value_off': 0}, 'status_managed_get': {'reg_type': 'GET', 'offset': 232, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535, 'value_on': 85, 'value_off': 170}, 'status_managed_off_enable': {'reg_type': 'ENABLE', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 11, 'mask': 65535}, 'status_managed_on_enable': {'reg_type': 'ENABLE', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 11, 'mask': 65535}, 'temp_air_enable': {'reg_type': 'ENABLE', 'offset': 1, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'temp_air_get': {'reg_type': 'GET', 'offset': 1, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'temp_air_palm_enable': {'reg_type': 'ENABLE', 'offset': 1, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'temp_air_palm_get': {'reg_type': 'GET', 'offset': 13, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'temp_air_palm_set': {'reg_type': 'SET', 'offset': 32851, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'temp_air_set': {'reg_type': 'SET', 'offset': 32851, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'temp_gas_flue_get': {'reg_type': 'GET', 'offset': 86, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'temp_probe_k_get': {'reg_type': 'GET', 'offset': 84, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 65535, 'mask': 65535}}
2021-02-21 10:10:56 DEBUG (SyncWorker_0) [py_agua_iot] GETBUFFERREADING SUCCEEDED!

2021-02-21 10:10:57 DEBUG (SyncWorker_0) [py_agua_iot] JOBANSWERSTATUS COMPLETED!
2021-02-21 10:10:57 DEBUG (SyncWorker_0) [py_agua_iot] SUCCESSFULLY RETRIEVED ITEM IN JOBANSWERDATA!
2021-02-21 10:10:57 DEBUG (SyncWorker_0) [py_agua_iot] INFORMATION MAP: {32835: 3, 232: 113, 32895: 0, 1: 0, 32874: 0, 32856: 0, 32888: 0, 32881: 0, 32897: 20, 32875: 3, 52: 1, 32828: 0, 32854: 20, 32894: 144, 33016: 1, 240: 1, 32876: 20, 33019: 33, 32: 5, 32851: 19, 32855: 0, 33021: 33, 32853: 20, 33020: 2, 32872: 144, 32879: 144, 32896: 3, 32887: 144, 33006: 607, 32850: 3, 84: 323, 3: 0, 32890: 20, 32886: 144, 32889: 3, 32852: 20, 32858: 2, 32893: 144, 32882: 3, 33002: 2394, 32880: 144, 32857: 6, 32859: 1, 86: 732, 33018: 40, 50: 0, 32883: 20, 32827: 0, 32873: 144, 33017: 16, 13: 19, 4: 0, 33004: 2394, 241: 0, 32865: 0, 32826: 0, 32829: 0}

2021-02-21 10:11:01 DEBUG (SyncWorker_4) [py_agua_iot] SUCCESSFULLY UPDATED REGISTERS MAP!
2021-02-21 10:11:01 DEBUG (SyncWorker_4) [py_agua_iot] REGISTERS MAP: {'accensioni_get': {'reg_type': 'GET', 'offset': 33006, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'alarms_get': {'reg_type': 'GET', 'offset': 50, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'calendar_day_set': {'reg_type': 'SET', 'offset': 33019, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 31, 'mask': 65535}, 'calendar_day_week_set': {'reg_type': 'SET', 'offset': 33016, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 7, 'mask': 65535}, 'calendar_month_set': {'reg_type': 'SET', 'offset': 33020, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 12, 'mask': 65535}, 'calendar_year_set': {'reg_type': 'SET', 'offset': 33021, 'formula': '#+2000', 'formula_inverse': '#-2000', 'format_string': '{0}', 'set_min': 15, 'set_max': 50, 'mask': 65535}, 'canalization_1_2_vent_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_2_vent_set': {'reg_type': 'SET', 'offset': 32857, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'canalization_1_2_verso_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_2_verso_set': {'reg_type': 'SET', 'offset': 32858, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 4, 'mask': 65535}, 'canalization_1_temp_air_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_1_temp_air_get': {'reg_type': 'GET', 'offset': 4, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_1_temp_air_set': {'reg_type': 'SET', 'offset': 32853, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_2_temp_air_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_2_temp_air_get': {'reg_type': 'GET', 'offset': 3, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_2_temp_air_set': {'reg_type': 'SET', 'offset': 32854, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_man_auto_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_man_auto_set': {'reg_type': 'SET', 'offset': 32855, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 65535}, 'canalization_single_temp_air_get': {'reg_type': 'GET', 'offset': 3, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'canalization_single_temp_air_set': {'reg_type': 'SET', 'offset': 32852, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'canalization_single_temp_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_vent_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_vent_set': {'reg_type': 'SET', 'offset': 32856, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'canalization_single_verso_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'canalization_single_verso_set': {'reg_type': 'SET', 'offset': 32859, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 2, 'mask': 65535}, 'chrono_general_enable_set': {'reg_type': 'SET', 'offset': 32865, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 255}, 'chrono_p1_day_friday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p1_day_monday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p1_day_saturday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p1_day_sunday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p1_day_thursday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p1_day_tuesday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p1_day_wednesday_set': {'reg_type': 'SET', 'offset': 32874, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p1_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p1_fan_set': {'reg_type': 'SET', 'offset': 32826, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p1_power_set': {'reg_type': 'SET', 'offset': 32875, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p1_start_set': {'reg_type': 'SET', 'offset': 32872, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p1_stop_set': {'reg_type': 'SET', 'offset': 32873, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p1_temperature_set': {'reg_type': 'SET', 'offset': 32876, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p2_day_friday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p2_day_monday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p2_day_saturday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p2_day_sunday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p2_day_thursday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p2_day_tuesday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p2_day_wednesday_set': {'reg_type': 'SET', 'offset': 32881, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p2_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p2_fan_set': {'reg_type': 'SET', 'offset': 32827, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p2_power_set': {'reg_type': 'SET', 'offset': 32882, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p2_start_set': {'reg_type': 'SET', 'offset': 32879, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p2_stop_set': {'reg_type': 'SET', 'offset': 32880, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p2_temperature_set': {'reg_type': 'SET', 'offset': 32883, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p3_day_friday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p3_day_monday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p3_day_saturday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p3_day_sunday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p3_day_thursday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p3_day_tuesday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p3_day_wednesday_set': {'reg_type': 'SET', 'offset': 32888, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p3_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p3_fan_set': {'reg_type': 'SET', 'offset': 32828, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p3_power_set': {'reg_type': 'SET', 'offset': 32889, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 5, 'mask': 65535}, 'chrono_p3_start_set': {'reg_type': 'SET', 'offset': 32886, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p3_stop_set': {'reg_type': 'SET', 'offset': 32887, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p3_temperature_set': {'reg_type': 'SET', 'offset': 32890, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'chrono_p4_day_friday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/16', 'formula_inverse': '#*16', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 16}, 'chrono_p4_day_monday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 1}, 'chrono_p4_day_saturday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/32', 'formula_inverse': '#*32', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 32}, 'chrono_p4_day_sunday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/64', 'formula_inverse': '#*64', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 64}, 'chrono_p4_day_thursday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/8', 'formula_inverse': '#*8', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 8}, 'chrono_p4_day_tuesday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 2}, 'chrono_p4_day_wednesday_set': {'reg_type': 'SET', 'offset': 32895, 'formula': '#/4', 'formula_inverse': '#*4', 'format_string': '{0}', 'set_min': 0, 'set_max': 1, 'mask': 4}, 'chrono_p4_fan_enable': {'reg_type': 'ENABLE', 'offset': 32835, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 3, 'mask': 65535}, 'chrono_p4_fan_set': {'reg_type': 'SET', 'offset': 32829, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 6, 'mask': 65535, 'value_off': 0}, 'chrono_p4_power_set': {'reg_type': 'SET', 'offset': 32896, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'chrono_p4_start_set': {'reg_type': 'SET', 'offset': 32893, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p4_stop_set': {'reg_type': 'SET', 'offset': 32894, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 144, 'mask': 65535}, 'chrono_p4_temperature_set': {'reg_type': 'SET', 'offset': 32897, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}°C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'clock_hour_set': {'reg_type': 'SET', 'offset': 33017, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 23, 'mask': 65535}, 'clock_minute_set': {'reg_type': 'SET', 'offset': 33018, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 59, 'mask': 65535}, 'hw_power_fw_revision_get': {'reg_type': 'GET', 'offset': 241, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 255}, 'hw_power_fw_type_get': {'reg_type': 'GET', 'offset': 240, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 255}, 'ore_lavoro_par_get': {'reg_type': 'GET', 'offset': 33004, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} h', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'ore_lavoro_tot_get': {'reg_type': 'GET', 'offset': 33002, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'power_set': {'reg_type': 'SET', 'offset': 32850, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'real_power_get': {'reg_type': 'GET', 'offset': 52, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 1, 'set_max': 5, 'mask': 65535}, 'status_get': {'reg_type': 'GET', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535, 'value_off': 0}, 'status_managed_get': {'reg_type': 'GET', 'offset': 232, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535, 'value_on': 85, 'value_off': 170}, 'status_managed_off_enable': {'reg_type': 'ENABLE', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 11, 'mask': 65535}, 'status_managed_on_enable': {'reg_type': 'ENABLE', 'offset': 32, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 11, 'mask': 65535}, 'temp_air_enable': {'reg_type': 'ENABLE', 'offset': 1, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'temp_air_get': {'reg_type': 'GET', 'offset': 1, 'formula': '#/2', 'formula_inverse': '#*2', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'temp_air_palm_enable': {'reg_type': 'ENABLE', 'offset': 1, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0}', 'set_min': 0, 'set_max': 255, 'mask': 65535}, 'temp_air_palm_get': {'reg_type': 'GET', 'offset': 13, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 100, 'mask': 65535}, 'temp_air_palm_set': {'reg_type': 'SET', 'offset': 32851, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'temp_air_set': {'reg_type': 'SET', 'offset': 32851, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 7, 'set_max': 41, 'mask': 65535}, 'temp_gas_flue_get': {'reg_type': 'GET', 'offset': 86, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 65535, 'mask': 65535}, 'temp_probe_k_get': {'reg_type': 'GET', 'offset': 84, 'formula': '#', 'formula_inverse': '#', 'format_string': '{0} °C', 'set_min': 0, 'set_max': 65535, 'mask': 65535}}
2021-02-21 10:11:01 DEBUG (SyncWorker_4) [py_agua_iot] GETBUFFERREADING SUCCEEDED!

2021-02-21 10:11:02 DEBUG (SyncWorker_4) [py_agua_iot] JOBANSWERSTATUS COMPLETED!
2021-02-21 10:11:02 DEBUG (SyncWorker_4) [py_agua_iot] SUCCESSFULLY RETRIEVED ITEM IN JOBANSWERDATA!
2021-02-21 10:11:02 DEBUG (SyncWorker_4) [py_agua_iot] INFORMATION MAP: {32835: 3, 232: 113, 32895: 0, 1: 0, 32874: 0, 32856: 0, 32888: 0, 32881: 0, 32897: 20, 32875: 3, 52: 1, 32828: 0, 32854: 20, 32894: 144, 33016: 1, 240: 1, 32876: 20, 33019: 33, 32: 5, 32851: 19, 32855: 0, 33021: 33, 32853: 20, 33020: 2, 32872: 144, 32879: 144, 32896: 3, 32887: 144, 33006: 607, 32850: 3, 84: 323, 3: 0, 32890: 20, 32886: 144, 32889: 3, 32852: 20, 32858: 2, 32893: 144, 32882: 3, 33002: 2394, 32880: 144, 32857: 6, 32859: 1, 86: 729, 33018: 40, 50: 0, 32883: 20, 32827: 0, 32873: 144, 33017: 16, 13: 19, 4: 0, 33004: 2394, 241: 0, 32865: 0, 32826: 0, 32829: 0}

2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' MIN: 7
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' MAX: 41
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' MIN: 1
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' MAX: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' MIN: 7
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' MAX: 41
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' MIN: 1
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' MAX: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_get' FORMULA: #/2
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_get' ORIGINAL VALUE: 0
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_get' CALCULATED VALUE: 0.0
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' ORIGINAL VALUE: 19
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_air_set' CALCULATED VALUE: 19
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' ORIGINAL VALUE: 3
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'power_set' CALCULATED VALUE: 3
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'alarms_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'alarms_get' ORIGINAL VALUE: 0
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'alarms_get' CALCULATED VALUE: 0
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' ORIGINAL VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'status_get' CALCULATED VALUE: 5
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_gas_flue_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_gas_flue_get' ORIGINAL VALUE: 729
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'temp_gas_flue_get' CALCULATED VALUE: 729
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'real_power_get' FORMULA: #
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'real_power_get' ORIGINAL VALUE: 1
2021-02-21 10:11:02 DEBUG (MainThread) [py_agua_iot] GET 'real_power_get' CALCULATED VALUE: 1```
fredericvl commented 3 years ago

For some reason your stove is exposed with different parameters via the Agua IOT API, at least that is what I can see from your debug logs (thanks for that btw).

For example to request the current temperature, with all other stoves that I've seen, requesting the temp_air_get reg type does the trick. Looking at your registers map I can see an extra reg type temp_air_palm_get which at time of debug logs contains 19 in the information map, so should be the correct one for you. Also the smoke/gas temperature is normally requested via the temp_gas_flue_get reg type, where it looks to be temp_probe_k_get in your case.

I'll try to check if it's possible to auto-detect when to use which reg type.

jo0246 commented 3 years ago

Thank you! I can explain why these parameters are present as the stove's room temp is measured via the remonte control (they call it the palm unit). Furthermore there is a funtion of a fan that can be adjusted from 0-6.

saragrigolin commented 3 years ago

Hi, I have a Ravelli pellet stove and I use the Ravelli wi-fi app. How can I found the API and the customer code? In the list of API and customer code there isn't the ravelli app and I'm asking here cause @jo0246 manage to integrate his pellet stove that he uses in the Ravelli wifi app to home assistant. I'm not confident with sniffing packages, I tried a software but I can't find the customer code and the API URL (I think it's aico.agua-iot.com). Can someone post a little guide for noob like me?

P.S: sorry for my english

Daavince commented 3 years ago

Hi @saragrigolin, I managed to inspect the packets by using burpsuite community edition, setup a proxy (simple guide available online) and let the device with your ravelli app connect to the same wifi using the proxy. Then you use the app and check which packets are passed through the burpsuite proxy. Please note that generally, the customer code and API link is the same for all users of a single brand (there might be some exceptions, but it is a good starting point). So it should most likely be the same as jo0246 I think. I have a Piazzetta btw.

saragrigolin commented 3 years ago

Hi there, the summer is over and I'm trying to finally add the integration in Home Assistant. I sniffed the package and I found the API and the customer code, that match with what jo0246 found. So now I have the API aico.agua-iot.com (in the package I have "host: aico.agua-iot.com") and the customer code 953712, but when I add the Micronova Agua IOT integration and write these parameters, along with my Ravelli Wi-Fi app username and password, I have this error: "Unknown error occurred". My Home Assistant is up to date.

micronova agua HomeAssistant
gfrankhu commented 3 years ago

Same as @saragrigolin but with a Klover pellet stove. If you need more information, let me know!

matteoopc commented 2 years ago

Hi there, the summer is over and I'm trying to finally add the integration in Home Assistant. I sniffed the package and I found the API and the customer code, that match with what jo0246 found. So now I have the API aico.agua-iot.com (in the package I have "host: aico.agua-iot.com") and the customer code 953712, but when I add the Micronova Agua IOT integration and write these parameters, along with my Ravelli Wi-Fi app username and password, I have this error: "Unknown error occurred". My Home Assistant is up to date.

micronova agua HomeAssistant

Were you able to solve the problem?

saragrigolin commented 2 years ago

Hi there, the summer is over and I'm trying to finally add the integration in Home Assistant. I sniffed the package and I found the API and the customer code, that match with what jo0246 found. So now I have the API aico.agua-iot.com (in the package I have "host: aico.agua-iot.com") and the customer code 953712, but when I add the Micronova Agua IOT integration and write these parameters, along with my Ravelli Wi-Fi app username and password, I have this error: "Unknown error occurred". My Home Assistant is up to date.

micronova agua HomeAssistant

Were you able to solve the problem?

Hi, no I'm sorry I still get this error. We are waiting for answers but with no success.

jo0246 commented 2 years ago

@fredericvl: my integration is also not working anymore. Are you planning to update the code? And can I help you to debug or show you what the integration is showing?