Wetterdaten aus dem Internet

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Dashdieter
Beiträge: 18
Registriert: 10.02.2016, 00:47
Wohnort: bei Wien

Wetterdaten aus dem Internet

Beitrag von Dashdieter » 11.02.2016, 00:36

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

alchy
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

Beitrag von alchy » 11.02.2016, 10:23

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?
Eine Möglichkeit wäre:
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

    Code: 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);
    
    - Fehlerprüfung klick - ok klick - ok -klick
  • 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....
reicht das ?
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. 8)

Alchy
PS: ich habe als Ort Wien eingetragen, Nähe Wien gab es nicht :P , 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

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.

Cash
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

Beitrag von Cash » 11.02.2016, 12:55

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 :-)

Cash
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

Beitrag von Cash » 11.02.2016, 13:29

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?

Code: Alles auswählen

var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
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

BadenPower

Re: Wettervorhersage mit wetter.com

Beitrag von BadenPower » 11.02.2016, 14:46

Cash hat geschrieben:

Code: Alles auswählen

var s1tmp = (rueckgabe.StrValueByIndex(":",19)).StrValueByIndex(",",0).ToFloat();
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?
StrValueByIndex(":",19)) heißt:
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));
Die Ausgabe wäre > 30

.
Zuletzt geändert von BadenPower am 11.02.2016, 15:46, insgesamt 1-mal geändert.

Cash
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

Beitrag von Cash » 11.02.2016, 15:31

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 :D

Das Handbuch hat es versucht mir so zu erklären:
Die 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.
Das habe ich natürlicht nicht verstanden :mrgreen:

BadenPower

Re: Wettervorhersage mit wetter.com

Beitrag von BadenPower » 11.02.2016, 15:48

Cash hat geschrieben: Allerdings käme bei Deinen Beispie vermutlich 0 Raus weil es keine Doppelpunkte gibt in Deinem Beispiel sondern nur Semikolon :D
Jetzt nicht mehr! :mrgreen:

Ich sollte mir vielleicht doch einmal eine Brille kaufen! 8)


.

Dashdieter
Beiträge: 18
Registriert: 10.02.2016, 00:47
Wohnort: bei Wien

Re: Wettervorhersage mit wetter.com

Beitrag von Dashdieter » 11.02.2016, 23:47

@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

alchy
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

Beitrag von alchy » 12.02.2016, 08:37

@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. :mrgreen:

@cash
Hier ging es bisher nur um die Windgeschwindigkeit nicht die Temperatur oder Beschreibung.
:wink:
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. :mrgreen:
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();
im Script, die Zeilen:

Code: Alles auswählen

var satmp = rueckgabe.StrValueByIndex(":",19);
var sbtmp = satmp.StrValueByIndex(",",0);
var s1tmp = sbtmp.ToFloat();
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. :shock:
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.

Cash
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

Beitrag von Cash » 12.02.2016, 09:04

@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

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“