Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. grisuv

    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

    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 1
    • Best 0
    • Groups 0

    grisuv

    @grisuv

    0
    Reputation
    4
    Profile views
    1
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    grisuv Follow

    Latest posts made by grisuv

    • RE: DWD Warnung als Telegramm

      Hallo,

      Leider funktioniert der script mit 4 Warnungen leider nicht. Javascript wird laut log neu gestartet.

      mit drei läuft alles perfekt.

      In der Zeile "if(idSprachausgabe === true){" kommt ein ausrufezeichen "zu viele fehler. 82% scanned"

      @PrinzEisenherz1:

      So, und hier ne Variante für 4 Warnungen.

      Hab die noch etwas Nutzerfreundlicher gestaltet bzgl Einstellungen

      ! /* Script zum Übertragen der DWD-Wetterwarnungen an Telegram */ /* Stand: 11012017 PrinzEisenherz1 */ var request = require('request'); /* Abfragen eingestellten Nachrichten-Dienst */ /* aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 */ var pushdienst = 3; // Auswahl Nachrichtendienst ! /* Pfadangaben */ var instanz = 'javascript.0.'; // Instanz des javascript-Adapters var pfad = 'DWD'; // Pfad in im Javascript-Adapter ! /* Konfiguration Sprachausgabe */ var idSprachausgabe = true; // Wenn zusätzlich eine Sprachausgabe erfolgen soll dann auf true, ohne Sprachausgabe false var idMediaplayer = "192.168.000.000:50000"; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer ! /* Datenpunkte DWD-Adapter */ var idDescription0 = "dwd.0.warning.description"; var idDescription1 = "dwd.0.warning1.description"; var idDescription2 = "dwd.0.warning2.description"; var idDescription3 = "dwd.0.warning3.description"; var idHeadline0 = "dwd.0.warning.headline"; var idHeadline1 = "dwd.0.warning1.headline"; var idHeadline2 = "dwd.0.warning2.headline"; var idHeadline3 = "dwd.0.warning3.headline"; var idBegin0 = "dwd.0.warning.begin"; var idBegin1 = "dwd.0.warning1.begin"; var idBegin2 = "dwd.0.warning2.begin"; var idBegin3 = "dwd.0.warning3.begin"; var idEnd0 = "dwd.0.warning.end"; var idEnd1 = "dwd.0.warning1.end"; var idEnd2 = "dwd.0.warning2.end"; var idEnd3 = "dwd.0.warning3.end"; ! /* ######################### createStates ###################################### /* Sicherung der DWD-Warnmeldungen */ createState(instanz + pfad + ".BackupMessage0"); createState(instanz + pfad + ".BackupMessage1"); createState(instanz + pfad + ".BackupMessage2"); createState(instanz + pfad + ".BackupMessage4"); /* Sicherung der DWD-headlines und Gültig-Bis */ createState(instanz + pfad + ".headline0"); createState(instanz + pfad + ".headline1"); createState(instanz + pfad + ".headline2"); createState(instanz + pfad + ".headline3"); createState(instanz + pfad + ".gueltig0"); createState(instanz + pfad + ".gueltig1"); createState(instanz + pfad + ".gueltig2"); ! createState(instanz + pfad + ".gueltig3"); ! /* Sicherung der DWD-Warnmeldungen */ var idBackupMessage0 = instanz + pfad + ".BackupMessage0"; var idBackupMessage1 = instanz + pfad + ".BackupMessage1"; var idBackupMessage2 = instanz + pfad + ".BackupMessage2"; ! var idBackupMessage2 = instanz + pfad + ".BackupMessage3"; ! /* Sicherung der DWD-headlines und Gültig-Bis */ var idBackHeadline0 = instanz + pfad + ".headline0"; var idBackHeadline1 = instanz + pfad + ".headline1"; var idBackHeadline2 = instanz + pfad + ".headline2"; var idBackHeadline3 = instanz + pfad + ".headline3"; var idBackGueltig0 = instanz + pfad + ".gueltig0"; var idBackGueltig1 = instanz + pfad + ".gueltig1"; var idBackGueltig2 = instanz + pfad + ".gueltig2"; ! var idBackGueltig3 = instanz + pfad + ".gueltig3"; ! /* Meldungen Text und Sprache */ var Meldung = ''; var Meldung0 = ''; var Meldung1 = ''; var Meldung2 = ''; ! var Meldung3 = ''; var MeldungSprache = ''; var Meldung0Sprache = ''; var Meldung1Sprache = ''; var Meldung2Sprache = ''; ! var Meldung3Sprache = ''; ! /* Konfiguration Timer */ var timer = null; ! function nachricht(){ /* Einlesen Backup */ var BackupMessage0 = getState(idBackupMessage0).val; var BackupMessage1 = getState(idBackupMessage1).val; var BackupMessage2 = getState(idBackupMessage2).val; /* Einlesen Warnung0 */ var Description0 = getState(idDescription0).val; var Headline0 = getState(idHeadline0).val; var Begin0 = getState(idBegin0).val; var End0 = getState(idEnd0).val; /* Einlesen Warnung1 */ var Description1 = getState(idDescription1).val; var Headline1 = getState(idHeadline1).val; var Begin1 = getState(idBegin1).val; var End1 = getState(idEnd1).val; /* Einlesen Warnung2 */ var Description2 = getState(idDescription2).val; var Headline2 = getState(idHeadline2).val; var Begin2 = getState(idBegin2).val; var End2 = getState(idEnd2).val; /* Variable für Vergleich */ var Pruefung0 = Description0 + End0; var Pruefung1 = Description1 + End1; var Pruefung2 = Description2 + End2; ! /* Bereich Auswerten neue Wetterwarnung für Warnung3 */ if((Description3 !== "") && (Pruefung3 !== BackupMessage3) && (Pruefung3 !== BackupMessage2) && (Pruefung3 !== BackupMessage1) && (Pruefung3 !== BackupMessage0)) { Meldung3 = Headline3 + "\ngültig vom " + Begin3 + " Uhr bis " + End3 + " Uhr\n" + Description3; var replaceDescription3 = entferneDatenpunkt(Description3); Meldung3Sprache = Headline3 + " gültig vom " + Begin3 + " Uhr, bis " + End3 + " Uhr. " + replaceDescription3; if ((pushdienst === 3) || (pushdienst === 1) ) { sendTo ("telegram.0", Meldung3); } if ((pushdienst === 2) || (pushdienst === 1) ) { sendTo("pushover.0", Meldung3); } setState(idBackupMessage3,Pruefung3); setState(idBackHeadline3,Headline3); setState(idBackGueltig3,End3); } else if((Description3 === "") && (Description2 !== "") && (Description1 !== "") && (Description0 !== "") && (BackupMessage3 !== Pruefung2) && (BackupMessage3 !== Pruefung1) && (BackupMessage3 !== Pruefung0)) { var Headlineclear3 = getState(idBackHeadline3).val; var Gueltigclear3 = getState(idBackGueltig3).val; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ Headlineclear3 + " gültig bis " + Gueltigclear3 + "'" + " des DWD wurde aufgehoben"); }, 1 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear3 + " gültig bis " + Gueltigclear3 + "'" + " des DWD wurde aufgehoben"); }, 1 * 1000); } setState(idBackupMessage3,''); } /* Bereich Auswerten neue Wetterwarnung für Warnung2 */ if((Description2 !== "") && (Pruefung2 !== BackupMessage3) && (Pruefung2 !== BackupMessage2) && (Pruefung2 !== BackupMessage1) && (Pruefung2 !== BackupMessage0)) { Meldung2 = Headline2 + "\ngültig vom " + Begin2 + " Uhr bis " + End2 + " Uhr\n" + Description2; var replaceDescription2 = entferneDatenpunkt(Description2); Meldung2Sprache = Headline2 + " gültig vom " + Begin2 + " Uhr, bis " + End2 + " Uhr. " + replaceDescription2; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", Meldung2); }, 1 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", Meldung2); }, 1 * 1000); } setState(idBackupMessage2,Pruefung2); setState(idBackHeadline2,Headline2); setState(idBackGueltig2,End2); } else if((Description3 === "") && (Description2 === "") && (Description1 !== "") && (Description0 !== "") && (BackupMessage2 !== Pruefung3) && (BackupMessage2 !== Pruefung1) && (BackupMessage2 !== Pruefung0)) { var Headlineclear2 = getState(idBackHeadline2).val; var Gueltigclear2 = getState(idBackGueltig2).val; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ Headlineclear2 + " gültig bis " + Gueltigclear2 + "'" + " des DWD wurde aufgehoben"); }, 1 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear2 + " gültig bis " + Gueltigclear2 + "'" + " des DWD wurde aufgehoben"); }, 1 * 1000); } setState(idBackupMessage2,''); } /* Bereich Auswerten neue Wetterwarnung für Warnung1 */ if((Description1 !== "") && (Pruefung1 !== BackupMessage3) && (Pruefung1 !== BackupMessage2) && (Pruefung1 !== BackupMessage1) && (Pruefung1 !== BackupMessage0)) { Meldung1 = Headline1 + "\ngültig vom " + Begin1 + " Uhr bis " + End1 + " Uhr\n" + Description1; var replaceDescription1 = entferneDatenpunkt(Description1); Meldung1Sprache = Headline1 + " gültig vom " + Begin1 + " Uhr, bis " + End1 + " Uhr. " + replaceDescription1; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", Meldung1); }, 5 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", Meldung1); }, 5 * 1000); } setState(idBackupMessage1,Pruefung1); setState(idBackHeadline1,Headline1); setState(idBackGueltig1,End1); } else if((Description3 === "") && (Description2 === "") && (Description1 === "") && (Description0 !== "") && (BackupMessage1 !== Pruefung3) && (BackupMessage1 !== Pruefung2) && (BackupMessage1 !== Pruefung0)) { var Headlineclear1 = getState(idBackHeadline1).val; var Gueltigclear1 = getState(idBackGueltig1).val; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ Headlineclear1 + " gültig bis " + Gueltigclear1 + "'" + " des DWD wurde aufgehoben"); }, 5 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear1 + " gültig bis " + Gueltigclear1 + "'" + " des DWD wurde aufgehoben"); }, 5 * 1000); } setState(idBackupMessage1,''); } /* Bereich Auswerten neue Wetterwarnung für Warnung0 */ if((Description0 !== "") && (Pruefung0 !== BackupMessage3) && (Pruefung0 !== BackupMessage2) && (Pruefung0 !== BackupMessage1) && (Pruefung0 !== BackupMessage0)) { Meldung0 = Headline0 + "\ngültig vom " + Begin0 + " Uhr bis " + End0 + " Uhr\n" + Description0; var replaceDescription0 = entferneDatenpunkt(Description0); Meldung0Sprache = Headline0 + " gültig vom " + Begin0 + " Uhr, bis " + End0 + " Uhr. " + replaceDescription0; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", Meldung0); }, 9 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", Meldung0); }, 9 * 1000); } setState(idBackupMessage0,Pruefung0); setState(idBackHeadline0,Headline0); setState(idBackGueltig0,End0); } else if((Description0 === "") && (Description1 === "") && (Description2 === "") && (Description3 === "")) { setState(idBackupMessage0,''); Meldung0Sprache = 'Alle Warnmeldungen des DWD wurden aufgehoben'; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout(function() { sendTo ("telegram.0", 'Alle Warnmeldungen des DWD wurden aufgehoben'); }, 9 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { setTimeout(function() { sendTo("pushover.0", 'Alle Warnmeldungen des DWD wurden aufgehoben'); }, 9 * 1000); } } /* Bereich verbinden Einzelnachrichten für Sprachausgabe */ if((Meldung0Sprache !== '') && (Meldung1Sprache !== '') && (Meldung2Sprache !== '') && (Meldung3Sprache !== '')){ MeldungSprache = Meldung0Sprache + " . " + Meldung1Sprache + " . " + Meldung2Sprache + " . " + Meldung3Sprache; } else if((Meldung0Sprache !== '') && (Meldung1Sprache !== '') && (Meldung2Sprache !== '')){ MeldungSprache = Meldung0Sprache + " . " + Meldung1Sprache + " . " + Meldung2Sprache; } else if((Meldung0Sprache !== '') && (Meldung1Sprache !== '') && (Meldung2Sprache === '')) { MeldungSprache = Meldung0Sprache + " . " + Meldung1Sprache; } else if((Meldung0Sprache !== '') && (Meldung1Sprache === '') && (Meldung2Sprache === '')) { MeldungSprache = Meldung0Sprache; } else { MeldungSprache = Meldung0Sprache; } if(idSprachausgabe === true){ var Url = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSprache; log('Url :' + Url); request(Url); /* Löschen Inhalt Meldevariablen für Text und Sprache */ setTimeout(function() { Meldung3 = ''; Meldung2 = ''; Meldung1 = ''; Meldung0 = ''; Meldung = ''; Meldung3Sprache = ''; Meldung2Sprache = ''; Meldung1Sprache = ''; Meldung0Sprache = ''; MeldungSprache = ''; }, 13 * 1000); } } /* Auslöser Warnung0 */ on(idDescription0, function (obj){ if(obj.newState.lc > obj.oldState.lc){ if(timer) clearTimeout(timer); timer = setTimeout(nachricht, 5000); } }); /* Auslöser Warnung1 */ on(idDescription1, function (obj){ if(obj.newState.lc > obj.oldState.lc){ if(timer) clearTimeout(timer); timer = setTimeout(nachricht, 5000); } }); /* Auslöser Warnung2 */ on(idDescription2, function (obj){ if(obj.newState.lc !== obj.oldState.lc){ if(timer) clearTimeout(timer); timer = setTimeout(nachricht, 5000); } }); /* Auslöser Warnung3 */ on(idDescription2, function (obj){ if(obj.newState.lc !== obj.oldState.lc){ if(timer) clearTimeout(timer); timer = setTimeout(nachricht, 5000); } }); /* Entfernt "°C" aus Sprachmeldung und ersetzt es durch "Grad" */ function entferneDatenpunkt(beschreibung) { var rueckgabe; rueckgabe = beschreibung; try {rueckgabe = rueckgabe.replace(/\°C/g, "Grad");} catch(e) {} return rueckgabe; } `

      posted in Skripten / Logik
      grisuv
      grisuv
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo