Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ticaki Developer @Boronsbruder last edited by

      @boronsbruder
      ? Wie soll ein Objekt als Datenpunkt dargestellt werden. Ich würde ein Json für die Darstellung in einer Weboberfläche als String anzeigen.

      Boronsbruder 1 Reply Last reply Reply Quote 0
      • Boronsbruder
        Boronsbruder @ticaki last edited by Boronsbruder

        @ticaki
        So setzt der DWD-Adapter: -> "NOPE"
        object.jpg
        So setzt dein Skript:
        object2.jpg
        Also das Test-Skript von dir...

        T 1 Reply Last reply Reply Quote 0
        • T
          ticaki Developer @Boronsbruder last edited by ticaki

          @boronsbruder
          Wenn man das über die Adminoberfläche setzt mit JSON als Objekttyp wird es auch so angezeigt wie der DWD Adapter es setzt. Ist doch nicht wichtig. Es geht und wenn die fertig sind mir ihren ganzen Adapteranpassungen schaue ich mir das nochmal an.

          Oder geht es noch immer nicht? Mit echten Warnungen.

          Boronsbruder 2 Replies Last reply Reply Quote 0
          • Boronsbruder
            Boronsbruder @ticaki last edited by

            @ticaki
            ne, geht mit echten nicht

            T 1 Reply Last reply Reply Quote 0
            • Boronsbruder
              Boronsbruder @ticaki last edited by

              @ticaki

              2021-07-24 15:18:22.787 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: onchange NINA nina.0.09775.warnung02.rawJson
              2021-07-24 15:18:22.787 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID + JSON:nina.0.09775.warnung02.rawJson - "{\"identifier\":\"41e17e9ca1620dea9e3ba91ed2e7966ae5953439da2179d5ef0a55356b1ec7de\",\"sender\":\"opendata@dwd.de\",\"sent\":\"2021-07-24T15:15:05+02:00\",\"status\":\"Actual\",\"msgType\":\"Alert\",\"source\":\"PVW\",\"scope\":\"Public\",\"code\":[\"1.0\"],\"info\":[{\"language\":\"de-DE\",\"category\":[\"Met\"],\"event\":\"STARKES GEWITTER\",\"responseType\":[\"Prepare\"],\"urgency\":\"Immediate\",\"severity\":\"Moderate\",\"certainty\":\"Observed\",\"eventCode\":[{\"valueName\":\"PROFILE_VERSION\",\"value\":\"2.1\"},{\"valueName\":\"LICENSE\",\"value\":\"Geobasisdaten: Copyright Bundesamt für Kartographie und Geodäsie, Frankfurt am Main, 2017\"},{\"valueName\":\"II\",\"value\":\"36\"},{\"valueName\":\"GROUP\",\"value\":\"THUNDERSTORM\"},{\"valueName\":\"GROUP\",\"value\":\"WIND\"},{\"valueName\":\"GROUP\",\"value\":\"RAIN\"},{\"valueName\":\"AREA_COLOR\",\"value\":\"251 140 0\"}],\"effective\":\"2021-07-24T14:55:00+02:00\",\"onset\":\"2021-07-24T14:55:00+02:00\",\"expires\":\"2021-07-24T16:00:00+02:00\",\"senderName\":\"Deutscher Wetterdienst\",\"headline\":\"Amtliche WARNUNG vor STARKEM GEWITTER\",\"description\":\"Von Südwesten ziehen Gewitter auf. Dabei gibt es Sturmböen mit Geschwindigkeiten bis 70 km/h (20m/s, 38kn, Bft 8) sowie Starkregen mit Niederschlagsmengen bis 20 l/m² pro Stunde.\",\"instruction\":\"ACHTUNG! Hinweis auf mögliche Gefahren: Örtlich kann es Blitzschlag geben. Bei Blitzschlag besteht Lebensgefahr! Vereinzelt können beispielsweise Bäume entwurzelt und Dächer beschädigt werden. Achten Sie besonders auf herabstürzende Äste, Dachziegel oder Gegenstände. Während des Platzregens sind kurzzeitig Verkehrsbehinderungen möglich.\",\"web\":\"https://www.wettergefahren.de\",\"contact\":\"Deutscher Wetterdienst\",\"parameter\":[{\"valueName\":\"Böen\",\"value\":\"<70 [km/h]\"},{\"valueName\":\"Niederschlag\",\"value\":\"<20 [l/m² in 1h]\"},{\"valueName\":\"Gewitteraufzugsrichtung\",\"value\":\"south-west\"}],\"area\":[{\"areaDesc\":\"Kreis Dillingen a.d. Donau\",\"geocode\":[{\"valueName\":\"Dillingen a.d. Donau\",\"value\":\"097730000000\"}],\"altitude\":0,\"ceiling\":9842.5197},{\"areaDesc\":\"Kreis Neu-Ulm\",\"geocode\":[{\"valueName\":\"Neu-Ulm\",\"value\":\"097750000000\"}],\"altitude\":0,\"ceiling\":9842.5197},{\"areaDesc\":\"Kreis Günzburg\",\"geocode\":[{\"valueName\":\"Günzburg\",\"value\":\"097740000000\"}],\"altitude\":0,\"ceiling\":9842.5197}]}]}"
              

              Auch NINA macht nicht mit... (Meldung ist für Neu-Ulm und Kreis Neu-Ulm)

              var uGemeinde = 'Neu-Ulm'; // hier steht zum Beispiel, Hamburg, Unterdorf
              var uLandkreis = 'Kreis Neu-Ulm'; // hier Kreis Bitburg, Landkreis Fürth
              

              Ich hab jetzt schon

              • das Skript gelöscht und von GitHub neureinkopiert und ohne Copy und Paste neu-konfiguriert...
              • den DWD-Adapter neuinstalliert...
              1 Reply Last reply Reply Quote 0
              • Boronsbruder
                Boronsbruder last edited by

                Ich wohn einfach am falschen Ort 🤣

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @Boronsbruder last edited by ticaki

                  @boronsbruder
                  Benutzt du latest?

                  Versuche mal folgendes:

                  EDIT: Ich gehe hier davon aus das es daran liegt das die Daten als string und nicht als objekt ankommen.

                  Füge nach Zeile 1610 und vor Zeile 1611 folgenden Code ein

                      if ( value && typeof value === 'string' ) {
                          value = JSON.parse(value);
                      }
                  
                  

                  nachher sollte es so aussehen:

                      // letzter Teil ist unschön, ändern wenn verstanden
                      if ( value && typeof value === 'string' ) {
                          value = JSON.parse(value);
                      }
                      if (!value || value === undefined || value == {} || value.length <= 4 || (mode == DWD && value.description === undefined)) {
                          myLog("addDatabaseData() ID:" + id + ' - ' + 'nope');
                          return;
                      }
                  
                  

                  Edit:

                  Schalte mal Debug auf true, wenn das oben nicht hilft. Bei mir geht es übrigens.

                  Boronsbruder 1 Reply Last reply Reply Quote 0
                  • Boronsbruder
                    Boronsbruder @ticaki last edited by

                    @ticaki
                    Nein, nur stable!
                    Das war's!
                    pushover.jpg
                    Vielen Dank!

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @Boronsbruder last edited by ticaki

                      //Version 0.97.19.2

                      • Kompatibilität zur Stableversion

                      Sind nur die Änderungen die oben schon als Code gepostet wurden.

                      1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 last edited by

                        Ich leider nochmal.

                        Nach meinem letzten Post habe ich auf das damals aktuelle Script gewechselt welches einige Zeit lief.

                        Jetzt sehe ich heute diese Meldungen im Log:

                        javascript.0
                        	2021-07-29 16:00:23.237	error	at processTimers (internal/timers.js:500:7)
                        javascript.0
                        	2021-07-29 16:00:23.237	error	at listOnTimeout (internal/timers.js:557:17)
                        javascript.0
                        	2021-07-29 16:00:23.237	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34)
                        javascript.0
                        	2021-07-29 16:00:23.237	error	at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17)
                        javascript.0
                        	2021-07-29 16:00:23.237	error	at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72)
                        javascript.0
                        	2021-07-29 16:00:23.237	error	Error in callback: ReferenceError: uTelegramUseStdUser is not defined
                        javascript.0
                        	2021-07-29 15:50:22.310	error	at processTimers (internal/timers.js:500:7)
                        javascript.0
                        	2021-07-29 15:50:22.310	error	at listOnTimeout (internal/timers.js:557:17)
                        javascript.0
                        	2021-07-29 15:50:22.310	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34)
                        javascript.0
                        	2021-07-29 15:50:22.310	error	at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17)
                        javascript.0
                        	2021-07-29 15:50:22.310	error	at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72)
                        javascript.0
                        	2021-07-29 15:50:22.309	error	Error in callback: ReferenceError: uTelegramUseStdUser is not defined
                        javascript.0
                        	2021-07-29 15:40:22.532	error	at processTimers (internal/timers.js:500:7)
                        javascript.0
                        	2021-07-29 15:40:22.532	error	at listOnTimeout (internal/timers.js:557:17)
                        javascript.0
                        	2021-07-29 15:40:22.532	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34)
                        javascript.0
                        	2021-07-29 15:40:22.532	error	at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17)
                        javascript.0
                        	2021-07-29 15:40:22.531	error	at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72)
                        javascript.0
                        	2021-07-29 15:40:22.531	error	Error in callback: ReferenceError: uTelegramUseStdUser is not defined
                        

                        Jemand ne Idee was da jetzt falsch läuft?

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @wendy2702 last edited by ticaki

                          @wendy2702
                          Ja ich 🙂

                          Da fehlt eine Konfigurationsvariable. In diesem Fall ist es(Zeile 199):

                          var uTelegramUseStdUser         = false; // Verwende immer auch die im Adapter gespeicherten Benutzer.
                          

                          Einfach hinzufügen und wenn weitere Meldung mit XYZ is not defined kommen, fehlen noch weitere.

                          wendy2702 1 Reply Last reply Reply Quote 1
                          • wendy2702
                            wendy2702 @ticaki last edited by

                            @ticaki

                            Also hier:

                            e5cbbdaf-b240-48ab-b4ab-b7f88314a851-grafik.png

                            Wo ist Sie hin? Habe ich beim Script Update mist gebaut oder was könnte passiert sein?

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              ticaki Developer @wendy2702 last edited by

                              @wendy2702
                              Jein, wenn du nach langer Zeit mal ein Update machst, wird sich auch die Konfiguration verändert haben, und dann reicht es nicht aus nur ab 123456 zu kopieren. 🙂

                              Im aktuellen Skript sieht die Konfiguration für Telegramm so aus:

                              /* Konfiguration Telegram */
                              var telegramUser                = ['']; // Einzelnutzer ['Hans']; Multinutzer ['Hans, Gretel']; Nutzer vom Adapter übernehmen [];
                              var telegramChatId              = ['']; // Mehrfach Einträge möglich ['Gruppe1','Gruppe2']
                              var uTelegramReplyMarkup        = null; // Falls ihr ein Telegrammmenü verwendet, könnt ihr hier einen Weg zurück definieren z.B.: {keyboard: [['Zurück']], resize_keyboard: true};
                              var uTelegramAllowNotification  = true; // Erlaube Telegramnotification (Benachrichtigungston/Hinweise auf dem Empfangsgerät)
                              var uTelegramUseStdUser         = false; // Verwende immer auch die im Adapter gespeicherten Benutzer.
                              
                              /* Konfiguration Pushover */
                              var uPushoverDeviceName     = ''; // ein bestimmtes Gerät z.B: ['droid4'];
                              var uPushoverSound          = ''; // Sounds siehe: https://pushover.net/api#sounds
                              
                              //Konfiguration von ioGo
                              var ioGoUser = ['']; // // Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen [];
                              
                              
                              wendy2702 1 Reply Last reply Reply Quote 0
                              • wendy2702
                                wendy2702 @ticaki last edited by

                                @ticaki OK.

                                Dann bei Zeiten mal das komplette Script neu "kopieren" und Einstellungen anpassen.

                                Danke!

                                1 Reply Last reply Reply Quote 0
                                • P
                                  patti_9000 last edited by

                                  Hi leute,
                                  erstmal danke für die Bemühungen sowas bereitzustellen. Leider bekomme ich das aber trotzdem nicht zum Laufen.
                                  Ich habe die Konfiguration mal nur minimalistisch editiert, da ich einfach mal schauen wollte, wie zuverlässig die Warnungen kommen, bevor ich meine bessere Hälfte damit verrückt mache 😄 .
                                  UWZ und Pushover sind aktiviert. Mein UWZ Code ist UWZAT01197 und es spuckt irgendwie nichts aus. Die letzten 2 Tage hatten wir lt. uwz.at immer mal eine rote Warnstufe (Gewitter und Regen), aber irgendwie kommt da nichts.

                                  Der Datenpunkt "config.uwz" ist TRUE und unter "config.auto/manuell" ist jeweils Pushover auf TRUE und das manuelle Anstoßen der Meldung über "commands.pushover" funktioniert auch.
                                  Im Log ist leider nichts zu sehen.

                                  Da ich vermute, dass es sich um einen Layer8 Fehler handelt, wäre ich für eure Hilfe dankbar 🙂

                                  mfg

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @patti_9000 last edited by ticaki

                                    @patti_9000
                                    Ist das UWZ Skript installiert?
                                    Was passiert wenn du unter manuell/Pushover auf den Knopf drückst?
                                    steht was in ./message?

                                    P 1 Reply Last reply Reply Quote 1
                                    • P
                                      patti_9000 @ticaki last edited by

                                      @ticaki ach bin ich bescheutert... ich dachte, dass das im neuen skript enthalten sei, aber das hätte ich am ende des posts lesen können... sorry! läuft.
                                      Kann ich irgendwie eine zweite Pushover Instanz ansteuern? (Theoretisch könnte ich die Emails aktivieren, aber anders wärs eleganter)

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @patti_9000 last edited by ticaki

                                        @patti_9000
                                        Nein das geht nicht, kannst aber natürlich das Skript 2 mal laufen lassen. Das ordentlich einzubauen ist aufwenig und es rein zu fummeln, wäre nur für deine lokale Instanz akzeptabel. 🙂

                                        1 Reply Last reply Reply Quote 1
                                        • crunchip
                                          crunchip Forum Testing Most Active last edited by

                                          @ticaki hab gerade admin 5 eingerichtet, entsprechend javascript auf 5.2.8 angehoben, beim starten der instanz erscheint nun folgendes

                                          javascript.0
                                          2021-08-01 11:07:01.405	error	script.js.Ansagen.Wetterwarnung-Push: setForeignState: Error: DB closed
                                          
                                          javascript.0
                                          2021-08-01 11:07:01.404	error	script.js.Visualisierung.Wetterwarnung_UWZ: setForeignState: Error: DB closed
                                          

                                          hast du da eine Idee?

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            ticaki Developer @crunchip last edited by

                                            @crunchip
                                            Ich nutze Admin v5.1.19 und Javascript v5.2.8, bekomme jedoch keine solche Fehlermeldung. Da hab ich keine Idee, was es sein könnte.

                                            crunchip 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            868
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            53
                                            1521
                                            486269
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo