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:

      @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
                                        • sigi234
                                          sigi234 Forum Testing Most Active @ticaki last edited by sigi234

                                          @ticaki
                                          Cool, werde ich gleich testen.
                                          Skipt und Adapter kann man parallel laufen lassen?
                                          Wichtig für mich ist Alexa Ansagen und Mail Versand.
                                          So ganz verstehe ich den Unterschied zwischen ZAMG und UWZ nicht.

                                          T 2 Replies Last reply Reply Quote 0
                                          • T
                                            ticaki Developer @sigi234 last edited by ticaki

                                            @sigi234
                                            Danke, aber ich hab das zu früh raus gehauen, hab uwz und zamg nicht genug getestet. gib mir mal noch ne stunde

                                            Script und Adapter habe nichts mit einander zu tun 🙂 kannste soviele laufen lassen wie der Server her gibt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            720
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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