HM-OU-CFM-PL dauerhaft blinken lassen.

Begonnen von Markus Hermann, 10 April 2013, 22:41:35

Vorheriges Thema - Nächstes Thema

martinp876

Hi Markus, Martin,

ok, dann sind wir erst einmal klar, dass actNum die Anzahl der Wiederholungen ist. Und 1=1 ? Fuer dei Doku.

An Martins Ansatz glaube ich nicht so recht, bin auf die Antword gespannt.

Zu wissen, ich versuche es noch einmal zu erklaeren
Die peers sind interfaces zu 'trigger'. Der/die interne Trigger sind den Schaltern und externen Anschluessen der Aktoren zugeordnet. Also
SW1-FW dem Taster-interface
PBU's der Wippe, die "vorgebaut" ist.
beim CFM sicher dem Button, den dieser hat

Die meisten Kommandos, die FHEM verschickt, haben mit dem Trigger nichts zu tun. Einstellungen des 'internen Peers', diese 'self' Dinger sollten keinen Einfluss haben.

Was manche devices haben, CFM (noch) nicht ist ein 'press'. Das simuliert den Trigger des internen peers.
Ab der naechsten Version kannst du also einen
set led_play press [short|long]
set mp3_play press [short|long]
ausprobieren. Sollte ein identisches Ergebnis zu dem Druecken des lokalen Buttons ergeben.

Einstellen kannst du je button 2 'songs', einen fuer short und einen fuer 'long' press. Und wenn du jetzt mehr virtuelle Buttons pairst kannst du auch mehrere Kombinationen und lieder definieren.

Aber das ist nur ein workaround.
Zurueck zum eigentlichen Problem:
set mp3_play playTone 019

kannst du einmal die messages dieses Kommandos aufzeichnen? Da scheint es ein Problem zu geben. Das hatten wir beim ersten Einbau nicht ganz rund bekommen. Evtl koennen wir noch einmal experimentieren.

Gruss
Martin

Martin Thomas Schrott

Hi Martin,

ich konnte mir leider keinen besseren Reim drauf machen als den self umzustellen, denn andere Einstellungen sind ja nicht sichtbar.
:-)
Hardcoded kann es wohl eher auch nicht sein -> dann bleibt nur, dass in der Befehlsmessage alles enthalten ist was sich steuern lässt. Dann müsstest du also Volume, Wiederholungen etc. alles zusmamen mit dem Play Befehl mitsenden(können)?!
Bin gespannt -> hab auch vor mir das device mal zuzulegen, aber jetzt beobachte ich was rauskommt ;-)
lG
Martin

martinp876

Hi Martin,

die Einstellungen kommen mit der set-message. Bei denen gibt es keine 'register', da ist die Info in der Message.
Diese spezielle hat eine nutz laenge von 14 Byte, muss man experimentieren um es zu verstehen.

Gruss
Martin

Markus Hermann

Also die Einstellung im self02 haben die Wiederholung bei set mp3_play PlayTone 001 bisher nicht unterbunden.

Sicher ist, wenn SwJtOn auf "no" im self02 steht, dann wird nach ca. 50-55 Sekunden der unter ActType(Mp3) eingestellte Sound abgespielt, in einer Endlosschleife.

Das heißt, wenn ich per set mp3_play PlayTone 001 das File 001 abspiele, dann wird diese prompt abgespielt und nach ca. 45 Sekunden wird das File noch EINMAL abgespielt, dann nach ca. 50-55 Sekunden wird der Sound019 ewig wiederholt.

Das aber nur wenn SwJtOn = no ist.

ActNum hat darauf keinen Einfluss egal ob ich es auf 1 oder 2 ändern.

Ich würde gerne shMultiExec auf no setzen, aber das geht nicht. Register ist nicht bekannt

list:peer register         :value
                                            self02                        vrt_Btn2
                                lg              sh              lg              sh
ActNum                           1               2               1               1
ActType                          0              19              19              19
ActTypeMp3                       0              19              19              19
CtDlyOff                      geLo            geLo            geLo            geLo
CtDlyOn                       geLo            geLo            geLo            geLo
CtOff                         geLo            geLo            geLo            geLo
CtOn                          geLo            geLo            geLo            geLo
CtValHi                        100             100             100             100
CtValLo                         50              50              50              50
Intense                      vol_0           vol_0           vol_0           vol_0
MultiExec                      off              on
OffDly         [s]               0               0               0               0
OffTime        [s]          111600          111600          111600          111600
OffTimeMode                absolut         absolut         absolut         absolut
OnDly          [s]               0               0               0               0
OnTime         [s]          111600              20              20              20
OnTimeMode                 absolut         absolut         absolut         absolut
SwJtDlyOff                      no              no              no              no
SwJtDlyOn                       no              no              no              no
SwJtOff                      dlyOn           dlyOn           dlyOn           dlyOn
SwJtOn                      dlyOff          dlyOff              no              no



@martin876: Wie zeichne ich denn die messages auf?

Gruß
Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

martinp876

Hi Markus,

wie gesagt, self ist fuer andere Zwecke. Haette mich gewundert.

Aufzeichnen mit
attr global verbose 1
attr global mseclog 1
attr <hmlan> loglevel 1

dann sind die Logs im "grossen" logfile.

Probiern kannst du mit

set mp3_play raw ++A011F10000183FEF8002020201

Die letzte 01 ist die Nummer deines Liedes.
Die beiden 02 davor sind nicht klar. Dein 'vor-tester' konnte das nicht klaeren. Evtl schaffst du es.
Man kann noch weitere Bytes anhaengen, also
set mp3_play raw ++A011F10000183FEF8002020201 # MP3 #1
set mp3_play raw ++A011F10000183FEF800202020102 # MP3 #1 und 2
set mp3_play raw ++A011F10000183FEF800202020201 # MP3 #2 dann 1

Jetzt kannst du die beiden 02 ändern. Vielleicht sind es die Anzahl der Wiederholungen, jedenfalls eine der beiden.
Eigentlich erwarte ich auch die Lautstärke darin, eines der Bytes
Probiere einmal
set mp3_play raw ++A011F10000183FEF8002FF0201 #
set mp3_play raw ++A011F10000183FEF800202FF01 #

wird einer lauter?

Gruss
Martin


Markus Hermann

Hallo Martin,

leider funktioniert "raw" nicht:

Unknown argument raw, choose one of clear getConfig getRegRaw led peerBulk playTone regBulk regSet sign statusRequest


Gruß
Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

Markus Hermann

Vergiss meine Antwort, es muss raw auf das device ausgeführt werden, nicht auf den channel. ich teste morgen weiter und berichte.

Gruß
Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

Markus Hermann

Erste (Erfolgs)ergebnisse :-)

die Wiederholung ist nun abschaltbar:


set CFM raw ++A011F10000183FEF8002010101   
                                                             
# Wiederholung; 01= keine Wiederh.
# Wiederholung; 02= eine Wiederh.
# Wiederholung; 03= zwei Wiederh.



set CFM raw ++A011F10000183FEF8002FF0213   

# FileNr; 01=1. File...13=19. File



set CFM raw ++A011F10000183FEF8002FF0213

# Kanal; 01=LED 02=MP3
bei LED, also 01, gibt es zwar eine Rückmeldung:
,,led_play", aber am Device leuchtet nichts auf



set CFM raw ++A011F10000183FEF8002010101

# hier passiert leider nichts, egal ob FF oder 01 oder 00



Ich forsche weiter und die messages folgen auch noch.

Gruß
Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

martinp876

Zitatset CFM raw ++A011F10000183FEF8002010101

# Wiederholung; 01= keine Wiederh.
# Wiederholung; 02= eine Wiederh.
# Wiederholung; 03= zwei Wiederh.
werde das Kommando entsprechend ausbauen, wiederholungen einstellbar. Sollte bis 255 gehen
was passeirt bei "00"?

Zitatset CFM raw ++A011F10000183FEF8002FF0213
# FileNr; 01=1. File...13=19. File
logisch. Hier ist alle hex. Und 0x13 = 19


Zitat# Kanal; 01=LED 02=MP3
ja

Zitatbei LED, also 01, gibt es zwar eine Rückmeldung:
,,led_play", aber am Device leuchtet nichts auf
set CFM raw ++A011F10000183FEF8002FF0213
auch klar. 13 gibt es nicht.
Es gibt nur (in hex):
redL =>12
greenL =>22
orangeL =>32
redS =>11
greenS =>21
orangeS =>31
also
set CFM raw ++A011F10000183FEF8002FF0231
orange kurz

Wenn ich es verstanden habe sollte
set CFM raw ++A011F10000183FEF8002010102 # ein mal MP3 #2
set CFM raw ++A011F10000183FEF8002010202 # zwei mal MP3 #2
set CFM raw ++A011F10000183FEF80020102020302 # {MP3 #2 #3 #2} 2 mal
set CFM raw ++A011F10000183FEF8002010002 # nichts

leds
set CFM raw ++A011F10000183FEF8001010131 # orangekurz
set CFM raw ++A011F10000183FEF8001010421 # gruen kurz 4 mal
set CFM raw ++A011F10000183FEF800101042132 # {gruen kurz,orange lang} 4 mal

und maximal 12 entries:
set CFM raw ++A011F10000183FEF80010104313231313131313131313131

set CFM raw ++A011F10000183FEF8001010431323131313131313131313121 # sollte nicht mehr gehen - oder das letzte Licht wird ignoriert. => sonst die max length ermitteln.

Was wir nicht wissen ist die bedeutung des 1. Byte

set CFM raw ++A011F10000183FEF8002010101

Was kommte bei

set CFM raw ++A011F10000183FEF8002020102 # ?????

Gruss
Martin

nachtrag: Mit wiederholung meinst du wiederholen nach dem ersten Abspielen? also
01: ein mal gehoert => keine wiederholung?
00: nicht gehoert
02: zwei mal gehoert => eine wiederholung?



Markus Hermann

Hallo Martin,

genau:

Zitat01: ein mal gehoert => keine wiederholung!
00: nicht gehoert
02: zwei mal gehoert => eine wiederholung!  ###### NACH ca. 45 Sekunden
03: drei mal gehoert => eine wiederholung!  ###### NACH ca. 50 Sekunden

Aber das gilt nur bei MP3.

Bei LED sieht es anders aus.

set CFM raw ++A011F10000183FEF8001010421 # blinkt NICHT gruen kurz 4 mal, sondern nur EINMAL
set CFM raw ++A011F10000183FEF8001010121212121    # blinkt 4x
set CFM raw ++A011F10000183FEF8001010121212121212121212121    # blinkt 10x
set CFM raw ++A011F10000183FEF800101012121212121212121212121  # blinkt nur 10x, ich dachte dass es 11x blinkt. :-(
set CFM raw ++A011F10000183FEF8001010221212121212121212121  # blinkt 20x

Bei MP3 ist es ähnlich
set CFM raw ++A011F10000183FEF8002010113   # spielt MP3-File Nr.19 1x ohne Wiederholung
set CFM raw ++A011F10000183FEF8002010213   # spielt MP3-File Nr.19 1x mit EINER Wiederholung NACH ca. 45 Sekunden
set CFM raw ++A011F10000183FEF800201011313 # spielt MP3-File Nr.19 2x ohne Wiederholung
set CFM raw ++A011F10000183FEF8002010113131313131313131313 # spielt MP3-File Nr.19 10x ohne Wiederholung
set CFM raw ++A011F10000183FEF8002010213131313131313131313 # spielt MP3-File Nr.19 20x ohne Wiederholung
set CFM raw ++A011F10000183FEF8002010413131313131313131313 # spielt MP3-File Nr.19 40x ohne Wiederholung

Aber wie kann ich man 12x einstellen?

Keine Reaktionen hatte ich bei Byte 1, egal ob 00 oder 01 oder 02 oder FF
set CFM raw ++A011F10000183FEF8002010113

Wenn Du möchtest, dass ich noch andere Byte-Kombinationen ausprobieren soll, dann sag bescheid.

Gruß
Markus

CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

martinp876

Hallo Markus,

soweit prima. Bis auf

Zitatset CFM raw ++A011F10000183FEF8001010421 # blinkt NICHT gruen kurz 4 mal, sondern nur EINMAL
obwohl
Zitatset CFM raw ++A011F10000183FEF8001010221212121212121212121 # blinkt 20x
ich werden es trotzdem einmal so einbauen. Kannst du aber noch einmal testen.

ZitatAber wie kann ich man 12x einstellen?
12 ist hex 0C
Musst du aber nicht merken, die Eingabe wird natuerlich in dec.

Das Kommando wird sein
set <led> led redL,greenL,redL 10
also repeat am Ende.

Update kommt heute Abend. Probiere dann bitte die beiden Kommandos und lesen das Comamndref, damit alles stimmt.

Gruss
Martin




Markus Hermann

Hallo Martin,

ja ich weiß 12=0C, aber die Wiederholungen werden erst wiksam, wenn 10 Werte hintereinander stehen.

also

set CFM raw ++A011F10000183FEF8001010C1 # blinkt nur 1x
set CFM raw ++A011F10000183FEF8001010C111111 # blinkt 3x
set CFM raw ++A011F10000183FEF8001010C11111111111111111111 # blinkt 120

Gruß Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

martinp876

Hi Markus,

evtl erst ab 2 Werten? Was macht

set CFM raw ++A011F10000183FEF8001010C1121
sind 2 Farben, sollte 12 mal blinken.

Kann sein, dass dies das Problem von damals war, da hatten wir den Repeat nicht hinbekommen. Evtl weil es immer nur eine LED war, und es erst bei 2 funktioniert?
Die version mit commadinterface ist online, da kannst du mit Userinterface  auch testen.

Ich frage noch nicht auf die max states ab.
set cfm led redL,greenL,orangeL,redS,greenS,orangeS,redL,greenL,orangeL,redS 255

sollte funktionieren ;-)
kannst aber auch erst einmal kleiner testen.
ups,bug.
set CFM raw ++A011F10000183FEF8001010C1
kann nicht gehen. Probier einmal

set CFM raw ++A011F10000183FEF8001010C11

11 ist die Farbe
1 ist kein hex-wert. Muss immer 2-stellig angegeben werden

Gruss
Martin

Markus Hermann

Hallo Martin,

hier die Ergebnisse:

set led_play led redS 25          # spielt 1x rot
set led_play led redS,greenS 25    # spielt 1x rot, 1x grün
set led_play led redS 255          # spielt 1x rot
set led_play led redS,redS,redS,redS,redS,redS,redS,redS,redS 25  # spielt 9x rot
set led_play led redS,redS,redS,redS,redS,redS,redS,redS,redS,redS 25 # spielt 255x rot

Also das Byte, welches für die Wiederholungen zuständig ist, wirkt erst wenn 10 Farbwerte vorhanden sind.
Daher frage ich mich wie man dann 11x bis 19x (dezimal) blinken kann.

Bei MP3:
set mp3_play playTone 19 spielt FHEM nun endlich (freu) nur 1x ab. Super!

Also kann ich jetzt sehr laaaaaaaange blinken lassen und Warnmeldung per MP3 abspielen. Ziel erreicht.

Ich stehe aber sehr gerne für weitere Test zur Verfügung.

Danke an alle Beteiligten in diesem Thread.

Gruß
Markus


CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

Martin Thomas Schrott

Hi!

ich habe zwei Fragen / Anmerkungen zu dem Ergebnis:

1. Nur damit es konform zu allen anderen Abkürzungen ist: wäre ein shRed und lgGreen nicht passender?

2. oben steht das mit redS redS redS redS redS redS redS redS redS redS 25
ein 255mailiges blinken erreicht wird. Das kann ich gerade nicht nachvollziehen, wie kommt man hier auf 255 ich habe die Logik noch nicht durchschaut.
es steht 10x redS im Befehl das macht mal Sinn wenn es 10 mal blinkt. Nun gibt man hinten einen Wiederholungswert an der mit 25 gewählt ist. Normal müsste jetzt die Sequenz nach meiner Logik 25 mal wiederholt werden. also 10x25 != 255
Oder rechne ich falsch?

Abgesehen davon sollte ev der Behl so gefiltert werden das ein redS 2 auch ein zweifaches blinken ergibt -> man muss ja nur auf \d filtern denke ich.

Liebe Grüße
Martin