Integration Platform basierend auf ESP mit FHEM Modulen

Begonnen von saghonfly, 29 Mai 2020, 19:03:47

Vorheriges Thema - Nächstes Thema

saghonfly

Hallo,


schaut euch bitte mal dieses Github Projekt an welches es sich zum Ziel gemacht hat, möglichst günstig und einfach eine Komplettlösung für die Integration von verschiedensten Sensoren (später auch Aktoren) zu erstellen.
https://github.com/saghonfly/shrdzm/wiki


Das ganze steckt noch in den Kinderschuhen, wird aber stetig erweitert werden.

Mittlerweile gibt es dazu auch 2 Module für FHEM (SHRDZM, SHRDZMDevice).

Würde mich freuen wenn es ein paar Freiwillige gibt die sich das Projekt mal ansehen und entsprechend Rückmeldung geben um es letztendlich allgemein brauchbar zu machen.

Gruss
Saghonfly



Update: 23.06.2020
Die Einschränkung auf Sensoren wurde aus dem Konzept raus genommen. Vom Prinzip geht es nun generell um eine Integrations Plattform mit dem Fokus auf einer Ende-zu-Ende Lösung basierend auf ESP's, ESPNow und flexibler Integrations-Infrastruktur.



Update: 31.08.2020 (Version 0.3.0)
Implementierung Integration Style III (Mobile Integration) und SDS011 Beispiel hinzugefügt.



Update: 06.11.2020 (Version 0.3.1)
SmartMeter Siemens IM350 Device hinzugefügt.https://github.com/saghonfly/shrdzm/wiki/IM350

M.Schulze

Hallo,

ist ein interessantes Projekt, aber ...

Ich arbeite nebenbei schon länger an einer eigenen Platform für Sensoren und Geräte.

Erste Generation ist schon im Einsatz. Ist  aber fix compiliert. Modular nur auf Quell-Code Ebene. ESP8266 ist damit wegen begrenzter Hardware abgehakt. Basiert auch auf dem alten nonos-SDK. Leistungsfähig aber ohne Zukunft.

Zweite Generation (alpha) ist im Kern so aufgebaut wie ein WEB-Server, ja wie FHEM, Modular mit Kommandos und Modulen, statt fhem.cfg eine makerfile.cfg, standardisierte Callbacks im Modul, auch im Select-Loop, jedenfalls soweit meine C-Kenntnisse dies zulassen und soweit mir das sinnvoll erscheint.
Bei RegEx-C-Umsetzung und bei Implementierung von Multithreading ist da allerdings aktuell oft Schluss.

Meine Meinung:
Ich würde nicht zu viel Zeit investieren in solch ein auf Arduino Framework basierendes Projekt. Nicht zukunftssicher. Nicht für alle SoC (sofort) einsetzbar. Haben auch schon andere probiert (auch hier aus dem Forum, glaube ich)
Eher etwas mehr Entwicklungszeit einkalkulieren und es gleich richtig machen, einen leisungsfähigeren SoC (ESP-32), dann gleich mit ESP-IDF entwickeln. Dann sollte es zukünftig auch auf allen Linux SoCs laufen, wenn die Projekte (Module) doch größer werden.


MfG
Muss ich das Licht aus machen?

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

PeMue

Hallo,

Zitat von: saghonfly am 29 Mai 2020, 19:03:47
Würde mich freuen wenn es ein paar Freiwillige gibt die sich das Projekt mal ansehen und entsprechend Rückmeldung geben um es letztendlich allgemein brauchbar zu machen.
den Ansatz mit den drei verschiedenen Integrationsmöglichkeiten finde ich interessant.
Allerdings unterscheidet sich die Variante I von der II nur durch den zwischengeschalteten MQTT Broker bzw. in IIa ist noch ein 433 MHz Empfänger mit dabei.
Was mich interessiert ist, ob die Möglichkeit des Batteriebetriebs besteht. Die ESP8266 sind m.E. für Batteriebetrieb nicht wirklich optimal.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

saghonfly

#4
Hallo,

ZitatAllerdings unterscheidet sich die Variante I von der II nur durch den zwischengeschalteten MQTT Broker bzw. in IIa ist noch ein 433 MHz Empfänger mit dabei.
Ja, da hast du völlig recht.
Den Ansatz es modular aufzubauen ist Teil des Konzeptes.
Mit dem Gateway soll nur die Verbindung zu den Devices abstrahiert werden.
Ob dieses Gateway direkt (also seriell), über einen MQTT Wrapper oder/und über das noch geplante GSM Modul eingebunden werden soll ist dann von den Rahmenbedingungen des Einsatzes abhängig.
Befinden sich die Devices in unmittelbarer Nähe vom Server wo auch zB.: FHEM läuft, bietet sich die einfache serielle Variante an.
Im Falle das sich die Devices zB.: an einem ganz anderen Ort befinden (zum Beispiel in der Zweitwohnung), macht es Sinn diese über die MQTT Variante anzubinden.
Für eine mobile Variante ist die GSM Variante angedacht (Integration Style III). Dieses kann man dann zB.: im Auto mitführen und die Devices wären damit auch mobil.

Zu IIa, ja....ist eigentlich nur ein Zusatz der nur deshalb dazugekommen ist weil ich mir ein zusätzliches Gateway sparen wollte um 433MHz Zwischensteckdosen bzw. Funkfernsteuerungen einzubinden.
Passt zugegebenermaßen nicht ganz ins Konzept und da bin ich mir selbst nicht sicher ob das Zukunft hat...

ZitatWas mich interessiert ist, ob die Möglichkeit des Batteriebetriebs besteht. Die ESP8266 sind m.E. für Batteriebetrieb nicht wirklich optimal.
Die Devices für die Sensoren sind prinzipiell für Batteriebetrieb gedacht, das Gateway eher nicht. Ich denke aber, das hast du damit nicht gemeint?
Leider ist es auch richtig, das die ESP's generell nicht sehr sparsam sind.
Mit dem Ansatz die ESP's so lange wie möglich im DeepSleep zu halten (stimmt, auch dabei sind sie nicht sooo sparsam) und nur für wenige Millisekunden hochzufahren um die Messung zu machen bzw. über ESPNow ohne allzu großen Overhead die Daten abzuschicken, hält sich der Stromverbrauch in Grenzen.
Versuche haben gezeigt, das ein ESP-12 mit einem DHT-22, einem Intervall von 2 Minuten und einem 18650-Akku mit 2.4 Ah, ca. drei bis vier Monate durchhält.
Hier sehe ich allerdings noch viel potential für Verbesserungen.

Die Gründe warum derzeit ESP's als Hardware und ESPNow als Transport verwendet wird ist dem derzeit unschlagbaren Preis eines 'Komplettsets' geschuldet bzw. dem einfachen Aufbaus dessen.


Gruss
Erich


sash.sc

Sprich das ganze baut auf espnow auf, und ist nicht mehr kompatibel zum normalen WLAN. Man braucht auf jeden Fall ein eigenes Gateway.
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

saghonfly

Hallo,

ZitatSprich das ganze baut auf espnow auf, und ist nicht mehr kompatibel zum normalen WLAN. Man braucht auf jeden Fall ein eigenes Gateway.

Ja, die Kommunikation zwischen den Sensoren (bzw. der Devices welche die Sensoren auslesen) und dem Gateway ist ESPNow.
Die Einbindung des Gateways ist dann flexibel.

Gruss
Erich

balli1187

Hab's nur kurz überflogen aber sehe jetzt keinen Vorteil gegenüber Tasmota oder ESPeasy (auch wenn ich letzteres nie genutzt hab).

Was kann diese Firmware, was die genannten nicht können?
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Papaloewe


Gisbert

Hallo Saghonfly,

ich hatte deinen Thread erst gesehen, nachdem ich Interesse für ESP-Now bekundet habe.
Anscheinend bist du ein Experte in diesen und anderen Dingen und kannst mir gelegentlich unter die Arme greifen.

Im Moment kann ich das Projekt aus Zeitgründen noch nicht starten, würde mich aber bei Zeiten melden, ich hoffe, das geht in Ordnung.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

PeMue

Zitat von: Papaloewe am 15 Juni 2020, 21:25:08
BATTERIEBETRIEB!
Ist ESP8266 und Batteriebetrieb nicht ein Widerspruch in sich?

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

MadMax-FHEM

Zitat von: PeMue am 16 Juni 2020, 07:55:09
Ist ESP8266 und Batteriebetrieb nicht ein Widerspruch in sich?

Gruß Peter

Wenn man diesem Video glauben darf, dann nicht generell: https://www.youtube.com/watch?v=6NsBN42B80Q  ;)

Allerdings ist es dann halt eigentlich kein ESP/WLAN mehr, sondern halt eine "eigene lowpower Kommunikation"...
...also wieder Gateway...

Dann ist der Unterschied zu z.B. mySensors nicht mehr wirklich gegeben bzw. wäre mir dann (aktuell) durch die bestehende Integration von z.B. mySensors das "lieber"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

balli1187

Zitat von: Papaloewe am 15 Juni 2020, 21:25:08
BATTERIEBETRIEB!
Tasmota unterstützt mittlerweile den deepsleep des ESP.
https://tasmota.github.io/docs/DeepSleep/

Damit sill Batteriebetrieb im allgemeinen möglich sein.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

MadMax-FHEM

Zitat von: balli1187 am 16 Juni 2020, 08:52:04
Tasmota unterstützt mittlerweile den deepsleep des ESP.
https://tasmota.github.io/docs/DeepSleep/

Damit sill Batteriebetrieb im allgemeinen möglich sein.

Ja aber dennoch mit sehr überschaubarer Laufzeit, weil eben zur Kommunikation immer noch: WLAN, Verbidung mit AP etc. nötig sind was eben lange/länger dauert und mehr Strom braucht als das "simple" ESP-Now...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Na ja, wenn WLAN im Spiel ist, ist das ganze eben energieintensiv, von daher dürfte dieses ESPNow Vorteile gg. der Tasmota-Lösung haben.

Ich sehe einen weiteren Vorteil der ESPNow-Lösung: das GW kann auch seriell angeschlossen werden, man braucht also keine "klassische" (W)-LAN-Infrastruktur.

Trotzdem wird auch ESPNow vermutlich nie die Batterie-Performance haben, die man mit MySensors oder AskSin++ erreichen kann - und mit der NRF52-Plattform gäbe es für MySensors auch eine "lötfreie" bzw. "lötreduzierte" Variante...

Aber sei's drum, es könnte eine Alternative für "Löteinsteiger" sein, von daher: Willkommen im Club!

Zitat von: saghonfly am 29 Mai 2020, 19:03:47
Mittlerweile gibt es dazu auch 2 Module für FHEM (SHRDZM, SHRDZMDevice).
Ein separates GW-Modul wird man dafür wohl brauchen, aber wir können uns gerne auch austauschen, ob man MYSENSORS_DEVICE ggf. "aufbohren" kann, um diese Art Client zu bedienen. Tendenziell würde ich heute aber dazu raten, schlicht MQTT2_DEVICE als Client zu nutzen, das kann das Meiste von alleine, wenn man die übergebenen Daten entsprechend aufbereitet.
Falls da Gesprächsbedarf besteht: Einfach melden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files