NEWS
DWD Warnung als Telegramm
-
Na so ganz hat das noch nicht geklappt.
Es werden zwar die Wettermeldungen angesagt, aber es passiert, dass 2 Meldungen "übereinanderlaufen" und somit 1 davon nicht angesagt wird. Kann es sein, dass ich den Timeout der dort mit 1000 gesetzt ist eventuell (deutlich) erhöhen muss, damit jede Ansage genug Zeit hat?
Ich frage das jetzt als Unwissender was die Programmiererei anbelangt, ich erwähnte es schon.
Kannst ja mal einen Blick auf das erweiterte Skript werfen ob das so passt…. und eben die Sache mit dem Timeout.
! ````
var request = require ('request');
! /* Script zum Übertragen der DWD-Wetterwarnungen an Home24 Mediaplayer */
var idSeverity0 = "dwd.0.warning.description";
var idSeverity1 = "dwd.0.warning1.description";
var idSeverity2 = "dwd.0.warning2.description";
var idSeverity3 = "dwd.0.warning3.description";
var idSeverity4 = "dwd.0.warning4.description";! /* States und Variablen anlegen zur Sicherung der DWD-headlines */
createState("javascript.1.DWD.headline0");
createState("javascript.1.DWD.headline1");
createState("javascript.1.DWD.headline2");
createState("javascript.1.DWD.headline3");
createState("javascript.1.DWD.headline4");var idBackHeadline0 = "javascript.1.DWD.headline0"; var idBackHeadline1 = "javascript.1.DWD.headline1"; var idBackHeadline2 = "javascript.1.DWD.headline2"; var idBackHeadline3 = "javascript.1.DWD.headline3"; var idBackHeadline4 = "javascript.1.DWD.headline4";
function check0(){
var Severity0 = getState(idSeverity0).val;
if (Severity0 !== "") {
var Begin0 = getState("dwd.0.warning.begin").val;
var End0 = getState("dwd.0.warning.end").val;
var text0 = getState("dwd.0.warning.text").val;
var Headline0 = getState("dwd.0.warning.headline").val;
var Description0 = getState("dwd.0.warning.description").val;
var DWD_meldung_0 = Headline0 + ". gültig vom, " + Begin0 + " bis, " + End0 + ". " + Description0 ;
setTimeout(function() {var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_0 ; request(Url); }, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline0,Headline0);
}
}! function check1(){
var Severity1 = getState(idSeverity1).val;
if (Severity1 !== "") {
var Begin1 = getState("dwd.0.warning1.begin").val;
var End1 = getState("dwd.0.warning1.end").val;
var text1 = getState("dwd.0.warning1.text").val;
var Headline1 = getState("dwd.0.warning1.headline").val;
var Description1 = getState("dwd.0.warning1.description").val;
var DWD_meldung_1 = Headline1 + ". gültig vom, " + Begin1 + " bis, " + End1 + ". " + Description1 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_1 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline1,Headline1);
}
}! function check2(){
var Severity2 = getState(idSeverity2).val;
if (Severity2 !== "") {
var Begin2 = getState("dwd.0.warning2.begin").val;
var End2 = getState("dwd.0.warning2.end").val;
var text2 = getState("dwd.0.warning2.text").val;
var Headline2 = getState("dwd.0.warning2.headline").val;
var Description2 = getState("dwd.0.warning2.description").val;
var DWD_meldung_2 = Headline2 + ". gültig vom, " + Begin2 + " bis, " + End2 + ". " + Description2 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_2 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline2,Headline2);
}
}! function check3(){
var Severity3 = getState(idSeverity3).val;
if (Severity3 !== "") {
var Begin3 = getState("dwd.0.warning3.begin").val;
var End3 = getState("dwd.0.warning3.end").val;
var text3 = getState("dwd.0.warning3.text").val;
var Headline3 = getState("dwd.0.warning3.headline").val;
var Description3 = getState("dwd.0.warning3.description").val;
var DWD_meldung_3 = Headline3 + ". gültig vom, " + Begin3 + " bis, " + End3 + ". " + Description3 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_3 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline3,Headline3);
}
}! function check4(){
var Severity4 = getState(idSeverity4).val;
if (Severity4 !== "") {
var Begin4 = getState("dwd.0.warning4.begin").val;
var End4 = getState("dwd.0.warning4.end").val;
var text4 = getState("dwd.0.warning4.text").val;
var Headline4 = getState("dwd.0.warning4.headline").val;
var Description4 = getState("dwd.0.warning4.description").val;
var DWD_meldung_4 = Headline4 + ". gültig vom, " + Begin4 + " bis, " + End4 + ". " + Description4 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_3 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline4,Headline4);
}
}! on(idSeverity0, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check0();
} else {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Alle Wetterwarnungen des DWD wurden aufgehoben." ;
request(Url);}
}
});! on(idSeverity1, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check1();
} else
{
var Headlineclear0 = getState(idBackHeadline1).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear0 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity2, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check2();
} else
{
var Headlineclear1 = getState(idBackHeadline2).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear1 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity3, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check3();
} else
{
var Headlineclear2 = getState(idBackHeadline3).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear2 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity4, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check4();
} else
{
var Headlineclear3 = getState(idBackHeadline4).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear3 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! /* Auslösen bei Scriptstart - Wenn nicht benötigt einfach löschen oder auskommentieren
check0();
check1();
check2();
check3();
check4();*/Danke und Gruß Thomas
-
Hi Thomas, ich schau mir später das mal an.
Hab bloß im Moment was zu tun
Gruß Johnny
-
Gelöscht da fehlerhaftes Script.
[EDIT] Aktuelle Version mit Sprachausgabe hier http://forum.iobroker.net/viewtopic.php … =40#p52017
-
Ich habe nun dieses Skript am laufen und es funktioniert einwandfrei
! ````
var request = require ('request');
! /* Script zum Übertragen der DWD-Wetterwarnungen an Home24 Mediaplayer */
var idSeverity0 = "dwd.0.warning.description";
var idSeverity1 = "dwd.0.warning1.description";
var idSeverity2 = "dwd.0.warning2.description";
var idSeverity3 = "dwd.0.warning3.description";
var idSeverity4 = "dwd.0.warning4.description";! /* States und Variablen anlegen zur Sicherung der DWD-headlines */
createState("javascript.1.DWD.headline0");
createState("javascript.1.DWD.headline1");
createState("javascript.1.DWD.headline2");
createState("javascript.1.DWD.headline3");
createState("javascript.1.DWD.headline4");var idBackHeadline0 = "javascript.1.DWD.headline0"; var idBackHeadline1 = "javascript.1.DWD.headline1"; var idBackHeadline2 = "javascript.1.DWD.headline2"; var idBackHeadline3 = "javascript.1.DWD.headline3"; var idBackHeadline4 = "javascript.1.DWD.headline4";
function check0(){
var Severity0 = getState(idSeverity0).val;
if (Severity0 !== "") {
var Begin0 = getState("dwd.0.warning.begin").val;
var End0 = getState("dwd.0.warning.end").val;
var text0 = getState("dwd.0.warning.text").val;
var Headline0 = getState("dwd.0.warning.headline").val;
var Description0 = getState("dwd.0.warning.description").val;
var DWD_meldung_0 = Headline0 + ". gültig vom, " + Begin0 + " bis, " + End0 + ". " + Description0 ;
setTimeout(function() {var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_0 ; request(Url); }, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline0,Headline0);
}
}! function check1(){
var Severity1 = getState(idSeverity1).val;
if (Severity1 !== "") {
var Begin1 = getState("dwd.0.warning1.begin").val;
var End1 = getState("dwd.0.warning1.end").val;
var text1 = getState("dwd.0.warning1.text").val;
var Headline1 = getState("dwd.0.warning1.headline").val;
var Description1 = getState("dwd.0.warning1.description").val;
var DWD_meldung_1 = Headline1 + ". gültig vom, " + Begin1 + " bis, " + End1 + ". " + Description1 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_1 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline1,Headline1);
}
}! function check2(){
var Severity2 = getState(idSeverity2).val;
if (Severity2 !== "") {
var Begin2 = getState("dwd.0.warning2.begin").val;
var End2 = getState("dwd.0.warning2.end").val;
var text2 = getState("dwd.0.warning2.text").val;
var Headline2 = getState("dwd.0.warning2.headline").val;
var Description2 = getState("dwd.0.warning2.description").val;
var DWD_meldung_2 = Headline2 + ". gültig vom, " + Begin2 + " bis, " + End2 + ". " + Description2 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_2 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline2,Headline2);
}
}! function check3(){
var Severity3 = getState(idSeverity3).val;
if (Severity3 !== "") {
var Begin3 = getState("dwd.0.warning3.begin").val;
var End3 = getState("dwd.0.warning3.end").val;
var text3 = getState("dwd.0.warning3.text").val;
var Headline3 = getState("dwd.0.warning3.headline").val;
var Description3 = getState("dwd.0.warning3.description").val;
var DWD_meldung_3 = Headline3 + ". gültig vom, " + Begin3 + " bis, " + End3 + ". " + Description3 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_3 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline3,Headline3);
}
}! function check4(){
var Severity4 = getState(idSeverity4).val;
if (Severity4 !== "") {
var Begin4 = getState("dwd.0.warning4.begin").val;
var End4 = getState("dwd.0.warning4.end").val;
var text4 = getState("dwd.0.warning4.text").val;
var Headline4 = getState("dwd.0.warning4.headline").val;
var Description4 = getState("dwd.0.warning4.description").val;
var DWD_meldung_4 = Headline4 + ". gültig vom, " + Begin4 + " bis, " + End4 + ". " + Description4 ;
setTimeout(function() {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=" + DWD_meldung_3 ;
request(Url);}, 1 * 1000);
/* headline für Warning sichern */
setState(idBackHeadline4,Headline4);
}
}! on(idSeverity0, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check0();
} else {
! var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Alle Wetterwarnungen des DWD wurden aufgehoben." ;
request(Url);}
}
});! on(idSeverity1, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check1();
} else
{
var Headlineclear0 = getState(idBackHeadline1).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear0 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity2, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check2();
} else
{
var Headlineclear1 = getState(idBackHeadline2).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear1 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity3, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check3();
} else
{
var Headlineclear2 = getState(idBackHeadline3).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear2 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! on(idSeverity4, function (obj){
if (obj.newState.val !== obj.oldState.val) {
if (obj.newState.val !== "") {
check4();
} else
{
var Headlineclear3 = getState(idBackHeadline4).val;var Url = "http://192.168.178.58:50000/track=4fachgong.mp3|tts=Die Wetterwarnung " + ":" + Headlineclear3 + " des DWD wurde aufgehoben." ; request(Url);
! }
}
});
! /* Auslösen bei Scriptstart - Wenn nicht benötigt einfach löschen oder auskommentieren
check0();
check1();
check2();
check3();
check4();*/
! ````Das ist schon mal perfekt, solange es klappt werde ich hieran nichts mehr verändern…. sonst gehen ggf. Probleme wieder los 8-)
Gruß
Thomas
-
Ich habe nun dieses Skript am laufen und es funktioniert einwandfrei
Das ist schon mal perfekt, solange es klappt werde ich hieran nichts mehr verändern…. sonst gehen ggf. Probleme wieder los 8-)
Gruß
Thomas `
Das macht aber nur die Ansage und keine Nachricht per Telegram, oder?
-
Das macht aber nur die Ansage und keine Nachricht per Telegram, oder? `
Ja richtig…. mit Telegram bin ich noch nicht soweit um es einzusetzen.
Aber da dürfte es ja nur eines "Umbaus" speziell dieser Funktion bedürfen....
-
Das macht aber nur die Ansage und keine Nachricht per Telegram, oder? `
Ja richtig…. mit Telegram bin ich noch nicht soweit um es einzusetzen.
Aber da dürfte es ja nur eines "Umbaus" speziell dieser Funktion bedürfen.... `
OK.
Danke.
Werde mal versuchen das an meine Bedürfnisse und Installation anzupassen.
-
Hi zusammen, ich stelle nachher eins rein das home24, Telegram und pushover macht
-
Gelöscht, da Script fehlerhaft
[EDIT] Aktuelle Version mit Sprachausgabe hier http://forum.iobroker.net/viewtopic.php … =40#p52017
-
Achja, Nordlicht warte mit m anpassen auf 4 warnings.
Ich baue es gerade für Dich auf 4 um
-
Gelöscht, da Script fehlerhaft.
[EDIT] Aktuelle Version (die funktioniert) mit Sprachausgabe hier http://forum.iobroker.net/viewtopic.php … =40#p52017
-
Achja, Nordlicht warte mit m anpassen auf 4 warnings.
Ich baue es gerade für Dich auf 4 um `
Danke perfekt…. nur keine unnötige Hektik.
Bislang läuft das ja alles gut.
-
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"
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; }
` -
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" `
Das hatte ich auch.
Habe das Script für mich erstmal soweit korrigiert und an Sayit angepasst das es für mich funktioniert.
Lediglich mit den Ansagen bei mehreren Warnungen scheint es ein Problem zu geben.
! /* Script zum Übertragen der DWD-Wetterwarnungen an Telegram/Sayit /
! / Stand: 11012029 Wendy2702 /
! 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.1.'; // 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
! var idSayIt = "sayit.1.tts.text";
! // Einstellung Lautstaerke
! var lautstaerke = 90;
! / Datenpunkte DWD-Adapter /
! var idDescription0 = "dwd.0.warning0.description";
! var idDescription1 = "dwd.0.warning1.description";
! var idDescription2 = "dwd.0.warning2.description";
! var idDescription3 = "dwd.0.warning3.description";
! var idHeadline0 = "dwd.0.warning0.headline";
! var idHeadline1 = "dwd.0.warning1.headline";
! var idHeadline2 = "dwd.0.warning2.headline";
! var idHeadline3 = "dwd.0.warning3.headline";
! var idBegin0 = "dwd.0.warning0.begin";
! var idBegin1 = "dwd.0.warning1.begin";
! var idBegin2 = "dwd.0.warning2.begin";
! var idBegin3 = "dwd.0.warning3.begin";
! var idEnd0 = "dwd.0.warning0.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 + ".BackupMessage3");
! / 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 idBackupMessage3 = 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;
! var BackupMessage3 = getState(idBackupMessage3).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;
! / Einlesen Warnung3 /
! var Description3 = getState(idDescription3).val;
! var Headline3 = getState(idHeadline3).val;
! var Begin3 = getState(idBegin3).val;
! var End3 = getState(idEnd3).val;
! / Variable für Vergleich /
! var Pruefung0 = Description0 + End0;
! var Pruefung1 = Description1 + End1;
! var Pruefung2 = Description2 + End2;
! var Pruefung3 = Description3 + End3;
! / 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 Wetterdienstes wurde aufgehoben");
! }, 1 * 1000);
! }
! if ((pushdienst === 2) || (pushdienst === 1) ) {
! setTimeout(function() {
! sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear3 + " gültig bis " + Gueltigclear3 + "'" + " des Wetterdienstes 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 Wetterdienstes wurde aufgehoben");
! }, 1 * 1000);
! }
! if ((pushdienst === 2) || (pushdienst === 1) ) {
! setTimeout(function() {
! sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear2 + " gültig bis " + Gueltigclear2 + "'" + " des Wetterdienstes 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 Wetterdienstes wurde aufgehoben");
! }, 5 * 1000);
! }
! if ((pushdienst === 2) || (pushdienst === 1) ) {
! setTimeout(function() {
! sendTo("pushover.0", "Die Wetterwarnung " +"'"+ Headlineclear1 + " gültig bis " + Gueltigclear1 + "'" + " des Wetterdienstes 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 Wetterdienstes wurden aufgehoben';
! if ((pushdienst === 3) || (pushdienst === 1) ) {
! setTimeout(function() {
! sendTo ("telegram.0", 'Alle Warnmeldungen des Wetterdienstes wurden aufgehoben');
! }, 9 * 1000);
! }
! if ((pushdienst === 2) || (pushdienst === 1) ) {
! setTimeout(function() {
! sendTo("pushover.0", 'Alle Warnmeldungen des Wetterdienstes 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);
! if (compareTime('09:00', '22:30', "between", null)) {
! setState(idSayIt, lautstaerke + ";" + MeldungSprache);
! }
! / 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;
! } -
Hi zusammen,
Ist mir leider auch schon aufgefallen.
Bin gerade an ner neuen Version.
Kürzer und hoffentlich ohne Fehler.
Gruß Johnny
-
Kein Stress [emoji41]
Gesendet von iPhone mit Tapatalk Pro
-
So, mit tatkräftiger Unterstützung von Paul53 (an dieser stelle auch nochmal tausend Dank dafür) gibt es jetzt ein funktionierendes DWD Script mit dem man sich
Push-Nachrichten über Pushover oder Telegram senden lassen kann. Des Weiteren kann eine Ausdioausgabe über Home24-Mediaplayer oder SayIt erfolgen.
Viel Spass damit
Gruß
Johnny
[EDIT - 13022016 09:34] Fehler mit " [3,4,5] gültig bis [3,4,5] " wurde behoben
Variante für 3-Warnings:
! ```
`/* ************************************************************************* /
/ Script zum Übertragen der DWD-Wetterwarnungen über /
/ Telegram, Pushover, Home24-Mediaplayer oder SayIt /
/ mit freundlicher Unterstützung von Paul53 (Tausend Dank nochmals) /
/ Stand: 130022017 PrinzEisenherz1 /
/ /
/ - Fehlerbehebung z.B. 3 gültig bis 3 /
/ /
/ /
/ /
/ /
/ Variante für 3-warnings /
/ /
/ ************************************************************************* /
! var request = require('request');
! / Nachrichten-Dienst festlegen /
/ aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 /
var pushdienst = 3; // Auswahl Nachrichtendienst
! / Konfiguration Sprachausgabe über Home24-Mediaplayer /
var idSprachausgabe = false; // Wenn zusätzlich eine Sprachausgabe erfolgen soll dann auf true
var idMediaplayer = "192.168.178.70:50000"; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer
! / Konfiguration Sprachausgabe über SayIt /
var idSprachausgabeSayIt = false; // Wenn zusätzlich eine Sprachausgabe über SayIt erfolgen soll dann auf true
var idSayIt = "sayit.0.tts.text";
var lautstaerke = 100;
! / 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 = [3];
var oldDescriptions = [3];
var newHeadlines = [3];
var oldHeadlines = [3];
var newBegins = [3];
var oldBegins = [3];
var newEnds = [3];
var oldEnds = [3];
var timer = null;/* aktivieren bzw erstmaliges Befüllen der arrays */
newDescriptions[0] = '';
newDescriptions[1] = '';
newDescriptions[2] = '';
oldDescriptions[0] = '';
oldDescriptions[1] = '';
oldDescriptions[2] = '';! newHeadlines[0] = '';
newHeadlines[1] = '';
newHeadlines[2] = '';
oldHeadlines[0] = '';
oldHeadlines[1] = '';
oldHeadlines[2] = '';
! newBegins[0] = '';
newBegins[1] = '';
newBegins[2] = '';
oldBegins[0] = '';
oldBegins[1] = '';
oldBegins[2] = '';
! newEnds[0] = '';
newEnds[1] = '';
newEnds[2] = '';
oldEnds[0] = '';
oldEnds[1] = '';
oldEnds[2] = '';function check() {
/* Bereich für 'Alle Wetterwarnungen wurden aufgehoben' /
if(newDescriptions[0] === "") {
MeldungSpracheDWD = 'Achtung' + ' . ' + 'Alle Warnmeldungen des DWD wurden aufgehoben';
/ Bereich für Sprachausgabe über Home24-Mediaplayer /
if(idSprachausgabe === true){
var Url = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
request(Url);
}
/ 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');
}! /* alle Sicherungen Wetterwarnung löschen /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
return;
}
! / Variablen für Meldungen Text /
var MeldungOld = '';
var MeldungNew = '';
/ Variablen für Meldungen Sprache /
var MeldungSpracheDWD = '';
var MeldungNewSprache = '';
var MeldungOldSprache = '';
! var headline;
var description;
var begin;
var end;
var i;
var warn;
! / Bereich für 'Wetterwarnung gültig bis wurde aufgehoben' /
for(i = 0; i < 3; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = oldHeadlines[i];
description = oldDescriptions[i];
begin = oldBegins[i];
end = oldEnds[i];
if(newDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungOld = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben';
MeldungOldSprache = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben' + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben")), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben");
}
/ Verknüpfen aller aufgehobenen Wetterwarnungen /
if(MeldungOldSprache !== "" && MeldungOldSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungOldSprache;
}
}
}
! / Bereich für 'Neue Amtliche Wetterwarnung' /
for(i = 0; i < 3; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = newHeadlines[i];
description = newDescriptions[i];
begin = newBegins[i];
end = newEnds[i];
if(oldDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungNew = headline + "\ngültig vom " + begin + " Uhr bis " + end + " Uhr\n" + description;
/ Entfernen °C für Sprachausgabe /
var replaceDescription0 = entferneDatenpunkt(description);
MeldungNewSprache = headline + " gültig vom " + begin + " Uhr, bis " + end + " Uhr. " + replaceDescription0 + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", MeldungNew)), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", MeldungNew);
}
/ Verknüpfen aller neuen Warnmeldungen /
if(MeldungNewSprache !== "" && MeldungNewSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungNewSprache;
}
}
}
/ Verknüpfen aller neuen und abgelaufenen Warnmeldungen /
MeldungSpracheDWD = 'Achtung . ' + MeldungSpracheDWD;
! / Bereich für Sprachausgabe über Home24-Mediaplayer /
if((idSprachausgabe === true) && (MeldungSpracheDWD !== "")){
var Url2 = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
log('Url2 :' + Url2);
request(Url2);
}
/ Bereich für Sprachausgabe über SayIt /
if((idSprachausgabeSayIt === true) && (MeldungSpracheDWD !== "")){
setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD);
}
! / Neue Werte sichern /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
}
! / Entfernt "°C" aus Sprachmeldung und ersetzt es durch "Grad" /
function entferneDatenpunkt(beschreibung) {
var rueckgabe;
rueckgabe = beschreibung;
try {
rueckgabe = rueckgabe.replace(/\°C/g, "Grad");
rueckgabe = rueckgabe.replace(/\km/h/g, "Kilometer pro Stunde");
}
catch(e) {}
return rueckgabe;
}
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;
}, 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;
}, 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;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});! Variante für 4-Warnings: ! >! ~~[spoiler]~~
[code]/ ************************************************************************* /
/ Script zum Übertragen der DWD-Wetterwarnungen über /
/ Telegram, Pushover, Home24-Mediaplayer oder SayIt /
/ mit freundlicher Unterstützung von Paul53 (Tausend Dank nochmals) /
/ Stand: 130022017 PrinzEisenherz1 /
/ /
/ - Fehlerbehebung z.B. 4 gültig bis 4 /
/ /
/ /
/ /
/ /
/ Variante für 4-warnings /
/ /
/ ************************************************************************* /
! var request = require('request');
! / Nachrichten-Dienst festlegen /
/ aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 /
var pushdienst = 3; // Auswahl Nachrichtendienst
! / Konfiguration Sprachausgabe über Home24-Mediaplayer /
var idSprachausgabe = false; // Wenn zusätzlich eine Sprachausgabe erfolgen soll dann auf true
var idMediaplayer = "192.168.178.70:50000"; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer
! / Konfiguration Sprachausgabe über SayIt /
var idSprachausgabeSayIt = false; // Wenn zusätzlich eine Sprachausgabe über SayIt erfolgen soll dann auf true
var idSayIt = "sayit.0.tts.text";
var lautstaerke = 100;
! / Trigger für Wetterwarnungen /
var idDescription0 = "dwd.0.warning.description";
var idDescription1 = "dwd.0.warning1.description";
var idDescription2 = "dwd.0.warning2.description";
var idDescription3 = "dwd.0.warning3.description";
/ Arrays festlegen /
var newDescriptions = [4];
var oldDescriptions = [4];
var newHeadlines = [4];
var oldHeadlines = [4];
var newBegins = [4];
var oldBegins = [4];
var newEnds = [4];
var oldEnds = [4];
var timer = null;
/ aktivieren bzw erstmaliges Befüllen der arrays */
newDescriptions[0] = '';
newDescriptions[1] = '';
newDescriptions[2] = '';
newDescriptions[3] = '';
oldDescriptions[0] = '';
oldDescriptions[1] = '';
oldDescriptions[2] = '';
oldDescriptions[3] = '';
! newHeadlines[0] = '';
newHeadlines[1] = '';
newHeadlines[2] = '';
newHeadlines[3] = '';
oldHeadlines[0] = '';
oldHeadlines[1] = '';
oldHeadlines[2] = '';
oldHeadlines[3] = '';
! newBegins[0] = '';
newBegins[1] = '';
newBegins[2] = '';
newBegins[3] = '';
oldBegins[0] = '';
oldBegins[1] = '';
oldBegins[2] = '';
oldBegins[3] = '';
! newEnds[0] = '';
newEnds[1] = '';
newEnds[2] = '';
newEnds[3] = '';
oldEnds[0] = '';
oldEnds[1] = '';
oldEnds[2] = '';
oldEnds[3] = '';function check() {
/* Bereich für 'Alle Wetterwarnungen wurden aufgehoben' /
if(newDescriptions[0] === "") {
MeldungSpracheDWD = 'Achtung' + ' . ' + 'Alle Warnmeldungen des DWD wurden aufgehoben';
/ Bereich für Sprachausgabe über Home24-Mediaplayer /
if(idSprachausgabe === true){
var Url = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
request(Url);
}
/ 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');
}! /* alle Sicherungen Wetterwarnung löschen /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
return;
}
! / Variablen für Meldungen Text /
var MeldungOld = '';
var MeldungNew = '';
/ Variablen für Meldungen Sprache /
var MeldungSpracheDWD = '';
var MeldungNewSprache = '';
var MeldungOldSprache = '';
! var headline;
var description;
var begin;
var end;
var i;
var warn;
! / Bereich für 'Wetterwarnung gültig bis wurde aufgehoben' /
for(i = 0; i < 4; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = oldHeadlines[i];
description = oldDescriptions[i];
begin = oldBegins[i];
end = oldEnds[i];
if(newDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungOld = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben';
MeldungOldSprache = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben' + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben")), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben");
}
/ Verknüpfen aller aufgehobenen Wetterwarnungen /
if(MeldungOldSprache !== "" && MeldungOldSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungOldSprache;
}
}
}
! / Bereich für 'Neue Amtliche Wetterwarnung' /
for(i = 0; i < 4; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = newHeadlines[i];
description = newDescriptions[i];
begin = newBegins[i];
end = newEnds[i];
if(oldDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungNew = headline + "\ngültig vom " + begin + " Uhr bis " + end + " Uhr\n" + description;
/ Entfernen °C für Sprachausgabe /
var replaceDescription0 = entferneDatenpunkt(description);
MeldungNewSprache = headline + " gültig vom " + begin + " Uhr, bis " + end + " Uhr. " + replaceDescription0 + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", MeldungNew)), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", MeldungNew);
}
/ Verknüpfen aller neuen Warnmeldungen /
if(MeldungNewSprache !== "" && MeldungNewSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungNewSprache;
}
}
}
/ Verknüpfen aller neuen und abgelaufenen Warnmeldungen /
MeldungSpracheDWD = 'Achtung . ' + MeldungSpracheDWD;
! / Bereich für Sprachausgabe über Home24-Mediaplayer /
if((idSprachausgabe === true) && (MeldungSpracheDWD !== "")){
var Url2 = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
log('Url2 :' + Url2);
request(Url2);
}
/ Bereich für Sprachausgabe über SayIt /
if((idSprachausgabeSayIt === true) && (MeldungSpracheDWD !== "")){
setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD);
}
! / Neue Werte sichern /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
}
! / Entfernt "°C" aus Sprachmeldung und ersetzt es durch "Grad" /
function entferneDatenpunkt(beschreibung) {
var rueckgabe;
rueckgabe = beschreibung;
try {
rueckgabe = rueckgabe.replace(/\°C/g, "Grad");
rueckgabe = rueckgabe.replace(/\km/h/g, "Kilometer pro Stunde");
}
catch(e) {}
return rueckgabe;
}
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;
}, 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;
}, 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;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});
on(idDescription3, function(dp) {
newDescriptions[3] = dp.state.val;
var warn = 'dwd.0.warning3';
setTimeout(function() {
newHeadlines[3] = getState(warn + '.headline').val;
newBegins[3] = getState(warn + '.begin').val;
newEnds[3] = getState(warn + '.end').val;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});! Variante für 5-Warnings: ! >! ~~[spoiler]~~
[code]/ ************************************************************************* /
/ Script zum Übertragen der DWD-Wetterwarnungen über /
/ Telegram, Pushover, Home24-Mediaplayer oder SayIt /
/ mit freundlicher Unterstützung von Paul53 (Tausend Dank nochmals) /
/ Stand: 130022017 PrinzEisenherz1 /
/ /
/ - Fehlerbehebung z.B. 5 gültig bis 5 /
/ /
/ /
/ /
/ /
/ Variante für 5-warnings /
/ /
/ ************************************************************************* /
! var request = require('request');
! / Nachrichten-Dienst festlegen /
/ aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 /
var pushdienst = 3; // Auswahl Nachrichtendienst
! / Konfiguration Sprachausgabe über Home24-Mediaplayer /
var idSprachausgabe = false; // Wenn zusätzlich eine Sprachausgabe erfolgen soll dann auf true
var idMediaplayer = "192.168.178.70:50000"; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer
! / Konfiguration Sprachausgabe über SayIt /
var idSprachausgabeSayIt = false; // Wenn zusätzlich eine Sprachausgabe über SayIt erfolgen soll dann auf true
var idSayIt = "sayit.0.tts.text";
var lautstaerke = 100;
! / Trigger für Wetterwarnungen */
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 idDescription4 = "dwd.0.warning4.description";/* Arrays festlegen /
var newDescriptions = [5];
var oldDescriptions = [5];
var newHeadlines = [5];
var oldHeadlines = [5];
var newBegins = [5];
var oldBegins = [5];
var newEnds = [5];
var oldEnds = [5];
var timer = null;
/ aktivieren bzw erstmaliges Befüllen der arrays */
newDescriptions[0] = '';
newDescriptions[1] = '';
newDescriptions[2] = '';
newDescriptions[3] = '';
newDescriptions[4] = '';
oldDescriptions[0] = '';
oldDescriptions[1] = '';
oldDescriptions[2] = '';
oldDescriptions[3] = '';
oldDescriptions[4] = '';! newHeadlines[0] = '';
newHeadlines[1] = '';
newHeadlines[2] = '';
newHeadlines[3] = '';
newHeadlines[4] = '';
oldHeadlines[0] = '';
oldHeadlines[1] = '';
oldHeadlines[2] = '';
oldHeadlines[3] = '';
oldHeadlines[4] = '';
! newBegins[0] = '';
newBegins[1] = '';
newBegins[2] = '';
newBegins[3] = '';
newBegins[4] = '';
oldBegins[0] = '';
oldBegins[1] = '';
oldBegins[2] = '';
oldBegins[3] = '';
oldBegins[4] = '';
! newEnds[0] = '';
newEnds[1] = '';
newEnds[2] = '';
newEnds[3] = '';
newEnds[4] = '';
oldEnds[0] = '';
oldEnds[1] = '';
oldEnds[2] = '';
oldEnds[3] = '';
oldEnds[4] = '';function check() {
/* Bereich für 'Alle Wetterwarnungen wurden aufgehoben' /
if(newDescriptions[0] === "") {
MeldungSpracheDWD = 'Achtung' + ' . ' + 'Alle Warnmeldungen des DWD wurden aufgehoben';
/ Bereich für Sprachausgabe über Home24-Mediaplayer /
if(idSprachausgabe === true){
var Url = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
request(Url);
}
/ 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');
}! /* alle Sicherungen Wetterwarnung löschen /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
return;
}
! / Variablen für Meldungen Text /
var MeldungOld = '';
var MeldungNew = '';
/ Variablen für Meldungen Sprache /
var MeldungSpracheDWD = '';
var MeldungNewSprache = '';
var MeldungOldSprache = '';
! var headline;
var description;
var begin;
var end;
var i;
var warn;
! / Bereich für 'Wetterwarnung gültig bis wurde aufgehoben' /
for(i = 0; i < 5; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = oldHeadlines[i];
description = oldDescriptions[i];
begin = oldBegins[i];
end = oldEnds[i];
if(newDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungOld = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben';
MeldungOldSprache = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben' + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben")), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben");
}
/ Verknüpfen aller aufgehobenen Wetterwarnungen /
if(MeldungOldSprache !== "" && MeldungOldSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungOldSprache;
}
}
}
! / Bereich für 'Neue Amtliche Wetterwarnung' /
for(i = 0; i < 5; i++) {
warn = 'dwd.0.warning';
if(i) warn = warn + i;
headline = newHeadlines[i];
description = newDescriptions[i];
begin = newBegins[i];
end = newEnds[i];
if(oldDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) {
MeldungNew = headline + "\ngültig vom " + begin + " Uhr bis " + end + " Uhr\n" + description;
/ Entfernen °C für Sprachausgabe /
var replaceDescription0 = entferneDatenpunkt(description);
MeldungNewSprache = headline + " gültig vom " + begin + " Uhr, bis " + end + " Uhr. " + replaceDescription0 + ' . ';
if ((pushdienst === 3) || (pushdienst === 1) ) {
setTimeout((sendTo ("telegram.0", MeldungNew)), 3 * 1000);
}
if ((pushdienst === 2) || (pushdienst === 1) ) {
sendTo("pushover.0", MeldungNew);
}
/ Verknüpfen aller neuen Warnmeldungen /
if(MeldungNewSprache !== "" && MeldungNewSprache !== undefined){
MeldungSpracheDWD = MeldungSpracheDWD + MeldungNewSprache;
}
}
}
/ Verknüpfen aller neuen und abgelaufenen Warnmeldungen /
MeldungSpracheDWD = 'Achtung . ' + MeldungSpracheDWD;
! / Bereich für Sprachausgabe über Home24-Mediaplayer /
if((idSprachausgabe === true) && (MeldungSpracheDWD !== "")){
var Url2 = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD;
log('Url2 :' + Url2);
request(Url2);
}
/ Bereich für Sprachausgabe über SayIt /
if((idSprachausgabeSayIt === true) && (MeldungSpracheDWD !== "")){
setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD);
}
! / Neue Werte sichern /
oldHeadlines = newHeadlines.slice();
oldDescriptions = newDescriptions.slice();
oldBegins = newBegins.slice();
oldEnds = newEnds.slice();
}
! / Entfernt "°C" aus Sprachmeldung und ersetzt es durch "Grad" */
function entferneDatenpunkt(beschreibung) {
var rueckgabe;
rueckgabe = beschreibung;
try {
rueckgabe = rueckgabe.replace(/\°C/g, "Grad");
rueckgabe = rueckgabe.replace(/\km/h/g, "Kilometer pro Stunde");
}
catch(e) {}
return rueckgabe;
}
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;
}, 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;
}, 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;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});
on(idDescription3, function(dp) {
newDescriptions[3] = dp.state.val;
var warn = 'dwd.0.warning3';
setTimeout(function() {
newHeadlines[3] = getState(warn + '.headline').val;
newBegins[3] = getState(warn + '.begin').val;
newEnds[3] = getState(warn + '.end').val;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});
on(idDescription4, function(dp) {
newDescriptions[4] = dp.state.val;
var warn = 'dwd.0.warning4';
setTimeout(function() {
newHeadlines[4] = getState(warn + '.headline').val;
newBegins[4] = getState(warn + '.begin').val;
newEnds[4] = getState(warn + '.end').val;
}, 3000);
if(timer) clearTimeout(timer);
timer = setTimeout(check, 7000);
});`
! Viel Spaß damit
! Gruß
! Johnny[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/code][/spoiler][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/code][/spoiler][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] -
Cool.
Werde ich am Wochenende testen.
Gesendet von iPhone mit Tapatalk Pro
-
So, mit tatkräftiger Unterstützung von Paul53 (an dieser stelle auch nochmal tausend Dank dafür) gibt es jetzt ein funktionierendes DWD Script mit dem man sich
Push-Nachrichten über Pushover oder Telegram senden lassen kann. Des Weiteren kann eine Ausdioausgabe über Home24-Mediaplayer oder SayIt erfolgen.
Viel Spass damit
Gruß
Johnny
[EDIT - 08022016 09:30] Hab noch ne kleine Korrektur durchgeführt. Audioausgabe "Alle Wetterwarnungen des DWD wurden aufgehoben" hat gefehlt.
Zusätzlich werden km/h richtig ausgesprochen
-Varianten für 4 und 5 Warnings hinzugefügt
Variante für 5-Warnings:
!
`/* ************************************************************************* */ /* Script zum Übertragen der DWD-Wetterwarnungen über */ /* Telegram, Pushover, Home24-Mediaplayer oder SayIt */ /* mit freundlicher Unterstützung von Paul53 (Tausend Dank nochmals) */ /* Stand: 080022017 PrinzEisenherz1 */ /* */ /* - Kleine Korrekturen */ /* - km/h wird jetzt richtig ausgesprochen */ /* - "Alle Wetterwarnungen des DWD wurden aufgehoben" zur Sprachausgabe */ /* hinzugefügt */ /* */ /* Variante für 5-warnings */ /* */ /* ************************************************************************* */ ! var request = require('request'); ! /* Nachrichten-Dienst festlegen */ /* aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 */ var pushdienst = 3; // Auswahl Nachrichtendienst ! /* Konfiguration Sprachausgabe über Home24-Mediaplayer */ var idSprachausgabe = false; // Wenn zusätzlich eine Sprachausgabe erfolgen soll dann auf true var idMediaplayer = "192.168.178.70:50000"; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer ! /* Konfiguration Sprachausgabe über SayIt */ var idSprachausgabeSayIt = false; // Wenn zusätzlich eine Sprachausgabe über SayIt erfolgen soll dann auf true var idSayIt = "sayit.0.tts.text"; var lautstaerke = 100; ! /* Trigger für Wetterwarnungen */ var idDescription0 = "dwd.0.warning.description"; var idDescription1 = "dwd.0.warning1.description"; var idDescription2 = "dwd.0.warning2.description"; var idDescription3 = "dwd.0.warning3.description"; /* Arrays festlegen */ var newDescriptions = [5]; var oldDescriptions = [5]; var newHeadlines = [5]; var oldHeadlines = [5]; var newBegins = [5]; var oldBegins = [5]; var newEnds = [5]; var oldEnds = [5]; var timer = null; ! function check() { /* Bereich für 'Alle Wetterwarnungen wurden aufgehoben' */ if(newDescriptions[0] === "") { MeldungSpracheDWD = 'Achtung' + ' . ' + 'Alle Warnmeldungen des DWD wurden aufgehoben'; /* Bereich für Sprachausgabe über Home24-Mediaplayer */ if(idSprachausgabe === true){ var Url = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD; request(Url); } /* 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'); } ! /* alle Sicherungen Wetterwarnung löschen */ oldHeadlines = newHeadlines.slice(); oldDescriptions = newDescriptions.slice(); oldBegins = newBegins.slice(); oldEnds = newEnds.slice(); return; } ! /* Variablen für Meldungen Text */ var MeldungOld = ''; var MeldungNew = ''; /* Variablen für Meldungen Sprache */ var MeldungSpracheDWD = ''; var MeldungNewSprache = ''; var MeldungOldSprache = ''; ! var headline; var description; var begin; var end; var i; var warn; ! /* Bereich für 'Wetterwarnung gültig bis wurde aufgehoben' */ for(i = 0; i < 5; i++) { warn = 'dwd.0.warning'; if(i) warn = warn + i; headline = oldHeadlines[i]; description = oldDescriptions[i]; begin = oldBegins[i]; end = oldEnds[i]; if(newDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) { MeldungOld = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben'; MeldungOldSprache = oldHeadlines[i] + ' gültig bis ' + oldEnds[i] + ' Uhr wurde aufgehoben' + ' . '; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout((sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben")), 3 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { sendTo("pushover.0", "Die Wetterwarnung " +"'"+ oldHeadlines[i] + " gültig bis " + oldEnds[i] + "'" + " des DWD wurde aufgehoben"); } /* Verknüpfen aller aufgehobenen Wetterwarnungen */ if(MeldungOldSprache !== "" && MeldungOldSprache !== undefined){ MeldungSpracheDWD = MeldungSpracheDWD + MeldungOldSprache; } } } ! /* Bereich für 'Neue Amtliche Wetterwarnung' */ for(i = 0; i < 5; i++) { warn = 'dwd.0.warning'; if(i) warn = warn + i; headline = newHeadlines[i]; description = newDescriptions[i]; begin = newBegins[i]; end = newEnds[i]; if(oldDescriptions.indexOf(description) == -1 && description !== "" && description !== undefined) { MeldungNew = headline + "\ngültig vom " + begin + " Uhr bis " + end + " Uhr\n" + description; /* Entfernen °C für Sprachausgabe */ var replaceDescription0 = entferneDatenpunkt(description); MeldungNewSprache = headline + " gültig vom " + begin + " Uhr, bis " + end + " Uhr. " + replaceDescription0 + ' . '; if ((pushdienst === 3) || (pushdienst === 1) ) { setTimeout((sendTo ("telegram.0", MeldungNew)), 3 * 1000); } if ((pushdienst === 2) || (pushdienst === 1) ) { sendTo("pushover.0", MeldungNew); } /* Verknüpfen aller neuen Warnmeldungen */ if(MeldungNewSprache !== "" && MeldungNewSprache !== undefined){ MeldungSpracheDWD = MeldungSpracheDWD + MeldungNewSprache; } } } /* Verknüpfen aller neuen und abgelaufenen Warnmeldungen */ MeldungSpracheDWD = 'Achtung . ' + MeldungSpracheDWD; ! /* Bereich für Sprachausgabe über Home24-Mediaplayer */ if((idSprachausgabe === true) && (MeldungSpracheDWD !== "")){ var Url2 = "http://" + idMediaplayer + "/track=4fachgong.mp3|tts=" + MeldungSpracheDWD; log('Url2 :' + Url2); request(Url2); } /* Bereich für Sprachausgabe über SayIt */ if((idSprachausgabeSayIt === true) && (MeldungSpracheDWD !== "")){ setState(idSayIt, lautstaerke + ";" + MeldungSpracheDWD); } ! /* Neue Werte sichern */ oldHeadlines = newHeadlines.slice(); oldDescriptions = newDescriptions.slice(); oldBegins = newBegins.slice(); oldEnds = newEnds.slice(); } ! /* Entfernt "°C" aus Sprachmeldung und ersetzt es durch "Grad" */ function entferneDatenpunkt(beschreibung) { var rueckgabe; rueckgabe = beschreibung; try { rueckgabe = rueckgabe.replace(/\°C/g, "Grad"); rueckgabe = rueckgabe.replace(/\km\/h/g, "Kilometer pro Stunde"); } catch(e) {} return rueckgabe; } 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; }, 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; }, 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; }, 3000); if(timer) clearTimeout(timer); timer = setTimeout(check, 7000); }); on(idDescription3, function(dp) { newDescriptions[3] = dp.state.val; var warn = 'dwd.0.warning3'; setTimeout(function() { newHeadlines[3] = getState(warn + '.headline').val; newBegins[3] = getState(warn + '.begin').val; newEnds[3] = getState(warn + '.end').val; }, 3000); if(timer) clearTimeout(timer); timer = setTimeout(check, 7000); }); on(idDescription4, function(dp) { newDescriptions[4] = dp.state.val; var warn = 'dwd.0.warning4'; setTimeout(function() { newHeadlines[4] = getState(warn + '.headline').val; newBegins[4] = getState(warn + '.begin').val; newEnds[4] = getState(warn + '.end').val; }, 3000); if(timer) clearTimeout(timer); timer = setTimeout(check, 7000); });` ! Viel Spaß damit ! Gruß ! Johnny ! Kann es sein das sich in dein Script für 5 Warnings ein fehler geschlichen hat? ! Sollten hier: ! `~~[code]~~/* Trigger für Wetterwarnungen */ var idDescription0 = "dwd.0.warning.description"; var idDescription1 = "dwd.0.warning1.description"; var idDescription2 = "dwd.0.warning2.description"; var idDescription3 = "dwd.0.warning3.description"; /* Arrays festlegen */[/code]` ! Nicht 5 Trigger stehen? ! Gruß ! Mirko[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
` -
Ups, hab ich wohl vergessen.
Habs schon geändert
Danke für den Hinweis