Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • Boronsbruder
                                          Boronsbruder @ticaki last edited by Boronsbruder

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

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

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

                                            Oder geht es noch immer nicht? Mit echten Warnungen.

                                            Boronsbruder 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            808
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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