FHEM2FHEM Abstutz beim öffnen der Verbindung

Begonnen von HoTi, 21 September 2015, 13:02:52

Vorheriges Thema - Nächstes Thema

HoTi

Hallo zusammen,

ich betreibe schon seit längerem das Modul FHEM2FHEM. Und zwar von meinem Cubi (Master) zu meinem RPI (Slave). Das funktioniert auch wunderbar.

Jetzt brauche ich aber noch ein Rückkanal. Also habe ich das im Slave auch eingerichtet. Wenn die Verbindung nun aufgebaut wird Stürzt der Master ab. Fhem nicht mehr erreichbar!

Log am Slave:

Zitat2015.09.21 12:47:20 3: FHEM2FHEM opening Master_ct at 192.168.178.34:7072
2015.09.21 12:47:20 3: FHEM2FHEM device opened (Master_ct)
2015.09.21 12:47:21 1: Including ./log/fhem.save
2015.09.21 12:47:25 1: 192.168.178.34:7072 disconnected, waiting to reappear

Log am Master:
Zitat2015.09.21 12:47:12 1: 192.168.178.45:7072 disconnected, waiting to reappear
2015.09.21 12:47:17 1: FHEM2FHEM 192.168.178.45:7072 reappeared (telnet_Heizung)
SSL_cert_file ./certs/server-cert.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2009.

Was mach ich den hier falsch?  Das das Problem hinter dem Bildschirm sitzt ist mir schon klar, aber irgendwie stehe ich gerade auf dem Schlauch.
Am Master ist der Telnet Verbindung etwas anders als am Slave.

Slave:
Zitatdefine telnetPort telnet 7072 global

Master:
Zitatdefine telnetPortSSL telnet 7072 global
attr telnetPortSSL SSL 1
attr telnetPortSSL globalpassword secret
attr telnetPortSSL room Optionen

define telnetForBlockingFn telnet 7073
attr telnetForBlockingFn room Optionen


Wenn ich den Port 7073 nehme funktioniert es. Aber das ist doch nicht richtig, oder?!
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

franky08

Den "Rückkanal" filtern über regex sonst baust du dir wahrscheinlich eine schöne Schleife.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

rudolfkoenig

@RettungsTim: das sind zu wenige Infos, um wirklich helfen zu koennen, mind. die Definition der beiden FHEM2FHEM Instanzen waere hier noch noetig. Frank kann Recht haben, falls beide FHEM2FHEM Instanzen der Sorte LOG sind, und die beiden Regexps nicht exklusiv sind, d.h. es gibt Events, die von beiden Regexps akzeptiert werden.

HoTi

Das kann sein, auch wenn ich mit Regexps nur die hälfte verstanden habe  ???

Internals:
   DEF        192.168.178.34:7073 LOG:cmd_hz.*
   Host       192.168.178.34:7073
   NAME       Master_ct
   NEXT_OPEN  1442908486
   NR         25
   PARTIAL
   STATE      disconnected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     cmd_hz.*
Attributes:
   group      telnet
   room       Heizung


Warum disconnected weiß ich leider noch nicht. Erreichbar ist er. So sieht es aus abgesehen vom Port der bei absturz 7072 ist.

Internals:
   DEF        192.168.178.45:7072 LOG:2_.*
   FD         49
   Host       192.168.178.45:7072
   NAME       telnet_heizung
   NR         696
   PARTIAL
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     2_.*
Attributes:
   group      telnet_hz
   room       Hz_syt

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

rudolfkoenig

Die von Frank befuerchtete Schleife kann mAn nicht auftreten: das eine Uebermittelt etwas, was mit cmd_hz anfaengt, das andere etwas, was mit 2_ anfaengt.

Was auffaellt: du definierst auf dem Master mit 7072 ein SSL Port, bei der FHEM2FHEM Definition sehe ich aber keine SSL Angabe.

HoTi

#5
Da hast du recht, das habe ich nicht beachtet. Aber warum bringe ich dann den Master zum Absturz wenn ich versuche eine Verbindung ohne SSL aufzubauen?

Sollte es dann nicht nur zum verhindern der Verbindung kommen und ein Log Eintrag geben?

So sollte es doch gehen, oder?:

define Master_ct FHEM2FHEM 192.168.178.34:7072:SSL LOG:cmd_hz.* secret
attr Master_ct group telnet
attr Master_ct room Heizung


geht aber nicht?!
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

rudolfkoenig

Ich habe das jetzt nachgestellt: bei mir stuerzt ohne Slave-SSL keiner der beiden ab, es gibt halt nur alle 5 Sekunden jeweils Eintraege in beiden logs: der "Sender" sagt was von "SSL/HTTPS error" und die FHEM2FHEM Seite was von "disconnected/reappeared"

Mit Slave-SSL klappt das bei mir genauso wie du das definiert hast. Zum nachstellen ohne Hardware auf dem gleichen Rechner:
===Master-FHEM=====
define telnetPort telnet 7073 global
attr telnetPort SSL 1
attr telnetPort password secret
===Slave-FHEM======
define telnetPort telnet 7173
define F2F FHEM2FHEM localhost:7073:SSL LOG:.* secret


Danach zwei "telnet" Sessions:
===Slave-telnet======
telnet localhost 7173
fhem> info timer
===Master-telnet======
socat openssl:localhost:7073,verify=0 readline
secret
fhem> trigger global hello


In der Slave-Telnet sollte die Zeile mit global erscheinen.