jeroenterheerdt / HAsmartirrigation

Smart Irrigation custom component for Home Assistant
https://jeroenterheerdt.github.io/HAsmartirrigation/
MIT License
348 stars 49 forks source link

Calculating Zone not working any more [pyETO: calculate_et_for_day] missing Minimum/Maximum Temperature #471

Open schmeggspert opened 3 weeks ago

schmeggspert commented 3 weeks ago

What happened?

Zones are not calculated any more. Trying to press update and calculate but there was a log entry created that Minimum/Maximum temperature not available. I'm using Smart Irrigation with Openweather integration. I also tried to reinstall/reconfigure Smart Irrigation without any impact.

Version Information: Core 2024.8.2 Supervisor 2024.08.0 Operating System 13.0 Frontend 20240809.0 Smart Irrigation v2024.8.0

How to reproduce

Pressing update/calculate

Relevant log output

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.smart_irrigation.calcmodules.pyeto
Quelle: custom_components/smart_irrigation/calcmodules/pyeto/__init__.py:262
Integration: Smart Irrigation (Dokumentation, Probleme)
Erstmals aufgetreten: 08:33:44 (3 Vorkommnisse)
Zuletzt protokolliert: 08:33:44

[pyETO: calculate_et_for_day] missing Minimum Temperature. If you have continuous updates on this is expected as min temp is not always available.

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.smart_irrigation.calcmodules.pyeto
Quelle: custom_components/smart_irrigation/calcmodules/pyeto/__init__.py:266
Integration: Smart Irrigation (Dokumentation, Probleme)
Erstmals aufgetreten: 08:33:44 (3 Vorkommnisse)
Zuletzt protokolliert: 08:33:44

[pyETO: calculate_et_for_day] missing Maximum Temperature. If you have continuous updates on this is expected as max temp is not always available.

Which version are you running?

v2024.8.0

Diagnostics file

Additional information

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.8.2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "aarch64", "timezone": "Europe/Vienna", "os_name": "Linux", "os_version": "6.6.31-haos-raspi", "supervisor": "2024.08.0", "host_os": "Home Assistant OS 13.0", "docker_version": "26.1.4", "chassis": "embedded", "run_as_root": true }, "custom_components": { "pyscript": { "documentation": "https://github.com/custom-components/pyscript", "version": "1.6.1", "requirements": [ "croniter==2.0.2", "watchdog==2.3.1" ] }, "webuntis": { "documentation": "https://github.com/JonasJoKuJonas/homeassistant-WebUntis/", "version": "v1.1.4", "requirements": [ "webuntis==0.1.22" ] }, "tuya_local": { "documentation": "https://github.com/make-all/tuya-local", "version": "2024.7.1", "requirements": [ "tinytuya==1.15.1", "tuya-device-sharing-sdk>=0.1.9,<=0.2.99" ] }, "presence_simulation": { "documentation": "https://github.com/slashback100/presence_simulation", "version": "4.9", "requirements": [] }, "iaqualinkRobots": { "documentation": "https://github.com/galletn/iaqualink/", "version": "v0.3.1", "requirements": [] }, "localtuya": { "documentation": "https://github.com/xZetsubou/hass-localtuya/", "version": "6.0.0", "requirements": [] }, "delete": { "documentation": "https://github.com/chomupashchuk/delete-file-home-assistant", "version": "1.9", "requirements": [] }, "files": { "documentation": "https://github.com/TarheelGrad1998/files", "version": "1.5", "requirements": [] }, "smart_irrigation": { "documentation": "https://github.com/jeroenterheerdt/HASmartIrrigation", "version": "v2024.8.0", "requirements": [] }, "alarmo": { "documentation": "https://github.com/nielsfaber/alarmo", "version": "v1.10.4", "requirements": [] }, "solcast_solar": { "documentation": "https://github.com/BJReplay/ha-solcast-solar", "version": "v4.1.3", "requirements": [ "aiohttp>=3.8.5", "aiofiles>=24.1.0", "datetime>=4.3", "isodate>=0.6.1" ] }, "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "iaqualink": { "documentation": "https://www.home-assistant.io/integrations/iaqualink/", "version": "1.2.1-exo", "requirements": [ "git+https://github.com/martinfrench92/iaqualink-py.git@zs500#iaqualink==0.5.3" ] }, "epex_spot": { "documentation": "https://github.com/mampfes/ha_epex_spot", "version": "2.3.8", "requirements": [ "beautifulsoup4" ] } }, "integration_manifest": { "domain": "smart_irrigation", "name": "Smart Irrigation", "codeowners": [ "jeroenterheerdt" ], "config_flow": true, "dependencies": [ "http", "panel_custom" ], "documentation": "https://github.com/jeroenterheerdt/HASmartIrrigation", "iot_class": "local_push", "issue_tracker": "https://github.com/jeroenterheerdt/HASmartIrrigation/issues", "requirements": [], "version": "v2024.8.0", "is_built_in": false }, "setup_times": { "null": { "setup": 0.00011762900001599519 }, "01J5FEF2Y6CPQ3G70H8V4SHHKW": { "wait_import_platforms": -2.31501912600001, "config_entry_setup": 2.416037100000011 } }, "data": { "use_weather_service": true, "weather_service": "Open Weather Map", "weather_service_api_key": "[redacted]", "weather_service_api_version": null, "store": { "config": { "calctime": "23:00", "units": "metric", "use_weather_service": true, "weather_service": "Open Weather Map", "autocalcenabled": true, "autoupdateenabled": true, "autoupdateschedule": "hours", "autoupdatedelay": "0", "autoupdateinterval": "1", "autoclearenabled": true, "cleardatatime": "23:59", "starteventfiredtoday": false, "continuousupdates": false }, "mappings": [ { "id": 0, "name": "Standard Sensorgruppe", "mappings": { "Dewpoint": { "source": "weather_service", "sensorentity": "", "unit": "" }, "Evapotranspiration": { "source": "none", "sensorentity": "", "unit": "" }, "Humidity": { "source": "weather_service", "sensorentity": "", "unit": "" }, "Precipitation": { "source": "weather_service", "sensorentity": "", "unit": "" }, "Pressure": { "source": "weather_service", "sensorentity": "", "unit": "" }, "Solar Radiation": { "source": "none", "sensorentity": "", "unit": "" }, "Temperature": { "source": "weather_service", "sensorentity": "", "unit": "" }, "Windspeed": { "source": "weather_service", "sensorentity": "", "unit": "" } }, "data": [], "data_last_updated": "2024-08-17T08:33:42.405371" } ], "modules": [ { "id": 0, "name": "PyETO", "description": "Die Berechnung der Verunstungsrate basiert auf der FAO56-Formel aus der PyETO-Bibliothek.", "config": { "forecast_days": "3", "coastal": false, "solrad_behavior": "4" }, "schema": [ { "type": "boolean", "name": "coastal", "optional": true, "default": false }, { "type": "select", "options": [ [ "1", "EstimateFromTemp" ], [ "2", "EstimateFromSunHours" ], [ "3", "DontEstimate" ], [ "4", "EstimateFromSunHoursAndTemperature" ] ], "name": "solrad_behavior", "required": true, "default": { "__type": "<enum 'SOLRAD_behavior'>", "repr": "<SOLRAD_behavior.EstimateFromTemp: '1'>" } }, { "type": "integer", "name": "forecast_days", "optional": true, "default": 0 } ] } ], "zones": [ { "id": 1, "name": "Garten", "size": 33.0, "throughput": 7.0, "state": "automatic", "bucket": 1.957504110755438, "old_bucket": 1.957504110755438, "delta": 0.0, "duration": 0, "module": 0, "multiplier": 1.0, "explanation": "Beachte: Diese Beschreibung nutzt '.' als Dezimalzeichen und zeigt gerundete Werte. Das Modul berechnete einen Evapotranspirationsmangel von 0.0. Der alte Vorrat war 2.0.
Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=2.0+0.0=2.0.
Wenn der Vorrat >= 0 ist, ist keine Bew\u00e4sserung n\u00f6tig und die Dauer ist gleich 0", "mapping": 0, "lead_time": 0.0, "maximum_duration": 1800.0, "maximum_bucket": 50, "last_calculated": "2024-08-17T08:33:44.520105", "last_updated": "2024-08-17T08:33:42.405371", "number_of_data_points": 0 }, { "id": 2, "name": "Hochbeet", "size": 2.0, "throughput": 1.5, "state": "automatic", "bucket": 1.957504110755438, "old_bucket": 1.957504110755438, "delta": 0.0, "duration": 0, "module": 0, "multiplier": 1.0, "explanation": "Beachte: Diese Beschreibung nutzt '.' als Dezimalzeichen und zeigt gerundete Werte. Das Modul berechnete einen Evapotranspirationsmangel von 0.0. Der alte Vorrat war 2.0.
Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=2.0+0.0=2.0.
Wenn der Vorrat >= 0 ist, ist keine Bew\u00e4sserung n\u00f6tig und die Dauer ist gleich 0", "mapping": 0, "lead_time": 0.0, "maximum_duration": 1200.0, "maximum_bucket": 50, "last_calculated": "2024-08-17T08:33:44.546009", "last_updated": "2024-08-17T08:33:42.405371", "number_of_data_points": 0 }, { "id": 3, "name": "MicroDrip", "size": 0.4, "throughput": 0.0667, "state": "automatic", "bucket": 1.957504110755438, "old_bucket": 1.957504110755438, "delta": 0.0, "duration": 0, "module": 0, "multiplier": 1.0, "explanation": "Beachte: Diese Beschreibung nutzt '.' als Dezimalzeichen und zeigt gerundete Werte. Das Modul berechnete einen Evapotranspirationsmangel von 0.0. Der alte Vorrat war 2.0.
Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=2.0+0.0=2.0.
Wenn der Vorrat >= 0 ist, ist keine Bew\u00e4sserung n\u00f6tig und die Dauer ist gleich 0", "mapping": 0, "lead_time": 0.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-08-17T08:33:44.575073", "last_updated": "2024-08-17T08:33:42.405371", "number_of_data_points": 0 } ] } } }

jeroenterheerdt commented 3 weeks ago

Are you certain you are on 2024.8.0 and not one of the betas? Please clear your browser cache to make sure you have the right version installed.

schmeggspert commented 3 weeks ago

Yes, I’m sure I’ve never installed any beta as well as I cleared my browser history and double checked.

jeroenterheerdt commented 3 weeks ago

OK thanks for letting me know. I think this is an issue I actually fixed in a beta. It's likely because there is just one data point. Try updating multiple times before calculating.

schmeggspert commented 3 weeks ago

Thx for the hint! When I’m updating multiple times the error is not shown up but the duration is not calculated - it keep 0

ravlar commented 3 weeks ago

Same issue here. Data is available but calculation is always 0. I'll try to install a beta to see if it is sorted out.

ravlar commented 3 weeks ago

Updated to 2024.8.1-beta8 solves the issue 👍

akcasoy commented 3 weeks ago

Updated to 2024.8.1-beta8, nothing changed for me... calculate still does not change anything...

jeroenterheerdt commented 3 weeks ago

@akcasoy clear your cache: https://jeroenterheerdt.github.io/HAsmartirrigation/installation-updating.html

akcasoy commented 3 weeks ago

@akcasoy clear your cache: https://jeroenterheerdt.github.io/HAsmartirrigation/installation-updating.html

didn't help either..

jeroenterheerdt commented 3 weeks ago

@akcasoy clear your cache: https://jeroenterheerdt.github.io/HAsmartirrigation/installation-updating.html

didn't help either..

OK, please post a diag file.

schmeggspert commented 3 weeks ago

Thx for the hint! When I’m updating multiple times the error is not shown up but the duration is not calculated - it keep 0

I uninstalled and reinstalled 2024.8.0 again - now It is calculating when there is more than one datapoints.

With the beta version I don’t receive any error log message again.

jeroenterheerdt commented 3 weeks ago

@schmeggspert I strongly suspect a browser cache issue here. Glad it works now.

akcasoy commented 2 weeks ago

It still does not work for me... even after updating to the latest version v2024.8.2. I am seeing this error in the logs:

2024-08-26 23:31:35.675 ERROR (SyncWorker_19) [homeassistant] Error doing job: Task exception was never retrieved (None) Traceback (most recent call last): File "/config/custom_components/smart_irrigation/init.py", line 502, in async_sensor_state_changed data_last_entry = dict(data_last_entry) ^^^^^^^^^^^^^^^^^^^^^ ValueError: dictionary update sequence element #0 has length 8; 2 is required

jeroenterheerdt commented 2 weeks ago

as requested before @akcasoy please post your diag file or storage file

akcasoy commented 2 weeks ago

I have now deleted the integration and installed again.. the problem still exists :/ Here is my diagnostic file. config_entry-smart_irrigation-01J68AR5AMMW69BK3WJNF8D63A.json

jlrosssc commented 2 weeks ago

I'm having the same issue. It worked up until yesterday then quit. I looked at my logs and it's showing an error with the Pirateweather pressure value causing an pyETO error. I tried to manually set a value but it's not taking that either.

Editing When I select the sensors it seems to default to static value but does not save entry. If I select Weather Service, go to another tab and come back to the sensor tab, it goes back to a blank static selection.

2024-08-28 20:22:40.871 ERROR (SyncWorker_3) [homeassistant.core] unable to convert unknown to float. Please check the source sensor is available. 2024-08-28 20:22:40.872 ERROR (SyncWorker_3) [custom_components.daily.sensor] unable to convert to float. Please check the source sensor (Sensor.lightning_lightning_distance) is available. 2024-08-28 20:22:41.287 WARNING (MainThread) [custom_components.smart_irrigation.calcmodules.pyeto] [pyETO: calculate_et_for_day] cannot calculate as some data is missing! 2024-08-28 20:22:41.287 WARNING (MainThread) [custom_components.smart_irrigation.calcmodules.pyeto] [pyETO: calculate_et_for_day] missing Pressure. 2024-08-28 20:22:41.321 WARNING (MainThread) [custom_components.smart_irrigation.calcmodules.pyeto] [pyETO: calculate_et_for_day] cannot calculate as some data is missing! 2024-08-28 20:22:41.321 WARNING (MainThread) [custom_components.smart_irrigation.calcmodules.pyeto] [pyETO: calculate_et_for_day] missing Pressure. 2024-08-28 20:22:41.500 ERROR (SyncWorker_12) [homeassistant.core] unable to convert unknown to float. Please check the source sensor is available.

jlrosssc commented 1 week ago

I deleted and reinstalled v2024.8.2 with no change. Reinstalled v2024.8.0 with no change. I deleted the directory and restored from a weekly backup to v2024.8.0 and it's back working. I will hold off on upgrading again to v2024.8.2.

akcasoy commented 1 week ago

I will never update this integration on the first new release days..

jeroenterheerdt commented 1 week ago

I deleted and reinstalled v2024.8.2 with no change. Reinstalled v2024.8.0 with no change. I deleted the directory and restored from a weekly backup to v2024.8.0 and it's back working. I will hold off on upgrading again to v2024.8.2.

It would have been very helpful if you had given more info on your config, which versions you had installed (especially beta versions) etc. Glad you got it resolved though.

jeroenterheerdt commented 1 week ago

I have now deleted the integration and installed again.. the problem still exists :/ Here is my diagnostic file. config_entry-smart_irrigation-01J68AR5AMMW69BK3WJNF8D63A.json

Did you have a beta version installed before?

jlrosssc commented 1 week ago

Unfortunately, although I thought it was corrected, it only worked one time. I am back in the same shape now. Sent from my iPhoneOn Aug 30, 2024, at 11:54 AM, Jeroen ter Heerdt @.***> wrote:

I have now deleted the integration and installed again.. the problem still exists :/ Here is my diagnostic file. config_entry-smart_irrigation-01J68AR5AMMW69BK3WJNF8D63A.json

Did you have a beta version installed before?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

jeroenterheerdt commented 1 week ago

Unfortunately, although I thought it was corrected, it only worked one time. I am back in the same shape now. Sent from my iPhoneOn Aug 30, 2024, at 11:54 AM, Jeroen ter Heerdt @.> wrote: I have now deleted the integration and installed again.. the problem still exists :/ Here is my diagnostic file. config_entry-smart_irrigation-01J68AR5AMMW69BK3WJNF8D63A.json Did you have a beta version installed before? —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>

Asking again: did you ever have a beta version installed?

jlrosssc commented 1 week ago

I don’t think so. Sent from my iPhoneOn Aug 30, 2024, at 2:23 PM, Jeroen ter Heerdt @.***> wrote:

Unfortunately, although I thought it was corrected, it only worked one time. I am back in the same shape now. Sent from my iPhoneOn Aug 30, 2024, at 11:54 AM, Jeroen ter Heerdt @.> wrote: I have now deleted the integration and installed again.. the problem still exists :/ Here is my diagnostic file. config_entry-smart_irrigation-01J68AR5AMMW69BK3WJNF8D63A.json Did you have a beta version installed before? —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>

Asking again: did you ever have a beta version installed?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>