NEWS
DWD Warnung als Telegramm
-
Meins kann man auch ohne probleme auf eine Wetterwarnung reduzieren oder auf 10 erhöhen. Wie man es am liebsten will.
Ist im Script glaube ich selbsterklärend.
Da muss mal also keinen Mädchenmodus (Spielverderber) anwenden… Lach
-
So nach etwas Pause bin ich auch wieder da und will mich erst mal bedanken.
Habe das Skript von PrinzEisenherz1 auf 4 Meldungen erweitert, läuft bisher ohne Probleme.
Gesendet von iPhone mit Tapatalk
-
Freut mich das es klappt bei dir.
Ist zwar noch nicht ganz perfekt das Script aber nach m Urlaub setz ich mich nochmal ran.
Hab da noch ein zwei Ideen.
-
UPS
Falscher Thread… [emoji6]
-
Was man auf jeden Fall im Text ergänzen sollte ist die Nummer der Wetterwarnung beim Auslösen.
(Wenn man mehr wie eine Meldung anzeigt)
Wenn die Meldung kommt das z. B. Ne. 3 aufgehoben wurde weiß man gar nicht mehr was das war
Gesendet von iPhone mit Tapatalk
-
Danke für die Info. Ist schon eine der Änderungen die ich nach m Urlaub noch machen wollte.
Gruß Johnny
-
So nach etwas Pause bin ich auch wieder da und will mich erst mal bedanken.
Habe das Skript von PrinzEisenherz1 auf 4 Meldungen erweitert, läuft bisher ohne Probleme.
Gesendet von iPhone mit Tapatalk `
Her damit
Danke
-
Was man auf jeden Fall im Text ergänzen sollte ist die Nummer der Wetterwarnung beim Auslösen.
(Wenn man mehr wie eine Meldung anzeigt)
Wenn die Meldung kommt das z. B. Ne. 3 aufgehoben wurde weiß man gar nicht mehr was das war
Gesendet von iPhone mit Tapatalk `
Noch besser als die Nr. auszugeben, wäre es die "Headline" auszugeben: z.B.:"Wetterwarnung WARNUNG vor STURMBÖEN des Deutschen Wetterdienstes wurde aufgehoben".
-
Danke für den Tipp, mal schauen wie ich das umsetze.
Gruß Johnny
-
[EDIT] Hab das Script nochmal etwas überarbeitet - 16.01.17 11:50
So hier mal kurz ne idee bezüglich der unterschiedlichen Aufhebungen der Wetterwarnungen
/* Script zum Übertragen der DWD-Wetterwarnungen an Telegram */ var idSeverity = "dwd.0.warning.description"; var idSeverity1 = "dwd.0.warning1.description"; var idSeverity2 = "dwd.0.warning2.description"; /* States und Variablen anlegen zur Sicherung der DWD-headlines */ createState("javascript.0.DWD.headline1"); createState("javascript.0.DWD.headline2"); createState("javascript.0.DWD.headline3"); var idBackHeadline1 = "javascript.0.DWD.headline1"; var idBackHeadline2 = "javascript.0.DWD.headline2"; var idBackHeadline3 = "javascript.0.DWD.headline3"; function check(){ var Severity = getState(idSeverity).val; if (Severity !== "") { var Begin = getState("dwd.0.warning.begin").val; var End = getState("dwd.0.warning.end").val; var text = getState("dwd.0.warning.text").val; var Headline = getState("dwd.0.warning.headline").val; var Description = getState("dwd.0.warning.description").val; var DWD_telegramm = Headline + "\ngültig vom " + Begin + " bis " + End + "\n" + Description ; setTimeout(function() { sendTo ("telegram.0", DWD_telegramm); }, 1 * 1000); /* headline für Warning sichern */ setState(idBackHeadline1,Headline); } } function check1(){ var Severity1 = getState(idSeverity1).val; if (Severity1 !== "") { var Begin = getState("dwd.0.warning1.begin").val; var End = getState("dwd.0.warning1.end").val; var text = getState("dwd.0.warning1.text").val; var Headline = getState("dwd.0.warning1.headline").val; var Description = getState("dwd.0.warning1.description").val; var DWD_telegramm = Headline + "\ngültig vom " + Begin + " bis " + End + "\n" + Description ; setTimeout(function() { sendTo ("telegram.0", DWD_telegramm); }, 1 * 1000); /* headline für Warning1 sichern */ setState(idBackHeadline2,Headline); } } function check2(){ var Severity2 = getState(idSeverity2).val; if (Severity2 !== "") { var Begin = getState("dwd.0.warning2.begin").val; var End = getState("dwd.0.warning2.end").val; var text = getState("dwd.0.warning2.text").val; var Headline = getState("dwd.0.warning2.headline").val; var Description = getState("dwd.0.warning2.description").val; var DWD_telegramm = Headline + "\ngültig vom " + Begin + " bis " + End + "\n" + Description ; setTimeout(function() { sendTo ("telegram.0", DWD_telegramm); }, 1 * 1000); /* headline für Warning2 sichern */ setState(idBackHeadline3,Headline); } } on(idSeverity, function (obj){ if (obj.newState.val !== obj.oldState.val) { if (obj.newState.val !== "") { check(); }else { sendTo ("telegram.0", "Alle Wetterwarnungen des DWD wurden aufgehoben") ; } } }); on(idSeverity1, function (obj){ if (obj.newState.val !== obj.oldState.val) { if (obj.newState.val !== "") { check1(); } else { var Headlineclear1 = getState(idBackHeadline2).val; sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ Headlineclear1 + "'" + " des DWD wurde aufgehoben") ; } } }); on(idSeverity2, function (obj){ if (obj.newState.val !== obj.oldState.val) { if (obj.newState.val !== "") { check2(); } else { var Headlineclear2 = getState(idBackHeadline3).val; sendTo ("telegram.0", "Die Wetterwarnung " +"'"+ Headlineclear2 + "'" + " des DWD wurde aufgehoben") ; } } }); /* Auslösen bei Scriptstart - Wenn nicht benötigt einfach löschen oder auskommentieren */ check(); check1(); check2();
Jetzt wird bei mehr als einer Warnung immer zusätzlich beim aufheben der Warnung immer die headline der Warnung mit angegeben.
z.B.
Wetterwarnung 'Amtliche WARNUNG vor GLÄTTE' des Deutschen Wetterdienstes wurde aufgehoben
Gruß
Johnny
[EDIT] Aktuelle Version mit Sprachausgabe hier http://forum.iobroker.net/viewtopic.php … =40#p52017
-
Hi Johnny,
es kann sein, dass ich auch einem Irrtum erliege, aber wäre es nicht auch sinnvoll nicht "nur" auf die Änderung der <u>severity</u> zu reagieren sondern auf die <u>description</u>.
Warum?
Mir ist jetzt mehrfach aufgefallen, dass sich z.B. dwd.0.warning.description ändert (zeitliche Verlängerung der Meldung o.ä.) und die <u>severity</u> trotzdem gleich bleibt (z.B. 1). Auf diese Änderung wird nicht reagiert. Ich muss hier aber auch dazu sagen, dass ich die Meldung nicht via Telegramm versende sondern über den Home24 Mediaplayer sprechen lasse. Hinsichtlich der Funktion als solches wird dies jedoch keinen Einfluss haben.
Ansonsten…. ein ganz klasse Skript das ich sehr gerne im Einsatz habe!
Gruß
Thomas
-
Hi Thomas, das hätte ich zuerst aber dann war das Problem das severity sich geändert hat aber description noch nicht befüllt war und ich Nachrichten ohne Beschreibung erhalten habe. Deswegen trigger ich die Beschreibung. Mal schauen ob ich es anders umbiegen kann. Das Script reagiert aber auf Änderung der Beschreibung.
Trotzdem freut es mich das es dir gefällt und auf Verbesserungsvorschläge oder wünsche hab ich immer n Ohr offen.
Gruß Johnny
-
Hi Johnny,
alles klar, weiß ich Bescheid. Ich bin da eher das Greenhorn und der Anwender, (leider) weniger der Programmierer .
Ich habe jetzt mal Dein Skript von hier http://forum.iobroker.net/viewtopic.php?p=47187#p47187 übernommen, auf 4 Warnungen ausgebaut und "umgestrickt" für die Sprachausgabe für den Mediaplayer.
Mal sehen ob das richtig tut…. :oops:
Gruß
Thomas
-
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.