FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: groeg am 29 Januar 2015, 20:28:49

Titel: UDP Port horchen blockiert FHEM
Beitrag von: groeg am 29 Januar 2015, 20:28:49
Hi,

ich habe mir für mein Projekt eine IRTrans Wlan Modul zugelegt. Das Gerät ist spitze. Ich kann Befehle über FHEM absetzten und das klappt auch.
Ich möchte aber auch ein IR Signal in FHEM auswerten können.
Bis jetzt habe ich versucht ein IO::SOCKET::INET zu öffnen. Leider wird dadurch FHEM komplett blockiert.
Ich suche eine möglichkeit ein UDP-Port dauerhaft im Hintergrund abzuhören und bei einen Datenempfang die empfangene Zeile auszuwerten.
Leider bin ich auch nicht ganz so fit in Perl.

Die Module mit einen TCP Socket habe ich mir schon mal angesehen. Da wird die Verbindung hergestellt. Daten abgefragt und wieder geschlossen.
Ich müsste aber für den IRTrans dauerhaft horchen auf einen eingehenden Befehl.

Vieleicht hat von euch schon jemand ein Script gebastelt wo das funktioniert?
Oder Tips wie ich das lösen kann.
Titel: Antw:UDP Port horchen blockiert FHEM
Beitrag von: justme1968 am 29 Januar 2015, 20:37:23
es gibt alle möglichem module bei denen die verbindung offen gehalten wird.

z.b. telnet, mailcheck, harmony, ...

das prinzip ist immer gleich. du musst das geöffnete socket in der selectlist registrieren. etwas so:      $hash->{FD}    = $conn->fileno();
      $hash->{CD}    = $conn;         # sysread / close won't work on fileno
      $selectlist{$name} = $hash;


die fhem event loop ruft dann die ReadFn deines modus auf sobald daten da sind. ohne das irgendetwas blockiert.

gruss
andre
Titel: Antw:UDP Port horchen blockiert FHEM
Beitrag von: groeg am 29 Januar 2015, 20:51:11
hmmm

Ok habe mir die Module mal kurz angeschaut.
Werde darauf mal aufbauen und versuchen was zu basteln. (copy/paste Programmierung  :-\)

Danke.
Gruß Georg