Wunderground Wetter mit einfachem HM-Skript holen

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Benutzeravatar
derAuge
Beiträge: 94
Registriert: 02.02.2014, 09:58
Wohnort: Münsterland

Wunderground Wetter mit einfachem HM-Skript holen # Umlaute

Beitrag von derAuge » 22.03.2014, 13:38

Hallo Leute,

habe mich mal mit dem Skript beschäftigt.
Mit ein bar anpassungen habe ich die Geschichte mit dem Umlauten gelöst:

1.) Hier habe ich eine anderen String genommen (Ergebniss = kürzerer Namen)

Code: Alles auswählen

!    string word = "full";
    string word = "city";
    integer word_laenge = word.Length();
    integer word_position = wetter_xml.Find(word);
    string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
	integer word_position = daten.Find(word);
    daten = daten.Substr(0, (word_position -2));
  	dom.GetObject("Wetter_Station").State(daten);
!WriteLine(daten);
2.) Hier habe ich eine anderen String genommen und die Ausgabe gekürtzt (Ergebniss = kürzeres Datum / Uhrzeit)

Code: Alles auswählen

!    string word = "observation_time";
    string word = "observation_time_rfc822";
    integer word_laenge = word.Length();
    integer word_position = wetter_xml.Find(word);
    string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
    integer word_position = daten.Find(word);
!    daten = daten.Substr(0, (word_position -2));
    daten = daten.Substr(0, (word_position -11));
    dom.GetObject("Wetter_Aktualisierung").State(daten);
WriteLine(daten);
3.) Die Himelsrichtungen. Nach einigen Versuchen bin ich auf folgende Lösung gekommen.

Code: Alles auswählen

    string word = "wind_dir";
    integer word_laenge = word.Length();
    integer word_position = wetter_xml.Find(word);
    string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
    integer word_position = daten.Find(word);
    daten = daten.Substr(0, (word_position -2));
    word_laenge =daten.Length();
    string anfangsbuchstabe = daten.Substr(0,1);
!WriteLine("##### Windrichtung #####");
!WriteLine(daten);
!WriteLine(word_laenge);
!WriteLine(anfangsbuchstabe);
! Umlaute korrigieren
!
! N # Nord ***
if (anfangsbuchstabe == "N") {
	!
    if (daten == "Nordwest") {daten = "Nord-West" ;}
}
 
! S # Süd *** 
if (anfangsbuchstabe == "S") {
	! 4 # Süd
	if (word_laenge == 4)  {daten = "Süd";}
	! 8 # Südwest
	if (word_laenge == 8)  {daten = "Süd-West";}
	! 12 # Süd-Südost
	if (word_laenge == 12) {daten = "Süd-Süd-Ost" ;}
  	! 13
	if (word_laenge == 13) {daten = "Süd-Süd-West" ;}
}

! W # Westen
if (anfangsbuchstabe == "W") {
	! 13 # West-Südwest
    if (word_laenge == 13) {daten = "West-Süd-West" ;}
}

! O # Osten
if (anfangsbuchstabe == "O") {
	! 11 # Ost-Südost
	if (word_laenge == 11) {daten = "Ost-Süd-Ost" ;}  
}
dom.GetObject("Wetter_Windrichtung").State(daten);
!WriteLine(daten);
In der Testumbebung hat das alles funktioniert.
Werde es nun in die CCU einbauen und beobachten


Gruß

derAuge
CCU2 # 3xHM-CC-RT-DN # 1x HM-CC-TC mit HM-CC-VD # HM-WDS30-T-O # 2x HM-LC-Sw2-FM # HM-Sen-MDIR-O-2 # HM-Sen-MDIR # HQ WebUI Version 2.5.1 # CUxD-V0.67 # CUxD-Highcharts 1.4.3 # HCS 0.0.3.2 # CCU.IO 1.0.47 # DashUI 0.9beta121

darkiop
Beiträge: 143
Registriert: 22.11.2013, 10:53

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von darkiop » 22.03.2014, 13:48

Super, vielen Dank! War auch gerade am experimentieren - wenn man die HomeMatic Skript Syntax aber noch nicht richtig kennt gar nicht so einfach bzw. sehr träge :)

Werde deine Lösung heute Nachmittag testen und berichten.

Gruß
Gruß Thorsten

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von joni-blue » 22.03.2014, 14:15

Cooles Script


Sent from my iPhone using Tapatalk
Reboot tut gut ! ! !

darkiop
Beiträge: 143
Registriert: 22.11.2013, 10:53

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von darkiop » 22.03.2014, 16:08

Funktioniert, nochmals vielen Dank.

Bei Wetter_Aktualisierung und Wetter_Windbedingungen macht der März noch Probleme, aber das ist zu verkraften!

Wo testet man das Skript um den Inhalt der Variablen auszugeben (WriteLine(daten))?

Hier nochmal alles zusammengefasst und um 2 Variablen für den API-Key und Ort erweitert:

Code: Alles auswählen

!Systemvariablen
!Achtung: Keine vergessen und exakte Schreibweise mit Copy&Paste sicherstellen!
!Wetter_Station                        Zeichenkette 
!Wetter_Aktualisierung             Zeichenkette
!Wetter_Bedingungen               Zeichenkette
!Wetter_Temperatur                  Zahl                     °C
!Wetter_Luftfeuchte                  Zahl                      % 
!Wetter_Windbedingungen       Zeichenkette 
!Wetter_Windrichtung               Zeichenkette
!Wetter_Windrichtg                   Zahl                       °
!Wetter_Windgeschwindigkeit   Zahl                     km/h
!Wetter_Windboeen                  Zahl                     km/h
!Wetter_Luftdruck                      Zahl                      mb
!Wetter_Luftdrucktrend             Zeichenkette 
!Wetter_Taupunkt                      Zahl                     °C

var url = "http://api.wunderground.com/api/2cb842bb513bb759/conditions/lang:DL/q/Germany/Steinweiler.xml";

!hier ist die Abfrage mit CUxD
!dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
!dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
!string wetter_xml = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

!hier ist die Abfrage mit system.Exec
string stdout;
string stderr;
system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);
!WriteLine(stdout);
string wetter_xml = stdout;
!WriteLine(wetter_xml);

!Beim XML-File den ueberfluessigen Header entfernen 
integer laenge = wetter_xml.Length();
integer wort_position = wetter_xml.Find("display_location");
wetter_xml = wetter_xml.Substr(wort_position, (laenge - wort_position));
!WriteLine(wetter_xml);

!Daten mit Suchworten aus XML-File ausfiltern: 

string word = "city";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Station").State(daten);

string word = "observation_time_rfc822";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -11));
dom.GetObject("Wetter_Aktualisierung").State(daten);

string word = "weather";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Bedingungen").State(daten);

string word = "temp_c";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
dom.GetObject("Wetter_Temperatur").State(zahl);

string word = "relative_humidity";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Luftfeuchte").State(zahl);

string word = "wind_string";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Windbedingungen").State(daten);

string word = "wind_dir";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
word_laenge =daten.Length();
string anfangsbuchstabe = daten.Substr(0,1);
!WriteLine("##### Windrichtung #####");
!WriteLine(daten);
!WriteLine(word_laenge);
!WriteLine(anfangsbuchstabe);
! Umlaute korrigieren
!
! N # Nord ***
if (anfangsbuchstabe == "N") {
   !
    if (daten == "Nordwest") {daten = "Nord-West" ;}
}
 
! S # Süd *** 
if (anfangsbuchstabe == "S") {
   ! 4 # Süd
   if (word_laenge == 4)  {daten = "Süd";}
   ! 8 # Südwest
   if (word_laenge == 8)  {daten = "Süd-West";}
   ! 7 # Südost
   if (word_laenge == 7)  {daten = "Süd-Ost";}
   ! 12 # Süd-Südost
   if (word_laenge == 12) {daten = "Süd-Süd-Ost" ;}
     ! 13
   if (word_laenge == 13) {daten = "Süd-Süd-West" ;}
}

! W # Westen
if (anfangsbuchstabe == "W") {
   ! 13 # West-Südwest
    if (word_laenge == 13) {daten = "West-Süd-West" ;}
}

! O # Osten
if (anfangsbuchstabe == "O") {
   ! 11 # Ost-Südost
   if (word_laenge == 11) {daten = "Ost-Süd-Ost" ;}  
}
dom.GetObject("Wetter_Windrichtung").State(daten);

string word = "wind_degrees";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windrichtg").State(zahl);

string word = "wind_kph";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windgeschwindigkeit").State(zahl);

string word = "wind_gust_kph";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windboeen").State(zahl);

string word = "pressure_mb";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Luftdruck").State(zahl);

string word = "pressure_trend";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Luftdrucktrend").State(daten);

string word = "dewpoint_c";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
dom.GetObject("Wetter_Taupunkt").State(zahl);
Zuletzt geändert von darkiop am 23.03.2014, 07:25, insgesamt 2-mal geändert.
Gruß Thorsten

Benutzeravatar
derAuge
Beiträge: 94
Registriert: 02.02.2014, 09:58
Wohnort: Münsterland

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von derAuge » 22.03.2014, 16:33

darkiop hat geschrieben:Funktioniert, nochmals vielen Dank.
Bei Wetter_Aktualisierung und Wetter_Windbedingungen macht der März noch Probleme, aber das ist zu verkraften!
Dann hast dz etwas übersehen

Code: Alles auswählen

!    string word = "observation_time";
    string word = "observation_time_rfc822";
    integer word_laenge = word.Length();
    integer word_position = wetter_xml.Find(word);
    string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
    integer word_position = daten.Find(word);
!    daten = daten.Substr(0, (word_position -2));
    daten = daten.Substr(0, (word_position -11));
    dom.GetObject("Wetter_Aktualisierung").State(daten);
darkiop hat geschrieben: Wo testet man das Skript um den Inhalt der Variablen auszugeben (WriteLine(daten))?
/addons/hq/ui/#tabEditor


Gruß

derAuge
CCU2 # 3xHM-CC-RT-DN # 1x HM-CC-TC mit HM-CC-VD # HM-WDS30-T-O # 2x HM-LC-Sw2-FM # HM-Sen-MDIR-O-2 # HM-Sen-MDIR # HQ WebUI Version 2.5.1 # CUxD-V0.67 # CUxD-Highcharts 1.4.3 # HCS 0.0.3.2 # CCU.IO 1.0.47 # DashUI 0.9beta121

darkiop
Beiträge: 143
Registriert: 22.11.2013, 10:53

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von darkiop » 22.03.2014, 16:59

Vielen Dank! Das Skript oben habe ich angepasst.

Der Aufruf über system.exec scheint ja zuverlässig zu funktionieren. Macht es sinn bzw. gibt es Vorteile das ganze über CUxD abrufen zu lassen? Ich würde, wenn ich herausbekommen habe wie es funktioniert :), gerne die Wetterdaten loggen.
Gruß Thorsten

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von joni-blue » 23.03.2014, 12:21

darkiop hat geschrieben:Funktioniert, nochmals vielen Dank.

Bei Wetter_Aktualisierung und Wetter_Windbedingungen macht der März noch Probleme, aber das ist zu verkraften!

Wo testet man das Skript um den Inhalt der Variablen auszugeben (WriteLine(daten))?

Hier nochmal alles zusammengefasst und um 2 Variablen für den API-Key und Ort erweitert:

Code: Alles auswählen

!Systemvariablen
!Achtung: Keine vergessen und exakte Schreibweise mit Copy&Paste sicherstellen!
!Wetter_Station                        Zeichenkette 
!Wetter_Aktualisierung             Zeichenkette
!Wetter_Bedingungen               Zeichenkette
!Wetter_Temperatur                  Zahl                     °C
!Wetter_Luftfeuchte                  Zahl                      % 
!Wetter_Windbedingungen       Zeichenkette 
!Wetter_Windrichtung               Zeichenkette
!Wetter_Windrichtg                   Zahl                       °
!Wetter_Windgeschwindigkeit   Zahl                     km/h
!Wetter_Windboeen                  Zahl                     km/h
!Wetter_Luftdruck                      Zahl                      mb
!Wetter_Luftdrucktrend             Zeichenkette 
!Wetter_Taupunkt                      Zahl                     °C

var url = "http://api.wunderground.com/api/2cb842bb513bb759/conditions/lang:DL/q/Germany/Steinweiler.xml";

!hier ist die Abfrage mit CUxD
!dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
!dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
!string wetter_xml = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

!hier ist die Abfrage mit system.Exec
string stdout;
string stderr;
system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);
!WriteLine(stdout);
string wetter_xml = stdout;
!WriteLine(wetter_xml);

!Beim XML-File den ueberfluessigen Header entfernen 
integer laenge = wetter_xml.Length();
integer wort_position = wetter_xml.Find("display_location");
wetter_xml = wetter_xml.Substr(wort_position, (laenge - wort_position));
!WriteLine(wetter_xml);

!Daten mit Suchworten aus XML-File ausfiltern: 

string word = "city";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Station").State(daten);

string word = "observation_time_rfc822";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -11));
dom.GetObject("Wetter_Aktualisierung").State(daten);

string word = "weather";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Bedingungen").State(daten);

string word = "temp_c";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
dom.GetObject("Wetter_Temperatur").State(zahl);

string word = "relative_humidity";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Luftfeuchte").State(zahl);

string word = "wind_string";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Windbedingungen").State(daten);

string word = "wind_dir";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
word_laenge =daten.Length();
string anfangsbuchstabe = daten.Substr(0,1);
!WriteLine("##### Windrichtung #####");
!WriteLine(daten);
!WriteLine(word_laenge);
!WriteLine(anfangsbuchstabe);
! Umlaute korrigieren
!
! N # Nord ***
if (anfangsbuchstabe == "N") {
   !
    if (daten == "Nordwest") {daten = "Nord-West" ;}
}
 
! S # Süd *** 
if (anfangsbuchstabe == "S") {
   ! 4 # Süd
   if (word_laenge == 4)  {daten = "Süd";}
   ! 8 # Südwest
   if (word_laenge == 8)  {daten = "Süd-West";}
   ! 7 # Südost
   if (word_laenge == 7)  {daten = "Süd-Ost";}
   ! 12 # Süd-Südost
   if (word_laenge == 12) {daten = "Süd-Süd-Ost" ;}
     ! 13
   if (word_laenge == 13) {daten = "Süd-Süd-West" ;}
}

! W # Westen
if (anfangsbuchstabe == "W") {
   ! 13 # West-Südwest
    if (word_laenge == 13) {daten = "West-Süd-West" ;}
}

! O # Osten
if (anfangsbuchstabe == "O") {
   ! 11 # Ost-Südost
   if (word_laenge == 11) {daten = "Ost-Süd-Ost" ;}  
}
dom.GetObject("Wetter_Windrichtung").State(daten);

string word = "wind_degrees";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windrichtg").State(zahl);

string word = "wind_kph";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windgeschwindigkeit").State(zahl);

string word = "wind_gust_kph";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Windboeen").State(zahl);

string word = "pressure_mb";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
dom.GetObject("Wetter_Luftdruck").State(zahl);

string word = "pressure_trend";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
dom.GetObject("Wetter_Luftdrucktrend").State(daten);

string word = "dewpoint_c";
integer word_laenge = word.Length();
integer word_position = wetter_xml.Find(word);
string daten = wetter_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
dom.GetObject("Wetter_Taupunkt").State(zahl);
ist das script ein TCL oder HM Script?
Reboot tut gut ! ! !

darkiop
Beiträge: 143
Registriert: 22.11.2013, 10:53

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von darkiop » 23.03.2014, 12:22

HM Skript
Gruß Thorsten

Martin_BY
Beiträge: 192
Registriert: 22.10.2013, 21:45

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von Martin_BY » 23.03.2014, 14:18

Tolles Skript!
Danke! :D

Edit sagt: alles OK, Skript lief nicht ganz durch, tut es jetzt aber...

puckbohne
Beiträge: 4
Registriert: 24.02.2014, 09:50

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von puckbohne » 23.03.2014, 15:41

Vielen Dank! Nutze das Skript und es funktioniert so wie es soll.

Antworten

Zurück zu „Projektvorstellungen“