CFM_PL mp3-Funkgong

Begonnen von Damian, 11 Juli 2013, 08:28:31

Vorheriges Thema - Nächstes Thema

Damian

Hallo zusammen,

ich habe den mp3-Funkgong installiert. In FHEM wurde dieser gepairt. Mit set Funk_Gong_led press blinkt die Signalleuchte Orange. Mit set Funk_Gong_led led orangeS 4 wird allerdings die Signalleuchte nicht aktiviert. Ebenso wenig funktionieren die anderen Farben greenS (greenL) oder redS (redL).

Das Kommando wird akzeptiert:

Readings
CommandAccepted yes 2013-07-11 08:09:22
state set_led greenS 4 2013-07-11 08:19:31

Gibt´s da noch etwas, was ich beachten sollte, damit das obige Kommando funktioniert? Technisch ist die Signalleuchte in allen drei Farben in Ordnung.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

... benutzt denn keiner die Signalleuchte des MP3-Gongs über FHEM?

Über ein direktes Pairen des MP3-Gongs mit einer HM-FB mit Hilfe des HM-Konfigurationsadapters kann ich alle Farben ansteuern.

Vielleicht sollte ich virtuelle HM-Buttons in FHEM definieren und direkt mit dem Funk-Gong peeren und die Register so setzten, wie sie vom HM-Konfigurationsadapter gesetzt wurden, um die volle Funktionalität des MP3-Gong zu entlocken. Dann lässt sich übrigens auch die Lautstärke steuern.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Wie ich gerade gelesen habe, ist das Problem die LED-Leuchte anzusteuern, nicht neu.

siehe hier:

Link

Wo möglich hat sich etwas an der Firmware geändert. Mein Gong ist paar Tage alt und hat mittlerweile die Firmwareversion 2.1.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

hm - schade. Ich dachte, das ist jetzt erledigt und hat funktioniert.

erst einmal: hast du schon andere Farben und repeats probiert? Funktioniert irgend etwas?
Ich werden dann noch einmal eine test-suite zusammenstellen, die du dann probieren koenntest.
Kannst du schon einmal die Configudation lesen und mir dann ein list schicken?

Danke Martin

Damian

Hallo Martin,

was funktioniert:

set Gong_Led press

Orange blinkt sechs mal.

set Gong_mp3 press

spielt den internen Gong-Sound ab


set Gong_mp3 playTone <Nr>


spielt mp3-file ab, allerdings erst beim zweiten Mal, wenn zwischendurch der interne Gong abgespielt wurde, funktioniert playTone erst beim zweiten Mal

was nicht geht:

set Gong_Led led <irgendwelche Farbe>

es erfolgt keine Reaktion des Gongs, auch die Kontrollleuchte geht nicht an.

set Gong_Led raw ++A01109060120771D8002020212

führt ebenso zu keiner Reaktion.

Gepeerte Sender (hier: KEY3_Btn_03) über den Konfigurations-Lanadapter funktionieren dagegen, wie sie sollen

hier die Konfiguration:

Internals:
   DEF        21745001
   EVENTS     2
   NAME       Gong_Led
   NR         263
   NTFY_TRIGGERTIME 2013-07-14 15:59:59
   STATE      off
   TYPE       CUL_HM
   chanNo     01
   device     Funk_Gong
   Readings:
     2013-07-14 15:59:51   CommandAccepted yes
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgActNum 6
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgActTypeLed red_long
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgActionType jmpToTarget
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtDlyOff geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtDlyOn geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtOff geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtOn geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtValHi 100
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgCtValLo 50
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgMultiExec on
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOffDly 0 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOffTime 111600 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOffTimeMode absolut
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOnDly 0 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOnTime 6 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgOnTimeMode absolut
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgSwJtDlyOff no
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgSwJtDlyOn no
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgSwJtOff dlyOn
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-lgSwJtOn no
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shActNum 6
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shActTypeLed green_long
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shActionType jmpToTarget
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtDlyOff geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtDlyOn geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtOff geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtOn geLo
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtValHi 100
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shCtValLo 50
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOffDly 0 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOffTime 111600 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOffTimeMode absolut
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOnDly 0 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOnTime 6 s
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shOnTimeMode absolut
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shSwJtDlyOff no
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shSwJtDlyOn no
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shSwJtOff dlyOn
     2013-07-13 13:28:23   R-RC_KEY3_Btn_03-shSwJtOn no
     2013-07-13 13:28:23   RegL_03:RC_KEY3_Btn_03 02:00 03:00 04:32 05:64 06:00 07:26 08:00 09:FF 0A:01 0B:10 0C:00 24:22 25:06 26:00 27:00 28:00 29:00 2A:00 2B:FF 82:00 83:00 84:32 85:64 86:00 87:26 88:00 89:FF 8A:21 8B:10 8C:00 8D:12 8E:06 A4:12 A5:06 A6:00 A7:00 A8:00 A9:00 AA:00 AB:FF 00:00
     2013-07-14 10:38:35   peerList        RC_KEY3_Btn_03,
     2013-07-14 15:59:59   state           off
   Helper:
     count      1
     Role:
       chn        1
Attributes:
   model      HM-OU-CFM-PL
   peerIDs    00000000,12A92603,
   room       CUL_HM
   webCmd     press short:press long


Gruß

Damian


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

hi Damian,

bei press wird das ausgeführt, was auch beim betätigen den eingebauten Tasters passiert.  
Es sollte eigentlich möglich sein dies sichtbar zu machen, wenn du im Device intKeyVisib auf visible setzt und  noch einmal ein getConfig machst. Beides auf das Device. Dann die Register in den Channels ansehen.

alles was über "trigger" ausgelöst wird sollte also kein Problem sein.
Auch das abspielen von einzelnen MP3s geht (auch eine Liste?)

Bleibt also die LED, ausgelöst per Message.

Zitatset Gong_Led raw ++A01109060120771D8002020212
ist das zugelassen? raw-messages sollte man nur über das Device auslösen können. Das Kommando sollte rejected werden. Probier es einmal mit dem Device.
set Funk_Gong raw ++A01109060120771D8002020212

ansonsten, kannst du die roh-messages vom LED setzen einmal mitschneiden?

Gruss Martin

Damian

Hallo Martin,

ich habe set Funk_Gong raw ++A01109060120771D8002020212 abgesetzt:

Befehl wird nicht bestätigt siehe List Funk_Gong:

Internals:
   DEF        217450
   EVENTS     23
   HMLAN_MSGCNT 54
   HMLAN_RAWMSG E217450,0000,D16E547A,FF,FFBE,0CA41021745026026506020000
   HMLAN_RSSI -66
   HMLAN_TIME 2013-07-17 09:45:16
   IODev      HMLAN
   LASTInputDev HMLAN
   MSGCNT     54
   NAME       Funk_Gong
   NR         262
   NTFY_TRIGGERTIME 2013-07-17 11:21:58
   STATE      MISSING ACK
   TYPE       CUL_HM
   channel_01 Gong_Led
   channel_02 Gong_mp3
   lastMsg    No:0C - t:10 s:217450 d:260265 06020000
   protCmdDel 0
   protLastRcv 2013-07-17 09:45:16
   protResnd  8 last_at:2013-07-17 11:21:55
   protResndFail 4 last_at:2013-07-17 11:21:58
   protSnd    12 last_at:2013-07-17 11:21:48
   protState  CMDs_done_events:6
   rssi_HMLAN avg:-58 min:-61 max:-52 lst:-61 cnt:3
   rssi_at_HMLAN avg:-58.33 min:-67 max:-50 lst:-66 cnt:54
   Readings:
     2013-07-17 09:41:44   CommandAccepted yes
     2013-07-16 22:33:27   PairedTo        0x260265
     2013-07-16 22:33:27   R-intKeyVisib   invisib
     2013-07-16 22:33:27   R-pairCentral   0x260265
     2013-07-16 22:33:27   RegL_00:          02:01 A4:BD 0A:26 0B:02 0C:65  00:00
     2013-07-16 22:21:42   powerOn         -
     2013-07-17 11:21:58   state           MISSING ACK
   Helper:
     burstEvtCnt 6
     mId        0075
     rxType     1
     Role:
       dev        1
     Rssi:
       Hmlan:
         avg        -58
         cnt        3
         lst        -61
         max        -52
         min        -61
       At_hmlan:
         avg        -58.3333333333333
         cnt        54
         lst        -66
         max        -50
         min        -67
     Shadowreg:
Attributes:
   expert     2_full
   firmware   2.1
   model      HM-OU-CFM-PL
   peerIDs    
   room       CUL_HM
   serialNr   KEQ0176522
   subType    outputUnit
   webCmd     getConfig

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

Hi,

da stimmt etwas mit den Adressen nicht. Mach einmal ein

set Funk_Gong raw ++A0112602652174508002020212


Gruss Martin

Damian

Hallo Martin,

set Funk_Gong raw ++A0112602652174508002020212

sieht schon etwas besser aus.

Kontrollleuchte geht jetzt an und die Singalleuchte blinkt ein mal rot.

List Funk_gong sieht dann so aus:

Internals:
   DEF        217450
   EVENTS     23
   HMLAN_MSGCNT 60
   HMLAN_RAWMSG E217450,0000,D3AE1E1D,FF,FFBF,F7A41021745026026506020000
   HMLAN_RSSI -65
   HMLAN_TIME 2013-07-17 20:14:06
   IODev      HMLAN
   LASTInputDev HMLAN
   MSGCNT     60
   NAME       Funk_Gong
   NR         262
   NTFY_TRIGGERTIME 2013-07-17 20:14:04
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 Gong_Led
   channel_02 Gong_mp3
   lastMsg    No:F7 - t:10 s:217450 d:260265 06020000
   protCmdDel 0
   protLastRcv 2013-07-17 20:14:06
   protResnd  8 last_at:2013-07-17 11:21:55
   protResndFail 4 last_at:2013-07-17 11:21:58
   protSnd    15 last_at:2013-07-17 20:14:03
   protState  CMDs_done
   rssi_HMLAN avg:-61.16 min:-66 max:-52 lst:-63 cnt:6
   rssi_at_HMLAN avg:-58.95 min:-67 max:-50 lst:-65 cnt:60
   Readings:
     2013-07-17 09:41:44   CommandAccepted yes
     2013-07-16 22:33:27   PairedTo        0x260265
     2013-07-16 22:33:27   R-intKeyVisib   invisib
     2013-07-16 22:33:27   R-pairCentral   0x260265
     2013-07-16 22:33:27   RegL_00:          02:01 A4:BD 0A:26 0B:02 0C:65  00:00
     2013-07-16 22:21:42   powerOn         -
     2013-07-17 20:14:04   state           CMDs_done
   Helper:
     mId        0075
     rxType     1
     Respwait:
     Role:
       dev        1
     Rssi:
       Hmlan:
         avg        -61.1666666666667
         cnt        6
         lst        -63
         max        -52
         min        -66
       At_hmlan:
         avg        -58.95
         cnt        60
         lst        -65
         max        -50
         min        -67
     Shadowreg:
Attributes:
   expert     2_full
   firmware   2.1
   model      HM-OU-CFM-PL
   peerIDs    
   room       CUL_HM
   serialNr   KEQ0176522
   subType    outputUnit
   webCmd     getConfig

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

ok, dann sind wir im Geschäft.

Jetzt hast du die Arbeit, probiere:
set Funk_Gong raw ++A0112602652174508002020211 # rot kurz
set Funk_Gong raw ++A0112602652174508002020212 # rot lang
set Funk_Gong raw ++A0112602652174508002020222 # grün lang
set Funk_Gong raw ++A0112602652174508002020322 # grün lang 3*
set Funk_Gong raw ++A011260265217450800202021222 #???
set Funk_Gong raw ++A011260265217450800202021222 #???
set Funk_Gong raw ++A01126026521745080020000000000000000000000000000
set Funk_Gong raw ++A01126026521745080020201122232122232122232122232
set Funk_Gong raw ++A01126026521745080020C01122232122232122232122232



und sage,was passiert.

Gruss Martin

Damian

Hallo Martin,

das Aufblicken der roten Signalleuchte ist eher ein Hinweis auf eine Fehlermeldung. Das passiert z. B. auch, wenn man ein mp3-File abspielen möchte, das es nicht gibt.

Denn bei allen obigen set Kommandos blinkt die rote Signalleuchte einmal kurz. Ausnahme ist
 set Funk_Gong raw ++A01126026521745080020000000000000000000000000000
da geht noch nicht mal die Kontrollleuchte an.

Es scheint sich etwas Grundlegendes geändert zu haben.

Wenn du mir die Bedeutung der Zahlenkombinationen sagst, dann kann ich selber noch etwas experimentieren.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

set Funk_Gong raw ++A01126026521745080020201122232122232122232122232
fix---------------|..................|
Channel = 2 für LED-------------------||
Anzahl Einträge-------------------------||
Wiederholungen----------------------------||
Farbe 1-------------------------------------||
Farbe 2---------------------------------------||
...
Farbe 12----------------------------------------------------------||

Gruss Martin






Damian

Hallo Martin,

so, ich bin der Sache auf die Schliche gekommen.

1. led ist Channel eins und nicht zwei, daher funktionierten deine Vorschläge nicht

Zitatset Funk_Gong raw ++A01126026521745080020201122232122232122232122232
fix---------------|..................|
Channel = 2 für LED-------------------||


2. Der Fehler ist aber die Tatsache, dass du zwei HEX-Nullen zuviel dran hängst:

2013.07.21 22:24:12 5: HMLAN_Send:  HMLAN S:S02E7608A stat:  00 t:00000000 d:01 r:02E7608A m:3F A011 260265 217450 80010101210000000000000000000000

Es müssen immer zehn Einträge sein und nicht zwölf.


3. Wenn nur eine Farbe angegeben wird (mit oder ohne Wiederholung), wie z. B. oben:

8001010121000000000000000000

dann wird offensichtlich die interne Ausführung nicht beendet und die Kontrolllampe geht nicht aus.

Wenn dagegen mindestens ein zweiter Eintrag existiert, so geht die Kontrolllampe nach der Ausführung aus.

Z. B:

8001010121210000000000000000

auch

8001010121010000000000000000


führt zu einer korrekten Ausführung (Kontrolllampe geht aus)

Der Wert 01 könnte für eine Pause stehen.


Denn:

8001010521010000000000000000


blinkt die Grüne Signalleuchte fünf mal mit kurzen Pausen dazwischen

bei 8001010521010101010101010101

würde die Pause zwischen dem Aufblitzen entsprechend länger sein.

Man könnte den Wert 01 tatsächlich als Pause einbauen. Damit könnte man ein weniger "heftiges Blinken" realisieren

z. B. set Funk_led led greenS,pause,pause,pause 5

entspräche dann:

8001010521010101000000000000

Das Problem, was ich bisher nicht lösen konnte, ist das Beenden der Ausführung (Kontrolllampe aus), wenn nur ein Eintrag angegeben ist siehe oben

also

8001010121000000000000000000


in dem Fall könnte man:

8001010121010000000000000000

angeben und es würde aufgrund der Angabe von zwei Einträgen sich auch korrekt beenden.

Allerdings eine Wiederholung

8001010521010000000000000000

würde nur mit Pause funktionieren, denn

8001010521000000000000000000

blinkt ohne Pause - Ausführung endet aber nicht. Dann hilft nur set Funk_led press, damit die Kontrolllampe wieder ausgeht.

Vielleicht hast du noch eine geniale Idee. Den Fehler mit den zwei HEX-Nullen am Ende, kannst du auf jeden Fall schon mal korrigieren (Es müssen immer zehn Einträge in der Summe sein und nicht zwölf)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

martinp876

Zitat1. led ist Channel eins und nicht zwei, daher funktionierten deine Vorschläge nicht
peinlich - absolut korrekt.Macht die normale SW aber richtig.

Zitat2. Der Fehler ist aber die Tatsache, dass du zwei HEX-Nullen zuviel dran hängst:
ok, reduzieren ich.

ZitatDer Wert 01 könnte für eine Pause stehen.
eingebaut

Zitat8001010521000000000000000000
blinkt ohne Pause - Ausführung endet aber nicht.
Vielleicht hast du noch eine geniale Idee

ich werden bei einem Eintrag ein 'pause' nachschicken. Also

8001010121000000000000000000
8001010101010000000000000000
dann sollten wir das Licht ausbekommen.
Oder waere es ein Feature, dauerlicht?

Version 3472 ist alles drin.

Danke für die gründlichen Tests

Gruss Martin

Damian

Hallo Martin,

ich würde die Änderungen antesten.

Unter

http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/

ist die letzte Änderung fünf Wochen alt.

Habe ich da etwas verpasst? Sind die Sourcen jetzt woanders?

Update funktioniert bei mir wegen Windows nicht.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF