Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. DWD Warnung als Telegramm

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

DWD Warnung als Telegramm

Scheduled Pinned Locked Moved Skripten / Logik
67 Posts 16 Posters 11.9k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tempestas
    wrote on last edited by
    #58

    Das fügst du einfach da ein, wo bislang dieses hier Stand:

    /* Bereich für Sprachausgabe über SayIt */
          if(idSprachausgabeSayIt === true){
             setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD);
          }
          if ((pushdienst === 3) || (pushdienst === 1) ) {
             setTimeout((sendTo ("telegram.0", 'Alle Warnmeldungen des DWD wurden aufgehoben')), 3 * 1000);
          }
          if ((pushdienst === 2) || (pushdienst === 1) ) {
             sendTo("pushover.0", 'Alle Warnmeldungen des DWD wurden aufgehoben');
          }
    
    

    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

    1 Reply Last reply
    0
    • wendy2702W Offline
      wendy2702W Offline
      wendy2702
      wrote on last edited by
      #59

      Danke für die schnelle Antwort.

      Wenn ich das Einfüge bekomme ich diesen Fehler:

      999_ansage_time_range.jpg

      Mirko

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tempestas
        wrote on last edited by
        #60

        Hab ne Klammer vergessen bzw falsch gesetzt. Bin leider nicht so kompetent wie andere hier und im Forum sehe ich noch zu wenig beim tippern.

        so sollte es gehen:

        var ENDE= '22:30';                     // Ende immer 22:30h
        var START;
        
        schedule("0 6 * * *", function (){                                  //ausgelöst jeden Tag um 6h morgens; prüft, ob Wochenende ist          
            var date = new Date();
            var n = date.getDay();
            var weekend = 0;
            weekend = (n === 0 || n == 6) ? 1 : 0;
        
            if(weekend == 1){                     // wenn Wochenende, dann setze Start auf 9h, sonst 6:45h
               START = '9:00';  
               }    
               else{
                  START = '6:45';
                  }
        
        });
        
        /* Bereich für Sprachausgabe über SayIt */
              if(idSprachausgabeSayIt === true && compareTime(START, ENDE, 'between')){                  // Ansage über Sayit nur im definierten Zeitbereich
                 setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD);
              }
              if ((pushdienst === 3) || (pushdienst === 1) ) {
                 setTimeout((sendTo ("telegram.0", 'Alle Warnmeldungen des DWD wurden aufgehoben')), 3 * 1000);
              }
              if ((pushdienst === 2) || (pushdienst === 1) ) {
                 sendTo("pushover.0", 'Alle Warnmeldungen des DWD wurden aufgehoben');
              }
        
        

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Reply Last reply
        0
        • wendy2702W Offline
          wendy2702W Offline
          wendy2702
          wrote on last edited by
          #61

          @tempestas:

          Hab ne Klammer vergessen bzw falsch gesetzt. Bin leider nicht so kompetent wie andere hier und im Forum sehe ich noch zu wenig beim tippern.

          so sollte es gehen: `

          Naja…"nicht so kompetent".... ich bekomme das überhaupt nicht hin und werde das wohl in diesem Leben auch nicht mehr lernen...

          Habe es eingefügt und jetzt gibt es keine Fehlermeldung.

          Werde das jetzt mal ein paar Nächte Testen und schauen was passiert.

          Danke für deine Arbeit

          Mirko

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Reply Last reply
          0
          • T Offline
            T Offline
            tempestas
            wrote on last edited by
            #62

            Hallo zusammen,

            ich habe das Skript von PrinzEisenherz etwas abgewandelt, da es mich kolossal genervt hat, gefühlt im Minutentakt mit unbedeutenden Meldungen vollgeballert zu werden durch den DWD.

            Hier im Norden weht nunmal ab und zu eine steife Brise, da gerate ich aber nicht in Panik.

            Ich hab also das Skript etwas ergänzt, damit man via VIS einstellen kann, ab welcher Stufe gewarnt werden soll. Da ich das ganze für mich angepasst habe, sind pushover, sayit und home24 nicht mehr enthalten, aber das kann man ja schnell wieder einpflegen.

            Daneben habe ich die Arrays am Anfang etwas "aufgeräumt", aber eventuell habe ich da auch schlicht einen Grund für die Art der Vorgehensweise nicht verstanden, kann sehr gut sein.

            So scheint es jedenfalls (auch) zu funktionieren

            ! ```
            `/* ************************************************************************* /
            /
            Script zum Übertragen der DWD-Wetterwarnungen über /
            /
            Telegram, Pushover, Home24-Mediaplayer oder SayIt /
            /
            mit freundlicher Unterstützung von Paul53 (Tausend Dank nochmals) /
            /
            Stand: 13022017 PrinzEisenherz1 /
            /
            /
            /
            - Fehlerbehebung z.B. 3 gültig bis 3 /
            /
            /
            /
            /
            /
            http://forum.iobroker.net/viewtopic.php?f=21&t=4451&start=40 /
            /
            Skript verkürzt tempestas, /
            /
            kein sayit, pushover, media24, /
            /
            telegram aktivierbar via vis /
            /
            Level, ab dem gewarnt wird einstellbar via VIS /
            /
            Variante für 3-warnings /
            /
            /
            /
            ************************************************************************* /
            ! createState('DWD.Telegram', false, {
            read: true,
            write: true,
            name: "DWD Warnungen per Telegram senden?",
            type: "boolean",
            def: false
            });
            ! createState('DWD.SeverityTrigger', 1, {
            read: true,
            write: true,
            name: "DWD Warnungen ab welchem Lvl",
            type: "number"
            });
            ! var request = require('request');
            ! var debug = false;
            ! var idTelegramAktiv = "javascript.0.DWD.Telegram";
            var idSeverityTrigger = "javascript.0.DWD.SeverityTrigger";
            ! var telegram;
            ! /
            Trigger für Wetterwarnungen /
            var idDescription0 = "dwd.0.warning.description";
            var idDescription1 = "dwd.0.warning1.description";
            var idDescription2 = "dwd.0.warning2.description";
            ! /
            Arrays festlegen */
            var newDescriptions = [];
            var oldDescriptions = [];
            var newHeadlines = [];
            var oldHeadlines = [];
            var newBegins = [];
            var oldBegins = [];
            var newEnds = [];
            var oldEnds = [];
            var newSeverity = [];
            var oldSeverity = [];
            var timer = null;

            ! /* ###### BEGINN CHECK FUNKTION ############## */

            function check(){

            telegram = getState(idTelegramAktiv).val;
            

            /* Bereich für 'Alle Wetterwarnungen wurden aufgehoben' --> DEAKTIVIERT; NERVT */

            ! if(newDescriptions[0] === "") {
            ! /* alle Sicherungen Wetterwarnung löschen */
            oldHeadlines = newHeadlines.slice();
            oldDescriptions = newDescriptions.slice();
            oldBegins = newBegins.slice();
            oldEnds = newEnds.slice();
            oldSeverity =newSeverity.slice();
            return;

            }               
            

            /* ENDE Bereich für 'Alle Wetterwarnungen wurden aufgehoben' */

            ! /* Variablen für Meldungen Text /
            var MeldungOld = '';
            var MeldungNew = '';
            ! var headline;
            var description;
            var begin;
            var end;
            var i;
            var warn;
            var severity;
            ! /
            START Bereich für 'Wetterwarnung gültig bis wurde aufgehoben' */

            for(i = 0; i < 3; i++) {
            
              warn = 'dwd.0.warning';
            

            ! if(i) warn = warn + i; // also dwd.0.warning1, warning2....

              headline = oldHeadlines[i];
              description = oldDescriptions[i];
              begin = oldBegins[i];
              end = oldEnds[i];
              severity = oldSeverity[i];
            
                if(debug) log("Severity Pfad alte Warnungen: " +warn+'.severity' +". Der Warnlevel war: "+severity);      
            
                 if(newDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
                    MeldungOld = headline +'\nStufe '+severity+ '\ngültig bis ' + end + ' Uhr wurde aufgehoben';
            
                        if(telegram && ( severity >= getState(idSeverityTrigger).val) ) {            //wird nur geschickt, sofern Telegram an ist und Schwerelevel größer gleich definiert
                            setTimeout((sendTo ("telegram.0", MeldungOld)), 3 * 1000);
                        }
                        else if(debug) log("Stufe ist "+severity +' für Telegram benötigt ist Stufe '+getState(idSeverityTrigger).val);
                 }
              }
            

            ! /* START Bereich für 'Neue Amtliche Wetterwarnung' */
            ! for(i = 0; i < 3; i++) {

              warn = 'dwd.0.warning';
            
              if(i) warn = warn + i;                        // also dwd.0.warning1, warning2....
            
              headline = newHeadlines[i];
              description = newDescriptions[i];
              begin = newBegins[i];
              end = newEnds[i];
              severity = newSeverity[i];
            
                if(debug) log("Severity Pfad neue Wetterwarnung: " +warn+'.severity' +". Der aktuelle Warnlevel ist: "+severity);      
            
                 if(oldDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
                    MeldungNew = headline +'\nStufe '+severity+ "\ngültig vom " + begin + " Uhr bis " + end + " Uhr\n" + description;
            
                        if(telegram && ( severity >= getState(idSeverityTrigger).val) ) {            //   wird nur geschickt, sofern Telegram an ist und Schwerelevel definiert
                          setTimeout((sendTo ("telegram.0", MeldungNew)), 3 * 1000);
                        }
                        else if(debug) log("Stufe ist "+severity +' für Telegram benötigt ist Stufe '+getState(idSeverityTrigger).val);
                 } 
              }
              if(debug) log("Neue Headlines: "+newHeadlines );
            

            ! /* Neue Werte sichern */
            oldHeadlines = newHeadlines.slice();
            oldDescriptions = newDescriptions.slice();
            oldBegins = newBegins.slice();
            oldEnds = newEnds.slice();
            oldSeverity = newSeverity.slice();

            if(debug) log("Als alte Headlines wurde gesichert: "+oldHeadlines);
            

            }

            ! /* ############# ENDE CHECK FUNKTION ###################### */
            ! on(idDescription0, function (dp) {
            newDescriptions[0] = dp.state.val;
            var warn = 'dwd.0.warning';
            setTimeout(function() {
            newHeadlines[0] = getState(warn + '.headline').val;
            newBegins[0] = getState(warn + '.begin').val;
            newEnds[0] = getState(warn + '.end').val;
            newSeverity[0] =getState(warn +'.severity').val;
            }, 3000);
            if(timer) clearTimeout(timer);
            timer = setTimeout(check, 7000);
            });
            ! on(idDescription1, function(dp) {
            newDescriptions[1] = dp.state.val;
            var warn = 'dwd.0.warning1';
            setTimeout(function() {
            newHeadlines[1] = getState(warn + '.headline').val;
            newBegins[1] = getState(warn + '.begin').val;
            newEnds[1] = getState(warn + '.end').val;
            newSeverity[1] =getState(warn +'.severity').val;
            }, 3000);
            if(timer) clearTimeout(timer);
            timer = setTimeout(check, 7000);
            });
            ! on(idDescription2, function(dp) {
            newDescriptions[2] = dp.state.val;
            var warn = 'dwd.0.warning2';
            setTimeout(function() {
            newHeadlines[2] = getState(warn + '.headline').val;
            newBegins[2] = getState(warn + '.begin').val;
            newEnds[2] = getState(warn + '.end').val;
            newSeverity[2] =getState(warn +'.severity').val;
            }, 3000);
            if(timer) clearTimeout(timer);
            timer = setTimeout(check, 7000);
            });` [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

            1 Reply Last reply
            0
            • D Offline
              D Offline
              doctorultra
              wrote on last edited by
              #63

              Ich bekomme mit den Script von @Prinzeisenherz1 immer den folgenden Fehler.

              Ich nutze die Version 1.12.

              ! telegram.0 2018-03-22 19:08:54.103 error at WS. (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.103 error at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
              ! telegram.0 2018-03-22 19:08:54.103 error at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
              ! telegram.0 2018-03-22 19:08:54.103 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
              ! telegram.0 2018-03-22 19:08:54.103 error at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.103 error at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
              ! telegram.0 2018-03-22 19:08:54.103 error at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.103 error at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.103 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:48:30)
              ! telegram.0 2018-03-22 19:08:54.103 error at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3395:34)
              ! telegram.0 2018-03-22 19:08:54.103 error at Adapter.emit (events.js:188:7)
              ! telegram.0 2018-03-22 19:08:54.103 error at emitOne (events.js:96:13)
              ! telegram.0 2018-03-22 19:08:54.103 error at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:45:14)
              ! telegram.0 2018-03-22 19:08:54.103 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:642:33)
              ! telegram.0 2018-03-22 19:08:54.103 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:508:22)
              ! telegram.0 2018-03-22 19:08:54.103 error at _sendMessageHelper (/opt/iobroker/node_modules/iobroker.telegram/main.js:180:13)
              ! telegram.0 2018-03-22 19:08:54.103 error TypeError: Cannot read property 'chatId' of undefined
              ! telegram.0 2018-03-22 19:08:54.102 error message messagebox.system.adapter.telegram.0 [object Object] Cannot read property 'chatId' of undefined
              ! telegram.0 2018-03-22 19:08:54.101 error at WS. (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.101 error at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
              ! telegram.0 2018-03-22 19:08:54.101 error at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
              ! telegram.0 2018-03-22 19:08:54.101 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
              ! telegram.0 2018-03-22 19:08:54.101 error at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.101 error at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
              ! telegram.0 2018-03-22 19:08:54.101 error at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.101 error at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
              ! telegram.0 2018-03-22 19:08:54.101 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:48:30)
              ! telegram.0 2018-03-22 19:08:54.101 error at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3395:34)
              ! telegram.0 2018-03-22 19:08:54.101 error at Adapter.emit (events.js:188:7)
              ! telegram.0 2018-03-22 19:08:54.101 error at emitOne (events.js:96:13)
              ! telegram.0 2018-03-22 19:08:54.101 error at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:45:14)
              ! telegram.0 2018-03-22 19:08:54.101 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:642:33)
              ! telegram.0 2018-03-22 19:08:54.101 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:508:22)
              ! telegram.0 2018-03-22 19:08:54.101 error at _sendMessageHelper (/opt/iobroker/node_modules/iobroker.telegram/main.js:180:13)
              ! telegram.0 2018-03-22 19:08:54.101 error TypeError: Cannot read property 'chatId' of undefined
              ! telegram.0 2018-03-22 19:08:54.099 error message messagebox.system.adapter.telegram.0 [object Object] Cannot read property 'chatId' of undefined

              1 Reply Last reply
              0
              • D Offline
                D Offline
                doctorultra
                wrote on last edited by
                #64

                Ich habe eine logische Frage, wenn ich mir die Werte unter Object ansehen, da steht immer was bei den Warnings drin, wieso liefert er aber dennoch bei manchen, bei den abgelaufenen Warnings keine Wert zurück wenn ich mit getState("dwd.0.warning.headline").val; arbeite?

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  adarof
                  wrote on last edited by
                  #65

                  Hallo

                  Das Script arbeitete bis vor kurzem super bei mir - hat das schon jemand überarbeitet für die "neuen" Timestampdarstellungsprobleme?

                  Gruss

                  wendy2702W 1 Reply Last reply
                  0
                  • A adarof

                    Hallo

                    Das Script arbeitete bis vor kurzem super bei mir - hat das schon jemand überarbeitet für die "neuen" Timestampdarstellungsprobleme?

                    Gruss

                    wendy2702W Offline
                    wendy2702W Offline
                    wendy2702
                    wrote on last edited by
                    #66

                    @adarof Guckst du hier:

                    https://forum.iobroker.net/topic/30616/script-dwd-uwz-nina-warnungen-als-push-sprachnachrichten?page=1

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      adarof
                      wrote on last edited by
                      #67

                      Uhha ... Danke für die Info. :-)

                      Das sieht umfassender aus ... das muss ich erstmal überblicken.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      857

                      Online

                      32.4k

                      Users

                      81.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe