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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

      0_userdata.0.wetterwarnung.data.zamg.48#018632603793776/15#156741515414303.warningist unangetastet das was vom server kommt

      Nach der Aufhebung aller Warnungen wurde dieser Punkt früher geleert.
      Bei mehreren Warnungen wurde da immer die zeitlich nächstgelegen Warnung angezeigt.
      Mir würde das völlig reichen.

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

        @bergjet

        Hab daran nichts geändert, zumindest nicht das ich wüsste. Werde ich mir mal ansehen.

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

          @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

          @bergjet

          Hab daran nichts geändert, zumindest nicht das ich wüsste. Werde ich mir mal ansehen.

          Die Meldung ist heute weg. Dürfte am Server gelegen haben.

          1 Reply Last reply Reply Quote 1
          • N
            niiccooo1 last edited by

            Hallo Zusammen,

            ich habe noch eine Frage zu den Ordner "alerts".

            Heute Vormittag habe ich eine Warnung von UWZ vor Hitze erhalten.
            Diese Warnung wurde auch sauber in den Ordner "0_userdata.0.Wetterwarnung.alert.uwz.Ort.Hitze" abgelegt.
            Der Datenpunkt "0_userdata.0.Wetterwarnung.alert.uwz.Ort.Hitze.current" war noch auf false da die Warnung von 13 bis 19 Uhr gültig ist.

            Um 14:15 Uhr habe ich mir den Datenpunkt current nochmal angeschaut. Dieser war immer noch auf false.

            Frage: Ist das so gewollt, oder sollte diese Datenpunkt umspringen sobald der Zeitpunkt der Warnung erreicht ist?

            Vielen Dank!

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

              @niiccooo1
              Nein, da ist ein Fehler im script

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

                @ticaki Alles klar!
                Schon eine Idee, wie sich das beheben lässt ?

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

                  @niiccooo1
                  Ich hab mal meine Änderungen in das Skript auf github übernommen, ich glaube ich hatte das behoben. Hab getestet ob es startet, aber auch nicht mehr. Am WE finde ich vielleicht mehr Zeit.

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @ticaki last edited by

                    @ticaki

                    Ich glaube, das Thema hatten wir schon mal irgendwo angerissen, aber wäre es möglich die Ansagen für Alexas anders zusammenzubauen?

                    script.js.common.dwd_uwz_nina_warnungen: info: {"AREADESC":"K-Rodenk.","NAME":"Köln-Rodenkirchen","WARNCELLID":705315102,"IDENTIFIER":"2.49.0.0.276.0.DWD.PVW.1694537460000.e0acc5a8-e77d-41cc-8dcd-1969d1944ffb.DEU","SENDER":"opendata@dwd.de","SENT":"2023-09-12T16:51:00Z","STATUS":"Actual","MSGTYPE":"Alert","SOURCE":"PVW","SCOPE":"Public","CODE":"id:2.49.0.0.276.0.DWD.PVW.1694537460000.e0acc5a8-e77d-41cc-8dcd-1969d1944ffb","LANGUAGE":"de-DE","CATEGORY":"Met","EVENT":"SCHWERES GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","RESPONSETYPE":"Prepare","URGENCY":"Immediate","SEVERITY":"Severe","CERTAINTY":"Likely","EC_PROFILE":"2.1.13","EC_LICENSE":"© GeoBasis-DE / BKG 2021 (Daten modifiziert)","EC_II":"46","EC_GROUP":"THUNDERSTORM;RAIN;HAIL;WIND","EC_AREA_COLOR":"229 57 
                    

                    Bei mir wird immer die Region 'KARO-DENK' angesagt. Bis ich mal drauf gekommen bin, das damit der Bezirk 'Köln-Rodenkirchen' gemeint sein könnte.

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

                      @thomas-braun
                      hab 1% vom Adapter fertig... 😄
                      Wenn der dann irgendwann fertig ist kannst du die Texte in der Adapterkonfiguration selbst anpassen.
                      wird dann sowas wie:

                      Neue MESSAGETYP von DIENST für Region SHORTNAMEAREA, HEADLINE von START bis ENDE
                      

                      Aber zu deiner Frage

                      Wenn ich mich recht entsinne kann man da:

                      Bildschirmfoto 2023-09-12 um 19.16.33.png

                      den Namen selbst ändern. 🙂

                      Telegram sagt dann: Wetterwarnung vor Gewitter, für die Region hier wohn ich wirklich nicht, Stufe gelb, ab heute abend

                      Musst dann aber auf refresh klicken damit das Skript neustartet.

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @ticaki last edited by

                        @ticaki

                        Thx. Hab ich drin. Mal schauen, ob es funktioniert.
                        Dabei sind mir aber jetzt noch ein paar Zeilen entgegen gesprungen:

                        2023-09-12 19:32:41.275  - error: javascript.0 (1288) script.js.common.dwd_uwz_nina_warnungen: ReferenceError: WHATSAPP is not defined
                        2023-09-12 19:32:41.279  - error: javascript.0 (1288)     at script.js.common.dwd_uwz_nina_warnungen:372:44
                        2023-09-12 19:32:41.279  - error: javascript.0 (1288)     at script.js.common.dwd_uwz_nina_warnungen:4241:3
                        2023-09-12 19:32:41.279  - error: javascript.0 (1288)     at Script.runInContext (node:vm:134:12)
                        
                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @Thomas Braun last edited by ticaki

                          @thomas-braun
                          dir fehlt der obere Teil der nicht editierbaren Konfiguration:

                          ersetzte das in deinem Skript:

                          /* ************************************************************************ */
                          /*            Datenpfad konfigurieren ENDE                                  */
                          /* ************************************************************************ */
                          /* ************************************************************************ */
                          /* NICHT EDITIEREN */
                          /* ************************************************************************ */
                          /* ************************************************************************ */
                          var konstanten = [
                              {'name':'telegram','value':1,count:0, delay:200, maxChar: 4000 },
                              {"name":'pushover',"value":2, count:0, delay:1000, maxChar: 1000},
                              {"name":'email',"value":4},
                              {"name":'sayit',"value":8, count:0, delay:0, maxChar: 940},
                              {"name":'home24',"value":16, count:0, delay:0},
                              {"name":'alexa',"value":32, count:0, delay:0, maxChar: 940},
                              {"name":'state',"value":64},
                              {"name":'iogo',"value":128, maxChar: 940, count: 0, delay: 300},
                              {"name":'state_html',"value":256},
                              {"name":'state_plain',"value":512},
                              {"name":'whatsapp',"value":1024}
                          ];
                          const TELEGRAM = konstanten[0].value;
                          const PUSHOVER = konstanten[1].value;
                          const EMAIL = konstanten[2].value;
                          const SAYIT = konstanten[3].value;
                          const HOMETWO = konstanten[4].value;
                          const ALEXA = konstanten[5].value;
                          const STATE = konstanten[6].value;
                          const IOGO = konstanten[7].value;
                          const STATE_HTML = konstanten[8].value;
                          const STATE_PLAIN = konstanten[9].value;
                          const WHATSAPP = konstanten[10].value;
                          var uPushdienst = 0;
                          const DWD = 1;
                          const UWZ = 2;
                          const NINA = 4;
                          const DWD2 = 8; // only for request
                          const ZAMG = 16;
                          const MODES = [{mode:DWD, text:'DWD'},{mode:UWZ, text:'UWZ'},{mode:NINA, text:'NINA'}, {mode: ZAMG, text:'ZAMG'}];
                          if(mainStatePath[mainStatePath.length - 1] != '.') mainStatePath += '.';
                          const aliveState = mainStatePath+'alive';
                          if (extendedExists(aliveState)) {
                              setState(aliveState, true, true);
                          }
                          
                          /* ************************************************************************* */
                          /* ************************************************************************* */
                          /* ************************************************************************* */
                          /*                       Konfiguration ab hier                               */
                          /* ************************************************************************* */
                          /* ************************************************************************* */
                          /* ************************************************************************* */
                          

                          bzw. dir fehlen davon 2 Zeilen. Alles kopieren ist wohl einfacher... wenn nicht dir fehlen die 2 Zeilen wo whatsapp drin steht.

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @ticaki last edited by Thomas Braun

                            @ticaki

                            Das ist aber vor der Kopiermarke '123456'... Hab ich deswegen auch nicht kopiert...

                            Jetzt läuft es aber. Inkl. der richtigen Region. Nicht mehr 'KARO-DENK'. 🙂

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

                              @thomas-braun
                              Hab vergessen bescheid zu sagen, sry 🙂 Das kommt nur in Ausnahmefällen vor.

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

                                @ticaki
                                Mal wieder was neues:

                                javascript.0
                                	2023-09-12 18:50:39.119	warn	script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen: info: {"AREADESC":"Euskirchen","NAME":"Stadt Euskirchen","WARNCELLID":805366016,"IDENTIFIER":"2.49.0.0.276.0.DWD.PVW.1694537460000.4865c134-2004-492e-930f-0e06aeed0571.DEU","SENDER":"opendata@dwd.de","SENT":"2023-09-12T16:51:00Z","STATUS":"Actual","MSGTYPE":"Update","SOURCE":"PVW","SCOPE":"Public","CODE":"id:2.49.0.0.276.0.DWD.PVW.1694537460000.4865c134-2004-492e-930f-0e06aeed0571","LANGUAGE":"de-DE","CATEGORY":"Met","EVENT":"SCHWERES GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","RESPONSETYPE":"Prepare","URGENCY":"Immediate","SEVERITY":"Severe","CERTAINTY":"Likely","EC_PROFILE":"2.1.13","EC_LICENSE":"© GeoBasis-DE / BKG 2021 (Daten modifiziert)","EC_II":"46","EC_GROUP":"THUNDERSTORM;RAIN;HAIL;WIND","EC_AREA_COLOR":"229 57 53","EFFECTIVE":"2023-09-12T16:51:00Z","ONSET":"2023-09-12T17:00:00Z","EXPIRES":"2023-09-12T20:00:00Z","SENDERNAME":"Deutscher Wetterdienst","HEADLINE":"Amtliche UNWETTERWARNUNG vor SCHWEREM GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","DESCRIPTION":"Es treten Gewitter auf. Dabei gibt es heftigen Starkregen mit Niederschlagsmengen zwischen 30 l/m² und 50 l/m² in 6 Stunden sowie Sturmböen mit Geschwindigkeiten bis 80 km/h (22 m/s, 44 kn, Bft 9) und Hagel mit Korngrößen um 2 cm.","INSTRUCTION":"ACHTUNG! Hinweis auf mögliche Gefahren: Bei Blitzschlag besteht Lebensgefahr! Vereinzelt können zum Beispiel Bäume entwurzelt und Dächer beschädigt werden. Achten Sie auf herabstürzende Äste, Dachziegel oder Gegenstände. Überflutungen von Kellern und Straßen sowie örtliche Überschwemmungen an Bächen und kleinen Flüssen sind möglich (Details: www.hochwasserzentralen.de). Es können zum Beispiel Erdrutsche auftreten. Schließen Sie alle Fenster und Türen! Sichern Sie Gegenstände im Freien! Halten Sie insbesondere Abstand von Gebäuden, Bäumen, Gerüsten und Hochspannungsleitungen! Vermeiden Sie möglichst den Aufenthalt im Freien!","WEB":"https://www.wettergefahren.de","CONTACT":"Deutscher Wetterdienst","PARAMETERNAME":"gusts;precipitation;hail","PARAMETERVALUE":"<80 [km/h];30-50 [l/m² in 6h];~2 [cm]","ALTITUDE":0,"CEILING":9842.5197,"warncellObj":{"8":true,"id":"805366016","text":"Euskirchen","area":"Euskirchen","favorit":true}}
                                javascript.0
                                	2023-09-12 18:50:39.118	warn	script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen: info: Bitte das Json im Forum posten: EC: undefined
                                
                                1 Reply Last reply Reply Quote 0
                                • T
                                  ticaki Developer last edited by ticaki

                                  Für alle die sich für den Adapter interessieren.

                                  Vorab ist kein kopieren, sondern komplettes neu schreiben.

                                  Aktueller Stand ist v0.0.2 DWD ID Auswahl für 1 Ziel ist im Admin, aussuchen tut man die ID per Ortsnamen (Kreis, Stadt, Dorf). Datenabruf und schreiben in States ist für DWD und ZAMG implementiert, ebenso wie das aufräumen. Wetter ist zu gut 🙂

                                  Ziel ist es erstmal den Abruf, schreiben und das Konfigurieren im Admin fertig zu bekommen. Wenn das geht kann man was testen, auch wenns vom Umfang her noch weit weg vom Script ist.

                                  Lockere Roadmap ist für UWZ, DWD und ZAMG folgendes in genannter Reihenfolge zu integrieren:

                                  • Rohdatenabruf und schreiben (0.1.0)

                                  • Daten in benutzerdefiniertem Format in States zu schreiben(0.3.0)

                                  • Den Inhalt dieser States als Nachrichten zu verschicken.(0.4.0)

                                  • für jede Warngruppe Trigger zu haben.

                                  • Filter nach Bedarf zu integrieren.

                                  • NINA und Metroalarm(oder so) zu integrieren

                                  • und das ganze wenn möglich in allen möglichen Sprachen.

                                  Bei den Rohdaten States wird nix verändert, soweit es nicht zwingend nötig ist. UWZ hat z.B. kein Level, da wird das Level aus der Warnfarbe generiert.

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

                                    @ticaki
                                    ich bin mal so frei und schreibe hier ein paar meiner Wünsche:

                                    1. falls mehrere warnungen ausgegeben werden würde ich mir eine Sortierung mach Zeit wünschen. Also einstellbar ob nach Level oder Zeitpunkt.

                                    2. alles was 2 oder mehr Tage in der Zukunft liegt ignorieren. oft ändert es sich 5x bis der besagte Tag überhaupt erreicht wurde. (ZAMG). Also viele unnötige Meldungen.

                                    3. Datumsformat/Zeitformat anpassbar machen.
                                      statt dieser aktuellen Meldung:

                                    ⚡ Warnung vor Gewitter gültig vom 18.09. 17:00 Uhr bis 18.09. 23:00 Uhr
                                    

                                    hätte ich gern folgende

                                    ⚡ Warnung vor Gewitter gültig am Montag von 17:00 bis  23:00 Uhr. 
                                    
                                    
                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer @rtwl last edited by ticaki

                                      @rtwl

                                      1. ist geplant EDIT oh das nicht, ist nortiert
                                      2. erinnere mich wenn die Nachrichten funktionieren nochmal

                                      zu 3.

                                      Daten in benutzerdefiniertem Format in States zu schreiben(0.3.0)

                                      EDIT: Wünsche sind erwünscht 🙂

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

                                        @ticaki

                                        1. cool danke!
                                        2. mach ich 👍🏼
                                        3. ah, das ist damit gemeint 😃
                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          ticaki Developer @rtwl last edited by ticaki

                                          @rtwl sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                          ah, das ist damit gemeint

                                          Ich mache es diesmal anders:
                                          z.B.
                                          weather-warnings.0.dwd.raw.warnings1-5 in denen die Rohdaten stehen,
                                          weather-warnings.0.dwd.formated.message1-x in denen die formatierten Nachrichten durch zappen
                                          weather-warnings.0.zamg.raw.warnings1-5
                                          usw.

                                          Dann noch States die alle aktive Nachrichten enthalten und wenn die Nachrichten da gut aussehen füge ich Pushdienste hinzu

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

                                            Zum Adapter:

                                            Vorweg: Der ist weder fertig, noch kann er Nachrichten verschicken. Man kann sich angucken wo die reise hingeht. Vor 0.4.0 wird der extrem weit hinter dem Skript zurück liegen.

                                            v0.2.0 Alpha

                                            Nur per benutzerdefiniertem Github-install

                                            https://github.com/ticaki/ioBroker.weather-warnings

                                            Verbesserungsvorschläge und Fehler bitte auch dort als Issue anlegen. Form ist mir wurscht, Sprachen: Deutsch Englisch.

                                            Bekannter Fehler: Deutsch und English sind überall gemischt - wenn ich mir klar bin, wie ich das alles am besten übersetzte und einbaue wird sich das ändern.

                                            Liste der aktuellen Funktionen:

                                            • DWD/UWZ/ZAMG Datenabruf. Konfigurierbar über Admin.
                                            • Update Intervall einstellbar.
                                            • DWD/UWZ Stellt formatierte Daten zur Verfügung (ZAMG hab ich ganz vergessen einzubauen an der Stelle)
                                            • Selbst formulierbare Meldungen werden in States geschrieben.
                                            • Doppelte Nachrichten werden ausgefiltert, solange sie offensichtlich doppelt sind.
                                            • Es gibt einen Testmodus - dabei ist der Adapter "offline" und wird so auch angezeigt.

                                            Bildschirmfoto 2023-09-24 um 19.45.19.png

                                            formatedKeys: Die Datenpunkte darunter kann man in eigenen Meldungen verwenden.

                                            Was braucht ihr noch an Daten?

                                            messages: Darunter befinden sich die Mitteilungen die ihr im Admin unter Template/Vorlage (ka ob schon übersetzt) einrichten könnt.

                                            warning: drunter sind alle Daten die vom Dienst geliefert werden.

                                            Unter den Info Ordnern seht ihr ob der Adapter/der Dienst beim letzten Zugriff online war.

                                            Im Admin/Template
                                            In der Tablelle schreibt ihr ins erste Feld einen Bezeichung die sich als state später unter Message erzeugt wird, also keine Punkte oder Leerzeichen.
                                            In das zweite Feld kommt eure Formatierung. Zur Zeit hab ich folgende Datenpunkte vorbereitet:

                                                starttime?: string; // Start Uhrzeit HH:MM
                                                startdate?: string; // Start Datum DD.MM
                                                endtime?: string; // Endzeitpunkt
                                                enddate?: string; // Enddatum
                                                startdayofweek?: string; // Start Tag der Woche
                                                enddayofweek?: string; // End Tag der Woche
                                                headline?: string; // Schlagzeile
                                                description?: string; // Beschreibung
                                                weathertext?: string; // nur Zamg wetterbeschreibender Text
                                                ceiling?: string; // max höhe
                                                altitude?: string; // min höhe
                                                warnlevelname?: string; // Farbe des Levels text
                                                warnlevelnumber?: string; // Levelhöhe
                                                warnlevelcolor?: string; // RGB im Hexformat
                                                warntypename?: string; // gelieferter Warntype
                                                location?: string; // gelieferte Location (meinst Unsinn)
                                            

                                            Eine formatierte Nachricht könnte dann z.B. vorerst so aussehen:

                                            Warnung: ${warntypename} am ${startdayofweek} um ${starttime} Stufe: ${warnlevelname}
                                            

                                            warntypename wird demnächst weider die alten deutschen Namen ausgeben. Muß mir da um die Übersetzen noch Gedanken machen, das gilt übrigends für alle was aktuell english ist. Da die Dienste recht viele Sprachen ausgeben, werde ich da nicht mehr nur bei Deutsch bleiben.

                                            EDIT ich baue noch ZAMG für die Benutzerdefinierten Nachrichten ein. dauert wohl ne stunde.

                                            sigi234 T 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            53
                                            1521
                                            473220
                                            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