Ankündigung

Einklappen
Keine Ankündigung bisher.

Support-Thread zum OpenWeatherMap Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Nein, ich habe nur eine Instanz. Die Fehlermeldungen kamen auch ohne Instanzangaben bei den Items und in der plugin.yaml. Anfängerfehler: Ich habe noch nicht auf "Alle Dateien herunterladen" geklickt - ich dachte die Daten laden sich nach einer bestimmten Zeit automatisch herunter.
    Jetzt wird mir in der WebIF unter weather und forecast einiges angezeigt.
    Unter onecall erscheint immer noch die Fehlermeldung:
    {
    "cod": 401,
    "message": "Invalid API key. Please see https://openweathermap.org/faq#error401 for more info."
    }​
    Der onecall funktioniert auch nicht, wenn ich hinter owm_rawfile die Instanz ergänze.
    Auch die Items bleiben bis jetzt leer.
    Irgendetwas fehlt also scheinbar noch, damit es funktioniert.

    Kommentar


      Seltsam, wenn nur ein Teil der Funktionalität funktioniert, dann ist was anderes im argen. Es gab vor kurzem ein neues Release der onecall API, damit wurde auch ein neues Bezahlmodell eingeführt. Ich habe da bisher keinen Fehler / kein Problem wahrgenommen, daher noch nichts gemacht…

      Kommentar


        Ich hab 2 Fragen/Issues:
        Beim Start von shng wird der Scheduler angelegt, sprich die erste Aktualisierung erfolgt erst nach etlichen Minuten. Wie wär's mit einer Option, zu Beginn gleich die Daten zu holen?

        Die structs sind ziemlich "misleading".. forecast und historical kann man so nicht nutzen, da ja Tag bzw. Stunde-Info fehlt. Wie wäre es mit ein paar zusätzlichen structs für "historical_today-1", etc. sowie forecast für die nächsten 12 Stunden? Letzteres könnte in ein einzelnes Struct kommen, was meint ihr?

        Kommentar


          Wofür steht denn das letzte "1h" hier..?
          - ``virtual/next24h/sum/rain/1h`` um die voraussichtliche Regenmenge der nächsten 24h zu bekommen
          Kann in der Doku nicht wirklich eine Erklärung dafür finden.

          Kommentar


            rain/1h ist der Datenpunktname, das kommt so von owm… Der Präfix ist dabei die einzige Entwicklung von mir.

            Hmm, bei mir hat er die Daten unter 1.8.2 ziemlich direkt geholt. Hab jetzt unter 1.9.2 nicht mehr drauf geachtet.

            Kommentar


              Bei mir sieht das beim Neustart so aus..
              Code:
              Okt 28 15:34:26 CEST DEBUG    plugins.openweathermap Main         Init complete  --  (__init__.py:__init__:201)
              Okt 28 15:36:07 CEST DEBUG    plugins.openweathermap Main         transformed past12h/sum/rain/1h into: M:past, n:12, u:h, O:sum, DF: rain/1h  --  (__init__.py:__tokenize_matchstring:543)
              Okt 28 15:36:07 CEST DEBUG    plugins.openweathermap Main         transformed past4d/sum/rain/1h into: M:past, n:4, u:d, O:sum, DF: rain/1h  --  (__init__.py:__tokenize_matchstring:543)
              Okt 28 15:37:22 CEST DEBUG    plugins.openweathermap weather_openweathermap scheduler_add: name = plugins.openweathermap.plugins.openweathermap, parameters: prio=5, cycle=900, offset=2  --  (smartplugin.py:scheduler_add:648)
              Okt 28 15:37:22 CEST NOTICE   lib.smarthome     Main         --------------------   SmartHomeNG initialization finished   --------------------  --  (smarthome.py:start:667)
              Okt 28 15:43:23 CEST DEBUG    plugins.openweathermap plugins.openweathermap.plugins.openweathermap Starting update loop for instance   --  (__init__.py:_update_loop:215)​
              Wobei die Pause bis zum ersten Durchlauf offenbar immer anders ist, keine Ahnung warum. Hatte auch schon 10 Minuten, bis was passiert ist.

              Kommentar


                Zitat von MarcoKa Beitrag anzeigen
                Die Instanz home ist in der plugin.yaml eingefügt und im Log sind keine Fehlermeldungen.
                Irgendetwas muss ich vergessen oder falsch gemacht haben. Hat von euch jemand eine Idee?
                Ich habe das vor kurzem eingerichtet und hatte genau das gleiche Problem. Es kam die Meldung im WebIF und keine Daten. Das hat sich dann gelöst, nachdem ich bei JEDEM Item die Instanz mit angegeben habe. Beispiel:

                Code:
                            forecast:
                                hourly:
                                    currently_plus_1h:
                                        instance: home
                                        owm_match_prefix@home: hour/1
                                        struct: openweathermap.forecast_hourly​
                Vielleicht hilft dir das auch.

                Kommentar


                  Hallo,

                  ich habe das Plugin auch jetzt eingerichtet. Danke für das Plugin!
                  Folgendes ist mir aufgefallen:
                  1) der API-Key funktioniert erst ein paar Stunden nach dem Anlegen. MarcoKa das könnte dein Problem gewesen sein
                  2) Im log habe ich ein
                  Code:
                  ERROR lib.config add_struct_to_item_template: Struct definition for '_openweathermap.forecast_hourly' not found (referenced in item Wetter.owm.forecast.hourly.currently_plus_28h)
                  3) Das hier stimmt nicht:
                  Code:
                  2022-12-30 15:33:10 INFO lib.metadata plugin 'openweathermap': value not found in plugin configuration file for parameter 'latitude' -> using defa
                  ult value '' instead
                  2022-12-30 15:33:10 INFO lib.metadata plugin 'openweathermap': value not found in plugin configuration file for parameter 'longitude' -> using def
                  ault value '' instead
                  ​
                  ​Tatsächlich nimmt er - wie dokumentiert - die Positions-Daten die SH-ng eh schon hat.
                  4) Was bedeutet dies?
                  2022-12-30 16:33:55 INFO plugins.openweathermap wind speed as beaufort number ERROR: owm-string: current/wind_speed/beaufort --> current/wind_speed/beauf
                  ort from wrk=onecall [bft-calculation], Error: Missing child 'current' after '' (complete path missing: current/wind_speed)
                  2022-12-30 16:33:55 INFO plugins.openweathermap wind speed as beaufort string ERROR: owm-string: current/wind_speed/description --> current/wind_speed/de
                  scription from wrk=onecall [bft-calculation], Error: Missing child 'current' after '' (complete path missing: current/wind_speed)
                  5) Obwohl ich im Webinterface auf alle Daten laden geklickt habe, sind alle Items noch 0. Bevor ich das gedrückt habe, stand da dass diese Information von keinem Item requested wird.

                  Hier meine Item-Konfiguration:
                  Code:
                      owm:
                          locals:
                              instance: home
                              struct: openweathermap.locals
                  
                          current:
                              instance: home
                              struct: openweathermap.current
                              rain:
                                  influx: true
                              wind_speed:
                                  influx: true
                              wind_gust:
                                  influx: true
                              temp:
                                  influx: true            
                                  
                  
                          forecast:
                              hourly:
                                  currently_plus_1h:
                                      instance: home
                                      owm_match_prefix@home: hour/1
                                      struct: openweathermap.forecast_hourly
                  Außer dem influx: true ist alles 1:1 aus der Doku entnommen.
                  Kann das daran liegen, dass ich keine instance in der plugin.yaml definiert habe?
                  Ich habe mich hieran gehalten:
                  Falls mehrere Instanzen eines Multi-Instance Plugins konfiguriert sind, muss hier ein eindeutiger Instanz-Name angegeben werden (eine Instanz darf ohnen Namen bleiben). Falls nur eine Instanz konfiguriert ist, sollte hier kein Name vergeben werden.
                  Bei den Items steht jedoch
                  Code:
                   instance: home
                  Gruß,
                  Hendrik

                  Kommentar


                    Hi!

                    Willkommen auf der hellen Seite </blöder Witz zu Darksky>

                    Zitat von henfri Beitrag anzeigen
                    1) der API-Key funktioniert erst ein paar Stunden nach dem Anlegen
                    Das muss in die Doku! (Kann natürlich sein, dass das schon bei OWM selbst steht, das weiß ich aber nicht). Danke für den Hinweis!

                    Zitat von henfri Beitrag anzeigen
                    3) Das hier stimmt nicht:
                    Code:
                    2022-12-30 15:33:10 INFO lib.metadata plugin 'openweathermap': value not found in plugin configuration file for parameter 'latitude' -> using defa
                    ult value '' instead
                    2022-12-30 15:33:10 INFO lib.metadata plugin 'openweathermap': value not found in plugin configuration file for parameter 'longitude' -> using def
                    ault value '' instead
                    ​
                    ​Tatsächlich nimmt er - wie dokumentiert - die Positions-Daten die SH-ng eh schon hat.
                    Das stimmt leider doch. Weil:
                    1. lib.metadata tatsächlich als default '' bekommt, so wie es in der plugin.yaml des Plugins definiert ist. lib.metadata gehört zum Core, nicht zum Plugin.
                    2. Das Plugin dann, wenn der Wert als leer kommt, einen Lookup auf die shng-Konfiguration macht. Hab da lange dran rumgebastelt um was - sorry, idiotensicheres - zu stricken.
                    3. Ist's ja kein Problem, nur ne INFO, nicht mal WARNING noch NOTICE.
                    Zitat von henfri Beitrag anzeigen
                    2) Im log habe ich (...)
                    4) Was bedeutet dies? (...)
                    ​5) (...) Bei den Items steht jedoch
                    Code:
                     instance: home
                    Sorry, die structs sind nicht von mir und ich nutze sie selbst auch nicht. Es kann sein, dass da sich ein hart-verdrahteter instance-name hin verirrt hat... Welche Version des Plugins nutzt Du - die per 1.9.3 mit ausgelieferte? Oder eine "frühere" aus anderen Repos?

                    Kommentar


                      Die structs funktionieren auch ohne instance Angabe in den Items. (Es sei denn, in der etc/plugin.yaml wurde beim Plugin ein instance Name gesetzt.

                      Ich nutze das openweathermap Plugin seit Monaten mit den mitgelieferten structs und habe in den Items kein instance Attribut gesetzt.
                      Viele Grüße
                      Martin

                      There is no cloud. It's only someone else's computer.

                      Kommentar


                        Zitat von Msinn Beitrag anzeigen
                        Die structs funktionieren auch ohne instance Angabe in den Items. (Es sei denn, in der etc/plugin.yaml wurde beim Plugin ein instance Name gesetzt.
                        Gilt der Satz auch umgekehrt? Items haben instance Name, plugin.yaml aber nicht?

                        Hm, hier kommt nix an, in den Items. Mal ein Beispiel:


                        Code:
                        ​owm:
                            plugin_name: openweathermap
                            key: x
                            altitude: '20'
                        ​Ich nutze die Items aus der Dokumentation. Die verwenden structs:
                        Code:
                            owm:
                                locals:
                                    instance: home
                                    struct: openweathermap.locals
                        
                                current:
                                    instance: home
                                    struct: openweathermap.current
                                    rain:
                                        influx: true
                                    wind_speed:
                                        influx: true
                                    wind_gust:
                                        influx: true
                                    temp:
                                        influx: true            
                                        
                        
                                forecast:
                                    hourly:
                                        currently_plus_1h:
                                            instance: home
                                            owm_match_prefix@home: hour/1
                                            struct: openweathermap.forecast_hourly
                        
                                        currently_plus_2h:
                                            instance: home
                                            owm_match_prefix@home: hour/2
                                            struct: openweathermap.forecast_hourly
                        Die Structs sehen ja so aus:
                        image.png

                        Ich nehme an, die Instance wird vererbt, aus meiner Item-Definition?

                        Also nehme ich aus meiner Item-Definition die Instance raus?​

                        Ich weiß: Wenn ich in der plugin.yaml die Instance angebe, wird alles funktionieren. Mir geht es um eine Verbesserung der Doku, damit Andere nicht das Gleiche Problem haben.

                        Gruß,
                        Hendrik

                        Kommentar


                          Zitat von henfri Beitrag anzeigen
                          Also nehme ich aus meiner Item-Definition die Instance raus?​
                          Ja

                          Siehe auch meine Erläuterung in #196 im Thread "Plugin darksky.net für Wetterdaten - wird Ende 2021 Abgeschaltet".
                          Viele Grüße
                          Martin

                          There is no cloud. It's only someone else's computer.

                          Kommentar


                            Danke.
                            Funktioniert hier aber weiterhin nur zum Teil:
                            image.png

                            alerts.start wirt also abgerufen. current.clouds nicht.

                            Ich verstehe aber nicht warum. Der Matchstring sieht doch richtig aus:
                            image.png

                            Im Vergleich:
                            image.png


                            Ah, im Log sehe ich:
                            2023-01-04 22:11:37 INFO plugins.openweathermap Cloudiness,% ERROR: owm-string: current/clouds --> current/clouds from wrk=onecall, Error: Missing child 'current' after '' (complete path missing: current/clouds)


                            Was bedeutet das?

                            Gruß,
                            Hendrik

                            Kommentar


                              Uhm, dass er das Datum nicht findet? Tjaaaa. Ich tippe weiterhin auf instances, aber wahrscheinlich ist es jetzt ein anderer Schluckauf.

                              Das matching sucht in der wrk-Variable, also der Datenquelle mit dem Namen onecall den Knoten current und darunter dann clouds.
                              Das Plugin Webinterface sollte Dir die Datenquelle zeigen und den Inhalt dazu. Die JSON Struktur wird dort ja nativ gezeigt.
                              Schräg ist allerdings, dass er alerts findet, current/clouds aber nicht…
                              moment, bei den alerts hatte ich irgendwas gemacht, damit definitiv was leeres da ist. Daher auch das uralt-Datum. Das ist alles so lange her ☹️

                              Kommentar


                                Zitat von jentz1986 Beitrag anzeigen
                                Uhm, dass er das Datum nicht findet? Tjaaaa. Ich tippe weiterhin auf instances, aber wahrscheinlich ist es jetzt ein anderer Schluckauf.
                                Ich verwende ja nirgends mehr eine Instance und Msinn sagte, dass das bei Ihm so auch funktioniert.
                                Für Current verwende ich ja auch nur 1:1 den Struct. Ich weiß nicht, was ich da falsch machen kann.

                                Das matching sucht in der wrk-Variable, also der Datenquelle mit dem Namen onecall den Knoten current und darunter dann clouds.
                                Das Plugin Webinterface sollte Dir die Datenquelle zeigen und den Inhalt dazu. Die JSON Struktur wird dort ja nativ gezeigt.
                                Hm, onecall wird von keinem Item requested:
                                image.png
                                Nur weather wird requested - da erscheint dann im WebIF das JSON

                                Schräg ist allerdings, dass er alerts findet, current/clouds aber nicht…
                                moment, bei den alerts hatte ich irgendwas gemacht, damit definitiv was leeres da ist. Daher auch das uralt-Datum. Das ist alles so lange her ☹️
                                [/QUOTE]
                                Und, erinnerst du dich?

                                Im log habe ich auch einige Fehler, die ich mir nicht erklären kann (siehe Anhang), da ich ja die Structs nutze.

                                Gruß,
                                Hendrik
                                Zuletzt geändert von henfri; 08.01.2023, 23:06.

                                Kommentar

                                Lädt...
                                X