AccuWeather Forecast Antwort File parsen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

MichaelN
Beiträge: 9688
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von MichaelN » 12.06.2020, 16:18

FBK2904 hat geschrieben:
26.03.2020, 00:00
Noch ein Tipp ... Der Datenstrom der 5-Tage-API wird NUR einmal am Tag um 7 Uhr aktualisiert !
Wo hast Du diese Info gefunden? Ich hader im Moment ein bisschen damit, das AccuWeather im 5-tages-Forecast keine Luftfeuchtigkeit übermittelt und werde daher wohl auf den 12-Stunden-Forecast gehen. Finde aber nirgends Infos, wann die Daten für die verschiedenen APIs aktualisiert werden.


btw - zu diesem beliebten "Problem":
Kann auch nicht, da du nicht ALLE SysVar's angelegt hattest :roll: , außer du hättest die neun Script-Blöcke der nicht auszuwertenden
SysVar's heraus gelöscht bzw. mit einem "!" am Zeilenanfang aus kommentiert.

Somit versucht das Script in nicht vorhandene SysVar's zu schreiben, die nicht vorhanden sind das dann einen Fehler/Abbruch verursacht.
Das habe ich bei mir im Skript ganz pragmatisch gelöst, da ich auch keine Lust habe den Code durch Variablenerzeugung aufzublähen:

Code: Alles auswählen

SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Name_der_SV");
	if (SV) {SV.State(Wert);}
Wenn die SysVar nicht existiert, dann wird zwar kein Wert abgespeichert, aber das Skript läuft trotzdem durch.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
FBK2904
Beiträge: 454
Registriert: 22.03.2016, 17:12
System: Alternative CCU (auf Basis OCCU)
Wohnort: Bei Ludwigsburg
Hat sich bedankt: 80 Mal
Danksagung erhalten: 42 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von FBK2904 » 13.06.2020, 17:19

MichaelN hat geschrieben:
12.06.2020, 16:18
FBK2904 hat geschrieben:
26.03.2020, 00:00
Noch ein Tipp ... Der Datenstrom der 5-Tage-API wird NUR einmal am Tag um 7 Uhr aktualisiert !
Wo hast Du diese Info gefunden?
Finde aber nirgends Infos, wann die Daten für die verschiedenen APIs aktualisiert werden.
Nirgends ... alles durch testen, warten und verbraten von 50 Free-API's und z.T. 24 Stunden warten bis wieder freigeschaltet :mrgreen: .
(Deshalb habe ich auch zwischenzeitlich 3 Keys bei AW :lol: ).

MichaelN hat geschrieben:
12.06.2020, 16:18
Ich hader im Moment ein bisschen damit, das AccuWeather im 5-tages-Forecast keine Luftfeuchtigkeit übermittelt und werde daher wohl auf den 12-Stunden-Forecast gehen.
Stimmt. Den Wert "RelativeHumidity" gibt es in der 5-Tages Vorschau nicht. Nur z.B. bei CurrentConditions und 12-Stunden Vorschau.

MichaelN hat geschrieben:
12.06.2020, 16:18
Das habe ich bei mir im Skript ganz pragmatisch gelöst, da ich auch keine Lust habe den Code durch Variablenerzeugung aufzublähen:

Code: Alles auswählen

SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Name_der_SV");
	if (SV) {SV.State(Wert);}
Wenn die SysVar nicht existiert, dann wird zwar kein Wert abgespeichert, aber das Skript läuft trotzdem durch.
NaJa, im Prinzip keine schlechte Idee (kannte ich noch nicht).
Aber wenn ich von ca. 15 SV's nur 3 benutzen will und dann 12x das einfügen muß, kann ich gleich auskommentieren
oder die nicht benötigten Auswerte-Blöcke aus dem Script löschen.

Grüssle,
Frank
Grüssle,
Frank
--------------------------
System: CCU3 (RM 3.75.7.20240420) mit Stabantenne (www.stall.biz)
Geräte: 56x HM (classic) / 13x HmIP / 8x CUxD /16x virtuelle Gruppen / 4x PioTek-Tracker V4 FTTB & FAM-USB-Gateway
Addons: XML-API 2.3 / CUx-Daemon 2.11 / CUxD-Highcharts 1.45 / Programme drucken 2.6
Sonstige: SDV v5.03.04 G / AIO Creator NEO v3.1.0 mit 2x Samsung Tab SM-T580 (Root & Android 10 [LineageOS 17.1 by TALUAtXDAi])

MichaelN
Beiträge: 9688
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von MichaelN » 13.06.2020, 17:33

Aber wenn ich von ca. 15 SV's nur 3 benutzen will und dann 12x das einfügen muß, kann ich gleich auskommentieren
oder die nicht benötigten Auswerte-Blöcke aus dem Script löschen.
Ja, da ich das aber in einer Schleife löse, brauche es nur 1x einfügen :mrgreen: - und kann es im Umkehrschluß nicht teilweise auskommentieren

Mein erstes einfaches Tagesvorhersage-Skript ist fertig. Insgesamt finde ich das JSON von AccuWeather schwieriger auszuwerten, als das XML von OWM. Wenn man z.B. an die Werte von "night" ran will, wird es komplizierter. Die Regenmenge kann das Skript daher noch nicht richtig asuwerten:

EDIT: Skript gelöscht, da veraltet. Aktuelle Version steht hier:
viewtopic.php?f=18&t=59370
Zuletzt geändert von MichaelN am 27.05.2021, 19:24, insgesamt 1-mal geändert.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Ralf48
Beiträge: 11
Registriert: 13.01.2021, 11:18
System: CCU
Hat sich bedankt: 1 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von Ralf48 » 13.01.2021, 11:41

Hallo zusammen,
Ich habe eine Frage bezüglich des oben aufgeführten Script 3 Tage Vorschau mit AccuWeather.
Wenn ich das Script starte schreibt es mir in allen Variablen für die 3 Tage immer die gleichen Werte.
Alle oben genannten Variablen sind angelegt und werden auch gefüllt. Die Tage werden unterschiedlich angezeigt, aber wie gesagt immer mit gleichen Daten z.B. Temperatur oder Windstärke.
Hat da jemand eine Erklärung?
Danke im Voraus.

MichaelN
Beiträge: 9688
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von MichaelN » 13.01.2021, 12:51

Ich will ja nicht strunzen, aber mein Skript - siehe Signatur - Funktioniert auf jeden Fall. Und ich würde mal darüber nachdenken, welche Daten man für eine Haus Automation wirklich braucht. Windrichtung von übermorgen? Really?
Zuletzt geändert von MichaelN am 27.05.2021, 14:54, insgesamt 1-mal geändert.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Supersquischie
Beiträge: 4
Registriert: 26.05.2021, 13:49
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von Supersquischie » 27.05.2021, 14:32

Erst einmal vielen Dank für das Script und die Anleitung. Leider werden bei mir nur manche Werte angezeigt. Ich bin das Script und meine angelegten Systemvariablen schon mehrfach durchgegangen, konnte jedoch keine Fehler erkennen.

Geändert habe ich die Bezeichnungen der Systemvariablen und die Korrekturwerte bei "Temperature" bzw. "RelativeHumidity" (wobei die fehlerhaften Werte auch schon vor meiner Korrektur der Korrektur vorhanden waren, weshalb ich das schon einmal als Fehlerquelle ausschließen konnte).

Hier mal mein Script (API durch XXX ersetzt):

Code: Alles auswählen

!#####     AccuWeather - API (v5.3)     #####
!#####  3-Tage Vorschau-Wetterdaten  #####
!#####   in Systemvariablen schreiben   #####
!#####      by FBK2904 (09.05.19)       #####

! ### Hier die WETTERSTATION-ID und API-KEY eintragen ###
string wetterstation_id = "172216";
string api_key = "XXX";

var url = "http://dataservice.accuweather.com/forecasts/v1/daily/5day/"#wetterstation_id#"?apikey="#api_key#"&language=de-de&details=true&metric=true";    ! 5 Tage Wetter
 dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
 dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string Wetter_XML = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State().Replace('"', "").Replace("[", "").Replace("]", "").Replace("(", "").Replace(")", "").Replace("{", "").Replace("}", "");
!  WriteLine("Wetter_XML = "#Wetter_XML);

! ###  Heutige UnixTime (Epochdate) aus Wetter-XML heraussuchen  ###
! ###          und Aktualisierungszeit daraus berechnen          ###
string word = "DailyForecasts";
string param = "EpochDate:";
integer param_laenge = param.Length();
integer word_position = Wetter_XML.Find(word);
integer word_pos_end = Wetter_XML.Find("Sun") - word_position;
string daten = Wetter_XML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0));
string UpdateTime = daten.ToInteger().ToTime().Format("%H:%M");
 dom.GetObject("Wettervorhersage_UpdateTime").State(UpdateTime);
!  WriteLine(daten #" = " #"UpdateTime: " #UpdateTime);

! ###    Schleifen-Vearbeitung (foreach) aller Werte für x-Tage   ###
! ###  "GenerateEnum (0,2)" = Heute(0), Morgen(1), Übermorgen(2)  ###
string Zahl;
string Unix_ED = daten.ToFloat();
foreach(Zahl,system.GenerateEnum (0,2))
{
! ###  Nächste UnixTime, Real-Wochentag und Real-Datum berechnen  ###
string UnixTime = "EpochTime_"+Zahl;
string EpochTime = Zahl.ToInteger()*86400;
EpochTime = EpochTime+Unix_ED;
string RealTime = EpochTime.ToInteger().ToTime().Format("%Y-%m-%d %H:%M:%S");
string Datum = EpochTime.ToInteger().ToTime().Format("%d.%m.");
string Tag = RealTime.ToTime();
integer wd = Tag.Format("%w").ToInteger();
string woche = "SO.;MO.;DI.;MI.;DO.;FR.;SA.";
Tag = woche.StrValueByIndex(";",wd);
 dom.GetObject("Wettervorhersage_Day"+Zahl).State(Tag);
 dom.GetObject("Wettervorhersage_Date"+Zahl).State(Datum);
!  WriteLine("");
!  WriteLine(EpochTime #" = " #Tag  #" " #Datum);

! ###  sowie jeweiliges Tages-XML herausschneiden  ###
string word = EpochTime;
string param = ",";   
integer param_laenge = param.Length();
integer word_position = Wetter_XML.Find(word);
string End = Zahl.ToInteger()+1;
string SearchEnd = "day="+End;
integer word_pos_end = Wetter_XML.Find(SearchEnd) - word_position;
string WetterXML = Wetter_XML.Substr(word_position, word_pos_end -117);  ! evtl. unnötige "http"-Reste hinten abschneiden (bis "Sources:)"
!  WriteLine("EpochDay-XML = " #WetterXML);

! ###  Allgemeine Wetterdaten heraussuchen  ###
! # Minimale Temperatur (Nacht) suchen #
!  WriteLine("-Allgemein-");
string word = "Temperature:Minimum:";
string param = "Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Nacht_Temp"+Zahl).State(daten);
!  WriteLine(daten);
 
! # Minimale RealFeel-Temperatur (Nacht) suchen #
string word = "RealFeelTemperature:Minimum:";
string param = "Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();    
 dom.GetObject("Wettervorhersage_Nacht_TempGefühlt"+Zahl).State(daten);
!  WriteLine(daten);

! # Maximale Temperatur (Tag) suchen #
string word = "Maximum:";
string param = "Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();    
 dom.GetObject("Wettervorhersage_Tag_Temp"+Zahl).State(daten);
!  WriteLine(daten);

! # Maximale RealFeel-Temperatur (Tag) suchen #
string word = "RealFeelTemperature:Minimum:";
string param = "Maximum:Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Tag_TempGefühlt"+Zahl).State(daten);
!  WriteLine(daten);

! ###  Tages-Wetterdaten heraussuchen  ###
!  WriteLine("-Tag-");
! # WetterIcon suchen #
string word = "Day:";
string param = "Icon:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("IconPhrase:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToInteger();
 dom.GetObject("Wettervorhersage_Tag_Icon"+Zahl).State(daten);
!  WriteLine(daten);

! # WetterText suchen #
string word = "Day";
string param = "LongPhrase:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Probability") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",Precipitation");
daten = daten.Substr(0, (word_pos_end -0));
 dom.GetObject("Wettervorhersage_Tag_Text"+Zahl).State(daten.ToLatin());
!  WriteLine(daten.ToLatin());

! # Niederschlag-Wahrscheinlichkeit (%) suchen #
string word = "Day:";
string param = "PrecipitationProbability:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("ThunderstormProbability:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Tag_Niederschlag"+Zahl).State(daten);
!  WriteLine(daten);

! # Windgeschwindigkeit suchen und auch in Text umwandeln #
string word = "Day:";
string param = "Wind:Speed:Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Tag_WindAkt"+Zahl).State(daten);
!  WriteLine(daten);
!  #  Umsetzung in Wetterdienst-Windtexte  #
      if (daten <     0.00) {daten = "???"                          ;} else {
      if (daten <     1.00) {daten = "Windstille"                   ;} else {
      if (daten <     5.00) {daten = "Leiser Zug"                   ;} else {
      if (daten <    11.00) {daten = "Leichte Brise"                ;} else {
      if (daten <    19.00) {daten = "Schwacher Wind"               ;} else {
      if (daten <    28.00) {daten = "Mäßiger Wind"                 ;} else {
      if (daten <    38.00) {daten = "Auffrischender Wind"          ;} else {
      if (daten <    49.00) {daten = "Starker Wind"                 ;} else {
      if (daten <    61.00) {daten = "Starker bis stürmischer Wind" ;} else {
      if (daten <    74.00) {daten = "Stürmischer Wind"             ;} else {
      if (daten <    88.00) {daten = "Sturm"                        ;} else {
      if (daten <   102.00) {daten = "Schwerer Sturm"               ;} else {
      if (daten <   117.00) {daten = "Orkanartiger Sturm"           ;} else {
      if (daten >=  117.00) {daten = "Orkan"                        ;} }}}}}}}}}}}}}
 dom.GetObject("Wettervorhersage_Tag_WindAktTXT"+Zahl).State(daten);
!  WriteLine(daten);

! # Windrichtung (Text) suchen #
string word = "Day:";
string param = "Localized:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("English:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0));
 dom.GetObject("Wettervorhersage_Tag_Windrichtung"+Zahl).State(daten);
!  WriteLine(daten);

! # Windboen suchen #
string word = "Day:";
string param = "WindGust:Speed:Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Tag_Windboen"+Zahl).State(daten);
!  WriteLine(daten);

! ###  Nacht-Wetterdaten heraussuchen  ###
!  WriteLine("-Nacht-");
! # WetterIcon suchen #
string word = "Night:";
string param = "Icon:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("IconPhrase:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToInteger();
 dom.GetObject("Wettervorhersage_Nacht_Icon"+Zahl).State(daten);
!  WriteLine(daten);

! # WetterText suchen #
string word = "Night:";
string param = "LongPhrase:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Probability:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",Precipitation");
daten = daten.Substr(0, (word_pos_end -0));
 dom.GetObject("Wettervorhersage_Nacht_Text"+Zahl).State(daten.ToLatin());
!  WriteLine(daten.ToLatin());

! # Niederschlag-Wahrscheinlichkeit (%) suchen #
string word = "Night:";
string param = "PrecipitationProbability:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("ThunderstormProbability:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Nacht_Niederschlag"+Zahl).State(daten);
!  WriteLine(daten);

! # Windgeschwindigkeit suchen und auch in Text umwandeln #
string word = "Night:";
string param = "Wind:Speed:Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Nacht_WindAkt"+Zahl).State(daten);
!  WriteLine(daten);
!  #  Umsetzung in Wetterdienst-Windtexte  #
      if (daten <     0.00) {daten = "???"                          ;} else {
      if (daten <     1.00) {daten = "Windstille"                   ;} else {
      if (daten <     5.00) {daten = "Leiser Zug"                   ;} else {
      if (daten <    11.00) {daten = "Leichte Brise"                ;} else {
      if (daten <    19.00) {daten = "Schwacher Wind"               ;} else {
      if (daten <    28.00) {daten = "Mäßiger Wind"                 ;} else {
      if (daten <    38.00) {daten = "Auffrischender Wind"          ;} else {
      if (daten <    49.00) {daten = "Starker Wind"                 ;} else {
      if (daten <    61.00) {daten = "Starker bis stürmischer Wind" ;} else {
      if (daten <    74.00) {daten = "Stürmischer Wind"             ;} else {
      if (daten <    88.00) {daten = "Sturm"                        ;} else {
      if (daten <   102.00) {daten = "Schwerer Sturm"               ;} else {
      if (daten <   117.00) {daten = "Orkanartiger Sturm"           ;} else {
      if (daten >=  117.00) {daten = "Orkan"                        ;} }}}}}}}}}}}}}
 dom.GetObject("Wettervorhersage_Nacht_WindAktTXT"+Zahl).State(daten);
!  WriteLine(daten);

! # Windrichtung (Text) suchen #
string word = "Night:";
string param = "Localized:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("English:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0));
 dom.GetObject("Wettervorhersage_Nacht_Windrichtung"+Zahl).State(daten);
!  WriteLine(daten);

! # Windboen suchen #
string word = "Night:";
string param = "WindGust:Speed:Value:";
integer param_laenge = param.Length();
integer word_position = WetterXML.Find(word);
integer word_pos_end = WetterXML.Find("Unit:") - word_position;
string daten = WetterXML.Substr(word_position, word_pos_end);
word_position = daten.Find(param);
daten = daten.Substr(word_position + param_laenge, daten.Length());
word_pos_end = daten.Find(",");
daten = daten.Substr(0, (word_pos_end -0)).ToFloat();
 dom.GetObject("Wettervorhersage_Nacht_Windboen"+Zahl).State(daten);
!  WriteLine(daten);
}
Hier die passenden Systemvariablen:
1.JPG
2.JPG
3.JPG
4.JPG
5.JPG
6.JPG
7.JPG
8.JPG
Und hier noch die ausgegebenen Werte der Variablen:
siehe nächsten Post

Supersquischie
Beiträge: 4
Registriert: 26.05.2021, 13:49
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von Supersquischie » 27.05.2021, 14:34

und hier die Werte der Variablen:
a.JPG
b.JPG
c.JPG
d.JPG
e.JPG
Was mich stutzig macht: Für jede Art der Systemvariable (Temperatur, gef. Temperatur, Niederschlag...) wird für mind. einen Tag ein Wert ausgegeben, bei manchen auch für den morgigen Tag, übermorgen funktioniert gleich gar nicht... :?:

Benutzeravatar
FBK2904
Beiträge: 454
Registriert: 22.03.2016, 17:12
System: Alternative CCU (auf Basis OCCU)
Wohnort: Bei Ludwigsburg
Hat sich bedankt: 80 Mal
Danksagung erhalten: 42 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von FBK2904 » 27.05.2021, 19:07

Supersquischie hat geschrieben:
27.05.2021, 14:34
Was mich stutzig macht: Für jede Art der Systemvariable (Temperatur, gef. Temperatur, Niederschlag...) wird für mind. einen Tag ein Wert ausgegeben, bei manchen auch für den morgigen Tag, übermorgen funktioniert gleich gar nicht... :?:
Hi Supersquischie (was für ein Name :) ),

sieht auf den ersten Blick "eigentlich" ganz gut und richtig aus!

- Habe mal deine obrige Script-Kopie mit meiner API und deiner Orts-ID durchlaufen lassen (nur WriteLines ohne "dom.GetObject "xxx"
-> Alle Daten für die drei Tage sind da :D .

Code: Alles auswählen

Wetter_XML = Headline:EffectiveDate:2021-05-29T08:00:00+02:00,EffectiveEpochDate:1622268000,Severity:5,Text:Voraussichtlich Schauer Samstag,Category:rain,EndDate:2021-05-29T20:00:00+02:00,EndEpochDate:1622311200,MobileLink:http://m.accuweather.com/de/de/straubing/94315/extended-weather-forecast/172216?unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?unit=c,DailyForecasts:Date:2021-05-27T07:00:00+02:00,EpochDate:1622091600,Sun:Rise:2021-05-27T05:15:00+02:00,EpochRise:1622085300,Set:2021-05-27T20:59:00+02:00,EpochSet:1622141940,Moon:Rise:2021-05-27T22:40:00+02:00,EpochRise:1622148000,Set:2021-05-28T06:40:00+02:00,EpochSet:1622176800,Phase:WaningGibbous,Age:16,Temperature:Minimum:Value:6.9,Unit:C,UnitType:17,Maximum:Value:17.7,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:7.6,Unit:C,UnitType:17,Maximum:Value:18.4,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:7.6,Unit:C,UnitType:17,Maximum:Value:16.2,Unit:C,UnitType:17,HoursOfSun:3.6,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:3,Category:Mittel,CategoryValue:2,Day:Icon:12,IconPhrase:Schauer,HasPrecipitation:true,PrecipitationType:Rain,PrecipitationIntensity:Light,ShortPhrase:Meist wolkig, Schauer; kalt,LongPhrase:Meist wolkig, kalt und vereinzelte Schauer,PrecipitationProbability:55,ThunderstormProbability:11,RainProbability:55,SnowProbability:0,IceProbability:0,Wind:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:247,Localized:WSW,English:WSW,WindGust:Speed:Value:27.8,Unit:km/h,UnitType:7,Direction:Degrees:266,Localized:W,English:W,TotalLiquid:Value:1.0,Unit:mm,UnitType:3,Rain:Value:1.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:1.0,HoursOfRain:1.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:84,Night:Icon:36,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Stellenweise Wolken und kühl,LongPhrase:Stellenweise Wolken und kühl,PrecipitationProbability:25,ThunderstormProbability:5,RainProbability:25,SnowProbability:0,IceProbability:0,Wind:Speed:Value:5.6,Unit:km/h,UnitType:7,Direction:Degrees:281,Localized:W,English:W,WindGust:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:281,Localized:W,English:W,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:67,Sources:AccuWeather,MobileLink:http://m.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=1&unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=1&unit=c,Date:2021-05-28T07:00:00+02:00,EpochDate:1622178000,Sun:Rise:2021-05-28T05:14:00+02:00,EpochRise:1622171640,Set:2021-05-28T21:00:00+02:00,EpochSet:1622228400,Moon:Rise:2021-05-28T23:51:00+02:00,EpochRise:1622238660,Set:2021-05-29T07:43:00+02:00,EpochSet:1622266980,Phase:WaningGibbous,Age:17,Temperature:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:17.0,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:19.4,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:16.2,Unit:C,UnitType:17,HoursOfSun:5.3,DegreeDaySummary:Heating:Value:7.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:4,Category:Mittel,CategoryValue:2,Day:Icon:4,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Zeitweise Sonne,LongPhrase:Zeitweise Sonne,PrecipitationProbability:8,ThunderstormProbability:0,RainProbability:8,SnowProbability:0,IceProbability:0,Wind:Speed:Value:9.3,Unit:km/h,UnitType:7,Direction:Degrees:306,Localized:NW,English:NW,WindGust:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:304,Localized:NW,English:NW,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:70,Night:Icon:36,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Einige Wolken und kühl,LongPhrase:Einige Wolken und kühl,PrecipitationProbability:14,ThunderstormProbability:0,RainProbability:14,SnowProbability:0,IceProbability:0,Wind:Speed:Value:7.4,Unit:km/h,UnitType:7,Direction:Degrees:359,Localized:N,English:N,WindGust:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:346,Localized:NNW,English:NNW,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:70,Sources:AccuWeather,MobileLink:http://m.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=2&unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=2&unit=c,Date:2021-05-29T07:00:00+02:00,EpochDate:1622264400,Sun:Rise:2021-05-29T05:13:00+02:00,EpochRise:1622257980,Set:2021-05-29T21:01:00+02:00,EpochSet:1622314860,Moon:Rise:null,EpochRise:null,Set:2021-05-29T07:43:00+02:00,EpochSet:1622266980,Phase:WaningGibbous,Age:18,Temperature:Minimum:Value:4.7,Unit:C,UnitType:17,Maximum:Value:18.5,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:4.4,Unit:C,UnitType:17,Maximum:Value:21.7,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:4.4,Unit:C,UnitType:17,Maximum:Value:17.1,Unit:C,UnitType:17,HoursOfSun:7.6,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:5,Category:Mittel,CategoryValue:2,Day:Icon:14,IconPhrase:Teils sonnig mit Schauern,HasPrecipitation:true,PrecipitationType:Rain,PrecipitationIntensity:Light,ShortPhrase:Vereinzelte Schauer,LongPhrase:Zeitweise Sonnenschein und vereinzelte Schauer,PrecipitationProbability:65,ThunderstormProbability:13,RainProbability:65,SnowProbability:0,IceProbability:0,Wind:Speed:Value:9.3,Unit:km/h,UnitType:7,Direction:Degrees:348,Localized:NNW,English:NNW,WindGust:Speed:Value:14.8,Unit:km/h,UnitType:7,Direction:Degrees:357,Localized:N,English:N,TotalLiquid:Value:3.9,Unit:mm,UnitType:3,Rain:Value:3.9,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:2.0,HoursOfRain:2.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:64,Night:Icon:34,IconPhrase:Vielfach klar,HasPrecipitation:false,ShortPhrase:Überwiegend klar und kühl,LongPhrase:Überwiegend klar und kühl,PrecipitationProbability:9,ThunderstormProbability:0,RainProbability:9,SnowProbability:0,IceProbability:0,Wind:Speed:Value:7.4,Unit:km/h,UnitType:7,Direction:Degrees:4,Localized:N,English:N,WindGust:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:41,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:11,Sources:AccuWeather,MobileLink:http://m.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=3&unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=3&unit=c,Date:2021-05-30T07:00:00+02:00,EpochDate:1622350800,Sun:Rise:2021-05-30T05:12:00+02:00,EpochRise:1622344320,Set:2021-05-30T21:02:00+02:00,EpochSet:1622401320,Moon:Rise:2021-05-30T00:45:00+02:00,EpochRise:1622328300,Set:2021-05-30T08:55:00+02:00,EpochSet:1622357700,Phase:WaningGibbous,Age:19,Temperature:Minimum:Value:5.3,Unit:C,UnitType:17,Maximum:Value:18.6,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:5.8,Unit:C,UnitType:17,Maximum:Value:20.6,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:5.8,Unit:C,UnitType:17,Maximum:Value:16.9,Unit:C,UnitType:17,HoursOfSun:8.5,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:8,Category:Sehr hoch,CategoryValue:4,Day:Icon:4,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Zeitweise Wolken und Sonne,LongPhrase:Zeitweise Wolken und Sonne,PrecipitationProbability:2,ThunderstormProbability:0,RainProbability:2,SnowProbability:0,IceProbability:0,Wind:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:27,Localized:NNO,English:NNE,WindGust:Speed:Value:18.5,Unit:km/h,UnitType:7,Direction:Degrees:36,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:55,Night:Icon:34,IconPhrase:Vielfach klar,HasPrecipitation:false,ShortPhrase:Überwiegend klar und kühl,LongPhrase:Überwiegend klar und kühl,PrecipitationProbability:6,ThunderstormProbability:0,RainProbability:6,SnowProbability:0,IceProbability:0,Wind:Speed:Value:5.6,Unit:km/h,UnitType:7,Direction:Degrees:38,Localized:NO,English:NE,WindGust:Speed:Value:14.8,Unit:km/h,UnitType:7,Direction:Degrees:47,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:21,Sources:AccuWeather,MobileLink:http://m.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=4&unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=4&unit=c,Date:2021-05-31T07:00:00+02:00,EpochDate:1622437200,Sun:Rise:2021-05-31T05:12:00+02:00,EpochRise:1622430720,Set:2021-05-31T21:04:00+02:00,EpochSet:1622487840,Moon:Rise:2021-05-31T01:26:00+02:00,EpochRise:1622417160,Set:2021-05-31T10:11:00+02:00,EpochSet:1622448660,Phase:WaningGibbous,Age:20,Temperature:Minimum:Value:5.2,Unit:C,UnitType:17,Maximum:Value:18.6,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:6.1,Unit:C,UnitType:17,Maximum:Value:22.8,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:6.1,Unit:C,UnitType:17,Maximum:Value:17.2,Unit:C,UnitType:17,HoursOfSun:8.0,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:8,Category:Sehr hoch,CategoryValue:4,Day:Icon:3,IconPhrase:Teils sonnig,HasPrecipitation:false,ShortPhrase:Teilweise sonnig,LongPhrase:Teilweise sonnig,PrecipitationProbability:3,ThunderstormProbability:0,RainProbability:3,SnowProbability:0,IceProbability:0,Wind:Speed:Value:9.3,Unit:km/h,UnitType:7,Direction:Degrees:43,Localized:NO,English:NE,WindGust:Speed:Value:14.8,Unit:km/h,UnitType:7,Direction:Degrees:46,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:43,Night:Icon:36,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Zunehmende Wolken und kühl,LongPhrase:Zunehmende Wolken und kühl,PrecipitationProbability:10,ThunderstormProbability:0,RainProbability:10,SnowProbability:0,IceProbability:0,Wind:Speed:Value:5.6,Unit:km/h,UnitType:7,Direction:Degrees:26,Localized:NNO,English:NNE,WindGust:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:43,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:89,Sources:AccuWeather,MobileLink:http://m.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=5&unit=c,Link:http://www.accuweather.com/de/de/straubing/94315/daily-weather-forecast/172216?day=5&unit=c
1622091600 = UpdateTime: 07:00

1622091600 = DO. 27.05.
EpochDay-XML = 1622091600,Sun:Rise:2021-05-27T05:15:00+02:00,EpochRise:1622085300,Set:2021-05-27T20:59:00+02:00,EpochSet:1622141940,Moon:Rise:2021-05-27T22:40:00+02:00,EpochRise:1622148000,Set:2021-05-28T06:40:00+02:00,EpochSet:1622176800,Phase:WaningGibbous,Age:16,Temperature:Minimum:Value:6.9,Unit:C,UnitType:17,Maximum:Value:17.7,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:7.6,Unit:C,UnitType:17,Maximum:Value:18.4,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:7.6,Unit:C,UnitType:17,Maximum:Value:16.2,Unit:C,UnitType:17,HoursOfSun:3.6,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:3,Category:Mittel,CategoryValue:2,Day:Icon:12,IconPhrase:Schauer,HasPrecipitation:true,PrecipitationType:Rain,PrecipitationIntensity:Light,ShortPhrase:Meist wolkig, Schauer; kalt,LongPhrase:Meist wolkig, kalt und vereinzelte Schauer,PrecipitationProbability:55,ThunderstormProbability:11,RainProbability:55,SnowProbability:0,IceProbability:0,Wind:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:247,Localized:WSW,English:WSW,WindGust:Speed:Value:27.8,Unit:km/h,UnitType:7,Direction:Degrees:266,Localized:W,English:W,TotalLiquid:Value:1.0,Unit:mm,UnitType:3,Rain:Value:1.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:1.0,HoursOfRain:1.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:84,Night:Icon:36,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Stellenweise Wolken und kühl,LongPhrase:Stellenweise Wolken und kühl,PrecipitationProbability:25,ThunderstormProbability:5,RainProbability:25,SnowProbability:0,IceProbability:0,Wind:Speed:Value:5.6,Unit:km/h,UnitType:7,Direction:Degrees:281,Localized:W,English:W,WindGust:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:281,Localized:W,English:W,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,Cloud
6.900000
7.600000
17.700000
18.400000
12
Meist wolkig, kalt und vereinzelte Schauer
55.000000
13.000000
Schwacher Wind
WSW
27.800000
36
Stellenweise Wolken und kühl
25.000000
5.600000
Leichte Brise
W
13.000000

1622178000 = FR. 28.05.
EpochDay-XML = 1622178000,Sun:Rise:2021-05-28T05:14:00+02:00,EpochRise:1622171640,Set:2021-05-28T21:00:00+02:00,EpochSet:1622228400,Moon:Rise:2021-05-28T23:51:00+02:00,EpochRise:1622238660,Set:2021-05-29T07:43:00+02:00,EpochSet:1622266980,Phase:WaningGibbous,Age:17,Temperature:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:17.0,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:19.4,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:5.5,Unit:C,UnitType:17,Maximum:Value:16.2,Unit:C,UnitType:17,HoursOfSun:5.3,DegreeDaySummary:Heating:Value:7.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:4,Category:Mittel,CategoryValue:2,Day:Icon:4,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Zeitweise Sonne,LongPhrase:Zeitweise Sonne,PrecipitationProbability:8,ThunderstormProbability:0,RainProbability:8,SnowProbability:0,IceProbability:0,Wind:Speed:Value:9.3,Unit:km/h,UnitType:7,Direction:Degrees:306,Localized:NW,English:NW,WindGust:Speed:Value:13.0,Unit:km/h,UnitType:7,Direction:Degrees:304,Localized:NW,English:NW,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:70,Night:Icon:36,IconPhrase:Heiter bis wolkig,HasPrecipitation:false,ShortPhrase:Einige Wolken und kühl,LongPhrase:Einige Wolken und kühl,PrecipitationProbability:14,ThunderstormProbability:0,RainProbability:14,SnowProbability:0,IceProbability:0,Wind:Speed:Value:7.4,Unit:km/h,UnitType:7,Direction:Degrees:359,Localized:N,English:N,WindGust:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:346,Localized:NNW,English:NNW,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,Cloud
5.500000
5.500000
17.000000
19.400000
4
Zeitweise Sonne
8.000000
9.300000
Leichte Brise
NW
13.000000
36
Einige Wolken und kühl
14.000000
7.400000
Leichte Brise
N
11.100000

1622264400 = SA. 29.05.
EpochDay-XML = 1622264400,Sun:Rise:2021-05-29T05:13:00+02:00,EpochRise:1622257980,Set:2021-05-29T21:01:00+02:00,EpochSet:1622314860,Moon:Rise:null,EpochRise:null,Set:2021-05-29T07:43:00+02:00,EpochSet:1622266980,Phase:WaningGibbous,Age:18,Temperature:Minimum:Value:4.7,Unit:C,UnitType:17,Maximum:Value:18.5,Unit:C,UnitType:17,RealFeelTemperature:Minimum:Value:4.4,Unit:C,UnitType:17,Maximum:Value:21.7,Unit:C,UnitType:17,RealFeelTemperatureShade:Minimum:Value:4.4,Unit:C,UnitType:17,Maximum:Value:17.1,Unit:C,UnitType:17,HoursOfSun:7.6,DegreeDaySummary:Heating:Value:6.0,Unit:C,UnitType:17,Cooling:Value:0.0,Unit:C,UnitType:17,AirAndPollen:Name:AirQuality,Value:0,Category:Gut,CategoryValue:1,Type:Ozon,Name:Grass,Value:0,Category:Niedrig,CategoryValue:1,Name:Mold,Value:0,Category:Niedrig,CategoryValue:1,Name:Ragweed,Value:0,Category:Niedrig,CategoryValue:1,Name:Tree,Value:0,Category:Niedrig,CategoryValue:1,Name:UVIndex,Value:5,Category:Mittel,CategoryValue:2,Day:Icon:14,IconPhrase:Teils sonnig mit Schauern,HasPrecipitation:true,PrecipitationType:Rain,PrecipitationIntensity:Light,ShortPhrase:Vereinzelte Schauer,LongPhrase:Zeitweise Sonnenschein und vereinzelte Schauer,PrecipitationProbability:65,ThunderstormProbability:13,RainProbability:65,SnowProbability:0,IceProbability:0,Wind:Speed:Value:9.3,Unit:km/h,UnitType:7,Direction:Degrees:348,Localized:NNW,English:NNW,WindGust:Speed:Value:14.8,Unit:km/h,UnitType:7,Direction:Degrees:357,Localized:N,English:N,TotalLiquid:Value:3.9,Unit:mm,UnitType:3,Rain:Value:3.9,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:2.0,HoursOfRain:2.0,HoursOfSnow:0.0,HoursOfIce:0.0,CloudCover:64,Night:Icon:34,IconPhrase:Vielfach klar,HasPrecipitation:false,ShortPhrase:Überwiegend klar und kühl,LongPhrase:Überwiegend klar und kühl,PrecipitationProbability:9,ThunderstormProbability:0,RainProbability:9,SnowProbability:0,IceProbability:0,Wind:Speed:Value:7.4,Unit:km/h,UnitType:7,Direction:Degrees:4,Localized:N,English:N,WindGust:Speed:Value:11.1,Unit:km/h,UnitType:7,Direction:Degrees:41,Localized:NO,English:NE,TotalLiquid:Value:0.0,Unit:mm,UnitType:3,Rain:Value:0.0,Unit:mm,UnitType:3,Snow:Value:0.0,Unit:cm,UnitType:4,Ice:Value:0.0,Unit:mm,UnitType:3,HoursOfPrecipitation:0.0,HoursOfRain:0.0,HoursOfSnow:0.0,HoursOfIce:0.0,Cloud
4.700000
4.400000
18.500000
21.700000
14
Zeitweise Sonnenschein und vereinzelte Schauer
65.000000
9.300000
Leichte Brise
NNW
14.800000
34
Überwiegend klar und kühl
9.000000
7.400000
Leichte Brise
N
11.100000
- Meines Wissens nach sind Umlaute (Ä, Ö, Ü, etc.) in SysVar's keine so gute Idee und sollten nicht vorkommen.
Bitte abändern und dann nochmals testen :wink: .
Grüssle,
Frank
--------------------------
System: CCU3 (RM 3.75.7.20240420) mit Stabantenne (www.stall.biz)
Geräte: 56x HM (classic) / 13x HmIP / 8x CUxD /16x virtuelle Gruppen / 4x PioTek-Tracker V4 FTTB & FAM-USB-Gateway
Addons: XML-API 2.3 / CUx-Daemon 2.11 / CUxD-Highcharts 1.45 / Programme drucken 2.6
Sonstige: SDV v5.03.04 G / AIO Creator NEO v3.1.0 mit 2x Samsung Tab SM-T580 (Root & Android 10 [LineageOS 17.1 by TALUAtXDAi])

Supersquischie
Beiträge: 4
Registriert: 26.05.2021, 13:49
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von Supersquischie » 27.05.2021, 21:38

FBK2904 hat geschrieben:
27.05.2021, 19:07
Supersquischie hat geschrieben:
27.05.2021, 14:34
Was mich stutzig macht: Für jede Art der Systemvariable (Temperatur, gef. Temperatur, Niederschlag...) wird für mind. einen Tag ein Wert ausgegeben, bei manchen auch für den morgigen Tag, übermorgen funktioniert gleich gar nicht... :?:
Hi Supersquischie (was für ein Name :) ),
Danke :) Und vielen Dank für die extrem schnelle Antwort.
FBK2904 hat geschrieben:
27.05.2021, 19:07

- Habe mal deine obrige Script-Kopie mit meiner API und deiner Orts-ID durchlaufen lassen (nur WriteLines ohne "dom.GetObject "xxx"
-> Alle Daten für die drei Tage sind da :D .


- Meines Wissens nach sind Umlaute (Ä, Ö, Ü, etc.) in SysVar's keine so gute Idee und sollten nicht vorkommen.
Bitte abändern und dann nochmals testen :wink: .
Seltsam. Hab die Umlaute bei TempGefühlt abgeändert, das Programm nochmal durchlaufen lassen, aber leider hat sich am Ergebnis nichts geändert (identisch zu obigen Screrenshots).

Könnte es etwas mit meiner API zu tun haben (nach meiner Laienmeinung eher nicht, denn sonst würden doch gar keine Werte angezeigt werden, oder)?

Benutzeravatar
FBK2904
Beiträge: 454
Registriert: 22.03.2016, 17:12
System: Alternative CCU (auf Basis OCCU)
Wohnort: Bei Ludwigsburg
Hat sich bedankt: 80 Mal
Danksagung erhalten: 42 Mal

Re: AccuWeather Forecast Antwort File parsen

Beitrag von FBK2904 » 28.05.2021, 18:34

Supersquischie hat geschrieben:
27.05.2021, 21:38
Hab die Umlaute bei TempGefühlt abgeändert, das Programm nochmal durchlaufen lassen, aber leider hat sich am Ergebnis nichts geändert (identisch zu obigen Screrenshots).
Mach's mal so wie ich es gemacht hatte.
-> Im Script überall bei den "dom.GetObject xxx" für die Wetter-SV's vorne ein Ausrufezeichen setzen und bei den "WriteLine's" entfernen.
-> Dann entweder in der WebUI unter "Script testen", oder mit einem anderen x-beliebigen Script-Editor durchlaufen lassen.
Was kommt dann als Ergebniss raus (so wie bei mir oben) ?
Supersquischie hat geschrieben:
27.05.2021, 21:38
Könnte es etwas mit meiner API zu tun haben ...?
Nöö, denn sonst würde überhaupt keine Daten kommen. Ich denke, irgendwas ist mit deinen SV's faul :| .
Grüssle,
Frank
--------------------------
System: CCU3 (RM 3.75.7.20240420) mit Stabantenne (www.stall.biz)
Geräte: 56x HM (classic) / 13x HmIP / 8x CUxD /16x virtuelle Gruppen / 4x PioTek-Tracker V4 FTTB & FAM-USB-Gateway
Addons: XML-API 2.3 / CUx-Daemon 2.11 / CUxD-Highcharts 1.45 / Programme drucken 2.6
Sonstige: SDV v5.03.04 G / AIO Creator NEO v3.1.0 mit 2x Samsung Tab SM-T580 (Root & Android 10 [LineageOS 17.1 by TALUAtXDAi])

Antworten

Zurück zu „HomeMatic allgemein“