Autor Thema: RFHEM - Modul für Befehle an andere FHEM-Instanzen  (Gelesen 61608 mal)

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19733
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #255 am: 14 September 2021, 20:12:07 »
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
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 523
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #256 am: 15 September 2021, 09:48:41 »
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)

Online Frank_Huber

  • Hero Member
  • *****
  • Beiträge: 4453
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #257 am: 18 September 2021, 08:46:42 »
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!

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19733
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #258 am: 18 September 2021, 09:37:34 »
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
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 523
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #259 am: 18 September 2021, 10:12:58 »
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)

Offline Amenophis86

  • Hero Member
  • *****
  • Beiträge: 2935
  • Anti-Statement befreite Zone ;)
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #260 am: 18 September 2021, 17:46:51 »
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...

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 523
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #261 am: 18 September 2021, 18:50:11 »
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)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Online Frank_Huber

  • Hero Member
  • *****
  • Beiträge: 4453
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #262 am: 18 September 2021, 21:13:25 »
Danke für die Aufklärung Otto und Jörg! 😊

Offline Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 523
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #263 am: 19 September 2021, 16:37:41 »
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)

Online Frank_Huber

  • Hero Member
  • *****
  • Beiträge: 4453
Antw:RFHEM - Modul für Befehle an andere FHEM-Instanzen
« Antwort #264 am: 20 September 2021, 09:30:39 »
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)
Gefällt mir Gefällt mir x 1 Liste anzeigen