Unwetterwarnung Script
Moderator: Co-Administratoren
-
- Beiträge: 393
- Registriert: 25.01.2017, 10:51
- Wohnort: Bei Berlin
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 8 Mal
Re: Unwetterwarnung Script
Hallo,
ich habe das Script nun auf meiner CCU2 instaliert, bekomme aber keine Werte. Die url zeigt ja auf https://dwd....
Kann das überhaupt funktionieren? Weiter vorne wird ja beschrieben, dass man einen Webserver mit einem php-Script aufbauen muss, den dann die Daten von DWD abgreift.
Wird hier Webserver auch in dem neuen Script benötigt? Ich habe hier bisher noch keine Antwort auf eine entsprechende Anfrage gelesen.
Gruß
Martin
ich habe das Script nun auf meiner CCU2 instaliert, bekomme aber keine Werte. Die url zeigt ja auf https://dwd....
Kann das überhaupt funktionieren? Weiter vorne wird ja beschrieben, dass man einen Webserver mit einem php-Script aufbauen muss, den dann die Daten von DWD abgreift.
Wird hier Webserver auch in dem neuen Script benötigt? Ich habe hier bisher noch keine Antwort auf eine entsprechende Anfrage gelesen.
Gruß
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200
-
- Beiträge: 34
- Registriert: 30.07.2018, 13:47
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: Unwetterwarnung Script
Hallo Martin,
leider funktioniert dieses Script nur auf dem Raspmatic. Technischer Hintergrund ist die Verschlüsselung, mit der der DWD die Daten bereitstellt - die kann die CCU2 nicht verwursten. Den Workaround via separatem Webserver hast du ja schon gefunden (ich habe ihn selbst nie ausprobiert).
Meine Änderungen an dem Script beziehen sich ausschließlich auf die Variante per Raspmatic.
MfG
leider funktioniert dieses Script nur auf dem Raspmatic. Technischer Hintergrund ist die Verschlüsselung, mit der der DWD die Daten bereitstellt - die kann die CCU2 nicht verwursten. Den Workaround via separatem Webserver hast du ja schon gefunden (ich habe ihn selbst nie ausprobiert).
Meine Änderungen an dem Script beziehen sich ausschließlich auf die Variante per Raspmatic.
MfG
Unwetter-Meldungen vom DWD: https://github.com/kafetzke/homatic-script-dwd
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
-
- Beiträge: 393
- Registriert: 25.01.2017, 10:51
- Wohnort: Bei Berlin
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 8 Mal
Re: Unwetterwarnung Script
Okay, danke.
Ich plane gerade den Umstieg auf ein Asus Tinker Board S mit RaspBerryMatic. Ich lasse das Programm mal drin und setze den Original url wieder.
Gruß
Martin
Ich plane gerade den Umstieg auf ein Asus Tinker Board S mit RaspBerryMatic. Ich lasse das Programm mal drin und setze den Original url wieder.
Gruß
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Unwetterwarnung Script
Hallo kafetzke,
so, kurze Rückmeldung: Das Script läuft auf RaspberryMatic anstandslos Gute Arbeit!
Eine Kleinigkeit hab ich noch:
Systemvariable "Wetterwarnung_event" wird nicht zurück gesetzt. Statt "---" steht "HITZE" drin.
Danke nochmal
klana
PS: ganz am Ende noch einfügen (im Komplettreset)
so, kurze Rückmeldung: Das Script läuft auf RaspberryMatic anstandslos Gute Arbeit!
Eine Kleinigkeit hab ich noch:
Systemvariable "Wetterwarnung_event" wird nicht zurück gesetzt. Statt "---" steht "HITZE" drin.
Danke nochmal
klana
PS: ganz am Ende noch einfügen (im Komplettreset)
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
-
- Beiträge: 34
- Registriert: 30.07.2018, 13:47
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: Unwetterwarnung Script
Moin,
das habe ich eigentlich mit Version ! Version 1.121 vom 03.08.2018 explizit gefixt
schau mal direkt vor dem FallBack-Abschnitt am Ende:
Bei mir funzt das übrigens einwandfrei^^
MfG
das habe ich eigentlich mit Version ! Version 1.121 vom 03.08.2018 explizit gefixt
schau mal direkt vor dem FallBack-Abschnitt am Ende:
Code: Alles auswählen
!! Interner Fallback, falls Felder leer sind
if(!state) {dom.GetObject(wwState).State("---");}
if(!level) {dom.GetObject(wwLevel).State(0);}
if(!headline) {dom.GetObject(wwHeadline).State("---");}
if(!descript) {dom.GetObject(wwDescription).State("---");}
if(!altitudeStart) {dom.GetObject(wwAltitudeStart).State("---");}
if(!event) {dom.GetObject(wwEvent).State("---");}
if(!instruction) { dom.GetObject(wwInstruction).State("---")};
if(!altitudeEnd) {dom.GetObject(wwAltitudeEnd).State("---");}
if(!stateShort) {dom.GetObject(wwStateShort).State("---");}
}
MfG
Unwetter-Meldungen vom DWD: https://github.com/kafetzke/homatic-script-dwd
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Unwetterwarnung Script
Hi,
in dem anderen Resetblock am Ende dort fehlt der Eintrag.
Gruß
klana
in dem anderen Resetblock am Ende dort fehlt der Eintrag.
Gruß
klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
-
- Beiträge: 34
- Registriert: 30.07.2018, 13:47
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: Unwetterwarnung Script
Verdammt, lass mich doch meinen eigenen Mist korrigieren, den ich da von mir gebe^^
Bitteschön
Bitteschön
Code: Alles auswählen
! ------ DWD Unwetterwarnung 07.08.2018 Vers. 1.122 -----------------------------------------------------------
! Unwetterwarnungsscript von Grrzzz / klana
! Version 1.122 vom 07.08.2018
! Korrekturen & Optimierungen von kafetzke
! - Korrekturen von Level und Typ
! - Umbau Auswertung des JSONs auf "solidere" Abfrage
! - Optimierung und Korrektur Fallback
!
! https://homematic-forum.de/forum/viewtopic.php?f=31&t=38161
!------------------------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------------------------
! Konfiguration
!------------------------------------------------------------------------------------------------------------
! Anzulegen fuer das Script Wetterwarn_DWD sind die
! folgenden Systemvariablen, welche besser über das Einmalsscript angelegt werden.
! Das Einmalscript unter Script testen eingefügt und einmalig ausführen.
! --------------------------------------------------------------
! Wetterwarnung_Aktiv Boolean
! Wetterwarnung_Text Zeichenkette (für Ausgabe)
! --------------------------------------------------------------
! Wetterwarnung_city Zeichenkette (Nummer zum Suchen)
! Wetterwarnung_regionName Zeichenkette
! Wetterwarnung_start Zeichenkette
! Wetterwarnung_end Zeichenkette
! Wetterwarnung_startDateTime Zeichenkette
! Wetterwarnung_endDateTime Zeichenkette
! Wetterwarnung_level Zahl
! Wetterwarnung_typ Werteliste mit: unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen
! Wetterwarnung_state Zeichenkette
! Wetterwarnung_description Zeichenkette
! Wetterwarnung_event Zeichenkette
! Wetterwarnung_headline Zeichenkette
! Wetterwarnung_instruction Zeichenkette
! Wetterwarnung_stateShort Zeichenkette
! Wetterwarnung_altitudeStart Zeichenkette
! Wetterwarnung_altitudeEnd Zeichenkette
!
!------------------------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------------------------
! Debugging einschalten = true oder aussschalten = false
! z.B. zum Test unter "Script testen"
!
! ShowVorabInfo = false -> es wird keine Vorabwarnung angezeigt,
! = true -> es wird auch die Vorabwarnung angezeigt
! noch nicht aktiv
!------------------------------------------------------------------------------------------------------------
boolean debug = false;
boolean ShowVorabInfo = true;
! --------------------------------------------------------------
! Virtuelles CUxD-Exec-Device hier angeben
! --------------------------------------------------------------
string execdevice = "CUxD.CUX2801001:1";
! --------------------------------------------------------------
! Die Region-ID aus der JSON Datei raussuchen, dazu diese Adresse
! im Browser eingeben:
! https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json
! Für Berlin z.B. 111000000
! --------------------------------------------------------------
string city = "103254000"; ! Kreis Hildesheim
! string city = "109763000"; ! Testort Rhein-Sieg Kreis
! --------------------------------------------------------------
! Nötige CCU-Systemvariablen zuweisen
! In der CCU anzulegende Systemvariablen stehen nachfolgend in Anführungszeichen
! Am Besten mit dem "Einmalscript" automatisch anlegen lassen!
! _Text und _Aktiv sind Anfangsbuchstabe nach Unterstrich gross und
! alle DWD Felder sind Anfangsbuchstabe nach Unterstrich klein geschrieben
! --------------------------------------------------------------
! Eigene Felder
string wwText = "Wetterwarnung_Text";
string wwAktiv = "Wetterwarnung_Aktiv";
! DWD Felder
string wwCity = "Wetterwarnung_city";
string wwRegionName = "Wetterwarnung_regionName";
string wwStart = "Wetterwarnung_start";
string wwEnd = "Wetterwarnung_end";
string wwStartDateTime = "Wetterwarnung_startDateTime";
string wwEndDateTime = "Wetterwarnung_endDateTime";
string wwLevel = "Wetterwarnung_level";
string wwTyp = "Wetterwarnung_typ";
string wwState = "Wetterwarnung_state";
string wwDescription = "Wetterwarnung_description";
string wwEvent = "Wetterwarnung_event";
string wwHeadline = "Wetterwarnung_headline";
string wwInstruction = "Wetterwarnung_instruction";
string wwStateShort = "Wetterwarnung_stateShort";
string wwAltitudeStart = "Wetterwarnung_altitudeStart"; ! Wird noch nicht genutzt
string wwAltitudeEnd = "Wetterwarnung_altitudeEnd"; ! Wird noch nicht genutzt
!------------------------------------------------------------------------------------------------------------
! Ausgabe in Systemvariable fuer Push (fuer spaetere Erweiterung)
!------------------------------------------------------------------------------------------------------------
string PushVar = "SV_PushMessage";
!------------------------------------------------------------------------------------------------------------
! Das wars an Konfiguration
! DWD-Warntabelle in 25k(+25k)-Abschnitten laden bis die Region gefunden wurde
!------------------------------------------------------------------------------------------------------------
string url = "https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json";
string downloader = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
integer rangefrom = 0;
integer rangeto = 25000;
integer loopcounter = 1;
integer find1 = 0;
boolean found = false;
string stdout = "";
string cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
string cut2 = "],";
var ret ;
string strRest = "";
!------------------------------------------------------------------------------------------------------------
! Los gehts...
!------------------------------------------------------------------------------------------------------------
if(debug){WriteLine("cmd : "#cmd);}
ret= dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
!if(debug){WriteLine("ret cmd_sets : "#ret);}
ret = dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
!if(debug){WriteLine("ret cmd_query_ret: "#ret);}
stdout = dom.GetObject(execdevice # ".CMD_RETS").State();
!if(debug) {WriteLine("stdout cmd_rets : " #stdout);}
if (stdout)
{
find1 = stdout.Find(city);
if ((find1 >= 0) && (stdout.Length() >= 25000)) {
rangefrom = rangeto - 99;
rangeto = rangeto + 24900;
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = stdout + dom.GetObject(execdevice # ".CMD_RETS").State();
}
while ((find1 < 0) && (stdout.Length() >= 25000) && (loopcounter <= 30)) {
loopcounter = loopcounter + 1;
rangefrom = rangeto - 99;
rangeto = rangeto + 24900;
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = dom.GetObject(execdevice # ".CMD_RETS").State();
find1 = stdout.Find(city);
if ((find1 >= 0) && (stdout.Length() >= 25000)) {
rangefrom = rangefrom + 25000;
rangeto = rangeto + 25000;
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = stdout + dom.GetObject(execdevice # ".CMD_RETS").State();
}
}
found = false;
if(stdout.Find(city)>=0) {
found = true;
}
}
if(city) {dom.GetObject(wwCity).State(city);}
!------------------------------------------------------------------------------------------------------------
! Relevanter Bereich ausschneiden und zuweisen
!------------------------------------------------------------------------------------------------------------
if(found) {
if(debug) {WriteLine("Suche nach City :"#city);}
! gesuchten Bereich komplett ausschneiden und mit ToLatin() umwandeln
stdout = stdout.Substr(stdout.Find(city));
stdout = stdout.Substr(0, stdout.Find(cut2)+1).ToLatin();
if(debug) {WriteLine("stdout nach Find(City): " #stdout);}
! Hier können jetzt mehr als 1 Meldung vorhanden sein
! Diese sind durch geschweifte Klammen getrennt
! Wie kann man diese Auswerten, da zur Zeit immer nur die erste genommen wird?
! regionName (Klartext der gesuchten Region z.B. Rhein-Erft-Kreis)
stdout = stdout.Substr(stdout.Find("regionName")+13);
var regionName = stdout.Substr(0, stdout.Find(",")-1).Trim();
if(debug) {WriteLine("regionName: "#regionName);}
if(regionName) {dom.GetObject(wwRegionName).State(regionName);}
if(!regionName) {dom.GetObject(wwRegionName).State("---");}
! start (Uhrzeit ab der die DWD Meldung gültig ist in Sekunden)
stdout = stdout.Substr(stdout.Find("start")+7);
if(stdout.Substr(0,4) == "null")
{
var start = stdout.Substr(0, stdout.Find(",")-0).Trim();
}
else
{
var start = stdout.Substr(0, stdout.Find(",")-3).Trim();
}
!--------- Originalwert -----
var stdout_orgn = stdout;
!--------- Originalwert -----
if(debug) {WriteLine("Start stdout : " #stdout);}
!Bei Inhalt null keine Anfuehrungszeichen
if(debug) {WriteLine("start : " #start);}
if(start) {dom.GetObject(wwStart).State(start);}
if(!start) {dom.GetObject(wwStart).State(0);}
! end (Uhrzeit bis zu der die DWD Meldung gültig ist in Sekunden)
stdout = stdout.Substr(stdout.Find("end")+5);
if(stdout.Substr(0,4) == "null")
{
var end = stdout.Substr(0, stdout.Find(",")-0).Trim();
}
else
{
var end = stdout.Substr(0, stdout.Find(",")-3).Trim();
}
if(debug) {WriteLine("end : " #end);}
if(end) {dom.GetObject(wwEnd).State(end);}
if(!end) {dom.GetObject(wwEnd).State(0);}
if(debug) {WriteLine("End stdout : " #stdout);}
!Bei Inhalt null keine Anfuehrungszeichen
! Umrechnung in Date und Time neu 16.11.2017
if(debug) {WriteLine("Start DateTime: " #start.ToInteger().ToTime().ToString());}
if(debug) {WriteLine("End DateTime: " #end.ToInteger().ToTime().ToString());}
dom.GetObject(wwStartDateTime).State(start.ToInteger().ToTime().ToString());
dom.GetObject(wwEndDateTime).State(end.ToInteger().ToTime().ToString());
!In folgender Tabelle sind Warntypen mit ? markiert, die noch nicht in der Praxis getestet werden konnten!
!0 = Gewitter
!1 = Wind/Sturm/Orkan
!2 = Stark- und Dauerregen
!3 = Schneefall/Schneeverwehungen
!4 = Nebel ?
!5 = Frost
!6 = Glätte/Glatteis
!7 = Tauwetter ?
!8 = Hitzewarnungen ?
!9 = UV-Warnungen ?
!10 = Küstenwarnungen ?
!11 = Binnenseewarnungen ?
! type (siehe Liste oben)
var stdout_type = stdout_orgn.Substr(stdout_orgn.Find("type")+6);
var mtyp = stdout_type.Substr(0, stdout_type.Find(","));
if(debug) {WriteLine("mtyp :"#mtyp);}
if(mtyp) {dom.GetObject(wwTyp).State(mtyp);}
if(!mtyp) {dom.GetObject(wwTyp).State();}
! state (Bundesland im Klartext z.B: Nordrhein-Westfalen)
var stdout_state = stdout_orgn.Substr(stdout_orgn.Find("state")+8);
var state = stdout_state.Substr(0, stdout_state.Find(",")-1);
if(debug) {WriteLine("state :"#state);}
if(state) {dom.GetObject(wwState).State(state);}
!Level - Vermutung 0 = Vorabwarnung, 1..10 tatsächliche Warnungen
var stdout_lvl = stdout_orgn.Substr(stdout_orgn.Find("level")+7);
var level = stdout_lvl.Substr(0, stdout_lvl.Find(","));
if(debug) {WriteLine("level :"#level);}
if(level) {dom.GetObject(wwLevel).State(level);}
! headline (Überschrift der Meldung z.B. Amtliche WARNUNG vor WINDBÖEN)
var stdout_head = stdout_orgn.Substr(stdout_orgn.Find("headline")+11);
var headline = stdout_head.Substr(0, stdout_head.Find(",")-1);
if(debug) {WriteLine("headline :"#headline);}
if(headline) {dom.GetObject(wwHeadline).State(headline);}
! description (nähere Erklärung der Meldung im Klartext)
var stdout_desc = stdout_orgn.Substr(stdout_orgn.Find("description")+14);
var descript = stdout_desc.Substr(0, stdout_desc.Find(",")-1);
! Überflüssige Zeilenumbrüche wegoptimieren, sofern vorhanden
descript = descript.UriEncode();
descript = descript.Replace("%5Cn", " ");
descript = descript.UriDecode();
if(debug) {WriteLine("descript :"#descript);}
if(descript) {dom.GetObject(wwDescription).State(descript);}
! altitude Start
var stdout_start = stdout_orgn.Substr(stdout_orgn.Find("altitudeStart")+15);
var altitudeStart = stdout_start.Substr(0, stdout_start.Find(","));
if(debug) {WriteLine("altitudeStart :"#altitudeStart);}
if(altitudeStart) {dom.GetObject(wwAltitudeStart).State(altitudeStart);}
! event (Kurzform der Meldungsart z.B. Winböen)
var stdout_event = stdout_orgn.Substr(stdout_orgn.Find("event")+8);
var event = stdout_event.Substr(0, stdout_event.Find("}")-1);
if(debug) {WriteLine("event :"#event);}
if(event) {dom.GetObject(wwEvent).State(event);}
! instruction
var stdout_instr = stdout_orgn.Substr(stdout_orgn.Find("instruction")+14);
var instruction = stdout_instr.Substr(0, stdout_instr.Find(".\",")+1);
if(debug) {WriteLine("instr :"#instruction);}
if(instruction) { dom.GetObject(wwInstruction).State(instruction)};
! altitude End
var stdout_end = stdout_orgn.Substr(stdout_orgn.Find("altitudeEnd")+13);
var altitudeEnd = stdout_end.Substr(0, stdout_end.Find(","));
if(debug) {WriteLine("altitudeEnd :"#altitudeEnd);}
if(altitudeEnd) {dom.GetObject(wwAltitudeEnd).State(altitudeEnd);}
! stateShort (Abkürzung Bundesland z.B: NRW)
var stdout_stt_short = stdout_orgn.Substr(stdout_orgn.Find("stateShort")+13);
var stateShort = stdout_stt_short.Substr(0, stdout_stt_short.Find(",")-1);
if(debug) {WriteLine("stateShort :"#stateShort);}
if(stateShort) {dom.GetObject(wwStateShort).State(stateShort);}
if (debug) {WriteLine("Laenge Rest:"#stdout.Length());}
!Vorabinformationen sind auch zu filtern
! if(event.Find("VORABINFORMATION")>=0) && (ShowVorabInfo == false)) {
if(event.Find("vorabinformation")>=0) {
found = false;
if(debug) {WriteLine("if von VorabInformation found :"#found);}
} else {
if(debug) {WriteLine("else von VORABINFORMATION found :"#found);}
!------------------------------------------------------------------------------------------------------------
! Auswertung
!------------------------------------------------------------------------------------------------------------
integer time = system.Date("%F %X").ToTime().ToInteger();
var diff1 = time - start.ToInteger();
var diff2 = time - end.ToInteger();
if(debug) {WriteLine("diff1 :"#diff1);}
if(debug) {WriteLine("diff2 :"#diff2);}
if(diff1 >= 0 && diff2 <= 0) {
dom.GetObject(wwAktiv).State(true);
if(debug) {WriteLine("Wetterwarnung auf true");}
}
else {
dom.GetObject(wwAktiv).State(false);
if(debug) {WriteLine("Wetterwarnung auf false");}
}
stdout = start.ToInteger().ToTime().ToString() # " - " # end.ToInteger().ToTime().ToString() # ": " # event ;
if(debug) {WriteLine("WetterwarnungText :"#stdout);}
if(debug) {WriteLine("WetterwarnungTyp :"#(mtyp.ToInteger()+1).ToString());}
if(debug) {WriteLine("WetterwarnungDescript :"#descript);}
dom.GetObject(wwText).State(stdout);
dom.GetObject(wwTyp).State(mtyp.ToInteger()+1);
dom.GetObject(wwDescription).State(descript);
}
!! Interner Fallback, falls Felder leer sind
if(!state) {dom.GetObject(wwState).State("---");}
if(!level) {dom.GetObject(wwLevel).State(0);}
if(!headline) {dom.GetObject(wwHeadline).State("---");}
if(!descript) {dom.GetObject(wwDescription).State("---");}
if(!altitudeStart) {dom.GetObject(wwAltitudeStart).State("---");}
if(!event) {dom.GetObject(wwEvent).State("---");}
if(!instruction) { dom.GetObject(wwInstruction).State("---")};
if(!altitudeEnd) {dom.GetObject(wwAltitudeEnd).State("---");}
if(!stateShort) {dom.GetObject(wwStateShort).State("---");}
}
!------------------------------------------------------------------------------------------------------------
! Allgemeiner Fallback
!------------------------------------------------------------------------------------------------------------
if(!found) {
if(debug) {WriteLine("Fallback Keine Warnung gefunden - found :"#found);}
dom.GetObject(wwAktiv).State(false);
dom.GetObject(wwText).State("Keine Warnungen");
dom.GetObject(wwTyp).State(0);
dom.GetObject(wwCity).State("---");
dom.GetObject(wwRegionName).State("---");
dom.GetObject(wwStart).State("---");
dom.GetObject(wwEnd).State("---");
dom.GetObject(wwStartDateTime).State("---");
dom.GetObject(wwEndDateTime).State("---");
dom.GetObject(wwLevel).State(0);
dom.GetObject(wwState).State("---");
dom.GetObject(wwDescription).State(" ");
dom.GetObject(wwEvent).State("---");
dom.GetObject(wwHeadline).State("---");
dom.GetObject(wwStateShort).State("---");
dom.GetObject(wwAltitudeStart).State("---");
dom.GetObject(wwAltitudeEnd).State("---");
}
Zuletzt geändert von kafetzke am 08.08.2018, 13:19, insgesamt 1-mal geändert.
Unwetter-Meldungen vom DWD: https://github.com/kafetzke/homatic-script-dwd
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
Re: Unwetterwarnung Script
Moin!
Bei mir (string city = "901058002"; ! Kreis Rendsburg-Eckernförde - Küste) funktioniert das neue Skript "Unwetterwarnung 07.08.2018 Vers. 1.122" leider nicht richtig. Der Landkreis wird zwar erkannt, es kommt aber keine Warnung, trotz aktiver Warnung.
Das alte Skript Version "Unwetterwarnung 13.10.2017" funktioniert und gibt auch die Warnung raus, wenn auch mit Teilen vom Code im Ausgabetext.
Gruß Jens
Bei mir (string city = "901058002"; ! Kreis Rendsburg-Eckernförde - Küste) funktioniert das neue Skript "Unwetterwarnung 07.08.2018 Vers. 1.122" leider nicht richtig. Der Landkreis wird zwar erkannt, es kommt aber keine Warnung, trotz aktiver Warnung.
Das alte Skript Version "Unwetterwarnung 13.10.2017" funktioniert und gibt auch die Warnung raus, wenn auch mit Teilen vom Code im Ausgabetext.
Gruß Jens
-
- Beiträge: 34
- Registriert: 30.07.2018, 13:47
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: Unwetterwarnung Script
Moin Jens,
bitte aktiviere mal den debug-Modus per Variable im Script und poste uns die Debug-Ausgabe, wenn du das Script so testest.
Gruß,
Kafetzke
bitte aktiviere mal den debug-Modus per Variable im Script und poste uns die Debug-Ausgabe, wenn du das Script so testest.
Gruß,
Kafetzke
Unwetter-Meldungen vom DWD: https://github.com/kafetzke/homatic-script-dwd
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps
GoogleMaps API-Anbindung: https://github.com/kafetzke/homatic-script-googleMaps