Dieses Projekt hat natürlich erstmal rein GAR NICHTS mit ESPuino zu tun. Der der ESPuino jedoch auch MQTT kann und der damit erforderliche Broker (glaube ich) eher zöglicherlich angenommen wird, wollte ich mal noch ein bisschen Input liefern. Und zwar Input für ein Thema, für das sich eine Smarthome-Lösung wie z.B. openHAB vielleicht für dich lohnen könnte. Denn hat man das auf einem Raspberry Pi laufen, so ist der Weg zum MQTT-Broker Mosquitto nicht mehr weit, weil man die Infrastruktur eh schon hat. Von daher: Ja, zugegeben, für das hier beschriebene Projekt braucht man kein MQTT
Und zwar geht es darum, die Temperatur + Luftfeuchtigkeit in verschiedenen Zimmern zu messen. Es gibt hier kommerzielle Lösungen natürlich zu kaufen, aber entweder fehlt diesen Konnektivität oder aber sie sind cloudbasiert und man hat nicht die Datenhoheit.
Sensoren
Kann man sich natürlich alles selbst bauen, aber es gibt günstige Sensoren auch zu kaufen. Beispielsweise der Technoline TX29 DTH-IT. Hat ein integriertes Batteriefach (2xAA), ein Display und ein integriertes Funkmodul. Gehört eigentlich zu einem mehr oder weniger proprietären System, aber man kann das Ganze für seine Zwecke „missbrauchen“, da die Übertragung nicht verschlüsselt ist.
Sind die Batterien reingesteckt, so sucht sich dieser Sensor selbstständig eine zweistellige ID, mit der er auf 868 MHz funkt. Ich betreibe 13 solcher Sensoren bereits seit über zwei Jahren und musste noch bei keinem die Akkus (Eneloop) tauschen. Nett finde ich einfach, dass man auf den Sensor auch einfach draufschauen kann und nicht nur auf sein Handy angewiesen ist. Wasserdicht ist der Sensor übrigens nicht, aber mann kann ihn in ein Haus stecken und dann wird alles gut
Empfänger
Nun muss man die Daten natürlich auch empfangen. Dafür eignet sich ein sog. Jeelink-Clone. Das ist ein Arduino nano mit Adapterplatine [PCB] für ein Funkmodul + Antenne. Am besten auch noch einen Pegelwandler von 5V auf 3.3V für das Funkmodul, da der nano mit 5V läuft. Darauf muss dann ein Sketch aufgespielt werden. Wenn man die Teile einzeln kauft und in China bestellt (außer Adapterplatine), müsste man so mit 12-13eur etwa hinkommen würde ich sagen. Den PCB kann man bei eBay kaufen oder alles auch direkt hier: nanoCUL.de. Wichtig ist, dass man sich an den Stichworten „868Mhz, LaCrosse und RFM12B bzw. RFM69CW“ orientiert. Falsch ist auf jeden Fall „CUL“. Keine Sorge: Die Seite heißt zwar Nanocul, aber es gibt dort auch andere Sachen. Bist du dir unsicher: Hier gibt’s das alles fertig: JeeLink - LaCrosse 868MHz für FHEM / ioBroker USB - Stick + USB Adapter | eBay
Im Anschluss muss man den Jeelink einfach nur noch in den Raspi via USB einstecken. Fertig.
Integration in openHAB
Für Jeelink gibt es ein passendes Plugin (im OH-Spech ‚Binding‘): Jeelink. Das muss man installieren und den Jeelink anschließend als „Thing“ einrichten. Über die „Channels“ werden die einzelnen TX29-Sensoren dann erkannt und können Items zugewiesen werden. Erkannt werden sie anhand ihrer IDs, welche zweistellig sind. Wie oben bereits erwähnt, hat man selbst keinen Einfluss auf die Wahl der IDs. D.h. entnimmt man einem Sensor die Batterien und macht neue rein, so gibt es eine neue ID und man muss die Konfiguration in openHAB anpassen. Das ist natürlich etwas doof, aber wie auch bereits erwähnt: Ich betreibe das Ganze schon >zwei Jahre und musste noch nix auswechseln.
Auswertung
Nun ist es mit der Anzeige der Daten ggf. nicht getan, sondern man möchte sich auch Temperaturkurven anzeigen lassen. Hierfür muss man die Daten persistieren, wofür man sich mit Persistence beschäftigen muss. Ich persönlich persistiere meine Daten ganz oldschool mittels MariaDB (MySQL). In modern macht man das vermutlich mit InfluxDB. Und greife dann mit einem Tool, welches ich äußerst genial finde, darauf zu: Grafana. Man muss sich ein wenig reinarbeiten, aber dann ist es ziemlich eingängig und produziert außerordentlich hübsche Graphen. Das ist alles komplett webbasiert, d.h. graphische Auswertungen erreicht man über eine WebURL. Ist jedoch auch praktisch, weil solche kann man als sog. Webviews in openHAB einbinden.
Fazit
Ich mag das Projekt total. Handwerklich basteln muss man, außer man baut den Jeelink selbst zusammen, dafür nicht (können). Habe auch Sensoren im Keller, die durch die Betondecke funken müssen; ist kein Problem. Der Funkkontakt zu einzelnen Sensoren reißt immer mal wieder kurzzeitig ab, aber das behebt sich immer schnell wieder von alleine. Kurzum: Das System ist ziemlich verlässlich und ich würde es genau so wieder bauen.