chomupashchuk / ariston-remotethermo-home-assistant-v2

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

Zero energy use readings from time to time #25

Closed HausnerR closed 2 years ago

HausnerR commented 2 years ago

Hello, Sometimes I see integration returns zero spikes for energy use. It messes readings and utility meters that thinks it's meter reset:

Zrzut ekranu 2021-11-25 o 22 40 03

Don't know if it's a bug in error handling during usage data read or something else?

Best regards, Kuba

chomupashchuk commented 2 years ago

It depends which sensor it is. If it is "today", then I tried to calculate it from received values depending on an hour. Other energy use are values directly mapped from requests. My boiler shows only 0 for all energy use, so I have no idea what it might be. Could be abnormal values received from boiler, but without some code traps I can only guess.

HausnerR commented 2 years ago

What information do you need to try to fix issue? Do I need to enable debug or something?

chomupashchuk commented 2 years ago

What is the full sensor name? - there are many of them and some have special handling. Not all data is logged doe to amount of data, and as I mentioned, some "trap" has to be introduced to gather more data, but I need to know for which sensor to create that "trap" for. Then I can send ariston.py to replace the old one, restart HA and gather data according to instructions, which would be provided after the trap is in place. For example only for heating there are "Energy use for Heating in last 24 hours", "Energy use for Heating in last 7 days", "Energy use for Heating in last 30 days", "Energy use for Heating in last 365 days", "Energy use for Heating today". And "Energy use for Heating today" has special handling to figure out from last 24 hours which belong to today. The question is: do we get 0 or None, why can we get it? And is it the problematic sensor or the other one?

                try:
                    sum_obj = 0
                    start_hour = int(self._ariston_gas_data["daily"]["leftColumnLabel"])
                    use_iterated = False
                    for item in self._ariston_gas_data["daily"]["data"]:
                        if start_hour == 0 or start_hour == 24:
                            use_iterated = True
                        start_hour += 2
                        if use_iterated:
                            sum_obj = sum_obj + item["y2"]
                    self._ariston_sensors[self._PARAM_HEATING_TODAY][self._VALUE] = round(sum_obj, 3)
                except KeyError:
                    self._ariston_sensors[self._PARAM_HEATING_TODAY][self._VALUE] = None
HausnerR commented 2 years ago

heating_today and water_today sensors - I'm using only this two.

I saw this piece of code, maybe in sam cases use_iterated never gets to true and this results in 0 sum.

chomupashchuk commented 2 years ago

So far I can think of few different cases, for which automated logging would be required to confirm the scenario:

For the 3rd and 4th some additional logging would have to be created to store the whole request reply if abnormality is detected. This is the reply data I've been processing to come up with algorithm, which would be compatible with HA algorithm:

{"daily": {"title": "Last 24 hours", "leftColumnLabel": "04", "rightColumnLabel": "02", "leftColumnSubLabel": null, "rightColumnSubLabel": null, "yMaxLabel": "0 kWh", "data": [{"x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}], "series": [{"fill": "#23a7c8", "name": "WATER", "yName": "y"}, {"fill": "#cd3851", "name": "HEATING", "yName": "y2"}], "yMax": 0.0}, "weekly": {"title": "Last 7 days", "leftColumnLabel": "F", "rightColumnLabel": "T", "leftColumnSubLabel": null, "rightColumnSubLabel": null, "yMaxLabel": "0 kWh", "data": [{"x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}], "series": [{"fill": "#23a7c8", "name": "WATER", "yName": "y"}, {"fill": "#cd3851", "name": "HEATING", "yName": "y2"}], "yMax": 0.0}, "monthly": {"title": "Last 30 days", "leftColumnLabel": "3", "rightColumnLabel": "2", "leftColumnSubLabel": "Nov", "rightColumnSubLabel": "Dec", "yMaxLabel": "6.3 kWh", "data": [{"x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 8, "y": 0.0, "y2": 1.71, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 9, "y": 0.0, "y2": 6.271, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 10, "y": 2.352, "y2": 0.438, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 13, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 14, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 15, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}], "series": [{"fill": "#23a7c8", "name": "WATER", "yName": "y"}, {"fill": "#cd3851", "name": "HEATING", "yName": "y2"}], "yMax": 6.271}, "yearly": {"title": "Last twelve months", "leftColumnLabel": "Dec", "rightColumnLabel": "Nov", "leftColumnSubLabel": "'20", "rightColumnSubLabel": "'21", "yMaxLabel": "25 kWh", "data": [{"x": 1, "y": 0.0, "y2": 0.963, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 3, "y": 0.0, "y2": 9.93, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 4, "y": 0.704, "y2": 7.685, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 5, "y": 0.475, "y2": 24.735, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0}, {"x": 12, "y": 0.0, "y2": 8.422, "y3": 0.0, "y4": 0.0, "y5": 0.0}], "series": [{"fill": "#23a7c8", "name": "WATER", "yName": "y"}, {"fill": "#cd3851", "name": "HEATING", "yName": "y2"}], "yMax": 25.21}, "account": {"gasHeat": 0.0, "elecHeat": 0.0, "gasDhw": 0.0, "elecDhw": 0.0, "elecCooling": 0}}

Maybe i'll try to prepare something today, but at first please check the log for indications if sensors were unavalible and if it could have been too many errors.

chomupashchuk commented 2 years ago

ariston.py.txt Remove .txt from file, replace file in HA and restart HA. The update is creating logger error event in HA if calculated value is 0 or None, and whole response is logged then.

HausnerR commented 2 years ago

Thanks, I replaced ariston.py file, now waiting for bug, will write when have data to analyze. Thanks!

HausnerR commented 2 years ago

Ok, I captured issue:

Zrzut ekranu 2021-12-5 o 12 10 29

Error was triggered 4 times:

Zrzut ekranu 2021-12-5 o 12 11 13

And data: { "account": { "elecCooling": 0, "elecDhw": 0.0, "elecHeat": 0.0, "gasDhw": 2494.0, "gasHeat": 3519.0 }, "daily": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "02", "leftColumnSubLabel": null, "rightColumnLabel": "00", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 24 hours", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "monthly": { "data": [ { "x": 1, "y": 162.593, "y2": 173.27, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 182.021, "y2": 184.343, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 182.223, "y2": 223.017, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 145.578, "y2": 217.445, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 177.365, "y2": 298.491, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 186.874, "y2": 305.371, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 154.921, "y2": 240.451, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 180.176, "y2": 134.373, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 157.673, "y2": 183.272, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 173.817, "y2": 231.945, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 150.307, "y2": 323.348, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 145.29, "y2": 308.561, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 13, "y": 161.543, "y2": 316.081, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 14, "y": 87.535, "y2": 162.866, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 15, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "5", "leftColumnSubLabel": "Nov", "rightColumnLabel": "4", "rightColumnSubLabel": "Dec", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 30 days", "yMax": 492.245, "yMaxLabel": "492 kWh" }, "weekly": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "S", "leftColumnSubLabel": null, "rightColumnLabel": "S", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 7 days", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "yearly": { "data": [ { "x": 1, "y": 2378.288, "y2": 4078.088, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 2704.869, "y2": 5056.999, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 2766.447, "y2": 5757.391, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 2463.177, "y2": 5033.313, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 2218.372, "y2": 3967.644, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 2275.755, "y2": 3034.288, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 934.046, "y2": 221.895, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 2419.057, "y2": 0.077, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 2127.094, "y2": 0.013, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 1744.727, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 1475.088, "y2": 263.749, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "Dec", "leftColumnSubLabel": "'20", "rightColumnLabel": "Nov", "rightColumnSubLabel": "'21", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last twelve months", "yMax": 8523.838, "yMaxLabel": "8524 kWh" } } { "account": { "elecCooling": 0, "elecDhw": 0.0, "elecHeat": 0.0, "gasDhw": 2494.0, "gasHeat": 3519.0 }, "daily": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "08", "leftColumnSubLabel": null, "rightColumnLabel": "06", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 24 hours", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "monthly": { "data": [ { "x": 1, "y": 162.593, "y2": 173.27, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 182.021, "y2": 184.343, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 182.223, "y2": 223.017, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 145.578, "y2": 217.445, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 177.365, "y2": 298.491, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 186.874, "y2": 305.371, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 154.921, "y2": 240.451, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 180.176, "y2": 134.373, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 157.673, "y2": 183.272, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 173.817, "y2": 231.945, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 150.307, "y2": 323.348, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 145.29, "y2": 308.561, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 13, "y": 161.543, "y2": 316.081, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 14, "y": 87.535, "y2": 162.866, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 15, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "5", "leftColumnSubLabel": "Nov", "rightColumnLabel": "4", "rightColumnSubLabel": "Dec", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 30 days", "yMax": 492.245, "yMaxLabel": "492 kWh" }, "weekly": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "S", "leftColumnSubLabel": null, "rightColumnLabel": "S", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 7 days", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "yearly": { "data": [ { "x": 1, "y": 2378.288, "y2": 4078.088, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 2704.869, "y2": 5056.999, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 2766.447, "y2": 5757.391, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 2463.177, "y2": 5033.313, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 2218.372, "y2": 3967.644, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 2275.755, "y2": 3034.288, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 934.046, "y2": 221.895, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 2419.057, "y2": 0.077, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 2127.094, "y2": 0.013, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 1744.727, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 1475.088, "y2": 263.749, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "Dec", "leftColumnSubLabel": "'20", "rightColumnLabel": "Nov", "rightColumnSubLabel": "'21", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last twelve months", "yMax": 8523.838, "yMaxLabel": "8524 kWh" } }

{ "account": { "elecCooling": 0, "elecDhw": 0.0, "elecHeat": 0.0, "gasDhw": 2494.0, "gasHeat": 3519.0 }, "daily": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "02", "leftColumnSubLabel": null, "rightColumnLabel": "00", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 24 hours", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "monthly": { "data": [ { "x": 1, "y": 162.593, "y2": 173.27, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 182.021, "y2": 184.343, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 182.223, "y2": 223.017, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 145.578, "y2": 217.445, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 177.365, "y2": 298.491, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 186.874, "y2": 305.371, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 154.921, "y2": 240.451, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 180.176, "y2": 134.373, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 157.673, "y2": 183.272, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 173.817, "y2": 231.945, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 150.307, "y2": 323.348, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 145.29, "y2": 308.561, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 13, "y": 161.543, "y2": 316.081, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 14, "y": 87.535, "y2": 162.866, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 15, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "5", "leftColumnSubLabel": "Nov", "rightColumnLabel": "4", "rightColumnSubLabel": "Dec", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 30 days", "yMax": 492.245, "yMaxLabel": "492 kWh" }, "weekly": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "S", "leftColumnSubLabel": null, "rightColumnLabel": "S", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 7 days", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "yearly": { "data": [ { "x": 1, "y": 2378.288, "y2": 4078.088, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 2704.869, "y2": 5056.999, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 2766.447, "y2": 5757.391, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 2463.177, "y2": 5033.313, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 2218.372, "y2": 3967.644, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 2275.755, "y2": 3034.288, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 934.046, "y2": 221.895, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 2419.057, "y2": 0.077, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 2127.094, "y2": 0.013, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 1744.727, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 1475.088, "y2": 263.749, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "Dec", "leftColumnSubLabel": "'20", "rightColumnLabel": "Nov", "rightColumnSubLabel": "'21", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last twelve months", "yMax": 8523.838, "yMaxLabel": "8524 kWh" } } { "account": { "elecCooling": 0, "elecDhw": 0.0, "elecHeat": 0.0, "gasDhw": 2494.0, "gasHeat": 3519.0 }, "daily": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "08", "leftColumnSubLabel": null, "rightColumnLabel": "06", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 24 hours", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "monthly": { "data": [ { "x": 1, "y": 162.593, "y2": 173.27, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 182.021, "y2": 184.343, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 182.223, "y2": 223.017, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 145.578, "y2": 217.445, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 177.365, "y2": 298.491, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 186.874, "y2": 305.371, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 154.921, "y2": 240.451, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 180.176, "y2": 134.373, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 157.673, "y2": 183.272, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 173.817, "y2": 231.945, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 150.307, "y2": 323.348, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 145.29, "y2": 308.561, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 13, "y": 161.543, "y2": 316.081, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 14, "y": 87.535, "y2": 162.866, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 15, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "5", "leftColumnSubLabel": "Nov", "rightColumnLabel": "4", "rightColumnSubLabel": "Dec", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 30 days", "yMax": 492.245, "yMaxLabel": "492 kWh" }, "weekly": { "data": [ { "x": 1, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "S", "leftColumnSubLabel": null, "rightColumnLabel": "S", "rightColumnSubLabel": null, "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last 7 days", "yMax": 0.0, "yMaxLabel": "0 kWh" }, "yearly": { "data": [ { "x": 1, "y": 2378.288, "y2": 4078.088, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 2, "y": 2704.869, "y2": 5056.999, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 3, "y": 2766.447, "y2": 5757.391, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 4, "y": 2463.177, "y2": 5033.313, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 5, "y": 2218.372, "y2": 3967.644, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 6, "y": 2275.755, "y2": 3034.288, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 7, "y": 934.046, "y2": 221.895, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 8, "y": 2419.057, "y2": 0.077, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 9, "y": 2127.094, "y2": 0.013, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 10, "y": 1744.727, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 11, "y": 1475.088, "y2": 263.749, "y3": 0.0, "y4": 0.0, "y5": 0.0 }, { "x": 12, "y": 0.0, "y2": 0.0, "y3": 0.0, "y4": 0.0, "y5": 0.0 } ], "leftColumnLabel": "Dec", "leftColumnSubLabel": "'20", "rightColumnLabel": "Nov", "rightColumnSubLabel": "'21", "series": [ { "fill": "#23a7c8", "name": "WATER", "yName": "y" }, { "fill": "#cd3851", "name": "HEATING", "yName": "y2" } ], "title": "Last twelve months", "yMax": 8523.838, "yMaxLabel": "8524 kWh" } }

I hope this helps :)

chomupashchuk commented 2 years ago

I can see that "daily" has everything as zero, meaning ariston site reports all use values for past 24 hours as zero. Considering that before and after that non-zero values are reported, that it is Ariston side issue, which seems to be temporary. I have a workaround for similar issue with CH and DHW temparetures to ignore value 0, but unlike the temperatures with minimum non-zero values known, for used energy value 0 is actually a valid value (for example water heating not used as everyone is on vacation), meaning it should not be simply ignored every time.

chomupashchuk commented 2 years ago

ariston.py.txt You can try attached version (remove .txt), where up to 5 consecutive reported values of 0 are ignored. I have no possibility to fully test it as I get values only 0 from my boiler. I need a feedback if it works or not, so that I could post the updates.

HausnerR commented 2 years ago

Installed, I saw parameter _MAX_ZERO_TOLERANCE_TODAY_PARAMS and changed it to 10 (I want to be sure I don't have error readings). Just want to ask - default polling is set to aprox. to 30 seconds, so if I set _MAX_ZERO_TOLERANCE_TODAY_PARAMS to 10, that means max 5 min delay if zero readings occur?

Thanks for fix, I check it for some time and return with information if everything is ok.

Best regards, Kuba

chomupashchuk commented 2 years ago

Polling is multiplication factor between requests. Reading energy use is lower priority request, which means that all high priority requests are sent, then one out of low priority, then all of high priority, and then another one of low priority. Since number of requests depends also on specified sensors, can't say for sure how often request is sent in your case, so value 3-5 seemed reasonable, as it would be maybe 10 minutes or even more. Ignoring of new value has its logic: all received data is 0, old data is present and not zero and for set amount of ignores as maximum. So if new values have non-zero values, then it would be immediatly stored. So delay in represented values is relative.

chomupashchuk commented 2 years ago

Is the situation stable with the updated version?

HausnerR commented 2 years ago

Hey, yes for now it's super stable :)

chomupashchuk commented 2 years ago

changes are in 1.0.48

HausnerR commented 2 years ago

Thanks!