Skip to end of metadata
Go to start of metadata

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

 Hier klicken um das Change Log anzusehen...

Version 2.0

  • Die Verwendung des Netatmo Zertifikats ist nun optional (über Config Parameter steuerbar, default ist kein Zertifikat verwenden)

Version 1.0.1

  • Programm beendet sich nicht bei Fehlern (außer Authentifizierung), sonder macht retries alle 30 Sekunden.

Version 1.0

  • Unterstützung für Wind- und Regen Module - Danke an Christian der mir Zugang zu den Modulen gegeben hat.
  • Unterstützung beliebig vieler Stationen - also Stationen am Hauptwohnsitz, am Wochenendhaus usw.
  • Ausgelagerte Konfigurationsdatei - alle Config Daten sind nun in der Datei Configuration.properties
  • Stabilisierung der Netzwerk Verbindung, Programm macht retries wenn Netzwerk mal weg ist.

Version 0.7.1

  • Ausgabe der Versionsnummer beim Starten

Version 0.7

  • Ab nun wird dass mit dem Login erstellte Access Token so lange verwendet, bis es abgelaufen ist, erst dann wird ein neuer Login und damit ein neues Access Token gemacht. Dies ist das von Netatmo gewünschte Verhalten und spart jedenfalls Ressourcen ein - es werden nicht sinnlos Access Tokens erzeugt, die nicht verwendet werden. Könnte auch ein Netzwerkproblem eines Anwenders beheben, dessen Ursache aber nicht wirklich geklärt ist.

Version 0.6

  • weiteres Refactoring, besseres Werte Handling
  • Umrechnen der UTC Zeiten in Lokalzeit für Miniserver (MS Zeit beginnt ab 1.1.2009 und nicht 1.1.1970)
  • Workarounds für Miniserver Probleme
    • MS kann keine Texte über UDP empfangen
    • Status Baustein stellt Uhrzeit als Datum mit Millisekunde dar, deshalb wird die Uhrzeit als Zahl mit 2 Nachkommastellen gesendet - Darstellung: hh.mm
  • Außerdem mit dabei nun eine Demo Implementierung für den Miniserver

Version 0.5

  • Kompletter Re-Write mit neuer Struktur und neuer dynamischer Datenspeicherung über HashMaps

 Version 0.1

 

Downlods für schnell entschlossene

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 Miniserver Beispiel Config Datei 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 (wink)). 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-modulRegen-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

xx

<v> %

Batterieladung

 

<Modulname>.battery_vp=\v

3

 

x

x

xx

<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

xx

<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

xx

<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

xx

<v.2>

Uhrzeit letzte Nachricht als Zahl *)

nicht benutz in MS Demo Config

<Modulname>.last_seen=\v

219265538

 

x

x

xx

<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

xx

<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

xx

<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

xx

<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

xx

<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

xx

<v.t>

Uhrzeit der letzten Messung

 

<Modulname>.time_utc_tod_nmbr=\v

13.07

x

x

x

xx

<v.2>

Uhrzeit der letzten Messung als Zahl *)

 

<Modulname>.wifi_status=\v

2

x

 

 

  

<v> für Status

WIFI Signalqualität: 0=very bad, 1=bad, 2=medium, 3=good

 

<Modulname>.data_up_to_date=\v

1

x

x

x

xx

<v.x> für Status

Aktualität der Daten: 0=nicht aktuell (älter als 15 Minuten), 1=aktuell

 

<Modulname>.Rain=\v0.0    x<v> mmaktuelle Regenmenge in mm 
<Modulname>.sum_rain_1=\v1.0    x<v> mmRegenmenge der letzten Stunde 
<Modulname>.sum_rain_24=\v3.4    x<v> mmRegenmenge der letzten 24 Stunden 
<Modulname>.GustAngle=\v95   x <v> °Himmelsrichtung in Grad aus der die Böe kamZur Umrechnung in Himmelsrichtung siehe Statusbaustein in Demo
<Modulname>.GustStrength=\v12   x <v> km/hStärke der Böe 
<Modulname>.WindAngle=\v106   x <v> °Himmelsrichtung in Grad aus der der Wind kommtZur Umrechnung in Himmelsrichtung siehe Statusbaustein in Demo
<Modulname>.WindStrength=\v5   x  Windstärke 
<Modulname>.date_max_wind_str=\v221310738   x <v.u>Datum und Uhrzeit der Tages-Windspitze 
<Modulname>.date_max_wind_str_tod=\v40338   x <v.t>Uhrzeit der Tages-Windspitze 
<Modulname>.date_max_wind_str_tod_nmbr=\v11.12   x <v.2>Uhrzeit der Tages-Windspitze als Zahl *) 
<Modulname>.max_wind_angle=\v111   x <v> °Himmelsrichtung der Tages-WindspitzeZur Umrechnung in Himmelsrichtung siehe Statusbaustein in Demo
<Modulname>.max_wind_str=\v17   x <v> km/hStärke der Tages-Windspitze 

*) Statusbaustein stellt Zeit falsch dar, deshalb wird eine Zahl verwendet

 

Schritt für Schritt Anleitung

Hier eine Anleitung, wie man das ganze schnell zum Laufen bekommt, für ev. Probleme siehe auch das loxforum.

Netatmo Developer Account anlegen und Netatmo App erstellen

Zuerst muss man sich bei https://dev.netatmo.com registrieren und dort eine App erstellen.

  1. Einen neuen Account bei https://dev.netatmo.com anlegen, nicht die bestehenden Administrator Account Daten von https://my.netatmo.com für die Netatmo Wetterstation verwenden (also einen andere E-Mail Adresse verwenden). Warum ein neuer Account und nicht die bestehenden Account Daten verwenden? Dies hat zumindest die zwei folgenden Gründe:
    1. es muss das Passwort für diesen neuen Developer Account in dem Programm, das wir bauen, gespeichert werden
    2. bei mir hat schlicht und einfach der Zugriff auf den Admin Account - trotz richtiger Account Daten im Programm - nicht funktioniert, erst eine komplett neuer Account hat funktioniert
  2. Eine neue App unter https://dev.netatmo.com/dev/createapp anlegen, z.B. mit dem Namen Miniserver.MeinName - der Name darf noch nicht existieren (Achtung: Fehlermeldungen sind kaum zu erkennen!) 
  3. Vom Admin Account (der mit der Wetterstation) eine Einladung an den soeben neu erstellten Developer Account schicken (Station-Gäste > Per E-Mail teilen) und die Einladung annehmen. Nun hat der Developer Account und damit die App zugriff auf die Wetterstation.
    (Wenn jemand weiß wie man im Nachhinein, also nach der Einladung, noch Apps hinzufügen kann, die auch funktionieren, wäre ich dankbar für einen Tipp) 

JAVA und Eclipse installieren

  1. Von http://www.oracle.com/technetwork/java/javase/downloads/index.html die aktuelle Java JDK 8 Version herunterladen und installieren (JDK - also Java  Development Kit, nicht JRE - das ist nur die Runtime)
  2. Als IDE wird Eclipse verwendet, deshalb von https://eclipse.org/downloads/ die Eclipse IDE for Java Developers herunterladen und in einen eigenen Ordner mit Namen eclipse extrahieren.
  3. eclipse.exe starten, den vorgeschlagenen Workspace akzeptieren und dann, wenn das Eclipse Fenster erscheint, auf das Icon Workbench (rechts oben) klicken. Später importieren wir dann das Netatmo Projekt in Eclipse.

 

 Netatmo Zertifikate installieren - ab V 2.0 NICHT mehr erforderlich...

Netatmo API Zertifikat in Keystore importieren

Ab Version 2.0 ist die Default Einstellung OHNE Zertifikate zu arbeiten. Wer weiß was ert tut kann das mit dem entsprechenden Config Parameter ändern und wieder MIT Zertifikaten arbeiten.

HINWEIS: Ohne Zertifikate zu arbeiten birgt das minimale Sicherheitsrisiko, das jemand die Netatmo Domäne kapert und einem falsche Werte unterjubelt. Der Vorteil ist, man muss nicht alle paar Jahre, wenn Netatmo sein Zertifikat erneuern muss, ein neues Zertifikat laden. Ich persänli (Maximilian Weißböck) verwende keine Zertifikate mehr.

Die folgenden Schritte als Administrator ausführen, da man sonst an mangelnden Schreibrechten scheitern könnte.

  1. Das Zertifikat von der Seite https://api.netatmo.net laden und abspeichern (je nach Browser unterscheidet sich das Vorgehen etwas). 
    1. die Seite https://api.netatmo.net mit einem Browser öffnen - es wird ein Error Code angezeigt, das ist ok
    2. das Zertifikat im Browser anzeigen lassen und dann abspeichern, der Name der Zertifikats-Datei sollte api.netatmo.net.crt sein.
  2. mit dem Programm keytool das Zertifikat in den cacerts Keystore importieren. Das Programm keytool befindet sich im java/bin Verzeichnis, für Windows in C:\Program Files\Java\jdk1.8.0_65\bin und für OS X in /System/Library/Frameworks/JavaVM.framework/Home/bin/  
    1. die Keystore Datei ist die Datei "C:\Program Files\Java\jre1.8.0_65\lib\security\cacerts" (bzw. /System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts unter OS X) und ist schreibgeschützt, deshalb zuerst die Eigenschaften/Sicherheit so ändern, das man darauf Schreibrechte hat
    2. dann für Windows folgendes Kommando ausführen:
      "C:\Program Files\Java\jre1.8.0_65\bin\keytool" -import -alias netatmo -file api.netatmo.net.crt -keystore "C:\Program Files\Java\jre1.8.0_65\lib\security\cacerts"
      für OS X ist es entsprechend: 
      sudo keytool -import -alias netatmo -file api.netatmo.net.crt -keystore /System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts
    3. es wird nach dem Passwort gefragt, das Default Passwort des Keystore ist: changeit - dieses eingeben
    4. die Frage, ob das Zertifikat hinzugefügt werden soll, mit j beantworten

Damit ist das Zertifikat importiert. Das ist wichtig, da das Java Programm sonst einen Fehler wirft, dass der Verbindung nicht vertraut wird.

Eclipse Projekt importieren, anpassen und laufen lassen

Projekt Importieren

  1. Die Datei Netatmo4Loxone.zip herunterladen
  2. Die Datei in Eclipse importieren, dazu wie folgt vorgehen:
    1. File > Import... > General > Existing Projects into Workspace > Next >
    2. Select archive file auswählen mit Browse die heruntergeladene zip Datei suchen und auswählen
    3. es wird das Project angezeigt und ausgewählt, Finish klicken
    4. das Projekt wird nach ein paar Sekunden links im Package Explorer angezeigt

Projekt anpassen und laufen lassen

  1. Die Datei Configuration.properties muss angepasst werden, hier sind die Miniserver Adresse und Port (für UDP Datenkommuikation) sowie die Netatmo Developer Account-Daten und App-Daten einzutragen. Außerdem können noch weitere Dinge wie mehr Stationen Support und Debug Ausgaben eingestellt werden.
    1. die Datei öffnen, sie ist im src Verzeichnis
    2. die Miniserver Adressdaten und Netatmo Zugangsdaten mit deneigenen Werte ersetzen - den Rest bei bedarf anpassen
    3. die Änderungen nochmals kontrollieren und speichern
  2. Die Einstellungen für die Zertifikatsdatei anpassen NICHT mehr erforderlich ab V 2.0 wenn keine Zertifikate verwendet werden!
    1. Menü Run > Run Configurations... und dort den Tab Arguments öffnen
    2. hier muss der Pfad zu den Zertifikaten eingetragen werden, die je nach System unterschiedlich sind. In das Feld VM Arguments ist einzutragen:
      Für Windows: -Djavax.net.ssl.trustStore="C:///Program Files/Java/jre1.8.0_65/lib/security/cacerts"
      Für OS X: -Djavax.net.ssl.trustStore=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts
    3. die Änderungen speichern (Apply) und das Configuration Fenster schließen
  3. Nun über das Menü Run > Run as > Java Application das Programm starten (der Projektname, also Netatmo4Loxone, muss selektiert sein)
    1. wenn alles gut geht, dann wird im Console Fenster der Output des Programms angezeigt, es werden die Namen der Wetterstation sowie die vorhandene Module und die Werte ausgegeben.
    2. wenn nicht alles gut geht, dann werden die aufgetretenen Fehler angezeigt und man muss rausfinden, was nicht passt.

UDP Daten in Loxone empfangen und anzeigen

Jetzt fehlt nur mehr der letzte Schritt, die Daten in Loxone emmpfangen und anzeigen. Die Daten werden über UDP an die konfigurierte Loxon Adresse gesendet. Wie man UDP Daten empfängt und auswertet, ist hier http://www.loxone.com/dede/service/dokumentation/loxone-config/peripherie/kommunikation-udp.html beschrieben. Oder die Anleitung hier UDP Eingang definieren verwenden.

Die Daten haben prinzipiell folgenden Aufbau:

Modulname.wertname=xxx 

bzw.

Sationsname.Modulname.wertname=xxx 

wenn Unterstützung für mehrere Stationen konfiguriert wurde


Bei mir sieht das z.B. so aus (ohne Multi-Station Support)

Esszimmer.CO2=831 Esszimmer.Humidity=39 Esszimmer.Noise=61 Esszimmer.Pressure=1021 Esszimmer.Temperature=21.0 Esszimmer.date_max_temp=220963619 Esszimmer.date_max_temp_tod=38819 Esszimmer.date_max_temp_tod_nmbr=10.46 Esszimmer.date_min_temp=220958481 Esszimmer.date_min_temp_tod=33681 Esszimmer.date_min_temp_tod_nmbr=9.21 Esszimmer.max_temp=21.6 Esszimmer.min_temp=18.6 Esszimmer.pressure_trend=1 Esszimmer.temp_trend=0 Esszimmer.time_utc=220968150 Esszimmer.time_utc_tod=43350 Esszimmer.time_utc_tod_nmbr=12.02 Esszimmer.wifi_status=3 Esszimmer.data_up_to_date=1

Außen.Humidity=85 Außen.Temperature=-1.1 Außen.battery_percent=74 Außen.battery_vp=3 Außen.date_max_temp=220932758 Außen.date_max_temp_tod=7958 Außen.date_max_temp_tod_nmbr=2.12 Außen.date_min_temp=220968102 Außen.date_min_temp_tod=43302 Außen.date_min_temp_tod_nmbr=12.01 Außen.last_message=220968160 Außen.last_message_tod=43360 Außen.last_message_tod_nmbr=12.02 Außen.last_seen=220968154 Außen.last_seen_tod=43354 Außen.last_seen_tod_nmbr=12.02 Außen.max_temp=2.1 Außen.min_temp=-1.1 Außen.rf_status=2 Außen.temp_trend=1 Außen.time_utc=220968102 Außen.time_utc_tod=43302 Außen.time_utc_tod_nmbr=12.01 Außen.data_up_to_date=1

Schlafzimmer.CO2=812 Schlafzimmer.Humidity=40 Schlafzimmer.Temperature=20.0 Schlafzimmer.battery_percent=68 Schlafzimmer.battery_vp=3 Schlafzimmer.date_max_temp=220925537 Schlafzimmer.date_max_temp_tod=737 Schlafzimmer.date_max_temp_tod_nmbr=0.12 Schlafzimmer.date_min_temp=220958446 Schlafzimmer.date_min_temp_tod=33646 Schlafzimmer.date_min_temp_tod_nmbr=9.2 Schlafzimmer.last_message=220968160 Schlafzimmer.last_message_tod=43360 Schlafzimmer.last_message_tod_nmbr=12.02 Schlafzimmer.last_seen=220968135 Schlafzimmer.last_seen_tod=43335 Schlafzimmer.last_seen_tod_nmbr=12.02 Schlafzimmer.max_temp=20.5 Schlafzimmer.min_temp=17.7 Schlafzimmer.rf_status=4 Schlafzimmer.temp_trend=1 Schlafzimmer.time_utc=220968135 Schlafzimmer.time_utc_tod=43335 Schlafzimmer.time_utc_tod_nmbr=12.02 Schlafzimmer.data_up_to_date=1

Kinderzimmer.CO2=880 Kinderzimmer.Humidity=39 Kinderzimmer.Temperature=20.2 Kinderzimmer.battery_percent=76 Kinderzimmer.battery_vp=3 Kinderzimmer.date_max_temp=220926113 Kinderzimmer.date_max_temp_tod=1313 Kinderzimmer.date_max_temp_tod_nmbr=0.21 Kinderzimmer.date_min_temp=220952410 Kinderzimmer.date_min_temp_tod=27610 Kinderzimmer.date_min_temp_tod_nmbr=7.4 Kinderzimmer.last_message=220968160 Kinderzimmer.last_message_tod=43360 Kinderzimmer.last_message_tod_nmbr=12.02 Kinderzimmer.last_seen=220968147 Kinderzimmer.last_seen_tod=43347 Kinderzimmer.last_seen_tod_nmbr=12.02 Kinderzimmer.max_temp=20.8 Kinderzimmer.min_temp=18.8 Kinderzimmer.rf_status=3 Kinderzimmer.temp_trend=1 Kinderzimmer.time_utc=220968147 Kinderzimmer.time_utc_tod=43347 Kinderzimmer.time_utc_tod_nmbr=12.02 Kinderzimmer.data_up_to_date=1

Regenmesser.Rain=0.0 Regenmesser.battery_percent=100 Regenmesser.battery_vp=4 Regenmesser.last_message=221332153 Regenmesser.last_message_tod=61753 Regenmesser.last_message_tod_nmbr=17.09 Regenmesser.last_seen=221332147 Regenmesser.last_seen_tod=61747 Regenmesser.last_seen_tod_nmbr=17.09 Regenmesser.rf_status=0 Regenmesser.sum_rain_1=0.0 Regenmesser.sum_rain_24=0.0 Regenmesser.time_utc=221332134 Regenmesser.time_utc_tod=61734 Regenmesser.time_utc_tod_nmbr=17.08 Regenmesser.data_up_to_date=1

Windmesser.GustAngle=95 Windmesser.GustStrength=12 Windmesser.WindAngle=106 Windmesser.WindStrength=5 Windmesser.battery_percent=100 Windmesser.battery_vp=4 Windmesser.date_max_wind_str=221310738 Windmesser.date_max_wind_str_tod=40338 Windmesser.date_max_wind_str_tod_nmbr=11.12 Windmesser.last_message=221331929 Windmesser.last_message_tod=61529 Windmesser.last_message_tod_nmbr=17.05 Windmesser.last_seen=221331929 Windmesser.last_seen_tod=61529 Windmesser.last_seen_tod_nmbr=17.05 Windmesser.max_wind_angle=111 Windmesser.max_wind_str=17 Windmesser.rf_status=0 Windmesser.time_utc=221331929 Windmesser.time_utc_tod=61529 Windmesser.time_utc_tod_nmbr=17.05 Windmesser.data_up_to_date=1

Java Programm Standalone laufen lassen

Funktioniert alles, so möchte man das Java Programm natürlich auch ohne Eclipse laufen lassen. Auch das geht ganz einfach über den Export als Runnable JAR file

  1. File > Export... > Java > Runnable JAR file > Next > 
    1. als Launch configuration Netatmo4Loxone verwenden
    2. mit den Standardeinstellungen exportieren, als Dateiname z.B. netatmo.jar verwenden
  2. Eine Command Shell dort öffnen, wohin man die netatmo.jar Datei exportiert hat
  3. Das Programm mit dem folgendem Befehl aufrufen: 
    1. für OS X: java -Djavax.net.ssl.trustStore=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts -jar netatmo.jar
    2. für Windows: java -Djavax.net.ssl.trustStore="C:///Program Files/Java/jre1.8.0_6 5/lib/security/cacerts" -jar netatmo.jar

Next Steps

Das ganze läuft bei mir und wohl auch bei einigen anderen seit einiger Zeit stabil, folgendes steht noch auf meiner Liste

  • Besser dokumentieren und das ganze in einem Source Code Repository ablegen.
  • Dem Miniserver die Möglichkeit bieten, den Status abzufragen, um sicherstellen zu können, dass die Werte aktuell sind (lebt das Programm noch?)
  • Version erstellen, die kein Zertifikat braucht (schon mal getestet, muss ich mal sauber machen...)
  • Thema Rain Gauge - Werte kleiner 1mm/h werden derzeit als 0mm/h angezeigt (aus 0,8mm/h in der Netatmo-App wird in Loxone 0mm/h). Ein Netatmo API Problem? Eher vermute ich ein abschneiden der Daten beim Umwandeln / Übertragen nach Loxone ...

Folgende Punkte wurden bereits erledigt

  • Erledigt - Besseres Fehlerhandling im Programm selbst - die ganzen Klassen gehören in Wirklichkeit Refaktorisiert, da es (hoffentlich) nur Beispiele sind und nicht wirklich sauber programmiert ist.
  • Erledigt - Logger statt syso und syserr verwenden.
  • Erledigt - Weitere Daten von den Modulen an den MS senden, vor allem Batteriezustand und auch Funksignalstärke.
  • Erledigt - NaN Werte gar nicht übertragen.
  • Erledigt - Zeit Wert so übertragen, das er nutzbar ist.
  • Erledigt  - Mehrere Stationen unterstützen, derzeit wird nur eine (die erste) unterstützt.
  • Erledigt - Regen, Wind und Thermostat Daten einbinden
  • Erledigt - Das ganze mal auf einem Raspberry Pi ausprobieren, müsste da auch problemlos laufen - hat ein User aus dem Forum schon gemacht und läuft bei mir seit Monaten problemlos

 

 

33 Comments

  1. Habe bei mir ein PHP Script auf einem Raspberry laufen der die Anmeldung bei Netatmo erledigt.

    Bei Aufruf des Script werden folgende Daten 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.

    1. Ja genau, diese Daten (JSON Objekt) werden dann bei mir extrahiert und als UDP Key=Value String an Loxone gesendet. Mit ein paar zusätzlichen Dingen, z.B. wird ein online_status errechnet für jedes Modul, abhängig davon wann es sich zuletzt gemeldet hat. Aber diese Version muss ich erst finalisieren und hochladen.

  2. Was ich noch nicht ganz verstanden habe: Dieses Java Programm muss ich jetzt in bestimmten Abständen ausführen damit ich aktuelle Daten bekomme, korrekt? 

    1. Nein, du startest das Programm ein Mal und lässt es laufen. Dann werden alle 4 Minuten die Werte abgefragt und an den MS gesendet. Netatmo überträgt aber nur alle 10 Minuten, damit die Daten aber nicht zu alt sind, bis sie am MS landen werden sie alle 4 Minuten abgefragt - auch wenn immer 2 mal die selben Werte kommen werden. Kürzer als 4 Minuten macht aber keinen Sinn.

  3. Die neue Version 0.7 verwendet das Access Token richtig, bitte jedenfalls ein Update machen!

  4. ...wie kann ich mit den Daten meines Regen- und Windmessers weiterhelfen?

    1. Im Wesentlichen musst du mir wahrscheinlich einfach eine Einladung über die Netatmo Admin App für deine Wetterstation senden.
      Meine Netatmo Adresse ist: office AT weissboeck PUNKT info

  5. Hallo

    Ich schaffe es nicht, das Zertifikat in "cacerts" einzufügen. Die Datei kann nicht gefunden werden. Wo muss ich das Zertifikat vorgängig abspeichern?

    Bin nicht der Programmierprofi...

    Danke für die kurze Antwort

    1. Unter Windows liegt die Datei im Verzeichnis, wo Java installiert wurde, z.B. unter  "C:\Program Files\Java\jre1.8.0_65\lib\security\cacerts"

      Wenn du den Pfad angibst, darauf achten dass da leider Leerzeichen drinnen sind, also das Hochkomma " .... "  rundherum nicht vergessen! Einfach mal mit dem Explorer suchen und dann den Pfad kopieren.

      1. super danke. das habe ich nun geschafft. Dafür ein anderes Problem:

        Nun zeigt es in der Visualisierung immer "0" an. Kann das damit zusammenhängen, dass ich nicht im selben Netzwerk programmiere wie der Miniserver ist? 

        Zudem kann ich Java nicht Standalone laufen lassen: "unable to access jarfile netatmo.jar" Was kann da das Problem sein?

        Wo muss Java selbständig laufen? Muss der PC oder Server immer laufen?

        Sorry für die vielen Fragen...

        1. Ja, du musst im selben Netz sein. Und schau zuerst in der Miniserver Konsole ob du die Daten überhaupt bekommst, bevor du in der GUI schaust - du musst ja auch die Befehlserkennung auf deine Namen anpassen.

          "unable to access ..." - Problem wie vorher, du musst den Pfad zum jar File richtig setzen oder halt in dem Verzeichnis starten, wo sich das jar File befindet. Und ja, natürlich muss der Rechner und das Programm immer laufen.

          1. besten Dank nochmals, Dann kann ich es leider eigentlich vergessen, da ich keinen Server betreibe und den PC nicht extra für das immer laufen lassen möchte.

            Schade...

             

            1. Nimmst du dir einen Raspberry Pi, der kostet fast nix, ist winzig klein und braucht ganz wenig Strom. Jemand aus dem Forum hat es schon am Raspberry Pi laufen und kann dir sicher helfen.

              1. schaue ich mir gerne mal an (smile)

                Besten Dank nochmals für die super unterstützung

  6. Hallo zusammen,

    in Kürze erhalte ich auch meine Netatmo und wollte schonmal alles vorbereiten und die tollen Tips hier umsetzen. An der Stelle wo das Zertifikat heruntergeladen werden soll und abgespeichert werden soll scheitere ich momentan. Ich starte wie beschrieben unter Windows 10 x64 den Internet Explorer als Admin und lade die Seite: https://api.netatmo.net/

    Es kommt wie beschrieben die Fehlermeldung: "Die Webseite wurde nicht gefunden". Habe jetzt alles mögliche versucht, um an das Zertifikat zu kommen... rechte Maustate, Quellcode anzeigen oder über Einstellungen, Internetoptionen, Inhalte, Zertifikate... komme aber nicht zum Ziel. Bin ich einfach zu früh dran, weil ich noch keine Netatmo Software installiert habe?

    Folgende Browser habe ich ausprobiert: Mozilla Firefox (v. 43.0.4), Internet Explorer 11, Microsoft Edge.

    Oder gibt es noch einen anderen Workaround? Kann die Zertifikatedatei ggf. hier auch von jmd. hochgeladen werden? Oder ist es möglich an dieser Stelle eine noch detailliertere Beschreibung zu erhalten, für die gängigsten Browser?

     

    Danke für Eure Unterstützung...

     

    1. Also mit Firefox geht das so:

      • auf grünes Schloss klicken
      • > klicken

       

      • Weitere Informationen klicken

       

      • Zertifikat anzeigen klicken

       

      • Details klicken
      • Exportieren... klicken

       

       

       

       

      1. Max - Super! Das hat geholfen... konnte nun via Firefox mit dieser Beschreibung das Zertifikat abspeichern...

         

        Herzlichen Dank!!!

    2. Bei mir hats mit Google Chrom funktioniert. Ähnlich wie Max es mit Firefox erklärt hat...

      1. Danke Marc... konnte nun erfolgreich das Zertifikat speichern...

  7. Hallo!

    Zuerst mal Danke dafür, dass es dieses Programm gibt! Läuft seit Monaten verlässlich bei uns, hervorragend!

    Eine Frage habe ich allerdings zum Thema Rain Gauge - seh ich das richtig dass die Netatmo API hier nur ganze Millimeter liefert, und daher 0,8mm/h (wie es z.Bsp. in der Netatmo-App angezeigt wird) als 0mm/h übertragen werden?

    1. Muss ich mir bei Gelegenheit mal ansehen...

  8. Hallo Netatmo und Loxone Spezialsiten (smile)

    Ich wollte heute mal die Netatmo Wetterstation per Beschreibung oben integrieren. Das schien auch zu klappen. Aber ich bekomme sehr viele rote Zeilen in der Ausgabe mit falschen werten Das sind alles Warnungen.

    Nach dem Start sieht es so aus:

     

    Hello Miniserver, this is Netatmo4Loxone version 1.0 calling you at address 192.168.1.250:7474

    Aug 31, 2016 4:17:44 PM n4l.netatmo.NetatmoDataExtractor setStringValue

    WARNUNG: No value found for Winkel.Indoor.pressure_trend in jsonObject:{"date_min_temp":1472637611,"time_utc":1472652897,"date_max_temp":1472636223,"Temperature":24.8,"Noise":39,"min_temp":23.1,"temp_trend":"down","Humidity":70,"CO2":387,"AbsolutePressure":954.2,"max_temp":27.4,"Pressure":1018.3}

    Will set value 'pressure_trend' instead - this will trigger another warning if this value is read

    Aug 31, 2016 4:17:44 PM n4l.netatmo.NetatmoDataExtractor setStringValue

    WARNUNG: No value found for Winkel.Außenmodul.temp_trend in jsonObject:{"date_min_temp":1472641360,"time_utc":1472646460,"date_max_temp":1472634317,"Temperature":25.2,"min_temp":23.7,"Humidity":60,"max_temp":27.6}

    Will set value 'temp_trend' instead - this will trigger another warning if this value is read

     

    This are your Stations and their Modules
    Aug 31, 2016 4:17:44 PM n4l.model.Module getValueForName
    WARNUNG: No mapping found for Winkel.Indoor.pressure_trend, will return -999 instead - this shall be interpreted as an illegal value
    Aug 31, 2016 4:17:44 PM n4l.model.Module getValueForName
    WARNUNG: No mapping found for Winkel.Außenmodul.temp_trend, will return -999 instead - this shall be interpreted as an illegal value
    Station [name=Winkel, id=70:ee:50:1d:f4:5c]
    Module [station=Winkel, name=Indoor, id=70:ee:50:1d:f4:5c, type=NAMain]
    Indoor.AbsolutePressure=954
    Indoor.CO2=387
    Indoor.Humidity=70
    Indoor.Noise=39
    Indoor.Pressure=1018
    Indoor.Temperature=24.8
    Indoor.date_max_temp=241875423
    Indoor.date_max_temp_tod=41823
    Indoor.date_max_temp_tod_nmbr=11.37
    Indoor.date_min_temp=241876811
    Indoor.date_min_temp_tod=43211
    Indoor.date_min_temp_tod_nmbr=12.0
    Indoor.max_temp=27.4
    Indoor.min_temp=23.1
    Indoor.pressure_trend=-999
    Indoor.temp_trend=0
    Indoor.time_utc=241892097
    Indoor.time_utc_tod=58497
    Indoor.time_utc_tod_nmbr=16.14
    Indoor.wifi_status=3
    Indoor.data_up_to_date=1
    Module [station=Winkel, name=Außenmodul, id=02:00:00:1e:2c:c0, type=NAModule1]
    Außenmodul.Humidity=60
    Außenmodul.Temperature=25.2
    Außenmodul.battery_percent=100
    Außenmodul.battery_vp=4
    Außenmodul.date_max_temp=241873517
    Außenmodul.date_max_temp_tod=39917
    Außenmodul.date_max_temp_tod_nmbr=11.05
    Außenmodul.date_min_temp=241880560
    Außenmodul.date_min_temp_tod=46960
    Außenmodul.date_min_temp_tod_nmbr=13.02
    Außenmodul.last_message=241885718
    Außenmodul.last_message_tod=52118
    Außenmodul.last_message_tod_nmbr=14.28
    Außenmodul.last_seen=241885660
    Außenmodul.last_seen_tod=52063
    Außenmodul.last_seen_tod_nmbr=14.27
    Außenmodul.max_temp=27.6
    Außenmodul.min_temp=23.7
    Außenmodul.rf_status=0
    Außenmodul.temp_trend=-999
    Außenmodul.time_utc=241885660
    Außenmodul.time_utc_tod=52060
    Außenmodul.time_utc_tod_nmbr=14.27
    Außenmodul.data_up_to_date=0
    Module [station=Winkel, name=Windmesser, id=06:00:00:01:10:6e, type=NAModule2]
    Windmesser.GustAngle=90
    Windmesser.GustStrength=1
    Windmesser.WindAngle=-1
    Windmesser.WindStrength=0
    Windmesser.battery_percent=100
    Windmesser.battery_vp=4
    Windmesser.date_max_wind_str=241875941
    Windmesser.date_max_wind_str_tod=42341
    Windmesser.date_max_wind_str_tod_nmbr=11.45
    Windmesser.last_message=241892109
    Windmesser.last_message_tod=58509
    Windmesser.last_message_tod_nmbr=16.15
    Windmesser.last_seen=241892109
    Windmesser.last_seen_tod=58509
    Windmesser.last_seen_tod_nmbr=16.15
    Windmesser.max_wind_angle=63
    Windmesser.max_wind_str=6
    Windmesser.rf_status=2
    Windmesser.time_utc=241892096
    Windmesser.time_utc_tod=58496
    Windmesser.time_utc_tod_nmbr=16.14
    Windmesser.data_up_to_date=1
    Module [station=Winkel, name=Regenmesser, id=05:00:00:02:85:50, type=NAModule3]
    Regenmesser.Rain=0.0
    Regenmesser.battery_percent=100
    Regenmesser.battery_vp=4
    Regenmesser.last_message=241892109
    Regenmesser.last_message_tod=58509
    Regenmesser.last_message_tod_nmbr=16.15
    Regenmesser.last_seen=241892109
    Regenmesser.last_seen_tod=58509
    Regenmesser.last_seen_tod_nmbr=16.15
    Regenmesser.rf_status=2
    Regenmesser.sum_rain_1=0.0
    Regenmesser.sum_rain_24=0.202
    Regenmesser.time_utc=241892096
    Regenmesser.time_utc_tod=58496
    Regenmesser.time_utc_tod_nmbr=16.14
    Regenmesser.data_up_to_date=1

     

    UDP Data sent to Miniserver 192.168.1.250:7474 at 2016.08.31 16:17:44

    Aug 31, 2016 4:17:44 PM n4l.model.Module getValueForName

    WARNUNG: No mapping found for Winkel.Indoor.pressure_trend, will return -999 instead - this shall be interpreted as an illegal value

    Indoor.AbsolutePressure=954 Indoor.CO2=387 Indoor.Humidity=70 Indoor.Noise=39 Indoor.Pressure=1018 Indoor.Temperature=24.8 Indoor.date_max_temp=241875423 Indoor.date_max_temp_tod=41823 Indoor.date_max_temp_tod_nmbr=11.37 Indoor.date_min_temp=241876811 Indoor.date_min_temp_tod=43211 Indoor.date_min_temp_tod_nmbr=12.0 Indoor.max_temp=27.4 Indoor.min_temp=23.1 Indoor.pressure_trend=-999 Indoor.temp_trend=0 Indoor.time_utc=241892097 Indoor.time_utc_tod=58497 Indoor.time_utc_tod_nmbr=16.14 Indoor.wifi_status=3 Indoor.data_up_to_date=1

    Aug 31, 2016 4:17:44 PM n4l.model.Module getValueForName

    WARNUNG: No mapping found for Winkel.Außenmodul.temp_trend, will return -999 instead - this shall be interpreted as an illegal value

    Außenmodul.Humidity=60 Außenmodul.Temperature=25.2 Außenmodul.battery_percent=100 Außenmodul.battery_vp=4 Außenmodul.date_max_temp=241873517 Außenmodul.date_max_temp_tod=39917 Außenmodul.date_max_temp_tod_nmbr=11.05 Außenmodul.date_min_temp=241880560 Außenmodul.date_min_temp_tod=46960 Außenmodul.date_min_temp_tod_nmbr=13.02 Außenmodul.last_message=241885718 Außenmodul.last_message_tod=52118 Außenmodul.last_message_tod_nmbr=14.28 Außenmodul.last_seen=241885660 Außenmodul.last_seen_tod=52060 Außenmodul.last_seen_tod_nmbr=14.27 Außenmodul.max_temp=27.6 Außenmodul.min_temp=23.7 Außenmodul.rf_status=0 Außenmodul.temp_trend=-999 Außenmodul.time_utc=241885660 Außenmodul.time_utc_tod=52060 Außenmodul.time_utc_tod_nmbr=14.27 Außenmodul.data_up_to_date=0

    Windmesser.GustAngle=90 Windmesser.GustStrength=1 Windmesser.WindAngle=-1 Windmesser.WindStrength=0 Windmesser.battery_percent=100 Windmesser.battery_vp=4 Windmesser.date_max_wind_str=241875941 Windmesser.date_max_wind_str_tod=42341 Windmesser.date_max_wind_str_tod_nmbr=11.45 Windmesser.last_message=241892109 Windmesser.last_message_tod=58509 Windmesser.last_message_tod_nmbr=16.15 Windmesser.last_seen=241892109 Windmesser.last_seen_tod=58509 Windmesser.last_seen_tod_nmbr=16.15 Windmesser.max_wind_angle=63 Windmesser.max_wind_str=6 Windmesser.rf_status=2 Windmesser.time_utc=241892096 Windmesser.time_utc_tod=58496 Windmesser.time_utc_tod_nmbr=16.14 Windmesser.data_up_to_date=1

    Regenmesser.Rain=0.0 Regenmesser.battery_percent=100 Regenmesser.battery_vp=4 Regenmesser.last_message=241892109 Regenmesser.last_message_tod=58509 Regenmesser.last_message_tod_nmbr=16.15 Regenmesser.last_seen=241892109 Regenmesser.last_seen_tod=58509 Regenmesser.last_seen_tod_nmbr=16.15 Regenmesser.rf_status=2 Regenmesser.sum_rain_1=0.0 Regenmesser.sum_rain_24=0.202 Regenmesser.time_utc=241892096 Regenmesser.time_utc_tod=58496 Regenmesser.time_utc_tod_nmbr=16.14 Regenmesser.data_up_to_date=1

     

     

    Ich sehe hier einige sehr plausible Daten von Sensoren. Also glaube ich eigentlich, dass es funktioniert.

     

    Später dann, also während ich das geschrieben habe, bekomme ich nur noch Warnungen. Die sehen dann in etwa so aus: 

     

    WARNUNG: No value found for Winkel.Indoor.pressure_trend in jsonObject:{"date_min_temp":1472637611,"time_utc":1472653197,"date_max_temp":1472636223,"Temperature":25.4,"Noise":36,"min_temp":23.1,"temp_trend":"down","Humidity":69,"CO2":396,"AbsolutePressure":954.2,"max_temp":27.4,"Pressure":1018.3}

    Will set value 'pressure_trend' instead - this will trigger another warning if this value is read

    Aug 31, 2016 4:21:48 PM n4l.netatmo.NetatmoDataExtractor setStringValue

    Sehe hier nicht so wirklich durch.

    Gruss

    Reto

     

    1. Kann ich momentan nicht sagen, muss ich mir mal ansehen, wird aber etwas dauern...

  9. Hallo Max,

    War gerade noch am Loxone integrieren. Fast alles drin. Ich bin mir nicht sicher. Es könnte sein, dass der Sensor der da ROT kam, nicht online war, oder ausser Reichweite. Im Moment scheinen alle Werte anzukommen. Aber vielleicht wäre Deine Analyse wertvoll. Denn der Rest hier, also die Anleitung ist perfekt. Es klappte bestens. Bis auf die Unsicherheit mit den Fehlern.

    Gruss

    Reto

  10. Ach, ich wollte Dir noch danken für die tolle Arbeit... ging im Trubel mit Daten hin und her ganz unten. Super Sache diese Anleitung hier. !!!!

    1. Danke, das freut mich (smile) 

      Zu deinem Problem, ich bin mir auch ziemlich sicher, dass die Messwerte nicht verfügbar waren - genau deshalb habe ich das mit den -999 Werten nämlich eingebaut, damit klar ist, dass die aktuell nicht da sind.

  11. Hallo Max,

    Ja, das wird so sein, denn es tritt nicht oft auf, aber man sieht dann halt nur noch die roten, die "schwarzen" sind nicht im Konsolen Fenster ersichtlich, wenn das Das File läuft. Ansonsten scheinen die Werte korrekt zu sein. UNd es scheint zu funktionieren. Die Netatmo Funkverbindung ist etwas wackelig. WIr haben hier einen Neubau, nach neustenm STand der Technik (wink) sprich Minergie und Erdbebensicher...und Funk durch die Wände schier unmöglich. Ich musste 9 Ubiquiti Unifi Zellen setzen, damit wir überall WLAN zur Verfügung haben. Und die sind ja auch nicht von schlechten Eltern...
    DECT das gleiche. 6 Zellen damit DECT überall funktioniert. (Ist eben eine Wohn und Geschäftshaus, da muss das Telefon schon funnktionieen).

    Das platzieren der Sensoren wird mich also noch eine Weile beschäftigen. Die Station kam heute morgen an. Und inzwischen ist sie, dank Deiner Anleitung im Loxone drin. Ein paar Sensoren muss ich noch fertig machen. aber das meiste ist drin.

    Gruss

    Reto

     

  12. Das Programm läuft nun im Standalone Mode auf einem virtuellen Rechner, der für solche Aufgaben konfiguriert ist, darauf laufen noch andere Programme (auslesen der Daten aus der "kleinen" Solaranlage 12V mit Batterie für ein Amateurfunk Relais), Unifi Controller für das Wlan etc...

    Alle 2 MInuten werden die Werte an die Loxone geschickt. das funktioniert bestens. Bei Temperatur Minmum habe ich seltsame werte. meistens stimmen sie, aber plötzlich ist da wieder ein Wert drin der völlig falsch ist, beispielsweise 0°+ oder 7,2°....aber die tiefste Temperatur effektiv war um die 13°

    Die Fehler bei der Übertragung sind weg. Muss in der Tat mit der Erreichbarkeit der Sensoren zusammenhängen. Alles in allem eine Super Sache und das gibt mir neue Sensoren, welche ich zum Schalten und programmieren verwenden kann, nebst der Wetterstation im Loxone App. Super Sache! Danke nochmals für die ausführliche Anleitung. Hat bestens funtkioniert.

     

    Gruss

    Reto

     

  13. Falls jemand noch Interesse hat den Taupunkt/Frostpunkt zu berechnen kann zwei Module "Formel" mit 2 Eingängen (Ai1=Temperatur, Ai2= Luftfeuchtigkeit) einbauen. Am Ausgeang steht dann der Taupunkt/Frostpunkt an. Die Formel lautet dann:

    Taupunkt:
    237.3*LOG(I2/100*(6.1078*10^(7.5*I1/(237.3+I1)))/6.1078)/(7.5-LOG(I2/100*(6.1078*10^(7.5*I1/(237.3+I1))))/6.1078)

    Frostpunkt:
    265.5*LOG(I2/100*(6.1078*10^(9.5*I1/(265.5+I1)))/6.1078)/(9.5-LOG(I2/100*(6.1078*10^(9.5*I1/(265.5+I1))))/6.1078)

    Danach mit dem Modul "Status" mit 2 Eingängen (Ai1=Taupunkt, Ai2= Frostpunkt) auswerten. Bild angefügt.

     

     

     

     

  14. Und hier die Formel für den Windchill:

    13.12+0.6215*I1-11.37*(I2^0.16)+0.3965*I1*(I2^0.16)

    Gleich integrieren wie oben.(Formel Modul: Ai1=Temperatur, Ai2=Windgeschwindigkeit)

     

     

    Und wer möchte noch den Hitzeindex:

    Formel:

    -8.784695+1.61139411*I1+2.338549*I2+(-0.14611605)*I1*I2+(-1.2308094*10^-2)*I1^2+(-1.6424828*10^-2)*I2^2+2.211732*10^-3*I1^2*I2+7.2546*10^-4*I1*I2^2+(-3.582*10^-6)*I1^2*I2^2+0.5

     

     

     

     

  15. Wenn jemand weiß wie man im Nachhinein, also nach der Einladung, noch Apps hinzufügen kann, die auch funktionieren, wäre ich dankbar für einen Tipp

    Ich hab keine Ahnung ob du es schon rausgefunden hast Maximilian Weißböck, aber wenn du dich in netatmo einloggst und auf "Meine Produkte" gehst siehst du rechts oben das Einstellungen Symbol. Da drauf geklickt und ein Stück nach unten gescrollt kommen die Einlademöglichkeiten (E-Mail, facebook, .....).

     

  16. Kann es sein, dass es Befehle wie

    • date_max_temp_tod_nmbr
    • last_message_tod_nmbr

    nicht mehr gibt / nicht mehr übermittelt werden?

  17. hello,

    has anyone tried NodeRed integration? It should be way more easier to send the data from any netatmo device in the map over UDP towards Loxone?

    thx