MP3 Modul (HM-OU-CM-PCB) per HMCCU ver 4.0

Begonnen von MarkBinary, 15 April 2017, 09:01:01

Vorheriges Thema - Nächstes Thema

MarkBinary

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  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


zap

#1
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
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

MarkBinary

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






zap

Möglicherweise muss man nach jedem Setzen von SUBMIT noch ein STATE=true hinterherschicken?
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)