Wetterdaten aus dem Internet
Moderator: Co-Administratoren
-
- Beiträge: 18
- Registriert: 10.02.2016, 00:47
- Wohnort: bei Wien
Wetterdaten aus dem Internet
Hallo ins Forum,
irgendwie scheitere ich beim Projekt Wetterdaten schon sehr zeitig, nämlich auf wetter.com. Hab mich registriert, aber Projekt anlegen geht nicht.
Vielleicht gibt es aber auch eine andere Lösung für mein Anliegen:
Mein Plan ist es, die Dachluke ab einer bestimmten Windgeschwindigkeit nicht mehr zu öffnen. Dazu brauche ich aus irgendeiner Quelle, auf die die CCU2 ohne zwischengeschalteten weiteren Computer zugreifen kann, die aktuellen Windwerte für meinen Ort (Nähe Wien).
Das Ganze wäre sicherlich mit der Homematic-Wetterstation kein Problem. Über diese hab ich jedoch grade bzgl. Windmesser Negatives gelesen und für das später geplante Steuern der Gartenbewässerung ist der Regenmengensensor auch nicht wirklich geeignet. (da geht der Funk-Regensensor 130220 bestimmt besser)
Habt ihr vielleicht einen Lösungsvorschlag für mich?
Danke,
VG Dieter
irgendwie scheitere ich beim Projekt Wetterdaten schon sehr zeitig, nämlich auf wetter.com. Hab mich registriert, aber Projekt anlegen geht nicht.
Vielleicht gibt es aber auch eine andere Lösung für mein Anliegen:
Mein Plan ist es, die Dachluke ab einer bestimmten Windgeschwindigkeit nicht mehr zu öffnen. Dazu brauche ich aus irgendeiner Quelle, auf die die CCU2 ohne zwischengeschalteten weiteren Computer zugreifen kann, die aktuellen Windwerte für meinen Ort (Nähe Wien).
Das Ganze wäre sicherlich mit der Homematic-Wetterstation kein Problem. Über diese hab ich jedoch grade bzgl. Windmesser Negatives gelesen und für das später geplante Steuern der Gartenbewässerung ist der Regenmengensensor auch nicht wirklich geeignet. (da geht der Funk-Regensensor 130220 bestimmt besser)
Habt ihr vielleicht einen Lösungsvorschlag für mich?
Danke,
VG Dieter
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wettervorhersage mit wetter.com
Eine Möglichkeit wäre:Dashdieter hat geschrieben: Mein Plan ist es, die Dachluke ab einer bestimmten Windgeschwindigkeit nicht mehr zu öffnen. Dazu brauche ich aus irgendeiner Quelle, auf die die CCU2 ohne zwischengeschalteten weiteren Computer zugreifen kann, die aktuellen Windwerte für meinen Ort (Nähe Wien).
..
Habt ihr vielleicht einen Lösungsvorschlag für mich?
die Windgeschwindigkeit von z.B. Openweathermap auslesen und in eine Systemvariable auf der CCU speichern.
Diese dann in einem Programm zum Steuern der Dachluken verwenden.
Wie?
Kurzanleitung ganz allgemein, da du natürlich wie üblich nicht unbedingt mit Infos um dich wirfst:
- 1. CUXD inklusive cuxd.exec installieren, wenn nicht schon passiert wie? Suche benutzen - siehe auch meine Signatur. Und nein - ich will hier nicht über den Sinn dikutieren. Das Forum bietet genug Lesestoff zur Installation von CUXD und zum Nutzen sowieso.
- 2. Auf der CCU eine Systemvariable vom Typ Zahl mit Einheit m/s anlegen - Im Beispiel mit Namen: Windgeschwindigkeit
- 3. ein neues Programm in der Klickibunti anlegen oder das folgende Script in eines der eh schon zyklisch laufenden integrieren - aber:
dabei darauf achten, das die Frequenz der Abfrage nicht allzu hoch ist. !
- jedenfalls -
in das Programm unter 3. im Dann irgendwo Script erstellen wählen.
in das Fenster das folgende Script einfügen- Fehlerprüfung klick - ok klick - ok -klickCode: Alles auswählen
! Windgeschwindigkeit v0.2 von openweathermap in Sysvar by alchy var url = "http://api.openweathermap.org/data/2.5/weather?q=Wien&units=metric&lang=de&appid=44db6a862fba0b067b1930da0d769e98"; dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'"); dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1); string rueckgabe = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); var s1tmp = (rueckgabe.StrValueByIndex(",",14)).StrValueByIndex(":",2).ToFloat(); dom.GetObject("Windgeschwindigkeit").State(s1tmp);
- 4. nach dem das Programm dann mindestens einmal gelaufen ist sollte ein sinnvoller Wert in deiner Systemvariable stehen, richtig ? (Wien heute bei dem kurzen Test des Scriptest irgendwas um die 6.5 m/s)
- 5. in dein Dachlukensteuerprogramm kannst du dann die zusätzlich Info verarbeiten, in dem du als zusätzliche Abfrage die Windgeschwindigkeit integrierst.
Also als einfaches Beispiel:
wenn Taste x Tastendruck kurz und Systemzustand Windgeschwindigkeit kleiner als 10 m/s (nur prüfen) dann Dachluke auf....
Und bitte Nimm den Hinweis unter 3. an .
Nach dem ersten Testen, am Besten gar nicht erst den Scheduler also die Zeitsteuerung der CCU verwenden. Und schon gar nicht alle x Minuten oder gar x Sekunden! Das bringt deine CCU irgendwann aus dem Tritt.
Alternative den cuxd.timer oder ein sowieso zyklisch stattfindendes Ereignis als Trigger verwenden.
Oder auch nicht mit den aktuellen Daten arbeiten , sondern z.B. die Vorausschaudaten von openweathermap verwenden. Ist aber schon ne Weile her, das ich da nachgeschaut habe. Musst Du mal lesen. Der Möglichkeiten gibt es sowieso viele.
Alchy
PS: ich habe als Ort Wien eingetragen, Nähe Wien gab es nicht , andere Orte sind natürlich auch möglich.
Bitte dazu selbst nachlesen.
Zuletzt geändert von alchy am 12.02.2016, 09:57, insgesamt 1-mal geändert.
Grund: andere Scriptversion eingefügt
Grund: andere Scriptversion eingefügt
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wettervorhersage mit wetter.com
bei wetter.com kann man sich derzeit nicht für die api anmelden. Zumindest lande ich bei der suche immer auf Seiten die es nicht mehr gibt. Ich wollte mich auch registrieren.
Da ich nur die Temperatur brauche für die länge beim lüften werde ich jetzt einfach den Außentemperaturmesser von HM kaufen
Da ich nur die Temperatur brauche für die länge beim lüften werde ich jetzt einfach den Außentemperaturmesser von HM kaufen
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wettervorhersage mit wetter.com
Noch eine Ergänzung zu dem Script von Alchy:
wenn man vor der appid noch ein:
&units=metric&lang=de
einfügt bekommt man die Temperatur in Celsius und den Status in deutsch.
@Alchy kannst Du mir bitte erklären was genau die Zeile heißt?
der erste Teil könnte ich mir vorstellen heißt soviel wie: Suche im String Rückgabe nach dem ":" und an der 19. Stelle hälst Du an. Aber was genau bewirkt StrValueByIndex(",",0)?
Klar mit dem Komma hört der gesuchte Wert auf aber wozu die Null?
Hintergrund wäre das ich den Script nutze für die Temperaturabfrage. Da ich leider Null Ahnung vom Script habe würde ich es halt gerne ein wenig verstehen
Grüße
Thomas
wenn man vor der appid noch ein:
&units=metric&lang=de
einfügt bekommt man die Temperatur in Celsius und den Status in deutsch.
@Alchy kannst Du mir bitte erklären was genau die Zeile heißt?
Code: Alles auswählen
var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
Klar mit dem Komma hört der gesuchte Wert auf aber wozu die Null?
Hintergrund wäre das ich den Script nutze für die Temperaturabfrage. Da ich leider Null Ahnung vom Script habe würde ich es halt gerne ein wenig verstehen
Grüße
Thomas
Re: Wettervorhersage mit wetter.com
StrValueByIndex(":",19)) heißt:Cash hat geschrieben:der erste Teil könnte ich mir vorstellen heißt soviel wie: Suche im String Rückgabe nach dem ":" und an der 19. Stelle hälst Du an. Aber was genau bewirkt StrValueByIndex(",",0)?Code: Alles auswählen
var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
Klar mit dem Komma hört der gesuchte Wert auf aber wozu die Null?
Erstelle eine Liste (Array), in dem Du den String "rueckgabe" bei jedem ":" teilst und gib mir den Wert aus dieser Liste an Position 20 (= Index 19) zurück.
StrValueByIndex(",",0) heißt dann weiter
Erstelle eine Liste (Array), in dem Du den Wert welchen Du mir zurückgegeben hast bei jedem "," teilst und gib mir den Wert aus dieser Liste an Position 1 (= Index 0) zurück.
Beispiel:
Code: Alles auswählen
var rueckgabe = "10,1:2,1:13,1:14,1:15,1:16,1:17,1:18,1:19,1:20,1:21,1:22,1:23,1:24,1:25,1:26,1:27,1:28,1:29,1:30,1";
var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
WriteLine(s1tmp.ToString(0));
.
Zuletzt geändert von BadenPower am 11.02.2016, 15:46, insgesamt 1-mal geändert.
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wettervorhersage mit wetter.com
Super vielen Dank.
So verstehe ich das auch.
Allerdings käme bei Deinen Beispie vermutlich 0 Raus weil es keine Doppelpunkte gibt in Deinem Beispiel sondern nur Semikolon
Das Handbuch hat es versucht mir so zu erklären:
So verstehe ich das auch.
Allerdings käme bei Deinen Beispie vermutlich 0 Raus weil es keine Doppelpunkte gibt in Deinem Beispiel sondern nur Semikolon
Das Handbuch hat es versucht mir so zu erklären:
Das habe ich natürlicht nicht verstandenDie Zeichenkette ist eine Liste, deren Elemente durch Separatoren voneinander getrennt
sind. Die Methode „StrValueByIndex“ liefert das durch den Index spezifizierte
Listenelement. Die Zählung für „index“ beginnt bei 0.
Re: Wettervorhersage mit wetter.com
Jetzt nicht mehr!Cash hat geschrieben: Allerdings käme bei Deinen Beispie vermutlich 0 Raus weil es keine Doppelpunkte gibt in Deinem Beispiel sondern nur Semikolon
Ich sollte mir vielleicht doch einmal eine Brille kaufen!
.
-
- Beiträge: 18
- Registriert: 10.02.2016, 00:47
- Wohnort: bei Wien
Re: Wettervorhersage mit wetter.com
@Alchy: vielen Dank für die Anleitung, ich werde mich mal reinarbeiten.
Die fehlenden Infos:
Systemzustand: CCU2, Raumthermostate, Heizkörperaktoren. Über einfaches wenn-dann Programm wird die Heiztherme abgeschaltet. EG und OG alles schlaue Lichtschalter oder Dimmer, auch wieder nur mit einfachen Programmen zur teilweisen oder gesamten Abschaltung sowie dem ersten Beginn einer Szeneriebeleuchtung.
Tablet und Handy mit Homedroid.
Jetzt kommen dann die Dachluke und die Rollläden dran, später noch die Gartenbewässerung und Hochrüstung zur Alarmanlage.
Mit Scripten wird das jetzt mein Einstieg sein.
Danke auch für die Links, da hab ich mal eine Weile zu lesen.
VG Dieter
Die fehlenden Infos:
Systemzustand: CCU2, Raumthermostate, Heizkörperaktoren. Über einfaches wenn-dann Programm wird die Heiztherme abgeschaltet. EG und OG alles schlaue Lichtschalter oder Dimmer, auch wieder nur mit einfachen Programmen zur teilweisen oder gesamten Abschaltung sowie dem ersten Beginn einer Szeneriebeleuchtung.
Tablet und Handy mit Homedroid.
Jetzt kommen dann die Dachluke und die Rollläden dran, später noch die Gartenbewässerung und Hochrüstung zur Alarmanlage.
Mit Scripten wird das jetzt mein Einstieg sein.
Danke auch für die Links, da hab ich mal eine Weile zu lesen.
VG Dieter
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wettervorhersage mit wetter.com
@Dashdieter
viel Spass damit. Das mit den fehlenden Infos ist vor allem darauf bezogen, was hast du so an Addons z.B. wie cuxd installiert, wieviel "Ahnung" kann man dir zutrauen.
Wenn wer bestimmte Infos fallen lässt, kann ich mir in der Antwort vielleicht vieles sparen.
So schreib ich u.U. einen halben Roman, der mich nur viel Zeit kostet. Für komplette Neueinsteiger ohne die geringsten Kenntnisse ist vielleicht auch die "in meinen Augen" sehr detailierte Anleitung noch zu wenig. Kann man eh keinen Recht machen, also vergiss es.
@cash
Hier ging es bisher nur um die Windgeschwindigkeit nicht die Temperatur oder Beschreibung.
Wir können gern mehr daraus machen, aber nicht in diesem Thread.
Badenpower hat ja erklärt, welche Theorie hinter der Befehlszzeile stecken sollte.
Ich drösele damit einfach einen langen String zu der gewünschte Ausgabe.
Das Unübersichtliche ist eigentlich nur, das ich statt eigentlich 3 Befehlszeilen alles in einer mache.
Das ist im Zuge der Variablensparerei geschehen.
Wenn du statt:
im Script, die Zeilen:
Einfügst, passiert genau das Gleiche. Wenn du dir aber ein paar WriteLines einfügst, kannst du besser nachvollziehen, was da so läuft und warum.
Aber wie ich gerade sehe, wäre eine andere Aufdröselung eigentlich die Bessere gewesen.
Ist immer Mist, wenn man so was auf dem Handy versucht.
Allerdings will ich das eigentliche Thema des Threads hier nicht kapern, hier geht es um Wetter.com Daten. Und soweit ich mich erinnere gibt es auch schon einen openWeather Thread.
Wenn Interesse besteht? kann ich aber den Teil absplitten in ein neues Thema.
Alchy
viel Spass damit. Das mit den fehlenden Infos ist vor allem darauf bezogen, was hast du so an Addons z.B. wie cuxd installiert, wieviel "Ahnung" kann man dir zutrauen.
Wenn wer bestimmte Infos fallen lässt, kann ich mir in der Antwort vielleicht vieles sparen.
So schreib ich u.U. einen halben Roman, der mich nur viel Zeit kostet. Für komplette Neueinsteiger ohne die geringsten Kenntnisse ist vielleicht auch die "in meinen Augen" sehr detailierte Anleitung noch zu wenig. Kann man eh keinen Recht machen, also vergiss es.
@cash
Hier ging es bisher nur um die Windgeschwindigkeit nicht die Temperatur oder Beschreibung.
Wir können gern mehr daraus machen, aber nicht in diesem Thread.
Badenpower hat ja erklärt, welche Theorie hinter der Befehlszzeile stecken sollte.
Ich drösele damit einfach einen langen String zu der gewünschte Ausgabe.
Das Unübersichtliche ist eigentlich nur, das ich statt eigentlich 3 Befehlszeilen alles in einer mache.
Das ist im Zuge der Variablensparerei geschehen.
Wenn du statt:
Code: Alles auswählen
var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
Code: Alles auswählen
var satmp = rueckgabe.StrValueByIndex(":",19);
var sbtmp = satmp.StrValueByIndex(",",0);
var s1tmp = sbtmp.ToFloat();
Aber wie ich gerade sehe, wäre eine andere Aufdröselung eigentlich die Bessere gewesen.
Ist immer Mist, wenn man so was auf dem Handy versucht.
Allerdings will ich das eigentliche Thema des Threads hier nicht kapern, hier geht es um Wetter.com Daten. Und soweit ich mich erinnere gibt es auch schon einen openWeather Thread.
Wenn Interesse besteht? kann ich aber den Teil absplitten in ein neues Thema.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wettervorhersage mit wetter.com
@Alchy Vielen Dank. Ich habe mir das Script gestern schon angepaßt. Bin aber noch nicht zum testen gekommen. Bin mir aber unschlüssig ob ich es wirklich nutzen will oder doch lieber direkt ein Außenthemometer von Homematic kaufe. Ich möchte eigentlich nur steuern wie lange ein Fenster geflüftet werden darf in Abhängigkeit der Außentemperatur.
Ok Back to topic.
Grüße
Thomas
Ok Back to topic.
Grüße
Thomas