CFM_PL mp3-Funkgong

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

Vorheriges Thema - Nächstes Thema

martinp876

Hi Damian,

ja, ist umgezogen. Der Link in FHEM stimmt
 https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/

Gruss
Martin

Damian

Hallo Martin,

es funktioniert prinzipiell jetzt soweit. Einfache Einträge z. B. set Funk_Led led redS funktionieren.

Pause funktioniert auch.

Allerdings einfache Wiederholungen der Art set Funk_Led led redS 4 blinkt nur einmal rot.

Im Log sehe ich nicht den Send der Farbe, sondern wahrscheinlich nur den zweiten Send mit 8001010101010000000000000000 zum Beenden.

Wenn du also tatsächlich den zweiten hinterher schickst, dann wird womöglich der erste unterbrochen, hier also die Wiederholung.

hier Log von set Gong_Led led redS 4:

2013.07.23 21:44:16 4: /fhem&cmd=set+Gong_Led+led+redS+4 / RL: 878 / text/html; charset=UTF-8 / Content-Encoding: gzip

 /
2013.07.23 21:44:16 4: Connection accepted from FHEMWEB:192.168.178.2:60248
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60239 GET /fhem/pgm2/style.css
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60236 GET /fhem/pgm2/svg.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60248 GET /fhem/pgm2/fhemweb_svg.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60231 GET /fhem/pgm2/fhemweb_colorpicker.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60235 GET /fhem/pgm2/fhemweb_slider.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60233 GET /fhem/pgm2/fhemweb.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60239 GET /fhem/pgm2/fhemweb_time.js
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60239 GET /fhem/images/default/icoLicht.png
2013.07.23 21:44:16 4: HTTP FHEMWEB:192.168.178.2:60233 GET /fhem/images/default/icoEverything.png
2013.07.23 21:44:16 5: HMLAN_Parse: HMLAN R:R0D0F8AE4 stat:0001 t:F2E7E81F d:FF r:FFC0     m:40 8002 217450 260265 0101C8003F
2013.07.23 21:44:16 5: HMLAN dispatch A0E4080022174502602650101C8003F::-64:HMLAN
2013.07.23 21:44:16 5: HMLAN_Send:  HMLAN S:S0D0F8B92 stat:  00 t:00000000 d:01 r:0D0F8B92 m:41 A011 260265 217450 8001010101010000000000000000
2013.07.23 21:44:16 5: Triggering Gong_Led (2 changes)
2013.07.23 21:44:16 5: Notify loop for Gong_Led CommandAccepted: yes
2013.07.23 21:44:17 5: Triggering Funk_Gong (1 changes)
2013.07.23 21:44:17 5: Notify loop for Funk_Gong CMDs_processing...
2013.07.23 21:44:17 4: HTTP FHEMWEB:192.168.178.2:60233 GET /fhem?room=all&XHR=1&inform=1&timestamp=1374608657038
2013.07.23 21:44:17 5: HMLAN_Parse: HMLAN R:R0D0F8B92 stat:0001 t:F2E7E9B9 d:FF r:FFC0     m:41 8002 217450 260265 0101C8003F
2013.07.23 21:44:17 5: HMLAN dispatch A0E4180022174502602650101C8003F::-64:HMLAN
2013.07.23 21:44:17 5: Triggering Funk_Gong (1 changes)
2013.07.23 21:44:17 5: Notify loop for Funk_Gong CMDs_done_events:1
2013.07.23 21:44:17 5: Triggering Gong_Led (2 changes)
2013.07.23 21:44:17 5: Notify loop for Gong_Led CommandAccepted: yes
2013.07.23 21:44:22 5: HMLAN_Parse: HMLAN R:E217450   stat:0000 t:F2E7FC9D d:FF r:FFC1     m:43 A410 217450 260265 06010000
2013.07.23 21:44:22 5: HMLAN dispatch A0D43A41021745026026506010000::-63:HMLAN
2013.07.23 21:44:22 5: Triggering Funk_Gong (1 changes)
2013.07.23 21:44:22 5: Notify loop for Funk_Gong CMDs_done_events:1
2013.07.23 21:44:22 5: Triggering Gong_Led (1 changes)
2013.07.23 21:44:22 5: Notify loop for Gong_Led off
2013.07.23 21:44:34 5: HMLAN_Send:  HMLAN I:K
2013.07.23 21:44:34 5: HMLAN_Parse: HMLAN V:03C1 sNo:JEQ0186249 d:1AC944 O:260265 t:F2E82E1F IDcnt:0002


Mehrfache Einträge mit Wiederholung funktionieren dagegen, z. B. set Funk_Led led redS,redS 2 (blinkt vier mal rot)

Gruß

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

martinp876

Hallo Damian,

ich habe es simuliert, bei
set Funk_Led led redS 4

kommt
 A011 1743BF 222222 8001010411000000000000000000
 A011 1743BF 222222 8001010101010000000000000000

also alles wie geplant.

möglich, dass redS 4 unterschiedlich ist zu redS,redS 2. Ich kenne keine spec die mir sagt ob und wie lange eine pause zwischen 2 einträgen ist und wie lange diese zwischen 2 sequenzen ist.

Muss man probieren

Gruss Martin

Damian

Zitat von: martinp876 schrieb am Mi, 24 Juli 2013 07:41Hallo Damian,

bei
set Funk_Led led redS 4

kommt
 A011 1743BF 222222 8001010411000000000000000000
 A011 1743BF 222222 8001010101010000000000000000

also alles wie geplant.

Der zweite Eintrag ist ja das Problem. Das Senden der Sequenz beendet die Ausführung der ersten Sequenz. Daher ist es leider keine Lösung für die Wiederholung einfacher Einträge. Ich denke es ist besser das Senden der zweiten Sequenz herauszunehmen, denn dann funktioniert zumindest das Blinken, bis auf die Tatsache das die Kontrolllampe (nicht die Signalleuchte) am Ende nicht ausgeht.
Man kann als User grundsätzlich das Problem bei der Wiederholung Einfacheinträge umgehen, indem man Einfacheinträge doppelt und die Wiederholung halbiert. Aus set Funk_Led led resS 4 macht man set Funk_Led redS,redS 2. Ungerades Blinken gibt's dann einfach nicht.

Bei set Funk_Led led redS,redS 2 sendest du jetzt schon, wegen Mehrfahreintrag, die zweite Sequenz nicht, daher funktioniert das Blinken und die Kontrolllampe geht aus.


Gruß

Damian





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

martinp876

Hallo Damian,

ok, hatte ich falsch verstanden

nun, dann kann ich anbieten dass
redS :A011 1743BF 222222 8001010111010000000000000000
redS,redS :A011 1743BF 222222 8001010111110000000000000000
redS 4:A011 1743BF 222222 8001010411000000000000000000

ergibt, ohne 2. Eintrag.
ok so?

Gruss Martin





Damian

Zitat von: martinp876 schrieb am Mi, 24 Juli 2013 12:12Hallo Damian,

ok, hatte ich falsch verstanden

nun, dann kann ich anbieten dass
redS :A011 1743BF 222222 8001010111010000000000000000
redS,redS :A011 1743BF 222222 8001010111110000000000000000
redS 4:A011 1743BF 222222 8001010411000000000000000000

ergibt, ohne 2. Eintrag.
ok so?

Gruss Martin


genauso! Zweiten Eintrag ganz rausnehmen.

Falls ich noch etwas bei einfacher Wiederholung herausfinde, um die Ausführung sauber zu beenden (Kontrollled aus), gebe ich dir Bescheid.

Gruß

Damian


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

martinp876

ist drin, Version 3494

Damian

Zitat von: martinp876 schrieb am Mi, 24 Juli 2013 14:41ist drin, Version 3494

und funktioniert wie programmiert;)

In dem Zusammenhang kannst du mir vielleicht noch einen Tipp geben.

Ich wollte das Abspielen der mp3-Files über einen gepeerten virtuellen Taster realisieren, da man im Gegensatz zur bisherigen Umsetzung in FHEM auch die Lautstärke regeln kann.

Einen gepeerten Taster einer echten HM-FB habe ich schon. Das geht ganz schnell mit der Software des HM-LAN-Adapters. Nun wollte ich nicht alle Zustandsregister neu definieren für den virtuellen Taster.

Gibt es eine einfache Möglichkeit die gepeerte ID der echten FB ( R-RC_KEY3_Btn_03) gegen den virtuellen Taster auszutauschen?

Die gepeerten Register mit R-RC_KEY3_Btn_03 kannst du hier im fünften Post sehen.

Gruß

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

martinp876

Hi Damian,

da hast du jetzt die falsch Frage gestellt. Da bastle ich gerade und kann dir eine Reihe von Möglichkeiten anbieten

1) Austauschen geht nicht, verbietet HM

#### peere den virtuellen Button, das ist in allen weiteren fällen als erstes notwendig

2) manuell kopieren
- mache ein get Funk_Gong saveConfig <file> => alle register sind gerettet
- suche im file die Zeile set Gong_Mp3 regBulk .RegL_03:<alterPeer>, tausche den alten peer gegen den neuen und schicke das Kommando ab
- lösche den alten peer

3) kopieren mit HMinfo (ist neu...)
- du brauchst eine HMinfo instanz, define hm HMinfo
- set hm cpRegs Gong_Mp3:<alterPeer> Gong_Mp3:<neuerPeer> # sollte alles kopieren
- alten peer löschen

4) template, auch mit HMinfo. Etwas komplizierter, aber m.E. allgemein nutzbar
- du brauchst eine HMinfo instanz, define hm HMinfo
- template definieren
set hm templateDef mp3Tmpl color "mein mp3 template"  ActNum:6 ActTypeLed:p0 ActionType:jmpToTarget CtDlyOff:geLo CtDlyOn:geLo CtOff:geLo CtOn:geLo CtValHi:100 CtValLo:50 OffDly:0 OffTime:111600 OffTimeMode:absolut OnDly:0 OnTime:6 OnTimeMode:absolut SwJtDlyOff:no SwJtDlyOn:no SwJtOff:dlyOn SwJtOn:no

template setzen
set hm templateSet Funk_Gong mp3Tmpl <newPeer>:long red_long
set hm templateSet Funk_Gong mp3Tmpl <newPeer>:short green_long

alten Peer löschen.

ok, 4) ist aufwändig. Aber es erlaubt dir eine vorgabe zu definieren.

Achtung, die templates solltest du im fhem.cfg definieren.
templates müssen nicht alle register beinhalten, eigentlich nur die wichtigen.

Suche dir etwas aus.

Martin

FHEMAN

#24
Hallo,
ich hoffe, das ist in diesem Thread richtig adressiert:
ich kann dem Funkgong nicht beibringen, ein Soundfile mehrfach abzuspielen.
{fhem("set Tuergong.1.MP3 playTone 53 5")}
spielt nur 1x ab.
Hat jemand eine Idee?

//edit
Es muss sich um einen Bug handeln. Denn das einfache und kommagetrennte Abspielen von Mp3s funktioniert einwandfrei.
Kann ich mich an den Entwickler wenden bzw. wie/wo melde ich einen Bug?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

martinp876

zeichne die messages der beiden Versuche auf

FHEMAN

set Tuergong.1.MP3 playTone 53 5

ergibt

2014.12.28 13:12:46.666 4: CUL_HM VCCU dupe: dont process
2014.12.28 13:13:53.340 4: CUL_Parse: CUL0 A 0C 97 865A 2D5B37 000000 A8AC3F02 -73
2014.12.28 13:14:02.730 4: CUL_Parse: CUL0 A 0E 2C A011 F10703 322DFD 80020105356F -18.5
2014.12.28 13:14:02.860 4: CUL_Parse: CUL0 A 0E 2C 8002 322DFD F10703 0102C800212E -51
2014.12.28 13:14:03.349 4: CUL_Parse: CUL0 A 0E 85 8410 2D5B37 000000 0BA8AC0E0003 -72.5
2014.12.28 13:14:10.846 4: CUL_Parse: CUL0 A 0D 2E A410 322DFD F10703 060200002E -51
2014.12.28 13:14:10.949 4: CUL_send:  CUL0As 0A 2E 8002 F10703 322DFD 00
2014.12.28 13:14:11.049 4: CUL_Parse: CUL0 A 0A 2E 8002 F10703 322DFD 006F -18.5
2014.12.28 13:14:11.063 4: CUL_Parse: CUL0 A 0C FB 8670 289D35 000000 00C8422E -51
2014.12.28 13:14:11.118 4: CUL_HM VCCU dupe: dont process
2014.12.28 13:14:12.553 4: HMLAN_ack: timeout - clear queue
2014.12.28 13:14:13.340 4: CUL_Parse: CUL0 A 0C 97 8470 2D5B37 000000 00AC3F03 -72.5
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

martinp876

übrigens: die Entwickler sind bei eQ3. Wir versuchen nur die geheimen Daten anhand von experimenten zu interpretieren.
Das senden in dieser Form ist nicht dokumentiert.
Du kannst dich also gerne an den Entwickler bei eQ3 wenden - vielleicht ist es ein bug ;)

Die message wird gesendet, wie wir es vor einiger zeit also korrekt interpretiert hatten. Da ich keinen eigenen habe, kann ich es nicht testen.

Was geht bei dir? kannst du bei den LEDs blinken lassen? gehen sequenzen von MP3? gehen weniger wiederholungen?


FHEMAN

#28
Es funktioniert alles (MP3, LED), was in der commandref beschrieben ist, außer: das Repeat als zweiter Parameter wird ignoriert.

Ich könnte Dich per VPN in mein Netzwerk lassen :)

Kann bitte mal jemand mit Funkgong testen, ob der interne Gong 3 x abgespielt wird?
set MP3GONG playTone 1 3
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

martinp876

hm - da hatten wir schon viele tests.
der vpn nutzt nichts, wenn ich kein Mikrophon habe ;)

du kannst probieren:
set <device> raw  ++A011F10703322DFD8002010535
set <device> raw  ++A011F10703322DFD8002010535

die beiden werte kannst du variieren - die sind nicht "gesichert"