Z-Wave Wetterstation DIY Teil 2 - Fibaro HC2 Virtual Device

Geschrieben von mdietinger

Im ersten Teil dieses Tutorials zeigte ich euch, wie Ihr euch eine eigene Z-Wave Wetterstation mit dem Z-UNO bauen könnt. In diesem zweiten Teil soll es um die Visualisierung im Fibaro Home Center und auf einem Display gehen.

Wetterstation Teil 2 :VD & Wetter Display

Nachdem ich mir meine eigene Wetterstation auf Z-Uno basierend gebastelt habe, musste natürlich auch eine Lösung her, um die Werte zusammengefasst anzeigen zu können.
Weiterhin wollte ich die Daten zu EmonCMS übertragen, wo ich auch schon meine Wärmepumpen-Daten gesammelt und visualisiert habe. Im Laufe der letzten Monate wurde die Lösung immer umfangreicher.

Funktionen:

  • Alle Konfigurationen werden übersichtlich im LUA Script gemacht.
  • Alle Variablen werden automatisch erzeugt
  • Das VD holt sich seine Konfigurationen aus den Variablen.
  • Alle Labels werden automatisch beschriftet.
  • Die Lösung unterstützt alle Arten von Wettersensoren (Temperatur, Wind, Luftdruck,....)
  • Die Lösung unterstützt weiters auch Leistung und Stromverbruach (Falls sich wer seine Verbraucher darstellen möchte)
  • Bei eingestellten Schwellwerten können Aktionen getriggert werden.
    • Die Trigger Konditionen können auch durch Fremd Scripte geändert werden.
  • Diverse Webservices können mit Daten versorgt werden. (Wunderground, EmonCMS,...)
  • Das Nextion Display kann verwendet werden um Daten lokal anzuzeigen.
    • Mit etwas Programmieraufwand könnte das Display auch Retour fähig gemacht werden und auch die HC2 steuern.
      • z.B. Alarm Panel
      • Übersicht aller Türen und Fenster
      • Heizungsteuerung
      • ....
  • Benutzerverständigung wenn keine Daten mehr geliefert werden. (Heardbeat von Z-UNO)
  • Tägliche min/max Zusammenfassung als Mail. (Monats und Jahresstatistik wird auch erzeugt)
  • Umrechnung der Wetterparameter auf andere Einheiten. (z.B. °C auf °F)
  • Berechnung von Taupunkt
  • Lüftungsratgeber
    • Kein Lüften
    • Lüften
    • Oder Heizen, wenn Lüften nicht reichen sollte.
  • Irgendetwas habe ich sicher vergessen :-)

DIY - Z-Wave Wetterstation

LUA Configurations Script Erklärung:

Vollständiges Script in "Implementierung".

BASIC Konfig:

Die Beschreibung aller Parameter ist im LUA Script.
Zumindest alle Parameter welche mit "<>" hervorgehoben sind, müssen auf deine eigenen Werte geänndert werden.
"Full automatic mode"  - nur in der eigenen Verantwortung verwenden! (Bitte zuvor ein Backup durchführen)

Sensor Konfiguration:

Alle Sensor ID's sind von meiner Konfiguration und müssen auf eure angepasst werden.
Beschreibung aller Funktionen ist im Code kommentiert.
Der Text links von den Sensoren (Field description) ist nur eine Hilfe (Kommentar) und kann auf Eure Bedürfnisse geändert werden. (Bitte auch in den folgenden Teilen ändern)

DIY - Z-Wave Wetterstation

VD Konfiguration:

Bitte auf Eure Konfiguration anpassen.

Im virtuellen Device:
Wie ihr Emojis in eurem VD anzeigen könnt findet ihr hier (Danke an Hubertus).

Wunderground Konfiguration:

Falls ihr eure Wetterwerte auf Wunderground darstellen möchtet könnt ihr euch dort registrieren:
https://www.wunderground.com/personal-weather-station/signup

Ihr bekommt dann Station ID und Key welche in der Konfig eingetragen werden können. Dann werden Eure Daten alle 5 Minuten zu Wunderground übertragen.

Wenn nicht, könnt ihr alle Zeilen welche zur Wunderground Konfiguration gehören löschen. (Obiger Auszug)

 

EmonCMS Konfiguration:

Falls ihr eure Wetterwerte auf EmonCMS darstellen möchtet, könnt ihr euch dort registrieren:
https://emoncms.org/

Alternativ zur gehosteten Lösung gibt es auch die Möglichkeit EMONCMS lokal auf einen Raspberry zu installieren. (myConfig.WebService_Url muss auf lokale IP Adresse geändert werden). Details findet Ihr auf der Webseite.

Meine Integration soll nur eine Hilfe liefern, um die Daten auf EmonCMS darzustellen. Wie ihr den Service konfiguriert würde diesen Bericht sprengen. (Online Manual)

Hinweis: Ab 1. Juli wird für diesen Dienst eine Gebühr verrechnet, lokal ist die Lösung weiterhin als Opensource verfügbar.

Wenn nicht verwendet, bitte löschen.

Nextion Konfiguration:

Die Lösung wird weiter unten im Bericht dokumentiert.

Wenn nicht verwendet bitte löschen.

VD Konvertierungs Regeln und Formeln (bei Bedarf eigene Funktionen zufügen):

Taupunkt Berechnung:

Lüftungs Ratgeber:

Implementierung:

Kopiert folgendes Script in ein neues LUA script: Wetterconfig_LUA

Benennt Namen z.B. auf Wetter_Config und führt das Script aus.

Nun werden alle Variablen erzeugt(oder geändert) und das VD kann die Konfiguration lesen.

Ladet das Virtuelle Device hier herunter ":WETTER

Importiert in der HC2 das virtuelle Device:

  • Module
  • Füge Gerät hinzu
  • Importiere Virtuelles Gerät (Datei auswählen)

Fertig!!

Das virtuelle Gerät sollte in ein paar Sekunden alle Tasten und Labels Beschriften und jede Minute die Werte updaten.
Nicht vergessen: Nach jeder Konfigurationsänderung das LUA Konfigurations Script speichern und ausführen.

Danach Rebooted das VD.

Sollte das VD mal wegen nicht existierenden device ID's hängen, Konfiguration richtig stellen und VD einfach Speichern, das sollte das VD aus der Fehlermeldung bringen und das Device neu starten.

Beispiel Wetter Trigger Szene:

Trigger Variable auf Eure ändern.

Mit dem auskommentierten Teil könnt ihr auch die Trigger Kriterien im Script ändern.
z.B. keine weiteren Meldungen, oder neue min/max Triggerwerte.

Nextion Display:

Kitlist:

Das Amazon bestellt werden.
Den Amazon.

Nodemcu programieren:

Am Besten mit diesem Tutorial starten: http://henrysbench.capnfatz.com/henrys-bench/arduino-projects-tips-and-more/arduino-esp8266-lolin-nodemcu-getting-started/
Darin wird das Setup der Arduino Oberfläche und das verwenden des Nodemcu's erklärt.

Das Arduino script gibts hier: https://www.siio.de/wetterstation-nextion
Bitte runterladen und in Arduino Oberfläche öffnen.

Dann noch User Name & Passwort von Eurem WLAN Router ändern und auf NodeMCU laden.

Bitte Eurem NodeMCU eine fixe IP Adresse an eurem Rooter zuweisen und diese IP dem Wetter Display Konfigurations LUA Script eintragen.

Display programieren:

Die Nextion Programierumgebung herunterladen:https://www.itead.cc/display/nextion.html
Das Wetterdisplay.hmi file in den Nextion Editor laden, gibts hier: Wetterdisplay.HMI
Das Programm kompilieren, auf eine micro SD Karte kopieren und Bildschirm neu starten.

Nach dem Aufspielen der SW, micro SD Karte enfernen.

Verkabelung:

Verkabelung ist relativ einfach, da man nur die Stecker des mitglieferten Nextion Kabels auf die NodeMCU Pins stecken muss.

  • microUSB vom Netzteil auf Nodemcu microUSB Buchse
  • NEXTION 5V - NodeMCU VUSB
  • NEXTION GND - NodeMCU GND
  • NEXTION TX - NodeMCU RX
  • NEXTION RX - NodeMCU TX

Wenn alles richtig gemacht wurde sollte das Display im Minuten Rythmus die neuen Werte anzeigen.

Nun noch ein schmuckes Gehäuse und fertig ist das Display. (Habe ein Gehäuse beim Conrad gefunden wo ich noch die Front ausschneiden musste, genaue Type habe ich leider nicht notiert)

Diesen Blogpost hat geschrieben ...

mdietinger

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner