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.
    • M
      Megawaldi last edited by

      script.js.Warnungen.dwd_uwz_nina_script: getDatabaseData(warn, mode) result: {"mode":1,"description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) aus südwestlicher Richtung auf. In exponierten Lagen muss mit Sturmböen bis 70 km/h (20m/s, 38kn, Bft 8) gerechnet werden.","headline":"Amtliche WARNUNG vor WINDBÖEN","start":1633492800000,"end":1633532400000,"instruction":"","type":1,"level":2,"areaID":"Kreis Euskirchen","web":"","webname":"","picture":"🌪","color":"#d7d700","id":"","pending":0,"hash":0,"repeatCounter":0}
      

      Ist dir schon aufgefallen, das in der getDatabaseData der Wert hash mit 0 zurück gegeben wird?
      In dem Datenpunkt steht: 2092024882

      Denke das könnte das Problem sein

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

        @megawaldi
        Der Hash wird erst nach dieser Funktion erzeugt. Weil die ID nicht immer die gleiche ist.

                    warn = getDatabaseData(value, mode);
                    if (warn) {
                        warn.areaID = "für " + warn.areaID;
                        warn.hash = JSON.stringify(warn).hashCode();
                        warn.id = id;
                        warnDatabase.new.push(warn);
        
        

        Das war du da postest ist ganz normal, du musst schon die Emailfunktion anschalten damit ich einen Fehler sehe. Und dann wird dir auch eine ausführlichere Email zu gesendet.:)

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

          @ticaki
          Is an: Reicht dir eine mail oder willst du mehrere?
          Willst du das debug log auch nochmal?

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

            @megawaldi
            Nein ich brauche 2-3 mails

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

              Hat nen error geworfen:

              javascript.0
              	2021-10-05 20:15:27.669	error	at processTimers (internal/timers.js:497:7)
              javascript.0
              	2021-10-05 20:15:27.668	error	at listOnTimeout (internal/timers.js:554:17)
              javascript.0
              	2021-10-05 20:15:27.668	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2119:34)
              javascript.0
              	2021-10-05 20:15:27.668	error	at Object.checkWarningsMain (script.js.Warnungen.dwd_uwz_nina_script:1019:122)
              javascript.0
              	2021-10-05 20:15:27.667	error	at JSON.stringify (<anonymous>)
              javascript.0
              	2021-10-05 20:15:27.667	error	--- property '_idleNext' closes the circle
              javascript.0
              	2021-10-05 20:15:27.667	error	| property '_idlePrev' -> object with constructor 'TimersList'
              javascript.0
              	2021-10-05 20:15:27.667	error	--> starting at object with constructor 'Timeout'
              javascript.0
              	2021-10-05 20:15:27.663	error	Error in callback: TypeError: Converting circular structure to JSON
              
              T 1 Reply Last reply Reply Quote 0
              • T
                ticaki Developer @Megawaldi last edited by

                @megawaldi
                Das ging bei mir vor 4 Wochen noch... hmpf. Poste mir bitte die Zeile 1019 aus diesem Skript

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

                  @ticaki
                  Die 1019:

                  for (a = 0; a < warnDatabase.new.length; a++) DebugMail = buildHtmlEmail(DebugMail, 'warnDatabase.new' + a, JSON.stringify(warnDatabase.new[a]));
                  

                  Mail wurde keine versant, nur nach 5 min wieder der Error

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

                    @megawaldi
                    Ich hab eine Vermutung. Diesen Fehler hier kann ich jetzt nicht beheben, muß erst raus finden was sich geändert hat. Die Serienemailgeschichte prüfe ich gerade. Gib mir 20 Minuten.

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

                      @ticaki
                      Klar kein Problem. Braucht du noch was? Sonst mach ich das debug wieder aus?

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

                        @megawaldi
                        kannst du wieder aus machen.

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

                          Version 0.97.24.1

                          • Emailspam beendet

                          hoffentlich 🙂 DWD löscht jüngstens die Einträge bevor sie aktualisiert werden und deshalb funktioniert

                          change: 'ne'
                          

                          nicht mehr so wie es gedacht ist. Jetzt verwirft das Skript alte Änderungen des selben Datenpunkts solange bis 500ms keine Änderung mehr rein kommt und löst den ganzen restlichen Bearbeitungskram nur aus wenn sich der Hash für diesen Datenpunkt geändert hat.

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

                            @ticaki
                            Jetzt werden gar keine mails mehr automatisch verschickt 😉
                            Beim Command Button geht es noch.

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

                              @megawaldi
                              Es werden nur noch nachrichten verschickt wenn sich etwas ändert. Ein Neustart des Skriptes löst keinen Versand einer Nachricht aus (so war es gedacht) Ich nutze Email aber nicht, daher weiß ich nicht wie es jüngstens war.

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

                                @ticaki
                                Dann müsste ich zum test vor dem Neustart die datenpunkte löschen?

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

                                  @megawaldi
                                  Hm gute Frage, glaube nicht das es funktioniert.

                                  Schreibe in den Datenpunkt während das Skript läuft:

                                  dwd.0.warning.object
                                  
                                  {}
                                  

                                  mit Expertenansicht. Dann restarte DWD. Nach dem Test lösche die veränderten Datenpunkte und lass sie neu erstellen.

                                  EDIT: Das Skript braucht rund 23 Sekunden um auf eine Änderung zu reagieren

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

                                    @ticaki
                                    Für DWD scheint es zu laufen.
                                    Nach Eingabe von {} hab ich ne mail mit "aufgehoben" bekommen
                                    und nach dem Neustart eine mit der Wetterwarnung.
                                    Eine Frage noch:
                                    Den Corona text von der NINA app schickt er jedes mal mit oder?

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

                                      @megawaldi

                                      Eine Email enthält immer alle aktiven Warnungen. Du kannst für Nina einen Sender blockieren, das würde ich aber nur tun, wenn tatsächlich keine Warnung über ihn für dich kommen kann.
                                      Beispiel: Die Meldungen der Hochwasserzentrale werden rausgefiltert, weil die jeden Tag kommen und mich sowas von garnicht interessieren... Die haben es dann auch in die Defaulteinstellungen geschafft, weil ich damals vergessen habe das ich nicht für alle stehe. 🙂

                                      var uAutoNinaFilterList       = ['CAP@hochwasserzentralen.de'];
                                      

                                      Das gilt aber nur für automatisch versendete Warnungen. Manuell ausgelöste Nachrichten enthalten die trotzdem.

                                      1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @ticaki last edited by sigi234

                                        @ticaki

                                        Hallo, bekomme error wenn ich iogo manuell auslöse:
                                        Version 0.97.24.1

                                        javascript.0
                                        2021-10-06 07:13:51.769	error	script.js.Sigi.UWZ_DWD_NINA7: Keine erlaubten Versandmöglichkeiten im manuellen Modus gefunden!
                                        

                                        //Konfiguration von ioGo
                                        var ioGoUser = ['admin']; // // Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen [];

                                        iogo ist unter manuell auf true

                                        Iogo App Version 0.2.3
                                        Adapter Version: iogo pro 0.2.2

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

                                          @sigi234

                                          hast du es auch hier aktiviert?

                                          //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
                                          
                                          
                                          sigi234 1 Reply Last reply Reply Quote 0
                                          • sigi234
                                            sigi234 Forum Testing Most Active @ticaki last edited by

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

                                            @sigi234

                                            hast du es auch hier aktiviert?

                                            //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
                                            
                                            

                                            Ja

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            437
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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