ESP8266 / FreeRTOS Integration in Homegear

Tach.

Ich betreibe ESP8266 (NodeMCU Hardware) unter FreeRTOS mit diversen Sensoren und Autoren daran.
Die gelieferten Werte sollen in eine SQLite DB geschrieben werden und die ESPs über eine Webanwendung verwaltet werden.
Ich schreibe in die SQLite DB schon aus Homegear Skripten heraus, z.B. um Heizungsthermostate zu steuern oder deren Temperaturen aufzuzeichnen.
Soweit alles kein Problem.

Nun überlege ich, die ESP8266 Module ihre Werte an Homgear zu liefern und und dann über Scripte von Homegear in die DB zu schreiben.

Dazu sehe ich prinzipiell zwei Wege:

  1. Per MQTT als Metadaten oder Systemvariable schreiben und über einen Variable geändert-Event ein Script starten, das die Werte in die DB schreibt.
    Ich hatte mich durch die Dokumentation gelesen und das scheint zu gehen.
    Frage: Ist das so ?

  2. Selber eine Integration in Homegear entwickeln.
    Davor graut mir ein bisschen. Noch einen Crosscompiler auf dem Mac installieren, PHP7 für den Raspi übersetzen ? Nicht unbedingt Primärziel.
    Dazu finde ich die vorhandene Dokumentation, bei allem Respekt für die Entwicklungsleistung die in Homegear steckt und die Qualität die die Implementierung hat, auch nicht wirklich ermutigend.
    Frage: Wie ist der Aufwand für eine Integration einzuschätzen ?

Gibt es noch andere Möglichkeiten ?

Mir geht es vor allem darum, concurrent writes beim liefern der Werte von den Knoten an die DB und die damit verbundenen Probleme zu verhindern. Die ESP8266 Knoten können MQTT, d.h. eine Abfrage und die Steuerung durch die Webseite ist kein Problem.
Ich möchte aber, z.B. vom Bewegungssensor getriggerte Aktionen auslösen, d.h. ein Script auf dem Homegear-Raspberry muss darauf sofort reagieren und z.B. das Licht einschalten, eine periodische Abfrage fällt aus.
Eine zusätzliche DB fände ich auch blöd, da dann die Webseite mit zwei DBs umgehen müsste. Auch nicht was mann unbedingt will.

Grüße,

DerThomas

Schau Dir mal das OpenWeatherMap AddOn an. Im Prinzip ist das eine XML Gerätebescheibungsdatei mit integriertem PHP Script, welches regelmäßig eine Webseite abfragt und als Gerätevariablen bereitstellt. Von “außen” stellt sich das dann wie ein ganz normales Homematik Gerät dar. Sollte für Deine Zwecke ganz gut passen der Ansatz.

2 Likes

Ich nutze dazu ESPEasy auf meinen ESP’s und “droppe” die Daten in mqtt, teilweise mit Persistenz.
Über node-red schiebe ich die Daten in einem mysql-DB, je nachdem wie ich sie brauche.

Meine Visualisierung (node-red-dashboard) fragt dann bei der Datenbank an um (z.B.) einen Graph zu erzeugen.



PS: Muss mir FreeRTOS und auch Mongoose auf jeden Fall mal angucken.

1 Like

So ein Beispiel habe ich gesucht, Danke.

1 Like