chomupashchuk / ariston-remotethermo-home-assistant-v2

Ariston NET remotethermo integration for Home Assistant based on API
MIT License
94 stars 22 forks source link

dhw_energy_yesterday and ch_energy_yesterday is 0 #42

Closed viomatei closed 2 years ago

viomatei commented 2 years ago

Hi,

I'm trying to resolve the problem with my energy consumption statistics for my Ariston Genus One Boiler. Since the update, all the sensors regarding energy consumption (heating and hot water) indicate 0 (e.g. ch_energy_yesterday, ch_energy_today, dhw_energy_today etc). It did work with the previous build.

Any idea why that is?

mirceamaris commented 2 years ago

Same here. v 2.0.5 upwards . Returning to lower version fixes all values (year, month, day), both DHW and CH Alteas One Net 24.

chomupashchuk commented 2 years ago

It worked for 2.0.4 as the last working?

viomatei commented 2 years ago

It worked for 1.0.52 version. Sorry for not being clear.

michtate commented 2 years ago

confirm, on earlier version it worked fine.

mirceamaris commented 2 years ago

Actually, for me, 2.0.5 still has the relevant data.

michtate commented 2 years ago

for me it's not working in 2.0.5- Nimbus Flex Heat Pump

chomupashchuk commented 2 years ago

All 1.0.x versions are obsolete and incompatible due to changes from Ariston server side, most things are rewritten from the scratch, so I care only about version 2. Version 1 will never work again. There is no documentation, it is all guessing what data means what.

Did you compare values with Android/IOs application with data in sensors for day range? I mean comparing values towards hours each value. You may also add following after self._energy_use_data = copy.deepcopy(resp.json()). Make sure you use spaces and not tabs: self._LOGGER.warn(f'{self._energy_use_data}')

As result you should see in logs warning with values similar to: [{"k":7,"p":1,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":7,"p":2,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":7,"p":3,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":7,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,33.444,0.0,6.294,149.963,547.13,777.894,461.645,1014.125,840.43,0.0,720.102,214.919,0.0]},{"k":20,"p":1,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":20,"p":2,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":20,"p":3,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":20,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,0.491,0.0,0.038,2.166,7.838,10.53,5.931,14.633,12.202,0.0,9.219,2.694,0.0]},{"k":10,"p":1,"v":[0.0,1.858,0.0,0.0,0.0,0.0,0.0,2.45,0.0,0.0,1.802,0.0,0.0,3.577,0.0,0.0,0.0,0.0,1.825,0.0,1.763,0.0,0.0,1.191]},{"k":10,"p":2,"v":[5.844,9.391,7.677,8.311,6.016,8.161,7.83]},{"k":10,"p":3,"v":[6.488,10.269,7.372,8.733,7.527,8.194,6.505,7.991,5.697,7.4,9.622,8.3,7.841,12.788,6.158,5.569,3.069,4.986,12.644,5.652,11.5,7.722,8.705,7.894,7.713,5.355,7.638,6.802,9.016,7.991,10.702,11.347,5.43,5.28,7.105,5.986,5.55,7.244,12.2,7.825,5.844,9.391,7.677,8.311,6.016,8.161,7.83]},{"k":10,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,235.675,231.927,281.088,110.236,236.219,282.322,112.271,326.758,291.052,0.0,256.005,294.913,233.155]},{"k":21,"p":1,"v":[0.0,0.011,0.0,0.0,0.0,0.0,0.0,0.011,0.0,0.0,0.011,0.0,0.0,0.019,0.0,0.0,0.0,0.0,0.011,0.0,0.011,0.0,0.0,0.005]},{"k":21,"p":2,"v":[0.036,0.052,0.047,0.047,0.036,0.047,0.041]},{"k":21,"p":3,"v":[0.036,0.05,0.044,0.047,0.041,0.047,0.036,0.047,0.033,0.044,0.052,0.044,0.047,0.066,0.036,0.033,0.019,0.027,0.069,0.033,0.061,0.044,0.047,0.047,0.044,0.03,0.044,0.038,0.05,0.044,0.058,0.063,0.03,0.033,0.041,0.033,0.036,0.041,0.066,0.047,0.036,0.052,0.047,0.047,0.036,0.047,0.041]},{"k":21,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,1.372,1.361,1.641,0.627,1.33,1.544,0.606,1.75,1.552,0.0,1.383,1.597,1.311]},{"k":1,"p":1,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":1,"p":2,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":1,"p":3,"v":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]},{"k":1,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,33.935,0.0,6.332,152.129,554.968,788.424,467.576,1028.758,852.632,0.0,729.321,217.613,0.0]},{"k":2,"p":1,"v":[0.0,1.869,0.0,0.0,0.0,0.0,0.0,2.461,0.0,0.0,1.813,0.0,0.0,3.596,0.0,0.0,0.0,0.0,1.836,0.0,1.774,0.0,0.0,1.196]},{"k":2,"p":2,"v":[5.880,9.443,7.724,8.358,6.052,8.208,7.871]},{"k":2,"p":3,"v":[6.524,10.319,7.416,8.780,7.568,8.241,6.541,8.038,5.730,7.444,9.674,8.344,7.888,12.854,6.194,5.602,3.088,5.013,12.713,5.685,11.561,7.766,8.752,7.941,7.757,5.385,7.682,6.840,9.066,8.035,10.760,11.410,5.46,5.313,7.146,6.019,5.586,7.285,12.266,7.872,5.880,9.443,7.724,8.358,6.052,8.208,7.871]},{"k":2,"p":4,"v":[0.0,0.0,0.0,0.0,0.0,237.047,233.288,282.729,110.863,237.549,283.866,112.877,328.508,292.604,0.0,257.388,296.510,234.466]}]

That is how server returns the data and somehow correct values must be fetched

viomatei commented 2 years ago

I did check the values on my Android app for hourly and daily energy consumption and there all different from 0.

Regarding the "add following after self._energy_use_data = copy.deepcopy(resp.json())", I'm afraid you lost me here. I don't understand what I'm suppose to do here.

chomupashchuk commented 2 years ago

Add that string in ariston.py and restart HA

mirceamaris commented 2 years ago

This is what I get in the Logs:

[{'k': 1, 'p': 1, 'v': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}, {'k': 1, 'p': 2, 'v': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}, {'k': 1, 'p': 3, 'v': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}, {'k': 1, 'p': 4, 'v': [0.0, 0.0, 50.722, 705.219, 1099.355, 1454.375, 1470.33, 1095.163, 1132.33, 824.944, 58.458, 0.0]}, {'k': 2, 'p': 1, 'v': [0.047, 0.244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.286, 0.516, 0.0]}, {'k': 2, 'p': 2, 'v': [2.608, 2.625, 15.527, 5.194, 0.613, 7.483, 1.441]}, {'k': 2, 'p': 3, 'v': [9.616, 11.338, 15.291, 11.63, 3.688, 10.508, 4.469, 5.619, 7.672, 18.794, 6.38, 3.708, 18.152, 5.808, 8.925]}, {'k': 2, 'p': 4, 'v': [173.38, 177.033, 211.841, 234.516, 191.947, 223.172, 227.475, 221.338, 229.136, 182.447, 209.616, 169.911]}]

viomatei commented 2 years ago

My logs:

[{'k': 1, 'p': 1, 'v': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}, {'k': 1, 'p': 2, 'v': [0.0, 0.0, 0.0, 0.0, 0.005, 0.0, 0.0]}, {'k': 1, 'p': 3, 'v': [0.063, 0.0, 9.152, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.919, 0.0, 0.0, 0.005, 0.0]}, {'k': 1, 'p': 4, 'v': [0.0, 0.0, 126.175, 838.266, 1041.069, 1588.061, 1825.933, 1291.577, 1125.186, 671.283, 13.3, 9.222]}, {'k': 2, 'p': 1, 'v': [0.963, 0.319, 0.797, 0.991, 1.194, 0.061, 0.058, 0.055, 0.055, 0.08, 0.327, 0.952]}, {'k': 2, 'p': 2, 'v': [3.169, 1.713, 2.511, 4.458, 2.888, 2.769, 6.313]}, {'k': 2, 'p': 3, 'v': [5.536, 4.441, 8.416, 2.016, 5.913, 9.033, 4.038, 6.455, 6.608, 11.572, 7.705, 5.605, 4.225, 7.347, 9.083]}, {'k': 2, 'p': 4, 'v': [138.355, 102.058, 152.713, 283.841, 289.527, 349.95, 341.502, 246.236, 271.713, 266.23, 119.33, 106.552]}]

chomupashchuk commented 2 years ago

On Genus One (that one guy gave me temporary access to as my boiler has no valid energy use) I was able to map "k": 7 and "K": 10 as CH and DHW energy use by mapping values from Andoid application to values. "k": 1 and "k": 2 provided slightly different values. In your cases I see only "k": 1 and "k": 2. I guess I'll add 2nd set of data. You may try changing values in ariston.py to see if valid values are returned and match the data: CH_ENERGY = 1 DHW_ENERGY = 2

mirceamaris commented 2 years ago

Yup. That works.

CH_ENERGY = 1 DHW_ENERGY = 2

mirceamaris commented 2 years ago

... maybe, when you have time and means, you can find a workaround for the missing "hvac_modes", too. I know it's another issue, but ... Screenshot_20220717 .

And THANK YOU, for all your work

chomupashchuk commented 2 years ago

Is it popup window when changing from winter to summer or off? If so, I saw it and it seems that beside popup it does work. It is some issue in HA when climate is unavailable.

viomatei commented 2 years ago

On Genus One (that one guy gave me temporary access to as my boiler has no valid energy use) I was able to map "k": 7 and "K": 10 as CH and DHW energy use by mapping values from Andoid application to values. "k": 1 and "k": 2 provided slightly different values. In your cases I see only "k": 1 and "k": 2. I guess I'll add 2nd set of data. You may try changing values in ariston.py to see if valid values are returned and match the data: CH_ENERGY = 1 DHW_ENERGY = 2

It works. Thank you for the quick help.

mirceamaris commented 2 years ago

Is it popup window when changing from winter to summer or off? If so, I saw it and it seems that beside popup it does work. It is some issue in HA when climate is unavailable.

Not so much the card popup, but the missing attribute for climate entity. It used to be 'off', auto and heat. Now it's only Heat

chomupashchuk commented 2 years ago

There were many changes done to climate entity and I have no idea what is the issue in your case. Separate issues should be handled in separate threads.

I did remove "off" option as if you open information on climate entity it provides option to change presets and there is OFF option. The reason is that handling hvac_mode off meant handling of value ON, but which one should it be? As it can be winter, could be summer, could be cooling? On top of that the names reported by the server are not known by me to compare with. In old version I made additional configuration parameters for it, but it just complicated maintenance of code for me.

Auto function should be added automatically if ch_mode reports "Time program" as one of valid options. You may check attributes of ch_mode sensor. Screenshot 2022-07-22 160831

chomupashchuk commented 2 years ago

use 2.0.10 and in configuration.yaml update sensor names (it is mainly change from "energy" to "energy2" from README.md)

mirceamaris commented 2 years ago

There were many changes done to climate entity and I have no idea what is the issue in your case. Separate issues should be handled in separate threads.

I did remove "off" option as if you open information on climate entity it provides option to change presets and there is OFF option. The reason is that handling hvac_mode off meant handling of value ON, but which one should it be? As it can be winter, could be summer, could be cooling? On top of that the names reported by the server are not known by me to compare with. In old version I made additional configuration parameters for it, but it just complicated maintenance of code for me.

Auto function should be added automatically if ch_mode reports "Time program" as one of valid options. You may check attributes of ch_mode sensor. Screenshot 2022-07-22 160831

OK. I'll let you know if I notice anything relevant. Thanks