jeroenterheerdt / HAsmartirrigation

Smart Irrigation custom component for Home Assistant
MIT License
301 stars 47 forks source link

OpenWeatherMap Api Key or Version is wrong #340

Closed Logirius closed 1 month ago

Logirius commented 1 month ago

What happened?

After adding the API Key it shows the error. With each version.

How to reproduce

config_entry-smart_irrigation-85ed538c04d048091b3cce21a027db76.json

OWM Checkbox on, insert API Key and save. On both api versions. New API Key, created days before is working in normal OWM Integration

Relevant log output

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.smart_irrigation.OWMClient
Quelle: custom_components/smart_irrigation/OWMClient.py:258
Integration: Smart Irrigation (Dokumentation, Probleme)
Erstmals aufgetreten: 07:11:25 (6 Vorkommnisse)
Zuletzt protokolliert: 07:22:01

Cannot talk to OWM API, check API key.

Which version are you running?

v2024.4.3

Diagnostics file

Additional information

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.4.1", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "x86_64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "6.6.20-haos", "supervisor": "2024.03.1", "host_os": "Home Assistant OS 12.1", "docker_version": "24.0.7", "chassis": "vm", "run_as_root": true }, "custom_components": { "robonect": { "version": "v1.6.0", "requirements": [ "aiorobonect>=1.0.1", "jsonpath" ] }, "homematicip_local": { "version": "1.58.0", "requirements": [ "hahomematic==2024.3.1" ] }, "dwains_dashboard": { "version": "3.6.0", "requirements": [] }, "auto_areas": { "version": "2.0.0", "requirements": [] }, "openweathermaphistory": { "version": "2.0.12", "requirements": [ "pyowm==3.2.0" ] }, "dwd_weather": { "version": "v2.1.2", "requirements": [ "simple_dwd_weatherforecast==2.0.29", "markdownify==0.6.5", "suntimes==1.1.2" ] }, "irrigation_unlimited": { "version": "2023.11.0", "requirements": [ "crontab" ] }, "alarmo": { "version": "v1.9.15", "requirements": [] }, "miele": { "version": "2024.3.0", "requirements": [ "flatdict==4.0.1", "pymiele==0.1.7" ] }, "smart_irrigation": { "version": "v2024.4.3", "requirements": [] }, "hacs": { "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "irrigationprogram": { "version": "5.4.8", "requirements": [] }, "volkswagencarnet": { "version": "v4.5.9", "requirements": [ "pytz", "volkswagencarnet==4.4.72" ] }, "solax_modbus": { "version": "2024.04.2", "requirements": [ "pymodbus>=3.6.6" ] } }, "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.4.3", "is_built_in": false }, "data": { "config": { "entry_id": "85ed538c04d048091b3cce21a027db76", "version": 1, "minor_version": 1, "domain": "smart_irrigation", "title": "Smart Irrigation", "data": { "name": "Smart Irrigation", "use_owm": false }, "options": { "use_owm": false, "owm_api_key": "XXXXXXXXXXX", "owm_api_version": null }, "pref_disable_new_entities": false, "pref_disable_polling": false, "source": "user", "unique_id": "Smart Irrigation", "disabled_by": null }, "storage": { "config": { "calctime": "23:00", "units": "metric", "use_owm": false, "autocalcenabled": true, "autoupdateenabled": true, "autoupdateschedule": "hours", "autoupdatedelay": "60", "autoupdateinterval": "1", "autoclearenabled": true, "cleardatatime": "23:59", "starteventfiredtoday": true }, "zones": [ { "id": 0, "name": "Tropfzone Hecke", "size": 100.0, "throughput": 8.0, "state": "automatic", "bucket": 0, "old_bucket": -10.000154211219092, "delta": -0.04552924894158151, "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 -10.0.
Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-10.0+-0.0=-10.0.
Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:

  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=8.060/100.0=4.8
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=10.0/4.83600=7534
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 7534
  • Die maximale Dauer wird angewendet. Diese ist 3600.0, also ist die Dauer 3600
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 3615
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.350112", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 }, { "id": 1, "name": "Tropfzone Vorgarten", "size": 40.0, "throughput": 2.5, "state": "automatic", "bucket": 0, "old_bucket": -10.0, "delta": -0.04552924894158151, "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 -10.0.
    Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-10.0+-0.0=-10.0.
    Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
    F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:
  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=2.560/40.0=3.8
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=10.0/3.83600=9644
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 9644
  • Die maximale Dauer wird angewendet. Diese ist 3600.0, also ist die Dauer 3600
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 3615
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.353234", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 }, { "id": 2, "name": "Teich", "size": 70.0, "throughput": 18.0, "state": "automatic", "bucket": 0, "old_bucket": -10.000154211219092, "delta": -0.04552924894158151, "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 -10.0.
    Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-10.0+-0.0=-10.0.
    Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
    F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:
  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=18.060/70.0=15.4
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=10.0/15.43600=2344
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 2344
  • Die maximale Dauer wird angewendet. Diese ist 3600.0,
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 2359
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.355381", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 }, { "id": 3, "name": "Elsbeere", "size": 100.0, "throughput": 18.5, "state": "automatic", "bucket": 0, "old_bucket": -5.0, "delta": -0.04552924894158151, "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 -5.0.
    Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-5.0+-0.0=-5.0.
    Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
    F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:
  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=18.560/100.0=11.1
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=5.0/11.13600=1636
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 1636
  • Die maximale Dauer wird angewendet. Diese ist 3600.0,
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 1651
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.357479", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 }, { "id": 4, "name": "Plateau", "size": 45.0, "throughput": 9.0, "state": "automatic", "bucket": 0, "old_bucket": -10.000154211219092, "delta": -0.04552924894158151, "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 -10.0.
    Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-10.0+-0.0=-10.0.
    Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
    F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:
  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=9.060/45.0=12.0
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=10.0/12.03600=3014
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 3014
  • Die maximale Dauer wird angewendet. Diese ist 3600.0,
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 3029
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.359618", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 }, { "id": 5, "name": "Tropfzone Hainbuche", "size": 225.0, "throughput": 12.0, "state": "automatic", "bucket": 0, "old_bucket": -10.000154211219092, "delta": -0.04552924894158151, "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 -10.0.
    Der maximale Vorrat ist 50.0.Der neue Vorrat ist [alter_Vorrat]+[Ver\u00e4nderung]=-10.0+-0.0=-10.0.
    Wenn der Vorrat < 0 ist, ist eine Bew\u00e4sserung n\u00f6tig..
    F\u00fcr eine exakte Berechnung der Dauer, wurden folgende Schritte durchgef\u00fchrt:
  • Der Niederschlag ist [Durchfluss]60/[Gr\u00f6\u00dfe]=12.060/225.0=3.2
  • Die Dauer ist abs([Vorrat])/[Niederschlag]3600=10.0/3.23600=11301
  • Der Multiplikator wird angewendet. Der Multiplikator ist 1.0, also ist die Dauer 11301
  • Die maximale Dauer wird angewendet. Diese ist 3600.0, also ist die Dauer 3600
  • Zuletzt wird die Vorlaufzeit angewendet. Die Vorlaufzeit ist 15.0, also ist die Dauer 3615
  • ", "mapping": 0, "lead_time": 15.0, "maximum_duration": 3600.0, "maximum_bucket": 50, "last_calculated": "2024-04-07T23:00:00.361776", "last_updated": "2024-04-08T07:02:52.523331", "number_of_data_points": 7 } ], "modules": [ { "id": 0, "name": "PyETO", "description": "Die Berechnung der Verunstungsrate basiert auf der FAO56-Formel aus der PyETO-Bibliothek.", "config": { "forecast_days": "0", "solrad_behavior": "3" }, "schema": [ { "type": "boolean", "name": "coastal", "optional": true, "default": false }, { "type": "select", "options": [ [ "1", "EstimateFromTemp" ], [ "2", "EstimateFromSunHours" ], [ "3", "DontEstimate" ] ], "name": "solrad_behavior", "required": true, "default": "1" }, { "type": "integer", "name": "forecast_days", "required": true, "default": 0 } ] }, { "id": 1, "name": "Static", "description": "Modul mit einer statisch konfigurierbaren Verdunstungsrate..", "config": null, "schema": [ { "type": "float", "name": "delta", "required": true, "default": 0.0 } ] } ], "mappings": [ { "id": 0, "name": "Standard Sensorgruppe", "mappings": { "Dewpoint": { "source": "sensor", "sensorentity": "sensor.gw2000a_dewpoint", "unit": "" }, "Evapotranspiration": { "source": "none", "sensorentity": "", "unit": "" }, "Humidity": { "source": "sensor", "sensorentity": "sensor.gw2000a_humidity", "unit": "" }, "Precipitation": { "source": "sensor", "sensorentity": "sensor.gw2000a_daily_rain_rate_piezo", "unit": "" }, "Pressure": { "source": "sensor", "sensorentity": "sensor.gw2000a_absolute_pressure", "unit": "" }, "Solar Radiation": { "source": "sensor", "sensorentity": "sensor.gw2000a_solar_radiation", "unit": "W/m2" }, "Temperature": { "source": "sensor", "sensorentity": "sensor.gw2000a_outdoor_temperature", "unit": "" }, "Windspeed": { "source": "sensor", "sensorentity": "sensor.gw2000a_wind_speed", "unit": "meter/s" } }, "data": [ { "Dewpoint": 8.2, "Humidity": 72.0, "Precipitation": 0.0, "Pressure": 946.8, "Solar Radiation": 0.0, "Temperature": 13.1, "Windspeed": 0.8, "retrieved": "2024-04-08T00:02:52.518387" }, { "Dewpoint": 7.7, "Humidity": 65.0, "Precipitation": 0.0, "Pressure": 946.0, "Solar Radiation": 0.0, "Temperature": 14.2, "Windspeed": 1.0, "retrieved": "2024-04-08T01:02:52.519023" }, { "Dewpoint": 7.6, "Humidity": 73.0, "Precipitation": 0.0, "Pressure": 945.5, "Solar Radiation": 0.0, "Temperature": 12.3, "Windspeed": 0.0, "retrieved": "2024-04-08T02:02:52.519968" }, { "Dewpoint": 7.3, "Humidity": 74.0, "Precipitation": 0.0, "Pressure": 944.8, "Solar Radiation": 0.0, "Temperature": 11.8, "Windspeed": 0.6, "retrieved": "2024-04-08T03:02:52.520486" }, { "Dewpoint": 7.2, "Humidity": 74.0, "Precipitation": 0.0, "Pressure": 944.5, "Solar Radiation": 0.0, "Temperature": 11.7, "Windspeed": 1.5, "retrieved": "2024-04-08T04:02:52.520967" }, { "Dewpoint": 5.8, "Humidity": 68.0, "Precipitation": 0.0, "Pressure": 944.0, "Solar Radiation": 0.0, "Temperature": 11.5, "Windspeed": 1.4, "retrieved": "2024-04-08T05:02:52.522046" }, { "Dewpoint": 5.7, "Humidity": 67.0, "Precipitation": 0.0, "Pressure": 943.9, "Solar Radiation": 0.0, "Temperature": 11.6, "Windspeed": 0.6, "retrieved": "2024-04-08T06:02:52.522732" }, { "Dewpoint": 3.5, "Humidity": 48.0, "Precipitation": 0.0, "Pressure": 943.8, "Solar Radiation": 1.1180160000000001, "Temperature": 14.4, "Windspeed": 0.6, "retrieved": "2024-04-08T07:02:52.523291" } ], "data_last_updated": "2024-04-08T07:02:52.523331" } ] } } }

    evercape commented 1 month ago

    I have the same error. First time installed this integration, rebooted HA, added integration:

    Integration version: v2024.4.3

    HA version: Core 2024.4.1 Supervisor 2024.03.1 Operating System 12.1 Frontend 20240404.1

    Error logs:

    Logger: custom_components.smart_irrigation.OWMClient
    Source: custom_components/smart_irrigation/OWMClient.py:258
    integration: smart_irrigation ([documentation](https://github.com/jeroenterheerdt/HASmartIrrigation), [issues](https://github.com/jeroenterheerdt/HASmartIrrigation/issues))
    First occurred: 9:42:02 AM (3 occurrences)
    Last logged: 9:42:49 AM
    
    Cannot talk to OWM API, check API key.

    Openweather API: openweather-api openweather-billing

    Error at install: smartirrigation-error-install

    I tried the API 2.5 as well same error.

    Thanks Martin

    jeroenterheerdt commented 1 month ago

    Please make sure you are actually subscribed (for free) to the required API. The OWM website is tricky to work with and activation of new api keys sometimes takes hours. See https://github.com/jeroenterheerdt/HAsmartirrigation/issues/306

    evercape commented 1 month ago

    Please make sure you are actually subscribed (for free) to the required API. The OWM website is tricky to work with and activation of new api keys sometimes takes hours. See #306

    Thanks - stupid me. I didn't read your instructions to the end. It indeed needed just a bit of time to activate the API.

    thx Martin

    Logirius commented 1 month ago

    Hello Jeroen, thank you for your prompt help. Following your advice, I checked again and found it necessary to provide a credit card. I did not see this information anywhere. Only then was the API truly activated. Although it was already marked as activated under APIs. And what surprises me is that it worked wonderfully with the OpenWeatherMap integration. That was essentially my test. But okay, thanks again, everything works in your brilliantly made tool! I had dreamed of something like this for a long time. Best regards, Jürgen

    jeroenterheerdt commented 1 month ago

    thanks a lot, I will update the readme to clarify this.