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.
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
hmmm
Ok habe mir die Module mal kurz angeschaut.
Werde darauf mal aufbauen und versuchen was zu basteln. (copy/paste Programmierung :-\)
Danke.
Gruß Georg