Für große Häuser und Wohnungen reicht eine FHEM Installation oft nicht aus, um alle Bereiche abzudecken – darum lassen sich zwei FHEM Server ganz leicht mit dem FHEM2FHEM Modul verbinden, und alle Daten zwischen beiden Installationen bequem austauschen. So kann zum Beispiel ein Raspberry Pi mit installiertem FHEM die Temperatur in der Gefriertruhe im Keller überwachen, während die zweite FHEM Installation auf einer Fritzbox oder einem zweiten Raspberry Pi in dem Rest des Hauses für die Steuerung von Licht und Rollläden zuständig ist und die Temperatur auf der Terrasse misst.
Das Modul „FHEM2FHEM“ unterstützt dabei die beiden Modi „Log“ und „Raw“: Bei Raw werden die Rohdaten eines anderen Gerätes verwendet – das Gerät wirkt damit, als sei es direkt an dem Hauptrechner angeschlossen. Bei Log lassen sich alle Events eines Gerätes abgreifen: Das ist für das Ablesen von Daten off die einfachere Wahl.
2 FHEM Installationen verbinden mit FHEM2FHEM
Mögliche Anwendungsgebiete, um zwei FHEM Instanzen per FHEM2FHEM zu koppeln:
Temperatursensor im Keller auswerten
Wenn die Funk-Signale nicht durch die Decke zum Haupt-FHEM-Server gelangen Anwesenheit-Erkennunng
Wenn man eine zweite FHEM-Instanz auf einer Fritzbox installiert, kann man so die Anwesenheit abfragen Mehrere Etagen in einem Haus steuern
Wenn die Funksignale nicht stabil sind, lässt sich ein Mini-PC pro Etage installieren, der über die Haupt-FHEM-Instanz gesteuert wird
Voraussetzung für die Datenübermittlung zwischen zwei FHEM Installationen: Auf beiden Geräten muss bereits eine funktionierende FHEM Instanz installiert sein – dann lassen sich die beiden Geräte ganz einfach verbinden.
Bei uns im Beispiel arbeiten zwei Raspberry Pi Rechner zusammen, die über das Netzwerk miteinander verbunden sind. Der Remote-Rechner soll in einem anderen Raum die Temperaturüberwachung des Kühlschranks vornehmen und an den Hauptrechner weitergeben. Auf dem Haupt-Rechner muss dafür zunächst die zweite FHEM Installation, hier „RemotePi“ genannt, definiert werden. Dazu wird die IP Adresse und der Port zum Zugriff angegeben:
Außerdem müssen die Geräte, die auf dem zweiten Rechner („RemotePi“) ausgelesen werden sollen, auf dem Hauptrechner als Dummy angelegt werden. Dazu haben sie am einfachsten den gleichen Namen wie die echten Geräte, die an dem RemotePi angeschlossen sind. Zusätzlich zu dem Dummy kommt ein „Notify“, das den aktuellen Wert des Sensors auf dem Remote-Rechner ausliest und ihn in dem Dummy speichert:
define LaCrosse_03 dummy attr LaCrosse_03 alias Kühlschrank_Keller
define LaCrosse_03_notify notify LaCrosse_03 { $EVENT=~s/://;;;; fhem("setreading LaCrosse_03 $EVENT") ;;;; my $LaCrosse_03_T= ReadingsVal("LaCrosse_03","temperature",0) ;;;; fhem("setreading LaCrosse_03 state T: $LaCrosse_03_T")}
Zusammenfassend hier die Einstellungen in der fhem.cfg