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

                                        @ticaki
                                        ne, geht mit echten nicht

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

                                          @ticaki

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

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

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

                                          Ich hab jetzt schon

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

                                            Ich wohn einfach am falschen Ort 🤣

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            681
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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