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.
    • T
      ticaki Developer @ticaki last edited by ticaki

      Bitte Updaten

      Version 0.97.19.1

      • Bug aus der Vorversion behoben (Alle Warnungen wurden verworfen)
      • DWD Datentyp wurde scheinbar geändert, leere Warnungen werden jetzt raussortiert.

      War gestern wohl doch zu müde. 🙂

      J 1 Reply Last reply Reply Quote 2
      • J
        jwerlsdf @ticaki last edited by

        @ticaki
        Danke. Funktioniert wieder!

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

          Hi,

          habe seit irgendeinem Update diese Meldunmg im Log bei Script Version 0.97.17.2

          javascript.0
          	2021-07-19 17:10:01.632	error	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2021-07-19 17:10:01.632	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
          javascript.0
          	2021-07-19 17:10:01.632	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)
          javascript.0
          	2021-07-19 17:10:01.632	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
          javascript.0
          	2021-07-19 17:10:01.631	error	at Object.onChangeDWD (script.js.common.Ansagen.DWD_UWZ_NINA:1524:5)
          javascript.0
          	2021-07-19 17:10:01.631	error	at onChange (script.js.common.Ansagen.DWD_UWZ_NINA:1539:9)
          javascript.0
          	2021-07-19 17:10:01.631	error	at addDatabaseData (script.js.common.Ansagen.DWD_UWZ_NINA:1599:19)
          javascript.0
          	2021-07-19 17:10:01.631	error	at JSON.parse (<anonymous>:null:null)
          javascript.0
          	2021-07-19 17:10:01.631	error	Error in callback: SyntaxError: Unexpected token o in JSON at position 1
          javascript.0
          	2021-07-19 17:10:01.598	error	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2021-07-19 17:10:01.598	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
          javascript.0
          	2021-07-19 17:10:01.598	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)
          javascript.0
          	2021-07-19 17:10:01.598	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
          javascript.0
          	2021-07-19 17:10:01.598	error	at Object.onChangeDWD (script.js.common.Ansagen.DWD_UWZ_NINA:1524:5)
          javascript.0
          	2021-07-19 17:10:01.598	error	at onChange (script.js.common.Ansagen.DWD_UWZ_NINA:1539:9)
          javascript.0
          	2021-07-19 17:10:01.598	error	at addDatabaseData (script.js.common.Ansagen.DWD_UWZ_NINA:1599:19)
          javascript.0
          	2021-07-19 17:10:01.598	error	at JSON.parse (<anonymous>:null:null)
          javascript.0
          	2021-07-19 17:10:01.597	error	Error in callback: SyntaxError: Unexpected token o in JSON at position 1
          javascript.0
          	2021-07-19 17:10:01.567	error	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2021-07-19 17:10:01.567	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
          javascript.0
          	2021-07-19 17:10:01.567	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)
          javascript.0
          	2021-07-19 17:10:01.567	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
          javascript.0
          	2021-07-19 17:10:01.566	error	at Object.onChangeDWD (script.js.common.Ansagen.DWD_UWZ_NINA:1524:5)
          javascript.0
          	2021-07-19 17:10:01.566	error	at onChange (script.js.common.Ansagen.DWD_UWZ_NINA:1539:9)
          javascript.0
          	2021-07-19 17:10:01.566	error	at addDatabaseData (script.js.common.Ansagen.DWD_UWZ_NINA:1599:19)
          javascript.0
          	2021-07-19 17:10:01.566	error	at JSON.parse (<anonymous>:null:null)
          javascript.0
          	2021-07-19 17:10:01.566	error	Error in callback: SyntaxError: Unexpected token o in JSON at position 1
          javascript.0
          	2021-07-19 17:10:01.542	error	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2021-07-19 17:10:01.542	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
          javascript.0
          	2021-07-19 17:10:01.542	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)
          javascript.0
          	2021-07-19 17:10:01.542	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
          javascript.0
          	2021-07-19 17:10:01.542	error	at Object.onChangeDWD (script.js.common.Ansagen.DWD_UWZ_NINA:1524:5)
          javascript.0
          	2021-07-19 17:10:01.542	error	at onChange (script.js.common.Ansagen.DWD_UWZ_NINA:1539:9)
          javascript.0
          	2021-07-19 17:10:01.542	error	at addDatabaseData (script.js.common.Ansagen.DWD_UWZ_NINA:1599:19)
          javascript.0
          	2021-07-19 17:10:01.542	error	at JSON.parse (<anonymous>:null:null)
          javascript.0
          	2021-07-19 17:10:01.541	error	Error in callback: SyntaxError: Unexpected token o in JSON at position 1
          javascript.0
          	2021-07-19 17:10:01.517	error	at processImmediate (internal/timers.js:464:21)
          javascript.0
          	2021-07-19 17:10:01.517	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
          javascript.0
          	2021-07-19 17:10:01.517	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)
          javascript.0
          	2021-07-19 17:10:01.517	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
          javascript.0
          	2021-07-19 17:10:01.517	error	at Object.onChangeDWD (script.js.common.Ansagen.DWD_UWZ_NINA:1524:5)
          javascript.0
          	2021-07-19 17:10:01.517	error	at onChange (script.js.common.Ansagen.DWD_UWZ_NINA:1539:9)
          javascript.0
          	2021-07-19 17:10:01.517	error	at addDatabaseData (script.js.common.Ansagen.DWD_UWZ_NINA:1599:19)
          javascript.0
          	2021-07-19 17:10:01.516	error	at JSON.parse (<anonymous>:null:null)
          javascript.0
          	2021-07-19 17:10:01.516	error	Error in callback: SyntaxError: Unexpected token o in JSON at position 1
          

          Hat das noch jemand bzw. kann mir jemand eine Lösung nennen?

          Danke und Gruß

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

            @wendy2702
            Hallo,

            1. Benutzt du die aktuelle Version dieses Skriptes?
            2. Welchen Dienst nutzt du? UWZ DWD NINA

            EDIT: Du nutzt nicht die aktuelle Version. Versuche es damit bitte.

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

              @ticaki OK.

              Werde ich updaten.

              Danke!

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

                Hallo zusammen!
                Ich versuche gerade das echt coole Skript zum laufen zu bekommen, habe aber da meine Probleme und finde den Fehler nicht...

                DWD, UWZ und NINA bekommen Meldungen, das Skript triggert zwar, aber es werden keine Warnungen abgelegt:
                skript config_ marked.jpg

                Hier zum Beispiel:

                2021-07-24 09:00:01.241 - info: javascript.0 (662) script.js.common.dwd.dwd_warnings_overview: Amtliche WARNUNG vor STARKEM GEWITTER: 24.7.2021 - 8:59 Uhr bis 24.7.2021 - 10:00 Uhr
                2021-07-24 09:00:01.242 - info: javascript.0 (662) script.js.common.dwd.dwd_warnings_overview: javascript.0.dwd.html.0 exists -> set to : Amtliche WARNUNG vor STARKEM GEWITTER: 24.7.2021 - 8:59 Uhr bis 24.7.2021 - 10:00 Uhr
                2021-07-24 09:00:01.242 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: onchange DWD id:dwd.0.warning.object
                2021-07-24 09:00:01.242 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:dwd.0.warning.object - nope
                

                Mein "dwd_warnings_skript" setzt eine Warnung -> DWD_UWZ_NINA triggert mit "nope"

                Hier noch die Config aus dem Skript:

                /* Konfiguration der zu nutzenden Ausgabe um //uPushdienst+= PUSHOVER; zu aktivieren, bitte die // enfernen, also uPushdienst+= PUSHOVER; */
                //uPushdienst+= TELEGRAM;          // Auskommentieren zum aktivieren
                uPushdienst+= PUSHOVER;          // Auskommentieren zum aktivieren
                //uPushdienst+= EMAIL;             // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                //uPushdienst+= SAYIT;             // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                //uPushdienst+= HOMETWO;           // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                //uPushdienst+= ALEXA;             // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                uPushdienst+= STATE;             // Auskommentieren zum aktivieren. State befindet sich unter mainStatePath.message
                //uPushdienst+= IOGO;              // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                uPushdienst+= STATE_HTML;        // Auskommentieren zum aktivieren. State_html befindet sich unter mainStatePath.messageHtml als Tabelle
                
                /* ************************************************************************* */
                /*                 Beispiele zur weiteren Konfiguration                      */
                /* ************************************************************************* */
                /*
                /* kein oder einen Eintrag möglich:
                /* var senderEmailID = ["max@mustermann.de"];
                /*
                /* kein oder mehrfach nach gleichem Muster [1, 2, 3] bzw. ['1', '2', '3'] Einträge
                /* '' ist das selbe wie "", jedoch nicht mischen.
                /*
                /* var empfaengerEmailID = ["max@musterman.de","max2@musterman.de"];
                /* var telegramUser = []; // leer
                /* var telegramUser = ['']; // leer
                /* var telegramUser = ['Hans']; // User mit Namen Hans
                /* var telegramUser = ['Hans', 'Gretel']; // User mit Namen Hans und User mit Namen Gretel
                /* var idSayIt = ["sayit.0.tts.text"];
                /* var sayItVolumen = [60]; // Zahl ohne ''
                /* var idSayIt = ["sayit.0.tts.text","sayit.1.tts.text"];
                /* var sayItVolumen = [60, 30]; // mehrfach Zahl ohne ''
                /* var ioGoUser = ['max@musterman.de'];
                /* var idAlexaSerial =['G090RV32984110Y', 'G090RZ3345643XR'];
                /* var alexaVolumen = [40, 30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
                /*
                /* ************************************************************************* */
                /*                          weitere Konfiguration                            */
                /* ************************************************************************* */
                
                /* für UWZ Regionnamen eingeben "Warnung der Unwetterzentrale für XXXX" */
                /* Textbeispiel anstatt Entenhausen: 'Stadt / Dorfname' 'Berlin' 'den Regionsbezeichnung' 'den Schwarzwald' ''*/
                /* var regionName = ['UWZDE13245', 'Entenhausen'] */
                var regionName          = ['UWZDE89278','Nersingen'];
                
                // für Nina wird die Gemeinde und der Landkreis benötigt. Am besten von hier kopieren: https://warnung.bund.de/assets/json/suche_channel.json
                // ohne die kryptischen Zeichen. Das ersetzt nicht den NINA-Adapter
                var uGemeinde = 'Nersingen'; // hier steht zum Beispiel, Hamburg, Unterdorf
                var uLandkreis = 'Kreis Neu-Ulm'; // hier Kreis Bitburg, Landkreis Fürth
                
                /* Einstellungen zur Emailbenachrichtigung*/
                var senderEmailID       = [""]; // mit Sender Emailadresse füllen. email Adapter muß installiert sein. 1 Eintrag erlaubt [] oder ["email1"]
                var empfaengerEmailID   = [""]; // mit Empfänger Emailadresse füllen. Mehrere Empfänger möglich. [] oder ["email1"] oder ["email1","email2"]
                
                /* Konfiguration Sprachausgabe über Home24 - Mediaplayer */
                //var idMediaplayer = ["192.168.178.x:Port"];
                var idMediaplayer       = [""]; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer mehrere Möglich - ungetestet
                
                /* 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 [];
                
                /* Konfiguration Sprachausgabe über SayIt */
                var idSayIt             = ["sayit.0.tts.text"]; // mehrfach Einträge möglich
                var sayItVolumen        = [30]; // gleiche Anzahl wie idSayIt
                
                /* Konfiguration Sprachausgabe über Alexa
                /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */
                var idAlexaSerial       = ['']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y']
                var alexaVolumen        = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
                
                // Filtereinstellungen
                const minlevel                      =    1 // Warnungen unterhalb dieses Levels nicht senden;
                const attentionWarningLevel         =    4 // Warnung gleich oder oberhalb dieses Levels mit zusätzlichen Hinweisen versehen
                const minhoehe                      =    0 // Warnung für eine Höhe unterhalb dieses Wertes nicht senden
                const maxhoehe                      =    465 // Warnung für eine Höhe oberhalb dieses Wertes nicht senden
                
                //Formatierungsstring für Datum / Zeit Alternative "TT.MM.YYYY SS:mm" KEINE Anpassung nötig
                const formatierungString =  "TT.MM.YY SS:mm";
                
                // Sprachausgabe Zeiten
                // Für durchgehende Sprachausgabe die Einstellung der Zeiten auf '' setzen. z.B. var startTimeSpeak = '';
                var startTimeSpeak =        '6:45';// Zeiten mo - fr ab der Sprachausgaben ok sind. Nicht unter 6 Uhr gehen oder den Schedule ändern
                var startTimeSpeakWeekend = '9:00';// sa + so Bemerkung siehe oben
                var endTimeSpeak =          '22:30'; // ab diesem Zeitpunkt gibt es keine Sprachausgabe
                
                // Ein manuellen Auslösen von Sprachnachrichten, löscht alle noch nicht ausgegebenen Sprachnachrichten aus der Liste.
                var uManuellClickClearSpeakMessageList = true;
                //Auslösen der Pushnachricht über States ignoriert Sprachausgabezeiten
                var forcedSpeak             = true;
                // keine Ansage über m/s Knoten und Windstärke. Die Angabe mit Kilometer pro Stunde wird angesagt
                var windForceDetailsSpeak   = false;
                
                /* ************************************************************************* */
                /*                       Nur Anpassen wenn nötig                             */
                /* ************************************************************************* */
                // Die Geschwindigkeit gibt an wie lange das Skript wartet bevor es eine neue Nachricht an die Sprachausgabe sendet.
                konstanten[3].delay /*SayIt*/       = 86; // Vorlese Geschwindigkeit pro Zeichen in ms
                konstanten[4].delay /*Home24*/      = 90; // Vorlese Geschwindigkeit pro Zeichen in ms
                konstanten[5].delay /*Alexa*/       = 86; // Vorlese Geschwindigkeit pro Zeichen in ms
                
                // Mit diesen Optionen verringert man die Nachrichtenlänge in dem Beschreibung oder Handlungsanweisungen
                // nicht der Nachricht hinzugefügt werden.
                var uHtmlMitBeschreibung            = true; // gilt für Email
                var uHtmlMitAnweisungen             = true; // uHtmlMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten
                var uTextMitBeschreibung            = true; // gilt nicht für Email, aber für alle anderen Textnachrichten
                var uTextMitAnweisungen             = true; // uTextMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten
                var uSpracheMitBeschreibung         = true; // gilt für alle Sprachnachrichten
                var uSpracheMitAnweisungen          = true; // uSpracheMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten
                
                // Obergrenze an Zeichen die über Sprachausgabe ausgegeben werden, bei überschreitung wird nur die Schlagzeile ausgegebenen
                var uMaxCharToSpeak = 0; // 0 = aus - Zahl größer als 0 = maximal Zeichenanzahl (1000 sind rund 86 Sekunden bla bla)
                
                // Automodus Filter um Warnungen unterhalb attentionWarningLevel von DWD, UWZ oder NINA zu unterdrücken
                // Sprachausgabe bei auto und manuell unterdrückt.
                // Diese Warnungen sind vorhanden, sie werden nur in den benannten Fällen ausgeblendet.
                // Ist eine feste Vorgabe überschreibt alles andere
                var uFilterList               = 0;   // generelles Filter für den AutoModus ( = DWD + UWZ; oder = NINA; oder = 0;), außer Warnungslevel ist gleich/über attentionWarningLevel
                var uAutoNinaFilterList       = ['CAP@hochwasserzentralen.de']; //Nina only. Filter diesen Sender raus s.o. - mehrere ['abc','cde'];
                
                var uwzPath=            'javascript.0.UWZ';
                var dwdPath=            'dwd.0';
                var ninaPath=           'nina.0'
                
                var telegramInstanz=    'telegram.0';
                var pushoverInstanz=    'pushover.0';
                var ioGoInstanz=        'iogo.0';
                var alexaInstanz=       'alexa2.0';
                var emailInstanz=       'email.0';
                
                var uLogAusgabe=        true; // auf false gibt es überhaupt keine Ausgabe beim normalen Betrieb.
                
                /* ************************************************************************* */
                /* ************************************************************************* */
                /* ************************************************************************* */
                /*                       Konfiguration Ende                                  */
                /* ************************************************************************* */
                /*        Keine Anpassungen ab hier, außer du weißt was du tuest             */
                /* ************************************************************************* */
                /* ************************************************************************* */
                /* ************************************************************************* */
                

                Ich seh wahrscheinlich mal wieder den Wald vor lauter Bäumen nicht...

                Schon mal Danke für die Hilfe!

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

                  @boronsbruder
                  Hallo,

                  was ist:

                  javascript.0.dwd.html.0
                  
                  Boronsbruder 1 Reply Last reply Reply Quote 0
                  • Boronsbruder
                    Boronsbruder @ticaki last edited by Boronsbruder

                    @ticaki

                    Ist nur ein DP aus meinem Skript in dem die Warnung gespeichert wird.
                    Den Auszug aus dem Log hab ich nur mit drin, dass man sieht, dass eine DWD-Warnung reinkam, aber dein Skript mit "nope" quittierte
                    Ich hab leider die Warnung aus dem DWD- Adapter nicht ausschneiden können...

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

                      @boronsbruder
                      was steht in:

                      dwd.0.warning.description
                      

                      und

                      dwd.0.warning.headline
                      
                      Boronsbruder 1 Reply Last reply Reply Quote 0
                      • Boronsbruder
                        Boronsbruder @ticaki last edited by Boronsbruder

                        @ticaki
                        Ich hab leider die DWD-Adapterdaten nicht mit geschnitten.
                        in dwd.0.warning.headline muss "Amtliche WARNUNG vor STARKEM GEWITTER" gestanden haben (zieht mein Skript da raus).

                        Aktuell ist aber aber auch eine UWZ-Warnung drin:
                        UWZ.jpg

                        Auch die wird nicht angezeigt.

                        2021-07-24 12:13:26.031 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID + JSON:javascript.0.UWZ.UWZDE89278.warning.0.object - "{\"center\":\"UWZ\",\"areaID\":\"UWZDE87675\",\"dtgEnd\":1627185600,\"areaType\":\"UWZCODE\",\"dtgStart\":1627138800,\"payload\":{\"translationsLongText\":{\"DE\":\"Mit einer Konvergenzlinie von Tief DIRK wird die Atmosphäre zunehmennd instabil und somit steigt Samstagnachmittag und -abend das Risiko für kräftige Gewitter mit Starkregen, Hagel und Sturmböen deutlich an. Es besteht die Gefahr von Starkregen, Hagel und Sturmböen. Sonntagmorgen lassen die Gewitter nach.\"},\"id\":\"16270656115316.1\",\"creation\":1627066920000,\"uwzLevel\":8,\"translationsShortText\":{\"DE\":\"Ab Samstagabend kräftige Gewitter mit Starkregen Hagel und Sturmböen möglich.\"},\"fileName\":\"meteogroup_warn_16270656115316_20210723190202_1627185600_1627066995.xml\",\"levelName\":\"alert_forewarn_red\",\"shortText\":\"\",\"longText\":\"From Saturday afternoon and evening the risk of thunderstorms with heavy rain, hail and violent gusts rises significantly. The risk of heavy rain, hail and violent gusts arises, thereby. Sunday morning thunderstorms decrease.\",\"altMin\":-10,\"altMax\":9000},\"severity\":8,\"type\":7}"
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID + JSON:javascript.0.UWZ.UWZDE89278.warning.1.object - "{\"center\":\"UWZ\",\"areaID\":\"UWZDE48455\",\"dtgEnd\":1627164000,\"areaType\":\"UWZCODE\",\"dtgStart\":1627128000,\"payload\":{\"translationsLongText\":{\"DE\":\"Ab Samstagnachmittag ist das Risiko für Gewitter mit Starkregen erhöht, dabei ziehen von Südwest her die Gewitter auf. Samstagnacht lässt die Schauer- und Gewitterneigung wieder nach.\"},\"id\":\"16270344986489.4\",\"creation\":1627034655000,\"uwzLevel\":7,\"translationsShortText\":{\"DE\":\"Ab Samstagnachmittag erhöhtes Risiko für Gewitter mit Starkregen von Südwesten her.\"},\"fileName\":\"meteogroup_warn_16270344986489_20210723100336_1627164000_1627034655.xml\",\"levelName\":\"alert_forewarn_orange\",\"shortText\":\"\",\"longText\":\"From Saturday afternoon the risk of thunderstorms with heavy rain rises significantly. A thunderstorm from southwest approaches. Saturday night the risk of thunderstorms decreases.\",\"altMin\":-10,\"altMax\":9000},\"severity\":7,\"type\":7}"
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:javascript.0.UWZ.UWZDE89278.warning.2.object - nope
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:javascript.0.UWZ.UWZDE89278.warning.3.object - nope
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:javascript.0.UWZ.UWZDE89278.warning.4.object - nope
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:javascript.0.UWZ.UWZDE89278.warning.5.object - nope
                        2021-07-24 12:13:26.032 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:javascript.0.UWZ.UWZDE89278.warning.6.object - nope
                        

                        EDIT:
                        UWZ hab ich jetzt verstanden... Das UWZ-Skript hat 2 Meldungen rausgesucht, die gar nicht für "UWZDE89278" sind....

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

                          @boronsbruder
                          Nach dem ich deinen Text im Detail gelesen habe, natürlich hab ich vorher verzweifelt im Skript nach einer Begründung gesucht ist mir eine mögliche Fehlerquelle aufgefallen.

                          Mein "dwd_warnings_skript" setzt eine Warnung -> DWD_UWZ_NINA triggert mit "nope"
                          

                          setzte folgende Warnung in:

                          dwd.0.warning.object
                          
                          {
                              "regionName": "Test",
                              "start": 1584050400000,
                              "end": 1984090000000,
                              "type": 5,
                              "state": "Rheinland-Pfalz",
                              "level": 2,
                              "stateShort": "RP",
                              "description": "Es tritt oberhalb 100 m leichter Schüttelfrost um +1 °C auf.",
                              "event": "FROST",
                              "headline": "Amtliche nicht WARNUNG vor SCHÜTTELFROST",
                              "instruction": "",
                              "altitudeStart": 100,
                              "altitudeEnd": null
                          }
                          
                          Boronsbruder 1 Reply Last reply Reply Quote 0
                          • Boronsbruder
                            Boronsbruder @ticaki last edited by

                            @ticaki

                            2021-07-24 13:13:41.775 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: onchange DWD id:dwd.0.warning.object
                            2021-07-24 13:13:41.776 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID:dwd.0.warning.object - nope
                            

                            und mein Skript gibt die Warnung aus:

                            2021-07-24 13:13:41.774 - info: javascript.0 (662) script.js.common.dwd.dwd_warnings_overview: javascript.0.dwd.html.0 exists -> set to : Amtliche nicht WARNUNG vor SCHÜTTELFROST: 12.3.2020 - 23:00 Uhr bis 15.11.2032 - 1:06 Uhr
                            
                            T 1 Reply Last reply Reply Quote 0
                            • T
                              ticaki Developer @Boronsbruder last edited by

                              @boronsbruder

                              Zeig mir mal das Skript das die Daten setzt.

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

                                @ticaki
                                Also falls du meinst, dass das Skript irgendwo reinpfuscht, wenn ich mein Skript deaktiviere passiert auch nichts nur "nope"

                                Aber gerne:

                                function addZero(i) {
                                console.log('i_alt: ' + i);  
                                  
                                  if (i < 10) {
                                    i = "0" + i.toString();
                                  }
                                  console.log('i_neu: ' + i);
                                  return i;
                                }
                                
                                $('state[state.id=dwd.0.*][role=weather.json]').on(function (obj) {
                                    console.log ('ID =' + obj.id);
                                    
                                    if (! obj.state.val) return;
                                    
                                    var data =JSON.parse(obj.state.val);
                                
                                    if(data.headline)
                                    {
                                        var html;
                                        var Start = new Array();
                                
                                        Start[0] = new Date(parseInt(data.start));
                                        console.log ('Monat: ' + Start[0].getMonth());
                                        Start[1] = Start[0].getDate()+ '.' + (Start[0].getMonth()+1) + '.'+ Start[0].getFullYear();
                                        Start[2] = Start[0].getHours() + ':' + addZero(Start[0].getMinutes()) + " Uhr";
                                    
                                        var End = new Array();
                                        End[0] = new Date(parseInt(data.end));
                                        End[1] = End[0].getDate()+ '.' + (End[0].getMonth()+1) + '.'+ End[0].getFullYear();
                                        End[2] = End[0].getHours() + ':' + addZero(End[0].getMinutes()) + " Uhr";
                                
                                        html = '<span class="dwd_warn_' + (data.level-1) + '">' + data.headline + ':</span> ' + Start[1] + ' - ' + Start[2] +  ' bis ' + End[1] + ' - ' + End[2];
                                        console.log(html);
                                    }
                                 
                                   else html='';
                                
                                    var MsgNumber = obj.id.substr(13,1);
                                
                                    if (MsgNumber == ".") MsgNumber ="0";
                                
                                    
                                    if(!$('javascript.0.dwd.html.'+MsgNumber).length){
                                   
                                        createState('javascript.0.dwd.html.'+ MsgNumber, {name: 'Html Text Dwd Warnung', }, function () {
                                            
                                            setState('javascript.0.dwd.html.'+ MsgNumber, html)   ;
                                            log('javascript.0.dwd.html.' + MsgNumber + ' created and set to : ' + html);
                                            
                                        });
                                    
                                    }
                                    
                                    else
                                    {
                                        setState('javascript.0.dwd.html.'+ MsgNumber, html);
                                        log('javascript.0.dwd.html.' + MsgNumber + ' exists -> set to : ' + html);
                                    }
                                
                                    if (getState('javascript.0.dwd.merge_active').val == false) 
                                    {
                                        setState('javascript.0.dwd.merge_active',true);
                                    }
                                });
                                
                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  ticaki Developer @Boronsbruder last edited by

                                  @boronsbruder
                                  Das hab ich nicht gemeint, versuche mal folgendes Skript aus:

                                  var test = '{ "regionName": "Test", "start": 1584050400000, "end": 1984090000000,"type": 5,"state": "Rheinland-Pfalz", "level": 2,"stateShort": "RP", "description": "Es tritt oberhalb 100 m leichter Schüttelfrost um +1 °C auf.","event": "FROST","headline": "Amtliche nicht WARNUNG vor SCHÜTTELFROST","instruction": "","altitudeStart": 100,"altitudeEnd": null}';
                                  test = JSON.parse(test);
                                  setState('dwd.0.warning.object', test, true);
                                  
                                  Boronsbruder 1 Reply Last reply Reply Quote 0
                                  • Boronsbruder
                                    Boronsbruder @ticaki last edited by Boronsbruder

                                    @ticaki
                                    Achso, hab es einfach direkt im Iobroker gesetzt 🤦‍♂️

                                    2021-07-24 13:35:51.292 - info: javascript.0 (662) script.js.common.test_warnung: registered 0 subscriptions and 0 schedules
                                    2021-07-24 13:35:51.336 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: onchange DWD id:dwd.0.warning.object
                                    2021-07-24 13:35:51.336 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: addDatabaseData() ID + JSON:dwd.0.warning.object - {"regionName":"Test","start":1584050400000,"end":1984090000000,"type":5,"state":"Rheinland-Pfalz","level":2,"stateShort":"RP","description":"Es tritt oberhalb 100 m leichter Schüttelfrost um +1 °C auf.","event":"FROST","headline":"Amtliche nicht WARNUNG vor SCHÜTTELFROST","instruction":"","altitudeStart":100,"altitudeEnd":null}
                                    2021-07-24 13:35:51.337 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: result: {"mode":1,"description":"Es tritt oberhalb 100 m leichter Schüttelfrost um +1 °C auf.","headline":"Amtliche nicht WARNUNG vor SCHÜTTELFROST","start":1584050400000,"end":1984090000000,"instruction":"","type":5,"level":2,"areaID":"Test","web":"","webname":"","picture":"🌡","color":"#d7d700","id":"","pending":0,"hash":0,"repeatCounter":0}
                                    2021-07-24 13:35:51.337 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: Add DWD warning to database. headline: Amtliche nicht WARNUNG vor SCHÜTTELFROST
                                    2021-07-24 13:35:51.359 - info: javascript.0 (662) script.js.common.Warnung.Warn_DWD_UWZ_NINA: Datenbank wurde geändert - checkWarningsMain():true id:dwd.0.warning.object Mode:1
                                    2021-07-24 13:35:51.359 - info: javascript.0 (662) script.js.common.dwd.dwd_warnings_overview: ID =dwd.0.warning.object
                                    2021-07-24 13:35:51.360 - error: javascript.0 (662) Error in callback: SyntaxError: Unexpected token o in JSON at position 1
                                    2021-07-24 13:35:51.362 - error: javascript.0 (662) at JSON.parse ()
                                    2021-07-24 13:35:51.362 - error: javascript.0 (662) at Object. (script.js.common.dwd.dwd_warnings_overview:16:20)
                                    2021-07-24 13:35:51.362 - error: javascript.0 (662) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1075:38)
                                    2021-07-24 13:35:51.362 - error: javascript.0 (662) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:502:29)
                                    2021-07-24 13:35:51.362 - error: javascript.0 (662) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5555:41)
                                    2021-07-24 13:35:51.363 - error: javascript.0 (662) at processImmediate (internal/timers.js:461:21)
                                    

                                    Das funktioniert...

                                    Da bekomme ich auch die Pushnachricht

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

                                      @ticaki
                                      Also...
                                      Ich hab jetzt mal im DWD-Adapter umgestellt auf "Tuttlingen", da da aktuelle Gewitterwarnungen sind.
                                      Resultat
                                      in dem DP "object" ist kein object gespeichert sondern nur der JSON

                                      {"regionName":"Kreis Tuttlingen","end":1627128000000,"start":1627123800000,"type":0,"state":"Baden-Württemberg","level":3,"description":"Es treten Gewitter auf. Dabei gibt es Sturmböen mit Geschwindigkeiten bis 70 km/h (20m/s, 38kn, Bft 8) sowie Starkregen mit Niederschlagsmengen um 25 l/m² pro Stunde und Hagel.","event":"STARKES GEWITTER","headline":"Amtliche WARNUNG vor STARKEM GEWITTER","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.","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}
                                      

                                      object.jpg

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

                                        @boronsbruder
                                        Und wenn du das Object abfragst ist es ein Json-Objekt. Wenn du hingegen als Experte einen String da rein schreibst, bleibt es ein String. 🙂

                                        Wenn du auf Datenpunkt bearbeitet gehst, steht dort auch das es ein Objekt-Datenpunkt ist.

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

                                          @ticaki
                                          jo, aber der DWD-Adapter schreibt auch kein Object, sondern einen String. siehe Screenshot!
                                          object2.jpg
                                          Der hier ist nach Setzen mit deinem Skript!

                                          T 1 Reply Last reply Reply Quote 0
                                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            998
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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