Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden
Verfasst: 05.10.2018, 21:55
Super.
Freut mich wenn’s läuft.
Freut mich wenn’s läuft.
Heimautomation mit ELV HomeMatic und FHZ Funk-Hauszentralen
https://homematic-forum.de/forum/
Das Problem konnte ich mittlerweile lösen. Es lag am Format der Datei. Hab die gelöscht, über WinSCP neu angelegt und dann die Daten per WinSCP eingetragen, Notepad++ mochte Linux nicht so.FreshHomeUser hat geschrieben: ↑02.10.2018, 23:02Bei mir kommt immer nur:
Ich denke das liegt an den Leerzeichen ?Code: Alles auswählen
./netatmo.tcl ./netatmo.tcl: line 1: : not found ./netatmo.tcl: line 3: load: not found ./netatmo.tcl: line 20: syntax error: unexpected "("
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(2);
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("tclsh /usr/local/addons/netatmo/netatmo.tcl");
var v = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
WriteLine(v);
Gefunden, es hat das bei mir gefehlt.FreshHomeUser hat geschrieben: ↑09.10.2018, 22:30Ich schätze das Script,welches ich gefunden hab, passt nicht ganz ?Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(2); dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("tclsh /usr/local/addons/netatmo/netatmo.tcl"); var v = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State(); WriteLine(v);
CUX2801001:2 hab ich gegen CUX9002001 getauscht, aber es bringt nichts. Ideen ?
Allerdings hat der Trick mit Weather|Statistic bei mir noch nicht geklappt. Auch die Sync Time wird nicht angezeigt. Ich schau mal weiter. Danke erst mal so weit.Koggel hat geschrieben: ↑23.01.2015, 16:37
Automatisierung:
Ihr braucht nun ein drittes virtuelles Gerät, welches ihr wieder im CUxD einrichtet:
CUxD Gerätetyp: (28) System
Funktion: Exec
Seriennummer: 1
Name: Zentrale CUxD
Icon: Fernbedienung 19 Tasten
Controll: Taster
Welchsel wieder auf die CCU Oberfläche, lernt das neue Gerät an und macht folgende Einstellungen auf z.B. Channel 1
KEY CMD_SHORT tclsh /usr/local/addons/netatmo/netatmo.tcl
KEY CMD_LONG tclsh /usr/local/addons/netatmo/netatmo.tcl
Hinweis von Jens B. vom 01.04.2015
Ich musste bei mir die WEATHER|STATISTIC bei allen devices einmal deaktivieren und wieder aktivieren, da sonst folgende Werte nicht angezeigt wurden: (CCU 2.13.7 CUxD 0.9)
[DEW_POINT], [ABS_HUMIDITY], [TEMP_MIN_24H], [TEMP_MAX_24H], [HUM_MIN_24H], [HUM_MAX_24H]
Dieses könnte eine Bug sein, der in kommenden Versionen nicht mehr auftritt, aber zur Vollständigkeit hier erwähnt werden sollte.
HalloFreshHomeUser hat geschrieben: ↑10.10.2018, 10:30
Ich hab übrigens noch ein weiteres Innenraum Thermometer, kann man das irgendwie auch einbinden ?
SO WERDEN ZUSATZMODULE EINGEBUNDEN
Die IDs weiterer Innenmodule beginnen mit 03:00:00.
Zusatzmodul liefern Temperatur, Feuchtigkeit und CO2 Werte. Es wird nur eine neue Systemvariable für den CO2 Wert benötigt. Ich nenn sie mal CO2_SZ (ggf. Im unteren Teil den Namen anpassen). Und ein weiteres CuXD Gerät.
Folgende Anpassungen im Skript müssen gemacht werden:
Im ersten Teil (rot im HowTo) eine weitere Zeile einfügen mit der ID.
z.B.: set szid "IDdesZusatzinnenmodules"
Unten muss folgender Block eingefügt werden (nach dem grünen Block im HowTo):
Und im letzten Teil folgendes einfügen: (CuXD Gerätenummern anpassen!!)Code: Alles auswählen
log debug "polling zusatzmodule..." set url "https://api.netatmo.net/api/getmeasure?access_token=$accesstoken&device_id=$deviceid&module_id=$szid&scale=max&type=Temperature,Humidity,CO2&date_end=last" log debug "querying $url" catch {exec /usr/local/addons/cuxd/curl -k -# $url} response log debug "response is: $response" regexp {\"value\":\[\[(.*?),(.*?),(.*?)\]} $response dummy ztemp zhum zco2 log info "LogI is $response" log info "Inside temperature is $ztemp" log info "Inside humidity is $zhum" log info "Inside CO2 level $zco2"
Irgendwo zwischen diese Zeilen:
set rega_cmd ""
rega_script $rega_cmd
Code: Alles auswählen
append rega_cmd "var ZTemp = dom.GetObject('CUxD.CUX9002001:1.SET_TEMPERATURE');" append rega_cmd "var ZHumi = dom.GetObject('CUxD.CUX9002001:1.SET_HUMIDITY');" append rega_cmd "var ZCO2 = dom.GetObject('CO2_SZ');" append rega_cmd "ZTemp.State('$ztemp');" append rega_cmd "ZHumi.State('$zhum');" append rega_cmd "ZCO2.State('$zco2');"