Closed vmanuel closed 2 years ago
I have focused on Android requests instead of web page (only few exceptions for additional data). I use Fiddler with its proxy to which phone with running application is connected to. Data needs to be collected on how data is being read and set for additional zones.
OK, Thx.Fiddler installed.
In this case, if i check zone 2, in Fiddler:
POST /api/v2/remote/dataItems/{"useCache":false,"items":[{"id":"OutsideTemp","zn":0},{"id":"Weather","zn":0},{"id":"PlantMode","zn":0},{"id":"Holiday","zn":0},{"id":"AutomaticThermoregulation","zn":0},{"id":"IsFlameOn","zn":0},{"id":"ZoneHeatRequest","zn":2},{"id":"ZoneMode","zn":2},{"id":"ZoneDesiredTemp","zn":2},{"id":"ZoneMeasuredTemp","zn":2},{"id":"ZoneDeroga","zn":2},{"id":"ZoneComfortTemp","zn":2},{"id":"HeatingFlowTemp","zn":2},{"id":"CoolingFlowTemp","zn":2},{"id":"HeatingFlowOffset","zn":2},{"id":"CoolingFlowOffset","zn":2}],"features":{"zones":[{"num":1,"name":"Upstairs","roomSens":true,"geofenceDeroga":false,"isHidden":false},{"num":2,"name":"Sleeping area","roomSens":true,"geofenceDeroga":false,"isHidden":false},{"num":3,"name":"Living area","roomSens":false,"geofenceDeroga":false,"isHidden":false},{"num":4,"name":"Basement","roomSens":true,"geofenceDeroga":false,"isHidden":false}],"solar":false,"convBoiler":false,"commBoiler":false,"hpSys":false,"hybridSys":false,"cascadeSys":false,"dhwProgSupported":false,"virtualZones":false,"hasVmc":false,"extendedTimeProg":false,"hasBoiler":true,"pilotSupported":true,"isVmcR2":false,"isEvo2":false,"dhwHidden":true,"dhwBoilerPresent":false,"dhwModeChangeable":true,"hvInputOff":false,"autoThermoReg":true,"hasMetering":true,"weatherProvider":1,"hasFireplace":false,"hasSlp":false,"hasEm20":false,"hasTwoCoolingTemp":false,"bmsActive":false,"hpCascadeSys":false,"hpCascadeConfig":-1,"bufferTimeProgAvailable ":false,"distinctHeatCoolSetpoints":false,"hasZoneNames":false,"preHeatingSupported":false,"zigbeeActive":false},"culture":"es-ES"}
Response:
{"items":[{"id":"OutsideTemp","zone":0,"kind":1,"min":-3277.0,"max":3276.0,"step":1.0,"value":3276.0,"decimals":0,"readOnly":true,"error":false,"invalid":false,"unit":"°C"},{"id":"Weather","zone":0,"kind":1,"min":0.0,"max":255.0,"step":1.0,"value":1.0,"decimals":0,"readOnly":true,"error":false,"invalid":false,"unit":""},{"id":"PlantMode","zone":0,"kind":2,"min":0.0,"max":0.0,"step":0.0,"value":5.0,"decimals":0,"options":[0,1,2,5],"optTexts":["Verano","Invierno","Sólo calefacción","OFF"],"readOnly":false,"error":false,"invalid":false},{"id":"AutomaticThermoregulation","zone":0,"kind":3,"min":0.0,"max":0.0,"step":0.0,"value":1.0,"decimals":0,"options":[0,1],"readOnly":false,"error":false,"invalid":false},{"id":"IsFlameOn","zone":0,"kind":3,"min":0.0,"max":0.0,"step":0.0,"value":0.0,"decimals":0,"options":[0,1],"readOnly":false,"error":false,"invalid":false},{"id":"ZoneHeatRequest","zone":2,"kind":2,"min":0.0,"max":0.0,"step":0.0,"value":0.0,"decimals":0,"options":[0,1],"optTexts":["OFF","ON"],"readOnly":true,"error":false,"invalid":false},{"id":"ZoneMode","zone":2,"kind":2,"min":0.0,"max":0.0,"step":0.0,"value":3.0,"decimals":0,"options":[0,2,3],"optTexts":["OFF","Manual","Program. calefacción"],"readOnly":false,"error":false,"invalid":false},{"id":"ZoneDesiredTemp","zone":2,"kind":1,"min":-3276.8,"max":3276.7,"step":0.5,"value":18.0,"decimals":1,"readOnly":true,"error":false,"invalid":false,"unit":"°C"},{"id":"ZoneMeasuredTemp","zone":2,"kind":1,"min":-3276.8,"max":3276.7,"step":0.5,"value":30.3,"decimals":1,"readOnly":true,"error":false,"invalid":false,"unit":"°C"},{"id":"ZoneComfortTemp","zone":2,"kind":1,"min":10.0,"max":30.0,"step":0.5,"value":21.5,"decimals":1,"readOnly":false,"error":false,"invalid":false,"unit":"°C"},{"id":"HeatingFlowTemp","zone":2,"kind":1,"min":35.0,"max":82.0,"step":1.0,"value":50.0,"decimals":0,"readOnly":false,"error":false,"invalid":false,"unit":"°C"},{"id":"HeatingFlowOffset","zone":2,"kind":1,"min":-14.0,"max":14.0,"step":1.0,"value":0.0,"decimals":0,"readOnly":false,"error":false,"invalid":false,"unit":""},{"id":"Holiday","zone":0,"kind":3,"min":0.0,"max":0.0,"step":0.0,"value":0.0,"decimals":0,"options":[0,1],"readOnly":false,"error":false,"invalid":false},{"id":"ZoneDeroga","zone":2,"kind":1,"min":10.0,"max":30.0,"step":0.5,"value":0.0,"decimals":1,"readOnly":false,"error":false,"invalid":false}]}
Data about multiple requests has to be gathered. I do not plan to look int9 this in the near future due to personal matters
OK, I'm sorry for the personal matters... I will try myself starting from your code (at least read states and sensors)
Thx
This is not a trivial update and multiple things have to be handled:
I have only 1 zone in my boiler so I cannot test myself without access to boiler with multiple zones or for someone to constantly test the updates (that slows the process a lot). Lately I have little free time and I do need some time off and the impact would most likely require probably few days of constant work. I can look into this, but not sure when i'll start to do so (maybe this week, maybe next - don't know)
ariston.zip
You may try attached version.
Include num_ch_zones: <number of zones>
in configuration.yaml under ariston
.
The entities would change name for CH objects, so old ones would have to be deleted manually.
Working!!!
Thank you!!
included in 2.0.12
With the 2.x relase (caused by changes in all Ariston services), multizone support was broken.
I could make some calls ang get some values in nodered.
For example, to get some data, POST to https://www.ariston-net.remotethermo.com/R2/PlantHome/GetData/ with this load
msg.payload = { "features": { .... }, "useCache": false, "zone": 1, "filter": { "notEssentials": false, "progId": null, "plant": true, "zone": true, "dhw": true } }
for zone 1.
I don't know if it is easy to make chages in your module to make it work again.
And thanks for your work!!