Wetterdaten aus dem Internet

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Wetterdaten aus dem Internet

Beitrag von alchy » 12.02.2016, 10:20

So ich habe nun die Threads getrennt, um Wetter.com gehts hier ja nicht wirklich mehr.
Ausserdem habe ich noch eine andere Version des Scriptes für DashDieter
in >> die Anleitung <<gepackt.

Natürlich kann man noch vieles mehr machen, aber DashDieter wollte nur die Windgeschwindigkeit in eine Variable. Wenn Bedarf besteht, bitte nachfragen.

@Cash
Daten aus dem Netz sind *IMHO* immer nur eine Krücke oder Ergänzung.
Wenn du mit der Temperatur arbeiten willst, würde ich immer einen eigenen Sensor nehmen. Habe selber einen HM-WDS10-TH-O an der Nordwand meines Hauses hängen. Mittlerweile schon geraume Zeit und völlig problemlos. Kostet nicht die Welt, ist schnell installiert, macht keine Probleme.

Um aber z.B. die Windgeschwindigkeit in die Haussteuerung zu kriegen, ist zumindest auf HM-Sensorbasis für die >>HM-WDS100-C6-O<< schon mehr Geld (249,95€ )zu investieren, und (zumindest was man liest) auch nicht völlig unproblematisch.
Am Anfang wollte ich mir auch einen solchen holen, aber bei dem Geldeinsatz verzichte ich vorerst darauf. Nicht, das ich es mir nicht leisten könnte, aber ich will einfach nicht.
Dieser Sensor ist mir nicht so viel Geld wert.

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: Wetterdaten aus dem Internet

Beitrag von Cash » 12.02.2016, 14:12

Den HM-WDS10-TH-O hatte ich auch ins Auge gefaßt. Allerdings habe ich etwas bedenken wegen der Batterie. Bei frostigen Temperaturen (gerade wenn es richtig richtig und lange kalt ist, also tagsüber deutlich unter -10, wie wir es schon vor ein paar Wintern hatten) machen die Batteiren ja eher nicht so lange mit. Wenn sie nicht ganz aussteigen.

Das sind derzeit die Gründde warum ich dazu tendiere die Temperatur über Internet zu holen. Die Gründe dagegen hast Du in Deinen Beitrag ja schon erwähnt.

Mit einen neuen Gerät holt man, je nach Entfernung zu CCU2 auch neue Probleme ins Haus. Und wenn es nun darum geht die ccu möglichst wenig zu belasten sollte es fast mit den Daten aus dem Internet besser aussehen oder? Das Außenthermostat sendet ja nun regelmäßig die Temperatur an die ccu2.

Da ich das Wetter aber nur beim Fester öffnen brauche würde es ja fast reichen wenn ich die Temperatur genau dort abfrage also vielleicht 2 mal am Tag. Da ich damit ja nun auch nur die Länge des Lüftens einschränken will ist eine genaue Temperatur eher zweitrangig.

Derzeit würde ich tendieren lediglich folgende Abfragen zu machen

wenn Außentemperatur < 10 Grad dann 3 Minuten
zwischen 10 - 18 Grad 5 Minuten
zwischen 18 - 22 Grad 10 Minunten
über 22 Grad 8 Minunten

Das wäre mein erster Schuß ins Blaue die Feinjustierung erfolgt dann mit der Erfahrung. Und wenn ich gerade darüber nachdenke könnte ich ja quasi Dein Script sogar direkt dazu verwenden direkt ein Cuxd Timer zu setzen. Ich bräuchte so nichtmal eine Variable. Und ich würde wirklich nur die Abfrage machen wenn jemand ein Fenster aufmacht.

Bin hin und her gerissen.

Grüße

Thomas

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

Re: Wetterdaten aus dem Internet

Beitrag von Dashdieter » 05.03.2016, 21:38

Servus Alchy,

nachdem ich die letzten Tage mit Hardware - Installation verbracht habe, gehts ab heute um die Programmierung.

Hab also auf der neuesten CCU2 - Firmware das CuxD Addon installiert, dann ein Gerät als .exec angelegt. Dazu die Systemvariable und das periodisch laufende Programm mit dem eingefügten Script.

Trotzdem bleibt die Systemvariable auf 0,0

Was hab ich übersehen?

Danke, VG Dieter
Dateianhänge
startseite.jpg
Systemvariable.jpg
periodische Abfrage.jpg
neue Fernbedienung.jpg
Cux-Daemon.jpg

dondaik
Beiträge: 12928
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: Wetterdaten aus dem Internet

Beitrag von dondaik » 05.03.2016, 22:06

keine ahnung was das werden soll aber ggf ist die beschreibung und der variablenname vertauscht.
ach: und darauf geachtet was bei der erstinstallation von cuxd zu tun ist ;-)
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Wetterdaten aus dem Internet

Beitrag von alchy » 06.03.2016, 03:10

Jupp, dondaik hat Recht.
Windgeschwindigkeit muss der Name der Systemvariablen sein, wenn du das Script so benutzen willst, wie ich es gepostet habe.
Du hast den Namen bei der Beschreibung eingetragen. Einer Systemvariablen den Namen Systemvariable zu geben ist Unfug.
Und was dondaik mit der Ergänzung zu Cuxd meint, ist nach Anlegen des ersten Cuxd Gerätes muss mindestens 1 x die CCU restartet werden.
Alchy
weg

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.

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

Re: Wetterdaten aus dem Internet

Beitrag von Dashdieter » 06.03.2016, 11:27

Vielen Dank für eure Hilfe, einfach umbenennen und jetzt funktionierts :mrgreen:

Der Name "Systemvariable" steht beim Neuanlegen automatisch drin und ich hatte nur die Beschreibung ergänzt und nicht den Name geändert .... Wieder was gelernt.

Schönen Sonntag, VG Dieter

schlagi
Beiträge: 6
Registriert: 20.10.2016, 09:06

Re: Wetterdaten aus dem Internet

Beitrag von schlagi » 30.05.2018, 22:43

Vielen Dank mal an Alchy für das script

Im moment dürfte sich aber einiges geändert haben auch an openweathermap
Hier mal mein Script welches wunderbar funktioniert

Code: Alles auswählen

!read openweathermap
var url = "http://api.openweathermap.org/data/2.5/weather?q=Wien&units=metric&lang=de&appid=apikey einfügen";
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();
WriteLine("Rueckgabe="#rueckgabe);
var s1tmp = (rueckgabe.StrValueByIndex(",",13)).StrValueByIndex(":",2).ToInteger() * 3.6;
var stemp = (rueckgabe.StrValueByIndex(",",7)).StrValueByIndex(":",2).ToInteger();
var pressure = (rueckgabe.StrValueByIndex(",",8)).StrValueByIndex(":",1).ToInteger();
var humidity = (rueckgabe.StrValueByIndex(",",9)).StrValueByIndex(":",1).ToInteger();
var description = (rueckgabe.StrValueByIndex(",",4)).StrValueByIndex(":",1);
WriteLine("s1tmp="#s1tmp);
WriteLine("stemp="#stemp);
WriteLine("pressure="#pressure);
WriteLine("humidity="#humidity);
WriteLine("Beschreibung="#description);
dom.GetObject("Windgeschwindigkeit").State(s1tmp);
dom.GetObject("Aussentemperatur").State(stemp);
dom.GetObject("Luftdruck").State(pressure);
dom.GetObject("Luftfeuchte").State(humidity);
dom.GetObject("Wetter").State(description);
habe die Windgeschwindigkeit noch mit 3.6 Multipliziert dann bekommt man Km/h
Zuletzt geändert von alchy am 03.06.2018, 00:23, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Micha121
Beiträge: 203
Registriert: 21.12.2016, 23:53
Wohnort: Rheinland-Pfalz

Re: Wetterdaten aus dem Internet

Beitrag von Micha121 » 02.06.2018, 15:36

Vielen Dank an alle hier, die das Skript erstellt haben!

Ich habe es übernommen und erhalte auch die Windgeschwindigkeit, wie gewünscht. Was jedoch nicht klappt, sind Wetter und Luftdruck, hier bekomme ich "???" (Wetter) und 0.00 hpa (Luftdruck).

Woran kann das liegen? Das Skript habe ich von schlagi kopiert, die Seriennummer vom CUxD Gerät und den API Key geändert.

Wunsch wäre auch, noch die Regenmenge der letzten 3 Stunden mit reinzunehmen (rain).

BTW: Wie erstellt man eigentlich ein Skript? Macht Ihr das "freihändig" nach den definierten Befehlen (JSON?) oder gibt es Generatoren?? Weil ich nicht immer fragen und Euch damit belästigen möchte.

Micha121
Beiträge: 203
Registriert: 21.12.2016, 23:53
Wohnort: Rheinland-Pfalz

Re: Wetterdaten aus dem Internet

Beitrag von Micha121 » 04.06.2018, 20:57

Micha121 hat geschrieben:Ich habe es übernommen und erhalte auch die Windgeschwindigkeit, wie gewünscht. Was jedoch nicht klappt, sind Wetter und Luftdruck, hier bekomme ich "???" (Wetter) und 0.00 hpa (Luftdruck).

Woran kann das liegen? Das Skript habe ich von schlagi kopiert, die Seriennummer vom CUxD Gerät und den API Key geändert.
Keiner eine Idee?

nick-adonidas
Beiträge: 1
Registriert: 23.09.2018, 09:40

Re: Wetterdaten aus dem Internet

Beitrag von nick-adonidas » 03.10.2018, 18:53

Hallo Micha,
ich fand das Thema auch interessant und hab für mich das Script von Schlagi noch etwas angepasst, welches bei mir einwandfrei funktioniert.
An dieser Stelle sei aber zunächst erwähnt, dass ich mich ausserdem bei anderen Autoren bedient habe, wie z.B. bei http://www.smarthome.kuklin.de/2018/06/ ... homematic/ oder auch hier im Forum (natürlich das Script von Schlagi) und ich dafür sehr dankbar bin, dass jemand seine Arbeit anderen zur Verfügung stellt.
Im Prinzip brauchst du nur die "owm-" Systemvariablen erstellen,die Seriennummer vom CUxD Gerät, die ID der Wetterstation und die API Key-ID ändern.

Hier das script:
!read openweathermap
!Hier die WETTERSTATION-ID und APP-ID eintragen
string wetterstation_id = 1234;
string app_id = "WXYZ";

var url = "http://api.openweathermap.org/data/2.5/ ... d="#app_id;
dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801002:1.CMD_QUERY_RET").State(1);
string rueckgabe = dom.GetObject("CUxD.CUX2801002:1.CMD_RETS").State();
WriteLine("Rueckgabe="#rueckgabe);
var speed = (rueckgabe.StrValueByIndex(",",13)).StrValueByIndex(":",2).ToInteger() * 3.6;
var temp = (rueckgabe.StrValueByIndex(",",7)).StrValueByIndex(":",2).ToInteger(); - 273.15;
var pressure = (rueckgabe.StrValueByIndex(",",8)).StrValueByIndex(":",1).ToInteger();
var humidity = (rueckgabe.StrValueByIndex(",",9)).StrValueByIndex(":",1).ToInteger();
var description = (rueckgabe.StrValueByIndex(",",4)).StrValueByIndex(":",1);
var name = (rueckgabe.StrValueByIndex(",",24)).StrValueByIndex(":",1);
dom.GetObject("owm-Windgeschwindigkeit").State(speed);
dom.GetObject("owm-Aussentemperatur").State(temp);
dom.GetObject("owm-Luftdruck").State(pressure);
dom.GetObject("owm-Luftfeuchte").State(humidity);
dom.GetObject("owm-Wetter").State(description);
dom.GetObject("owm-Wetterstation").State(name);

So funktioniert es bei mir-viel Erfolg
Gruß Nick

Antworten

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