FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: ulli am 25 März 2015, 20:37:06

Titel: CUL_IR: Getrenntes RX/TX Device
Beitrag von: ulli am 25 März 2015, 20:37:06
Hallo zusammen,

ich benötige mal wieder eure Unterstützung, diesmal bzgl. des CUL_IR Modules.
Inzwischen musste ich zwei Devices aufbauen, welche mit dem Modul CUL-IR laufen.
Das eine Modul kümmert sich um die TX und das andere um die RX Kommandos.

define InfraRedTX CUL_IR RN_Satellite_3
attr InfraRedTX Button_TV_Power I0A0707FD0200
attr InfraRedTX Button_Tuner_Power I02857A001F00

define InfraRedRX CUL_IR Jeelink433
attr InfraRedRX Button_TV_Power I0A0707FD0200 trigger WZ_TV statetoggle
   
Mein Problem ist jetzt das alle Kommandos die ich über den einen TX CUL absende natürlich der andere RX Cul empfängt.
Das führt z.B. dann dazu das ich ein Device Anschalte über IR und dies sofort wieder deaktiviert wird in FHEM, da das Kommando wieder empfangen wird.

Wie kann ich das denn umgehen? Hat wer eine Idee?

Grüße,
  Ulli
Titel: Antw:CUL_IR: Getrenntes RX/TX Device
Beitrag von: ulli am 27 März 2015, 20:49:02
Hat keiner eine idee?
Titel: Antw:CUL_IR: Getrenntes RX/TX Device
Beitrag von: kaihs am 27 März 2015, 20:57:39
Bei den Geräten die Senden und Empfangen können wird das i. A. so gelöst, dass während des Sendens der Empfang abgeschaltet wird.

Das könntest du ähnlich machen, d.h. vor dem Senden

attr InfraRedRX irReceive OFF


und danach wieder ON.
Titel: Antw:CUL_IR: Getrenntes RX/TX Device
Beitrag von: ulli am 27 März 2015, 21:09:05
Ja das ist richtig so lief es auch bis vor kurzem...jetzt habe ich aber zwei Devices und das eine device weiß leider nicht wann das andere senden möchte. ...
Vor jedem senden extra das attribute zu setzten ist sehr umständlich. ..lässt sich das evtl auch eleganter lösen?
Evtl über die Device eigene entprell/fingerprint funktion?
Titel: Antw:CUL_IR: Getrenntes RX/TX Device
Beitrag von: kaihs am 27 März 2015, 21:18:00
Schreib dir doch eine Funktion in der 99_MyUtils die die drei Kommandos enthält und ruf die dann zum Senden auf.
Titel: Antw:CUL_IR: Getrenntes RX/TX Device
Beitrag von: ulli am 28 März 2015, 20:29:59
Danke.

Für die die das selbe Problem haben meine Lösung:

sub InfraRed($) {
my ($cmd) = @_;
my $TXdev = "InfraRedTX";
my $RXdev = "InfraRedRX";
my $IRcmd = (split(' ',$attr{$RXdev}{$cmd}))[0];

fhem("attr $RXdev irReceive OFF");
my $notifyName = "notify_InfraRedOnOff_$IRcmd";
if(!Value($notifyName)) {
fhem("define $notifyName notify " . $defs{$TXdev}{IODev}{NAME} . ":ACK.* { fhem(\"attr $RXdev irReceive ON;;delete $notifyName\") if(\$EVENT =~ m/$IRcmd/);; }");
} else {
Log 1, ("InfraRed: notify already defined!");
}
fhem("set $TXdev irSend $cmd");
}