Netatmo in Loxone einbinden
OBSOLET - wird nicht mehr gewartet, es gibt ein Loxberry Plugin für Netatmo: https://wiki.loxberry.de/plugins/netatmo_weather/start?s%5B%5D=netatmo
WICHTIGER HINWEIS Da das Problem immer wieder mal vorkommt
Wenn sich Werte in der Anzeige nicht ändern oder folgender Fehler (in der Konsole des Programms, nicht am Miniserver) gemeldet wird:
org.json.JSONException: JSONObject["dashboard_data"] not found
dann ist sehr wahrscheinlich die Batterie eines Netatmo Moduls leer oder keine Funkverbindung zum Modul, es sind dann keine Dashboard Daten verfügbar.
Doku von Netatmo:
dashboard_data
Last data measured per device (NB: this field is not returned when the device is unreachable)
VERSION 2.0
Wichtiger Hinweis
Gegenüber der Version 1.0.x hat sich die Konfiguration geändert - es kann nun eingestellt werden, dass KEIN Netatmo Zertifikat verwendet wird. Details siehe im Artikel.
Change Log
Downlods für schnell entschlossene
Eclipse Java Projekt
Beispiel Confíg für Minserver
Diskussion und Fragen bitte im Forum.
Anleitung
Hier eine Anleitung, wie man seine Netatmo Daten relativ einfach in Loxone bekommt. Das ganze baut auf den Ideen von https://github.com/lost-carrier/netatmo-api auf (hat aber mittlerweile nichts mehr damit zu tun) und ist eine auf Java 8 basierende Lösung. Es werden beliebig viele Basisstationen mit zusätzlichen Außenmodulen, weiteren Innenmodulen sowie Wind- und Regenmodule unterstützt.
Unterstützung für das Thermostat einzubauen sollte nicht allzu schwierig sein. Troubleshooting Tipps zur Inbetriebnahme gibt es auch im loxforum.
Und so sieht das ganze dann in der mitgelieferten Loxone Demo App aus
Bilder: Netatmo4Loxone
Miniserver Beispiel Config Datei für obige Auswertung
Hier kann die für obige Ausgaben heruntergeladen werden.
Angepasst werden müssen die Modulnamen in der Befehlserkennung, in der folgenden Tabelle in Spitzen Klammern <....> aufgeführt
Unterstützung mehrerer Stationen
Hat man mehr als eine Basisstation im Einsatz, z.B. eine am Hauptwohnsitz, eine im Wochenendhaus, so kann man in der Konfiguration (siehe weiter unten) einstellen, dass nicht nur die Modulnamen sonder auch die Stationsnamen für die Werte Übermittlung verwendet werden. In der folgenden Tabelle werden immer nur der <Modulname> angeführt, hat man Unterstützung für mehrere Stationen aktiviert, so wird immer <Stationsname>.<Modulname> übermittelt.
Übermittelte Werte
In der folgenden Tabelle sind alle Werte dokumentiert, die je nach Modul übertragen werden. Der Modulname ist mit den jeweils eigenen Werten zu ersetzten.
Alle Zeiten und das Datum werden vom Programm in Lokalzeit mit Basis 1.1.2009 umgerechnet (Zeitbasis für Miniserver statt wie üblich 1.1.1970 - es soll ja nicht zu einfach sein ). Wenn der Miniserver und der Rechner auf dem das Programm läuft, die selbe Zeitzone eingestellt haben, dann werden die Zeitangaben der Messung korrekt dargestellt.
Befehlserkennung | Beispielswert | Basis-modul | Außen-modul | Innen-modul | Wind-modul | Regen-modul | Anzeige Einheit | Erklärung | Anmerkung |
|---|---|---|---|---|---|---|---|---|---|
<Modulname>.CO2=\v | 1026 | x |
| x |
|
| <v> ppm | CO2 |
|
<Modulname>.Humidity=\v | 41 | x | x | x |
|
| <v> % | Luftfeuchtigkeit |
|
<Modulname>.Noise=\v | 42 | x |
|
|
|
| <v> db | Lärm |
|
<Modulname>.Pressure=\v | 1022 | x |
|
|
|
| <v> mbar | Luftdruck |
|
<Modulname>.Temperature=\v | 21.6. | x | x | x |
|
| <v.1> °C | Temperatur |
|
<Modulname>.battery_percent=\v | 74 |
| x | x | x | x | <v> % | Batterieladung |
|
<Modulname>.battery_vp=\v | 3 |
| x | x | x | x | <v> | Batteriestatus: 0=very low, 1=low, 2=medium, 3=high, 4=full |
|
<Modulname>.date_max_temp=\v | 219240152 | x | x | x |
|
| <v.u> | Datum & Uhrzeit Maximaltemperatur, Sekunden seit 2009.01.01 | nicht benutzt in MS Demo Config |
<Modulname>.date_max_temp_tod=\v | 43352 | x | x | x |
|
| <v.t> | Uhrzeit der Maximaltemperatur, Sekunden seit 00:00:00 |
|
<Modulname>.date_max_temp_tod_nmbr=\v | 8.12 | x | x | x |
|
| <v.2> | Uhrzeit der Maximaltemperatur als Zahl *) |
|
<Modulname>.date_min_temp=\v | 219230176 | x | x | x |
|
| <v.u> | Datum & Uhrzeit Minimaltemperatur, Sekunden seit 2009.01.01 | nicht benutz in MS Demo Config |
<Modulname>.date_min_temp_tod=\v | 33376 | x | x | x |
|
| <v.t> | Uhrzeit der Minimaltemperatur, Sekunden seit 00:00:00 |
|
<Modulname>.date_min_temp_tod_nmbr=\v | 11.18 | x | x | x |
|
| <v.2> | Uhrzeit der Minimaltemperatur als Zahl *) |
|
<Modulname>.last_message=\v | 219265551 |
| x | x | x | x | <v.u> | Datum & Uhrzeit letzte Nachricht, Sekunden seit 2009.01.01 | nicht benutz in MS Demo Config |
<Modulname>.last_message_tod=\v | 68751 |
| x | x | x | x | <v.t> | Uhrzeit letzte Nachricht, Sekunden seit 00:00:00 | nicht benutz in MS Demo Config |
<Modulname>.last_message_tod_nmbr=\v | 9.45 |
| x | x | x | x | <v.2> | Uhrzeit letzte Nachricht als Zahl *) | nicht benutz in MS Demo Config |
<Modulname>.last_seen=\v | 219265538 |
| x | x | x | x | <v.u> | Datum & Uhrzeit wann sich das Modul zuletzt gemeldet hat | nicht benutz in MS Demo Config |
<Modulname>.last_seen_tod=\v | 68738 |
| x | x | x | x | <v.t> | Uhrzeit wann sich das Modul zuletzt gemeldet hat | nicht benutz in MS Demo Config |
<Modulname>.last_seen_tod_nmbr=\v | 9.45 |
| x | x | x | x | <v.2> | Uhrzeit wann sich das Modul zuletzt gemeldet hat als Zahl *) | nicht benutz in MS Demo Config |
<Modulname>.max_temp=\v | 21.0 | x | x | x |
|
| <v.1> °C | Tages-Maximaltemperatur |
|
<Modulname>.min_temp=\v | 19.0 | x | x | x |
|
| <v.1> °C | Tages-Minimaltemperatur |
|
<Modulname>.pressure_trend=\v | 2 | x |
|
|
|
| <v> | Luftdruck Trend: 0=fallend, 1=gleichbleibend, 2=steigend |
|
<Modulname>.rf_status=\v | 2 |
| x | x | x | x | <v> | Stärke Funksignal: 0=very low, 1=low, 2=medium, 3=high, 4=full |
|
<Modulname>.temp_trend=\v | 1 | x | x | x |
|
| <v> | Temperatur Trend: 0=fallend, 1=gleichbleibend, 2=steigend |
|
<Modulname>.time_utc=\v | 219265541 | x | x | x | x | x | <v.u> | Datum & Uhrzeit der letzten Messung - Lokalzeit NICHT UTC! | nicht benutz in MS Demo Config |
<Modulname>.time_utc_tod=\v | 68741 | x | x | x | x | x | <v.t> | Uhrzeit der letzten Messung |
|
<Modulname>.time_utc_tod_nmbr=\v | 13.07 | x | x | x | x | x |
Habe bei mir ein PHP Script auf einem Raspberry laufen der die Anmeldung bei Netatmo erledigt.
Bei Aufruf des Script werden folgende zurückgegeben die dann mittels virtuellen http Eingangsverbindern von der Loxone abgerufen werden können.
Werde in den nächsten Tagen ein HOWTO dafür schreiben.