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

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

Vorheriges Thema - Nächstes Thema

Otto123

pull und get klingt nach: "ich hole es mir irgendwann" und zeitlichen Nachteil.
push klingt nach "sofort".
FHEM2FHEM wird zwar auf dem Ziel definiert, aber mW wird der abonnierte Event direkt von der Quell- in die Zielinstanz geleitet.  ;)
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

Adimarantis

Richtig. Mit pull wollte ich hier nur die "Richtung" klarstellen. Es ist kein "polling" - Events werden sofort and FHEM2FHEM durchgereicht und bearbeitet.

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

Moin,
Habe gestern auf F2F umgebaut und bis jetzt läuft alles wie es soll.
Keine Probleme. Eigentlich merkt man bis auf die mehr angelegten Geräte keinen Unterschied.

Aber mal aus Neugier, wie macht das FHEM2FHEM?
Es baut ja ne telnet Verbindung zum Partner auf, und dann?
Lauscht Es remote den Event Monitor mit?
Muss ja eigentlich, weil die Gegenseite ja nicht weiß welches Gerät interessiert.

Das wäre dann unterm Strich doch einiges mehr an Netzwerk Traffic im Vergleich, sollte aber keine Probleme bereiten.

Danke an alle Beteiligten!

Otto123

Zitat von: Frank_Huber am 18 September 2021, 08:46:42
Lauscht Es remote den Event Monitor mit?
Muss ja eigentlich, weil die Gegenseite ja nicht weiß welches Gerät interessiert.

Das wäre dann unterm Strich doch einiges mehr an Netzwerk Traffic im Vergleich, sollte aber keine Probleme bereiten.
So weit ich weiß Nein! F2F sagt beim connect der Gegenstelle was gebraucht wird, nur das wird übertragen. Beide "kennen" sich ja, kommen ja aus der gleichen "Feder" ;)
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

Adimarantis

FHEM2FHEM baut eine Telnet Verbindung auf und verwendet dann das "inform" Kommando mit dem entsprechenden Filter (der regexp in FHEM2FHEM) um der Remote Instanz zu sagen, welche Events geschickt werden sollen.
Das kann man auch selber mit einer Kommandozeilen Telnet Verbindung ausprobieren.
Die Verbindung wird dann aufrecht erhalten und per FHEM select() Schleife auf neue Daten gelauscht.

Wenn wenig Events über die Leitung gehen oder der gegenüber gerne mal ausfällt, wäre anzuraten das neue keepaliveinterval Attribut zu nutzen.
Dieses sorgt dafür dass
1. In regelmässigen Abständen eine leere Abfrage gesendet wird, um zu verhindern dass das Betriebssystem die Leitung wegen Inaktivität schliesst
2. Durch einen erneuten Test-Verbindungaufbau geprüft wird, ob der gegenüber noch da ist (was das Betriebssystem sonst leider erst nach sehr langer Zeit bemerkt) und entsprechend neu verbindet

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)

Amenophis86

Gibt es eine Meldung, wenn das keepalive nicht anschlägt also die Verbindung weg ist?
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

Ja, zum einen wird das ins Log geschrieben, zum anderen geht der "STATE" auf "disconnected"
Man könnte also sogar darauf reagieren (und z.B. per msg eine Nachricht versenden).
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 für die Aufklärung Otto und Jörg! 😊

Adimarantis

Und weil ich selber erst ein bisschen rumprobieren musste, wie man eine Benachrichtigung mit FHEM2FHEM bei einem Ausfall hinbekommt, hier mein DOIF dazu
([FHEM_Heizung:?DISCONNECTED]) (set SignalBot send #Zuhause Heizungssteuerung ausgefallen)

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

Da es bei mir mehrere F2F Geräte gibt die den gleichen Präfix im Namen haben habe ich das so gelöst: (ein DOIF das mir alle Instanzen überwacht:
defmod F2F_mon DOIF (["PI_:^CONNECTED$"]) (set TelegramBot msg [$SELF:Device] online)\
DOELSEIF (["PI_:^DISCONNECTED$"]) (set TelegramBot msg [$SELF:Device] offline)

satprofi

Hallo.
finde das Modul nicht, neuste fhem Version. Wie komm ich dazu, bitte?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Otto123

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

satprofi

#267
hmmm, und wie klappt das jetzt? muss man neu definieren? befehle werden nicht mehr ausgeführt  :-[

[ewdit] gefunden. passt. danke
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Hackstall

Hi sorry ich habe es noch nicht ganz verstanden:

Bei mir im Logfile steht dass RFHEM deprecated wird und nun müsste ich wohl auch so langsam nach FHEM2FHEM umstellen.
Ich habe einige Devices mit RFEM und FHEM2FHEM die exemplarisch so aussehen:


define Plug_SHP6_003_F2F FHEM2FHEM 192.168.0.xy:7072 LOG:Plug_SHP6_003.*
attr Plug_SHP6_003_F2F DbLogExclude .*
attr Plug_SHP6_003_F2F group Grp-System-Fhem2Fhem
attr Plug_SHP6_003_F2F room 9.6_System

define Plug_SHP6_003_Rfhem RFHEM 192.168.0.xy
attr Plug_SHP6_003_Rfhem DbLogExclude .*
attr Plug_SHP6_003_Rfhem group Grp-System-Fhem2Fhem
attr Plug_SHP6_003_Rfhem room 3.1_UG_WaschKeller,9.6_System


Ein SET cmd sieht wie folgt aus:

    fhem("set Plug_SHP6_003_Rfhem cmd set SHP6_IoT_SonOff_220V_003 POWER OFF");;\


Was muss ich denn nun tun um nicht über RFHEM zu schalten und ggfs auch eine MSG zu verwenden wenn der link nicht funktioniert

Danke Andreas

Otto123

Hallo Andreas,

versuch mal so?
set Plug_SHP6_003_F2F cmd set SHP6_IoT_SonOff_220V_003 POWER OFF
den Rest
Zitatund ggfs auch eine MSG zu verwenden wenn der link nicht funktioniert
hab ich nicht verstanden?

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