Hallo zusammen.
Ich suche eine Möglichkeit ein "Funk-Gongmodul MP3 mit Speicher" (HM-OU-CM-PCB)https://www.elv.de/homematic-funk-gong-modul-mp3-mit-speicher.html (https://www.elv.de/homematic-funk-gong-modul-mp3-mit-speicher.html) von Homematic in Fhem einzubinden.
Das Gerät wurde in der CCU angelernt und wird auch mittels "define MP3_GONG HMCCUDEV MEQ0278***" in Fhem angelegt.
Ich würde nun gerne bei bestimmten Aktionen die betreffende Sounddatei auf der µSD Karte abspielen.
ein get MP3_GONG deviceinfo ergibt folgendes:
CHN MEQ0278***:0 HM-OU-CM-PCB MEQ0278***:0
DPT {b} BidCos-RF.MEQ0278***:0.UNREACH = false [RE]
DPT {b} BidCos-RF.MEQ0278***:0.STICKY_UNREACH = false [RWE]
DPT {b} BidCos-RF.MEQ0278***:0.CONFIG_PENDING = false [RE]
DPT {b} BidCos-RF.MEQ0278***:0.LOWBAT = false [RE]
DPT {b} BidCos-RF.MEQ0278***:0.DUTYCYCLE = false [RE]
DPT {n} BidCos-RF.MEQ0278***:0.RSSI_DEVICE = 1 [RE]
DPT {n} BidCos-RF.MEQ0278***:0.RSSI_PEER = 51 [RE]
DPT {b} BidCos-RF.MEQ0278***:0.DEVICE_IN_BOOTLOADER = false [RE]
DPT {b} BidCos-RF.MEQ0278***:0.UPDATE_PENDING = false [RE]
DPT {n} BidCos-RF.MEQ0278***:0.AES_KEY = 0 [R]
CHN MEQ0278***:1 HM-OU-CM-PCB MEQ0278***:1
DPT {b} BidCos-RF.MEQ0278***:1.STATE = false [RWE]
DPT {f} BidCos-RF.MEQ0278***:1.ON_TIME = [W]
DPT {b} BidCos-RF.MEQ0278***:1.INHIBIT = false [RWE]
DPT {s} BidCos-RF.MEQ0278***:1.SUBMIT = [W]
DPT {b} BidCos-RF.MEQ0278***:1.INSTALL_TEST = [W]
DPT {b} BidCos-RF.MEQ0278***:1.WORKING = false [RE]
und ein list HMCCU ergibt:
Hm-ou-cm-pcb:
Ch:
0:
Aes_key:
oper 1
type 8
Config_pending:
oper 5
type 2
Device_in_bootloader:
oper 5
type 2
Dutycycle:
oper 5
type 2
Lowbat:
oper 5
type 2
Rssi_device:
oper 5
type 8
Rssi_peer:
oper 5
type 8
Sticky_unreach:
oper 7
type 2
Unreach:
oper 5
type 2
Update_pending:
oper 5
type 2
1:
Inhibit:
oper 7
type 2
Install_test:
oper 2
type 2
On_time:
oper 2
type 4
State:
oper 7
type 2
Submit:
oper 2
type 20
Working:
oper 5
type 2
Cnt:
AES_KEY 1
CONFIG_PENDING 1
DEVICE_IN_BOOTLOADER 1
DUTYCYCLE 1
INHIBIT 1
INSTALL_TEST 1
LOWBAT 1
ON_TIME 1
RSSI_DEVICE 1
RSSI_PEER 1
STATE 1
STICKY_UNREACH 1
SUBMIT 1
UNREACH 1
UPDATE_PENDING 1
WORKING 1
Spc:
ontime 1.ON_TIME
submit 1.SUBMIT
Als Anhang habe ich die Datenpunktliste von ELV.
Gruß Markus
Ich schätze mal, es muss ein speziell formatierter String an den Datenpunkt SUBMIT geschickt werden, also:
set xyz datapoint 1.SUBMIT string
Die Frage ist nur, wie der String aussehen muss.
Schau mal hier:
https://www.symcon.de/forum/threads/20464-HomeMatic-MP3-Funkgong-per-IPS-ansteuern
Hallo zap.
Danke für den link.
Ich habe mal 4 Variationen durchgespielt und dabei den Eventmonitor beobachtet, sowie das Logfile der CCU2.
Ich kam dabei zu folgenden Ergebnissen:
-->1) Der MP3_Gong wurde per Virtuellen kurzen Tastendruck von der CCU2 angesteuert. TONAUSGABE
Befehl in Line 467
Line 452: Apr 16 08:36:14 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=true
Line 453: Apr 16 08:36:14 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=true
Line 457: Apr 16 08:36:14 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=true [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 461: Apr 16 08:36:14 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=true [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 467: Apr 16 08:36:14 din-w93-ccu2 local0.info ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =setValue params = {"MEQ0278177:1","SUBMIT","0.5,1,108000,2"} result = "" [../Platform/DOM/iseXmlRpc.cpp (2632)]
Line 469: Apr 16 08:36:14 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1970922311 RSSI=-201dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=12,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 200 STATE = 0 CLOCK = 1 LOWBAT =
Line 490: Apr 16 08:36:18 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1970926454 RSSI=-45dB 0x36761C -> 0x3D2D96 INFO_ACTUATOR_STATUS [MEQ0772066]: CNT=14,RPTEN=1,RPTED=0,BIDI=1,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=1,TYPE=0x10 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 L
Line 491: Apr 16 08:36:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=false
Line 495: Apr 16 08:36:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 501: Apr 16 08:36:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 503: Apr 16 08:36:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
2017-04-16 08:36:15 HMCCUDEV MP3_GONG 1.working: 1
2017-04-16 08:36:15 HMCCUDEV MP3_GONG 1.state: 1
2017-04-16 08:36:15 HMCCUDEV MP3_GONG 1
2017-04-16 08:36:15 HMCCUDEV MP3_GONG hmstate: 1
2017-04-16 08:36:25 HMCCUDEV MP3_GONG 1.state: 0
2017-04-16 08:36:25 HMCCUDEV MP3_GONG 0
2017-04-16 08:36:25 HMCCUDEV MP3_GONG 1.working: 0
2017-04-16 08:36:25 HMCCUDEV MP3_GONG hmstate: 0
-->2) Der MP3_Gong wurde mittels Fhem angesteuert. TONAUSGABE
Befehl in Line 908
"set MP3_GONG datapoint 1.STATE true"
Line 899: Apr 16 08:37:20 din-w93-ccu2 local0.info ReGaHss: Info: IseSession GetSessionId from URL: /do.exe&r1=dom.GetObject("BidCos-RF.MEQ0278177:1.STATE").State(true) [../Platform/Internet/http/iseSession.cpp (185)]
Line 904: Apr 16 08:37:20 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=true
Line 908: Apr 16 08:37:20 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=true [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 914: Apr 16 08:37:20 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 916: Apr 16 08:37:20 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 922: Apr 16 08:37:20 din-w93-ccu2 local0.info ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =setValue params = {"MEQ0278177:1","STATE",true} result = "" [../Platform/DOM/iseXmlRpc.cpp (2632)]
Line 925: Apr 16 08:37:20 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1970988794 RSSI=-211dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=23,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 200 STATE = 0 CLOCK = 0 LOWBAT =
Line 1000: Apr 16 08:37:20 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1970989116 RSSI=-43dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=23,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 200 STATE = 0 CLOCK = 0 LOWBAT =
Line 1118: Apr 16 08:37:23 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1970991952 RSSI=-49dB 0x36761C -> 0x3D2D96 INFO_ACTUATOR_STATUS [MEQ0772066]: CNT=25,RPTEN=1,RPTED=0,BIDI=1,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=1,TYPE=0x10 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 L
Line 1119: Apr 16 08:37:23 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=false
Line 1123: Apr 16 08:37:23 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 1124: Apr 16 08:37:23 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 1131: Apr 16 08:37:23 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
2017-04-16 08:37:20 HMCCUDEV MP3_GONG datapoint 1.STATE true
2017-04-16 08:37:26 HMCCUDEV MP3_GONG 1.state: 0
2017-04-16 08:37:26 HMCCUDEV MP3_GONG 0
2017-04-16 08:37:26 HMCCUDEV MP3_GONG 1.working: 0
2017-04-16 08:37:26 HMCCUDEV MP3_GONG hmstate: 0
-->3) Der Mp3_Gong wurde mittels Fhem angesteuert, jedoch KEIN TON
"set MP3_GONG datapoint 1.SUBMIT 0.2,1,5,2"
0.2 Lautstärke 20%
1 Wiederholungen
5 Spieldauer 5s
2 Dateinummer auf der SD
Line 1614: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: IseSession GetSessionId from URL: /do.exe&r1=dom.GetObject("BidCos-RF.MEQ0278177:1.SUBMIT").State(0.2,1,5,2) [../Platform/Internet/http/iseSession.cpp (185)]
Line 1620: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=false
Line 1624: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 1630: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 1632: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 1638: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =setValue params = {"MEQ0278177:1","SUBMIT","0.200000"} result = "" [../Platform/DOM/iseXmlRpc.cpp (2632)]
Line 1643: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1971046477 RSSI=-205dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=34,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 LOWBAT = 0
Line 219: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: IseSession GetSessionId from URL: /do.exe&r1=dom.GetObject("BidCos-RF.MEQ0278177:1.SUBMIT").State(0.2,1,5,2) [../Platform/Internet/http/iseSession.cpp (185)]
Line 225: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=false
Line 229: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 235: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 237: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 243: Apr 16 08:38:18 din-w93-ccu2 local0.info ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =setValue params = {"MEQ0278177:1","SUBMIT","0.200000"} result = "" [../Platform/DOM/iseXmlRpc.cpp (2632)]
Line 248: Apr 16 08:38:18 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1971046477 RSSI=-205dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=34,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 LOWBAT = 0
2017-04-16 08:38:18 HMCCUDEV MP3_GONG datapoint 1.SUBMIT 0.2,1,5,2
2017-04-16 08:38:27 HMCCUDEV MP3_GONG 1.working: 0
2017-04-16 08:38:27 HMCCUDEV MP3_GONG 1.state: 0
2017-04-16 08:38:27 HMCCUDEV MP3_GONG 0
2017-04-16 08:38:27 HMCCUDEV MP3_GONG hmstate: 0
-->4) Der Mp3_Gong wurde mittels Fhem angesteuert, jedoch KEIN TON
"set MP3_GONG datapoint 1.SUBMIT 0.2,1,108000,3"
Die 108000 wird auch in meinem CCU2-Programm verwendet. Es bedeutet Spielzeit "Dateilänge".
Line 1312: Apr 16 08:40:06 din-w93-ccu2 local0.info ReGaHss: Info: IseSession GetSessionId from URL: /do.exe&r1=dom.GetObject("BidCos-RF.MEQ0278177:1.SUBMIT").State(0.2,1,108000,3) [../Platform/Internet/http/iseSession.cpp (185)]
Line 1317: Apr 16 08:40:07 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.STATE=false
Line 1321: Apr 16 08:40:07 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."STATE"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 1327: Apr 16 08:40:07 din-w93-ccu2 user.debug rfd: Event: MEQ0278177:1.WORKING=false
Line 1329: Apr 16 08:40:07 din-w93-ccu2 user.debug rfd: RX for MEQ0278177: @1971155417 RSSI=-201dB 0x36761C -> 0x3D2D96 ACK_STATUS [MEQ0772066]: CNT=43,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=0,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 LOWBAT = 0
Line 1330: Apr 16 08:40:07 din-w93-ccu2 local0.info ReGaHss: Info: XmlRpcMethodEvent::execute: Event="MEQ0278177:1"."WORKING"=false [../Platform/DOM/iseXmlRpc.cpp (344)]
Line 1334: Apr 16 08:40:07 din-w93-ccu2 local0.info ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =setValue params = {"MEQ0278177:1","SUBMIT","0.200000"} result = "" [../Platform/DOM/iseXmlRpc.cpp (2632)]
2017-04-16 08:40:07 HMCCUDEV MP3_GONG datapoint 1.SUBMIT 0.2,1,108000,3
2017-04-16 08:40:08 HMCCUDEV MP3_GONG 1.working: 0
2017-04-16 08:40:08 HMCCUDEV MP3_GONG 1.state: 0
2017-04-16 08:40:08 HMCCUDEV MP3_GONG 0
2017-04-16 08:40:08 HMCCUDEV MP3_GONG hmstate: 0
Möglicherweise muss man nach jedem Setzen von SUBMIT noch ein STATE=true hinterherschicken?