RFHEM - Modul für Befehle an andere FHEM-Instanzen

Begonnen von chris1284, 15 Mai 2014, 20:07:57

Vorheriges Thema - Nächstes Thema

Amenophis86

Nutze auch fhem device aber kein Problem, wenn du die Änderung vorher ankündigst und das der Preis dafür ist, dass du die Fehler behebst, dann vielen Dank und sehr gerne :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Otto123

Hallo Jörg,

ich habe Rudi anders verstanden. F2F sagt eventuell dem Sender, was es hören will.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LuckyDay

ZitatF2F sagt eventuell dem Sender, was es hören will.
genau so!

Adimarantis

Stimmt, ihr habt recht. Hab mir FHEM2FHEM nochmal genauer angeschaut und das Modul "abonniert" über das "inform" Kommando und eine Regexp nur das, was es auch sehen will.
Wieder was gelernt.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Amenophis86

Also meine Fehlermeldungen bezüglich des Pings sind weg mit deiner letzten Version aber FHEMDevices scheint nicht mehr zu funktionieren. Also werden keine Daten mehr automatischen durch RFEHM an andere Instanzen übermittelt. Habe mich die letzten Tage gewundert warum ich ständig komisches Verhalten hatte und heute ist mir aufgefallen, dass seit dem Update keine Events mehr automatisch gepusht werden. Hast du da auch was dran geändert?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Adimarantis

#245
Kannst du mal ein "list" von deiner RFHEM Instanz machen?
Und auch mal den Loglevel auf 5 drehen und dann das entsprechende Device ändern, um zu sehen ob es logging Ausgaben dazu gibt?

Das einzige dass ich eigentlich geändert habe, ist das Handling vom "state" reading. Das wurde vorher nicht übertragen weil ein falscher Befehl abgesetzt wurde (setreading <device> <wert> geht nicht, man muss setreading <device> state <wert> machen - im state event fehlt aber eben das Schlüsselwort "state")

Jörg

Edit: und bei mir funktioniert es übrigens sowohl mit normalen readings als auch "state"
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Amenophis86

Da ich eine schnelle Lösung brauchte und man das Geräte nicht auf Disable setzen konnte, musste ich es heute Mittag löschen und habe es mit FHEM2FHEM überbrückt. Kann die Tage nochmal testen, wenn ich bissi mehr Zeit dazu habe. Sorry
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Adimarantis

Ich habe mir das Modul inzwischen noch etwas angesehen und ich sehe zu FHEM2FHEM eigentlich nur zwei funktionale Unterschiede:

1. RFHEM sychronisiert readings mit "push" (wird also auf der Quellinstanz eingerichtet), FHEM2FHEM macht "pull" muss also auf die Zielinstanz
2. RFHEM ermöglicht zusätzlich auch Befehle auf der Remote Instanz auszuführen

Der erste Punkt sollte grundsätzlich keine Rolle spielen - ist eher Geschmackssache
Den zweiten Punkt hat Rudi soeben in FHEM2FHEM eingebaut (war relativ leicht zu erweitern)

Damit denke ich das RFHEM obsolete ist und der Aufwand es auf den selben technischen Stand wie FHEM2FHEM zu bringen und zwei Module zu maintainen nicht gerechtfertigt ist, oder gibt es einen Anwendungsfall den ich übersehe?

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Amenophis86

Sehe ich auch so und habe den Thread mit Rudi verfolgt. Daher denke ich, dass es Sinn machen würde RFHEM in deprecated zu verschieben.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Adimarantis

Ich habe jetzt meine Version eingecheckt (wie gesagt kann ich bei mir nicht nachvollziehen warum es bei Amenophis86 Probleme gab) und mit einer "deprecated" Nachricht mit link auf dieses Forum versehen, damit wir hier Hilfestellung zum Umstieg auf FHEM2FHEM geben können.

In ein paar Wochen würde ich es dann nach contrib/deprecated verschieben.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Frank_Huber

Hi,

Habe kurz gesucht, aber keine Migrationshinweise RFHEM --> FHEM2FHEM gefunden, daher frage ich kurz nach.

Stand jetzt habe ich zentrale Funktionen auf einem meiner RasPis. (einer je Etage plus e)
dieser zentrale Raspi pusht z.B. eine Dummy auf alle Instanzen per RFHEMdevice Attribut.

Wenn ich das jetzt richtig verstanden habe müsste ich jetzt auf jeder Instanz eine FHEM2FHEM einrichten und per RAW diesen Dummy "abonieren" d.h. von remote nach lokal spiegeln.
Wäre dann quasi das gleiche nur per get anstatt push...?
um Befehle nach remote zu schicken müsste ich dann aber zeitgleich eine FHEM2FHEM am zentralen FHEM anlegen, richtig?
Wie ist das mit dem RAW im WIKI zu verstehen?
ZitatEinschränkungen: Nur Geräte, welche die "Dispatch-Funktion" unterstützen (CUL, FHZ, CM11, SISPM, RFXCOM, TCM, TRX, TUL), erzeugen raw messages.
bedeutet das ich kenn keinen Dummy spiegeln?

Danke & Grüße
Frank


Adimarantis

Hallo Frank,

Du brauchst nicht mit "RAW zu arbeiten.
Du machst ein
define FHEM_xxxx FHEM2FHEM LOG:x.x.x.x:7072 (device1|device2|device3)
Hier kannst du auch mit regexp auf die readings gehen, also device1:reading oder device?:read.*

Wenn das state reading mit übertragen werden soll, musst du noch das Attribut "addStateEvent" setzen.

Sonst ist eben nur die umgedrehte Logik (pull) zu beachten. Du musst also FHEM2FHEM auf der Zielinstanz einrichten.

Gruß,Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Frank_Huber

Danke Jörg, werde ich antesten.

Ich muss es aber auf beiden Seiten einrichten wenn ich Geräte spiegeln und Befehle absetzen will.
Das ist noch ein kleiner Nachteil zu RFHEM, aber nicht weiter tragisch.

übrigens ist deine Beispiel Syntax falsch.
define <name> FHEM2FHEM host[:port][:SSL] [LOG:regexp|RAW:device] {portpasswort}

Was mir auch dabei auffällt, wenn ich ein F2F anlegen will nur um Befehle zu senden, erwartet er dennoch das "LOG:" im define.
Habs mit LOG:none definiert, so ein Gerät gibts nicht.

werd jetzt mal mit rumspielen ob das soweit passt, dann kann ich RFHEM in Rente schicken.

Danke für deine Mühen!

Adimarantis

Wenn du richtig bi-direktional spiegeln willst, gibt es da übrigens jetzt auch eine Option in FHEM2FHEM um Endlosschleifen zu verhindern:
Einfach mindestens auf einer Seite "loopThreshold" setzen - z.B. auf 5 (Sekunden).
Dann werden schnelle Änderungen (wie sie bei einer Schleife) ignoriert, normale Änderungen können aber dadurch gefahrlos in beide Richtungen repliziert werden.

Ich finde auch die neue Option mit dem "keepaliveinterval" sehr interessant, womit FHEM2FHEM schneller mitbekommt, wenn eine Instanz ausfällt und die Verbindung dann zuverlässiger wiederherstellt.

Sorry, ja hab das "LOG:" vergessen.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Frank_Huber

ne, keine Zwei-Richtungs Spiegelung.

Richtung 1 --> Dummy spiegeln.
Richtung 2 --> Befehle absetzen.
geht momentan noch mit der einseitigen RFHEM Definition recht stabil, aber wenn RFHEM in Rente geht gehe ich über zu F2F.

/Frank