FHEM2FHEM: 2 FHEM-Server verbinden und Daten austauschen!
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.
Fragen dazu? Hier geht’s zu unserem Smart-Home Forum!
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 ein Device reagieren, das an einer anderen FHEM Instanz ist
In dem ersten Beispiel reagiert FHEM auf dem Hauptrechner, wenn auf dem zweiten Rechner, dem Remote-Rechner, ein Ereignis ausgelöst wurde – zum Beispiel ein Schalter betätigt oder, in unserem Beispiel, eine Bewegung erkannt wurde.
Einstellungen auf dem Remoterechner
Hier muss zunächst telnet aktiviert werden, in der Regel muss man dafür die nötigen Dateien für den Zugriff für FHEM installieren. Dazu wählt man sich per SSH auf dem Remoterechner ein und gibt diesen Befehl ein:
sudo apt-get install libwww-perl
Danach sollte man den Rechner neustarten:
sudo reboot
Dann kann man FHEM auf dem Remote-Server starten und telnet aktivieren, in dem man den folgenden Befehl in die Befehlszeile eingibt oder die fhem.cfg schreibt:
define telnetPort telnet 7072 global
Anschließend haben wir auf dem Remote-Server ein dummy-Device in FHEM angelegt, das bei einem eintretenden Ereignis auf “on” gesetzt wird – in unserem Beispiel, wenn ein per Kabel an den Raspberry Pi angeschlossener Bewegungsmelder eine Bewegung erkennt:
define BewegungDummy dummy
Wie man Daten (z.B. ein neuer Define, Attribute oder Änderungen) in FHEM eingibt und was man beachten muss, zeigen wir in diesem Artikel!
Anschließend definiert man den Bewegungsmelder, der den Wert des dummy Device setzt:
# Auf Bewegung reagieren define act_on_BewegungGPIO notify RPIPin8 {\ if ("$EVENT" ne "off") {\ fhem("set BewegungDummy set LICHT on-for-timer 15;;");;\ }}
Wird jetzt hier auf dem Remote-Server ein Ereignis ausgelöst (in unserem Bespiel eine Bewegung erkannt, alternativ kann man aber auch auf einen Schalter reagieren), bekommt der Dummy “BewegungDummy” den folgenden Inhalt: “set LICHT on-for-timer 15”. Dies ist der Befehl, um ein definiertes Licht “LICHT” anzuschalten – aber nicht über den Remote-Server, sondern über den Hauptserver.
Einstellungen auf dem Hauptrechner
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:
define RemotePI FHEM2FHEM 192.168.1.100:7072 LOG:.*
Anschließend prüft man am besten unter “Everything”, ob der Remote-Server erkannt wird und verbunden ist: Nur wenn als state “connected” gemeldet wird, funktioniert FHEM2FHEM richtig – steht dort “disconnected”, ist telnet nicht erreichbar oder muss erst installiert/aktiviert werden.
Außerdem müssen die Geräte, die von dem zweiten Rechner (“RemotePi”) ausgelesen werden sollen, auf dem Hauptrechner ebenfalls als Dummy angelegt werden. Außerdem sollten sie den gleichen Namen haben 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:
# Daten abfragen (Bewegung) -------- define BewegungDummy dummy define act_on_BewegungDummy notify BewegungDummy {fhem "$EVENT"} # ----------------------------------
Registriert der Remote-Rechner jetzt ein Ereignis, schreibt er den Wert “set LICHT on-for-timer 15” in den Dummy, den wir hier mit FHEM2FHEM auslesen: Dieser Wert ist aber ein Befehl, und FHEM schaltet über den Haupt-Rechner das Licht für 15 Sekunden an.
Daten über den Remote-Rechner abfragen: Temperatursensor auswerten
Ein weiteres Beispiel fragt ein Device auf dem Remote-Rechner ab – in unserem Beispiel einen LaCrosse Temperatursensor. Dazu muss FHEM zunächst wie in dem oberen Beispiel auf beiden Rechnern zusammen mit telnet installiert und aktiviert sein. Anschließend wird, wie in dem ersten Beispiel, auf dem Hauptrechner wieder der Remote-Rechner angelegt:
define RemotePI FHEM2FHEM 192.168.1.100:7072 LOG:.*
Außerdem müssen die Geräte, die von dem zweiten Rechner (“RemotePi”) ausgelesen werden sollen, auf dem Hauptrechner ebenfalls wieder als Dummy-Device angelegt werden und den gleichen Namen haben 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")}
Der Wert des Dummies, der die Temperatur aus dem Keller speichert, lässt sich dann auf dem Hauptrechner mit FHEM weiterverarbeiten – zum Beispiel, um eine Temperatur-Warnung mit Benachrichtigung einzurichten.
Einstellungen auf dem Remote-Rechner
Auf dem Remote-Rechner müssen – bei einer Standard-Installation – keine Sachen geändert werden, wenn Telnet bereits installiert und aktiviert und über den Port 7072 erreichbar ist. Zu beachten ist nur, dass die Namen der Geräte, die man per FHEM2FHEM auslesen möchte, den gleichen Namen haben wie der Dummy auf dem Hauptrechner.
- datenschutz (27x gelesen)
- windows-schneller-starten-autostart-aufraeumen (24x gelesen)
- windows-beschleunigen (23x gelesen)
- pc-einsteigerkurs (17x gelesen)
- pc-einsteigerkurs-1-2 (5x gelesen)
Mehr Tipps zu FHEM2FHEM: 2 FHEM-Server verbinden u...
-
FHEM: JeeLink / LaCrosse Sensor: Batterie wechseln
Wer bei einem LaCrosse Temperatursensor die Batterien tauscht, muss eine Sache beachten - andernfalls wird die Hardware-ID zurückgesetzt und der Sensor wird unter einem neuen...
-
FHEM: Logitech Harmony Hub “Disconnected”
FHEM / Logitech Harmony Hub: Steht der Harmony Hub nach einem Update in der Smart Home Software plötzlich auf "Disconnected", lässt sich das in der...
-
Automagic Download für Android, AMAD und FHEM
Automagic ist eine Android-Software, über die sich zahlreiche Automatisierungen auf dem Gerät einstellen und planen lassen. Automagic ist aber auch wichtig, um Android-Tablets oder -Handys...
-
Inch in cm: Umrechner + Tabelle
Das hauptsächlich noch in England, den USA und Japan genutzte Längenmaß "Inch", abgekürzt "in" wird gerade in der IT sehr häufig genutzt. Disketten, Festplatten, SSDs...
-
Mehrere USB Webcams an einen Rechner anschließen (Raspberry Pi)
Mehrere Webcams an einem Rechner - das ist nicht unnöglich: Zumindest unter Linux geht das schnell und einfach Wir zeigen in diesem Tipp, wie man...
-
Fully Kiosk Browser: Remote Admin Port
Der Fully Kiosk Browser ist ein schlanker Fullscreen-Browser für Android, der ideal ist um zum Beispiel die Steuerung für Smart-Home Tablets im Vollbild zu zeigen....
- sunrise / sunset in FHEM: So bekommt man seine Geo-Daten für den Zeit-Berechnung
- Windows Server 2012: Client lässt sich nicht mit Domain Verbinden
- Hilfe bei der anschaffung von cctv bzw wie ich daten vom dvr auf einen server im
Die Frage steht kurz im Betreff. Ich möchte eine CCTV anschaffen da es sich um e...
- Server 2012 Essential-Windows 7 PC läst nicht nicht verbinden
- Grafikkarte austauschen
FHEM2FHEM: 2 FHEM-Server verbinden und Daten austauschen!