Guten Tag!
Wollte nur kurz einen Erfolgsbericht loswerden (wahrscheindlich kalter Kaffee für Euch). Normal poste ich ja immer nur (hausgemachte) Probleme.
Der EibPC arbeitet super mit dem iRTrans Infrarot Gateway zusammen.
Das iRTrans Gateway besitzt einen Flashspeicher mit den gespeicherten IR-Codes. Ueber TCP können diese dann aufgerufen werden. Somit können off-the-shelf Geräte mit IP/KNX Welt verbunden werden, allerdings ohne Feedback.
Gruss,
Martin
Hier der Code:
[highlight=epc]
// [iRtrans control]
iRtransPort = 21000u16
iRtransIP = 192.168.178.222
iRtransSendDelay = 200u64
iRtransInit=0b01
BOSEon_off=0b01
BOSEcbl_sat=0b01
BOSEvol_plus=0b01
BOSEvol_minus=0b01
if event ("AVreceiver [Ein/Aus]-10/2/1") and ("AVreceiver [Ein/Aus]-10/2/1" == 0b01) then BOSEon_off=1b01 endif
if event ("AVreceiver [Ein/Aus]-10/2/1") and ("AVreceiver [Ein/Aus]-10/2/1" == 1b01) then BOSEcbl_sat=1b01 endif
if event ("AVreceiver [Vol+/-]-10/2/10") and ("AVreceiver [Vol+/-]-10/2/10" == 1b01) then BOSEvol_plus=1b01 endif
if event ("AVreceiver [Vol+/-]-10/2/10") and ("AVreceiver [Vol+/-]-10/2/10" == 0b01) then BOSEvol_minus=1b01 endif
if pbutton(1,MultiMediaPageID)==1 then {
BOSEcbl_sat=1b01
}endif
if pbutton(1,MultiMediaPageID)==2 then {
BOSEon_off=1b01
}endif
if pbutton(1,MultiMediaPageID)==3 then {
BOSEvol_minus=1b01
}endif
if pbutton(1,MultiMediaPageID)==4 then {
BOSEvol_plus=1b01
}endif
if BOSEon_off then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEon_off, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEon_off, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,on_off$);
closetcp(iRtransPort, iRtransIP);
BOSEon_off=0b01;
iRtransInit=0b01
}endif
if BOSEcbl_sat then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEcbl_sat, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEcbl_sat, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,cbl/sat$);
closetcp(iRtransPort, iRtransIP);
BOSEcbl_sat=0b01;
iRtransInit=0b01
}endif
if BOSEvol_plus then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEvol_plus, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEvol_plus, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,vol+$);
closetcp(iRtransPort, iRtransIP);
BOSEvol_plus=0b01;
iRtransInit=0b01
}endif
if BOSEvol_minus then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEvol_minus, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEvol_minus, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,vol-$);
closetcp(iRtransPort, iRtransIP);
BOSEvol_minus=0b01;
iRtransInit=0b01
}endif
// [iRtrans control] end
[/highlight]
Wollte nur kurz einen Erfolgsbericht loswerden (wahrscheindlich kalter Kaffee für Euch). Normal poste ich ja immer nur (hausgemachte) Probleme.
Der EibPC arbeitet super mit dem iRTrans Infrarot Gateway zusammen.
Das iRTrans Gateway besitzt einen Flashspeicher mit den gespeicherten IR-Codes. Ueber TCP können diese dann aufgerufen werden. Somit können off-the-shelf Geräte mit IP/KNX Welt verbunden werden, allerdings ohne Feedback.
Gruss,
Martin
Hier der Code:
[highlight=epc]
// [iRtrans control]
iRtransPort = 21000u16
iRtransIP = 192.168.178.222
iRtransSendDelay = 200u64
iRtransInit=0b01
BOSEon_off=0b01
BOSEcbl_sat=0b01
BOSEvol_plus=0b01
BOSEvol_minus=0b01
if event ("AVreceiver [Ein/Aus]-10/2/1") and ("AVreceiver [Ein/Aus]-10/2/1" == 0b01) then BOSEon_off=1b01 endif
if event ("AVreceiver [Ein/Aus]-10/2/1") and ("AVreceiver [Ein/Aus]-10/2/1" == 1b01) then BOSEcbl_sat=1b01 endif
if event ("AVreceiver [Vol+/-]-10/2/10") and ("AVreceiver [Vol+/-]-10/2/10" == 1b01) then BOSEvol_plus=1b01 endif
if event ("AVreceiver [Vol+/-]-10/2/10") and ("AVreceiver [Vol+/-]-10/2/10" == 0b01) then BOSEvol_minus=1b01 endif
if pbutton(1,MultiMediaPageID)==1 then {
BOSEcbl_sat=1b01
}endif
if pbutton(1,MultiMediaPageID)==2 then {
BOSEon_off=1b01
}endif
if pbutton(1,MultiMediaPageID)==3 then {
BOSEvol_minus=1b01
}endif
if pbutton(1,MultiMediaPageID)==4 then {
BOSEvol_plus=1b01
}endif
if BOSEon_off then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEon_off, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEon_off, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,on_off$);
closetcp(iRtransPort, iRtransIP);
BOSEon_off=0b01;
iRtransInit=0b01
}endif
if BOSEcbl_sat then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEcbl_sat, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEcbl_sat, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,cbl/sat$);
closetcp(iRtransPort, iRtransIP);
BOSEcbl_sat=0b01;
iRtransInit=0b01
}endif
if BOSEvol_plus then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEvol_plus, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEvol_plus, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,vol+$);
closetcp(iRtransPort, iRtransIP);
BOSEvol_plus=0b01;
iRtransInit=0b01
}endif
if BOSEvol_minus then connecttcp(iRtransPort, iRtransIP) endif
if after(BOSEvol_minus, iRtransSendDelay) then sendtcp(iRtransPort, iRtransIP, $Asci$); iRtransInit=1b01; endif
if after(iRtransInit and BOSEvol_minus, iRtransSendDelay) then {
sendtcp(iRtransPort, iRtransIP, $Asnd bose,vol-$);
closetcp(iRtransPort, iRtransIP);
BOSEvol_minus=0b01;
iRtransInit=0b01
}endif
// [iRtrans control] end
[/highlight]
Kommentar