Hi, anbei das Script für Wetterstation und drei Zusatzmodule, läuft super. Kleine Fehlerbeseitigung, sonst top. Danke für die Mühe.
Code: Alles auswählen
!Abfrage der Netatmodaten über eigenen webserver
string netatmoRequest ="/usr/local/addons/cuxd/curl -k -# http://<eigene webseite>/Netatmo/ReqNetatmoData.php?start=Start&state=123456789";
dom.GetObject ("CUxD.CUX2801001:1.CMD_SETS").State(netatmoRequest); !Der auszuführende Befehl wird festgelegt
dom.GetObject ("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1); !mit Wert 1 kann anschließend mit CMD_RETS der Output abgefragt werden
string netatmoData = dom.GetObject ("CUxD.CUX2801001:1.CMD_RETS").State().Trim(); !Mit der Abfrage von .State() des Datenpunktes CMD_RETS wird das Befehl ausgeführt und das Ergebnis zurückgeliefert
! Der String liefert Timestamp (als integer-Wert), WZ_Temp, WZ_CO2, WZ_Rel_Feuchte, WZ_Sonometer, Luftdruck, Luftdruck_Abs, Luftdruck_Trend, TempAussen_Netatmo,
! LuftfeuchteAussen_Netatmo, Regen_Aktuell_Netatmo, Regenmenge_1h_Netatmo, Regenmenge_24h_Netatmo, dummy, dummy, dummy, dummy, dummy, Regenmenge_Monat_Netatmo
!Beispiel: 1665505994, 21.8, 742, 54, 42, 1020, 996.7, stable, 11.4, 70, 0, 0, 0.1, 22.2, 709, 57, 1016.3, 41, 10
! Schreiben der gelieferten Werte in die entsprechenden Systemvariablen:
if ((netatmoData <> null) && (netatmoData.Length() > 0)) {
string tin = netatmoData.StrValueByIndex(",",1);
dom.GetObject("WZ_Temp").State(tin);
string co2 = netatmoData.StrValueByIndex(",",2);
dom.GetObject("WZ_CO2").State(co2);
string huin = netatmoData.StrValueByIndex(",",3);
dom.GetObject("WZ_Rel_Feuchte").State(huin);
string noise = netatmoData.StrValueByIndex(",",4);
dom.GetObject("WZ_Sonometer").State(noise);
string press = netatmoData.StrValueByIndex(",",5);
dom.GetObject("Luftdruck").State(press);
string pressAbs = netatmoData.StrValueByIndex(",",6);
dom.GetObject("Luftdruck_Abs").State(pressAbs);
string trend = netatmoData.StrValueByIndex(",",7);
dom.GetObject("Luftdruck_Trend").State(trend);
string tout = netatmoData.StrValueByIndex(",",8);
dom.GetObject("TempAussen_Netatmo").State(tout);
string huout = netatmoData.StrValueByIndex(",",9);
dom.GetObject("LuftfeuchteAussen_Netatmo").State(huout);
string rainakt = netatmoData.StrValueByIndex(",",10);
dom.GetObject("Regen_Aktuell_Netatmo").State(rainakt);
string rain1h = netatmoData.StrValueByIndex(",",11);
dom.GetObject("Regenmenge_1h_Netatmo").State(rain1h);
string rain24h = netatmoData.StrValueByIndex(",",12);
dom.GetObject("Regenmenge_24h_Netatmo").State(rain24h);
string tbad = netatmoData.StrValueByIndex(",",13);
dom.GetObject("Bad_Temp").State(tbad);
string hubad = netatmoData.StrValueByIndex(",",15);
dom.GetObject("Luftfeuchte_Bad").State(hubad);
string tsz = netatmoData.StrValueByIndex(",",16);
dom.GetObject("SZ_Temp").State(tsz);
string husz = netatmoData.StrValueByIndex(",",18);
dom.GetObject("Luftfeuchte_SZ").State(husz);
string tzim = netatmoData.StrValueByIndex(",",19);
dom.GetObject("Zim_Temp").State(tzim);
string huzim = netatmoData.StrValueByIndex(",",21);
dom.GetObject("Luftfeuchte_Zim").State(huzim);
string rain1M = netatmoData.StrValueByIndex(",",27);
dom.GetObject("Regenmenge_Monat_Netatmo").State(rain1M);
}