Hallo zusammen,
ich habe die IR-Fernbedienung "Pearl IR Auvisio URC 150.app" mit Tasmota bestückt und per MQTT in mein FHEM integriert.
Mit den Befehlen
- "set IR_Auvisio_URC_150_app hd_power_on"
- "set IR_Auvisio_URC_150_app ld_power_on"
- "set IR_Auvisio_URC_150_app ph_power_on"
kann ich erfolgreich den Receiver (hd_power_on), die Klimaanlage (lg....) und den TV (ph....) anschalten. Anschalten reicht, mehr benötige ich eigentlich nicht.
Nun möchte ich gerne auch via Alexa diese Befehle aufrufen können. Leider bekomme ich das homebridgeMapping nicht hin.
==> geht leider nicht: "homebridgeMapping On=hd_power_on,subtype=Receiver,valueOn=set_power_on,cmdOn=hd_power_on,cmdOff=off"
Wollte mich hier an der Lösung für die Logitech Harmony Fernbedieung orientieren, welche ich hier im Forum gefunden haben und mich erstmal auf ein Gerät konzentrieren - leider ohne Erfolg. Alexa sagt zwar "ok", aber es funktioniert nicht und auch auf der Tasmota-Console der IR sehe ich, dass der Befehl nicht gesendet wird.
Hier das Listing der IR (hier ist noch ein anderes Homebridgemapping drin, aber auch das funktionierte nicht):
Internals:
DEVICETOPIC IR_Auvisio_URC_150_app
FUUID 5dac45fc-f33f-cdde-385f-3c2845f3722efbf5
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 2197
MQTT2_FHEM_Server_TIME 2019-10-25 10:32:57
MSGCNT 2197
NAME IR_Auvisio_URC_150_app
NR 360
STATE Online
TYPE MQTT2_DEVICE
READINGS:
2019-10-25 10:32:57 Heap 25
2019-10-24 19:05:14 IRSend Done
2019-10-24 23:17:54 IrReceived_Bits 1
2019-10-24 23:17:54 IrReceived_Data 0x00000000
2019-10-24 23:17:54 IrReceived_DataLSB 0x00000000
2019-10-24 23:17:30 IrReceived_Hash 0x2F126ABA
2019-10-24 23:17:54 IrReceived_Protocol RC6
2019-10-24 23:17:54 IrReceived_Repeat 0
2019-10-25 09:00:06 LWT Online
2019-10-25 10:32:57 LoadAvg 19
2019-10-25 10:32:57 MqttCount 9
2019-10-25 09:00:06 POWER
2019-10-24 19:05:13 hd_power_on set
2019-10-20 15:28:25 lg_power_off set
2019-10-21 11:54:39 lg_power_on set
2019-10-22 19:17:18 ph_power_on set An
2019-10-20 14:03:08 power set
2019-10-20 14:54:45 power_off set
2019-10-20 14:54:42 power_on set
2019-10-20 15:12:16 state set_power_off
Attributes:
IODev MQTT2_FHEM_Server
alexaName Receiver
alias DG Universal IR-Bedienung
devStateIcon Offline:it_remote Online:it_remote@green
eventMap Receiver An:hd_power_on Klimaanlage An:lg_power_on DG TV An:ph_power_on
genericDeviceType switch
group Aktuelles Wetter
homebridgeMapping On=state,valueOn=set_power_on,cmdOn=hd_power_on,cmdOff=Aus
model tasmota_ir
readingList tele/sonoff_ir/LWT:.* LWT
cmnd/sonoff_ir/POWER:.* POWER
tele/sonoff_ir/STATE:.* { json2nameValue($EVENT) }
tele/sonoff_ir/RESULT:.* { json2nameValue($EVENT) }
tele/sonoff_ir/INFO1.:.* { json2nameValue($EVENT) }
tele/sonoff_ir/INFO2.:.* { json2nameValue($EVENT) }
tele/sonoff_ir/INFO3.:.* { json2nameValue($EVENT) }
stat/sonoff_ir/RESULT:.* { json2nameValue($EVENT) }
stat/sonoff_ir/POWER:.* POWER
stat/sonoff_ir/UPGRADE:.* UPGRADE
room Dachgeschoss,MQTT
setList lg_power_on:noArg cmnd/sonoff_ir/POWER/IRsend {"Protocol":"LG2","Bits":28,"Data":"0x8800325","DataLSB":"0x1001C0A4","Repeat":0}
lg_power_off:noArg cmnd/sonoff_ir/POWER/IRsend {"Protocol":"LG2","Bits":28,"Data":"0x88C0051","DataLSB":"0x1031008A","Repeat":0}
hd_power_on:noArg cmnd/sonoff_ir/IRsend {"Protocol":"NEC","Bits":32,"Data":"0x111E30CF","DataLSB":"0x88780CF3","Repeat":0}}
ph_power_on:noArg cmnd/sonoff_ir/IRsend {"Protocol":"RC6","Bits":20,"Data":"0x1000C","DataLSB":"0x800030","Repeat":0}}
setStateList power_on power_off
stateFormat LWT
webCmd Receiver An:Klimaanlage An:DG TV An
Hat jemand eine Idee oder kann mir hier helfen?? Vielen Dank im Voraus!
Gruß
Oliver
Hallo,
es wird ja nicht bei einem Schaltbefehl beiben, mit homebridgemapping kannst bei einem switch nur on und off mappen.
Bei mir hab (hatte ich, mein IR-ESP ist ausser Betrieb und die Definitionen in einer alten fhem.cfg und mag ich jetzt nicht raussuchen ) ich das für jeden Schalt-Befehl mit einem readingsproxy umgesetzt.
Hier ein Beispiel (Raw Definition), gleiches Szenario nur das die Umleitung geschalten wird:
defmod rp_FB_AWS readingsProxy Fritzbox1:diversity1_state
attr rp_FB_AWS alexaName Umleitung
attr rp_FB_AWS devStateIcon on:control_on_off@green off:control_standby
attr rp_FB_AWS event-on-change-reading .*
attr rp_FB_AWS genericDeviceType switch
attr rp_FB_AWS room Sprachsteuerung,Fritzbox
attr rp_FB_AWS setFn { return 'diversity 1 on' if( $CMD eq 'on' );; return 'diversity 1 off';;}
attr rp_FB_AWS setList on off
Gruß
Thomas
Hallo Thomas,
danke für Deine Anregung.
Wobei mir erstmal in der Tat die Funktionalität von "Switch" ausreichen würde, da ich ja (erstmal ;)) nur anschalten möchte.
Gruß
Oliver
Also so in der Art, hd_power_off hast nicht, kannst ja aber noch machen oder den off-Teil (return 'hd_power_off';; ) einfach weglassen:
defmod rp_IR_Auvisio_URC_150_app readingsProxy IR_Auvisio_URC_150_app:hd_power_on
attr rp_IR_Auvisio_URC_150_app alexaName Receiver
attr rp_IR_Auvisio_URC_150_app devStateIcon on:control_on_off@green off:control_standby
attr rp_IR_Auvisio_URC_150_app event-on-change-reading .*
attr rp_IR_Auvisio_URC_150_app genericDeviceType switch
attr rp_IR_Auvisio_URC_150_app room Dachgeschoss,MQTT
attr rp_IR_Auvisio_URC_150_app setFn { return 'hd_power_on' if( $CMD eq 'on' );; return 'hd_power_off';;}
attr rp_IR_Auvisio_URC_150_app setList on off
Was auch geht (https://forum.fhem.de/index.php/topic,104685.msg986710.html#msg986710), damit hat man nur zwei zusätzliche Definitionen dummy/DOIF.
Aber einmal den dummy in der App gelöscht, möcht ich nicht bis zu 100 Routinen neu bearbeiten wollen um ihnen das neue/alte Gerät wieder zuzuweisen.
Dann lieber für jeden Schalt-Befehl eine Definition ( das mMn. übersichtlicher als alle Befehle in einem DOIF), da stößt man eine neue Gerätesuche an und fertig.
Gruß
Thomas
Habe es nun hin bekommen, dass es mit folgendem homebridgeMapping für den Receiver (nur alleine) funktioniert:
On=hd_power_on,subtype=Receiver,valueOn=set_power_on,cmdOn=hd_power_on,cmdOff=off
wenn ich jedoch um weitere Geräte erweitern will, dann geht kein Gerät mehr - auch der Receiver nicht:
On=lg_power_on,subtype=Klimaanlage,valueOn=set_power_on,cmdOn=lg_power_on,cmdOff=off
On=ph_power_on,subtype=TV,valueOn=set_power_on,cmdOn=ph_power_on,cmdOff=off
Eigentlich auch nicht verwunderlich, denn "subtype" ist ja auch für die Harmony IR ....
Hat jemand noch ne Idee, wie ich alle drei Geräte anschalten kann (wie gesagt, mehr braucht's erstmal nicht.....)?
Gruß
Oliver