Ankündigung HM-LC-RGBW-WM Ansteuerung von RGB Stripes

Begonnen von eldrik, 05 August 2015, 09:15:35

Vorheriges Thema - Nächstes Thema

chris1284

Zitat von: All-Ex am 21 Februar 2016, 11:09:08
Im Handbuch steht nichts zu benutzerdefinierten Programmen.

seite 13 meine ich ist genau das. und die 100 speicherbaren profile stehen in jeder produkbeschreibung zum lc
ZitatBis zu 100 Profile erstell- und speicherbar 

ZitatFür Kanal 3 (Automatik) kann z. B. folgender Konfigurationsparameter verändert werden:
-Geschwindigkeit Farbwechsel: Einheit s/U (Sekunden pro Durchgang)
Diese Einstellung wirkt sich auch auf die direkte Verknüpfung aus! Die Einstellmöglich sind sehr umfangreich und selbsterklärend auf der WebUI dargestellt

das bild stellt sich für mich so dar wie zb ein switch konfiguriert wird bei empfang eines short einer remote. diese einstellunegn werden auch im switch hinterlegt

martinp876

also.... ich entferne:
HM-LC-RGBW-WMdimmer  brightCol 
                      brightAuto
HM-LC-RGBW-WMColor   brightAuto
HM-LC-RGBW-WMAuto    brightCol


in der "Beschreibung" steht ganz klar, dass man speichern kann - bis zu 255 werte. Das Kommando zum Speichern ist aber identisch zum Setzen/Anwenden.
Meine Vermutung:
Es scheint mir besonders tricky. Es gibt eine Abhängigkeit zwischen dem Color und den Auto Kommando. Ich sehe nur eine Programmnummern im Auto Kommando. Vielleicht sollte man hier anfangen.
(alles Vermutung)
- set auto  brightAuto 20 10 30 60 20 40  # definiert ein Programm (und führt es aus)
- set auto  brightAuto 20 10                      # führt prog 10 aus
Brightness steht vor der Programmnummer - muss also eingegeben werden
test:

set auto  brightAuto 20 10 30 60 20 40  # definiert ein Programm (und führt es aus)
set auto  brightAuto 40 11 10 40 10 5  # definiert ein Programm (und führt es aus)
set auto  brightAuto 50 10                      # führt prog 10 aus
set auto  brightAuto 60 11                      # führt prog 11 aus


color kann man auch speichern. aber wie..... es hat keine Nummer im Kommando. Also muss es an der Programmnummer des auto hängen. Man kann also erst auto setzen, dann color.  dann kann man hoffen, dass die Color zusammen mit dem Auto unter Programmnummer des Auto Komandos abgelegt wird.


set auto  brightAuto 20 10 30 60 20 40  # definiert ein Programm (und führt es aus)
set colo  brightCol  20 90 5  20        # definiert color ???
set auto  brightAuto 40 11 10 40 10 5   # definiert ein Programm (und führt es aus)
set colo  brightCol  90 40 30 40        # definiert color ???
set auto  brightAuto 50 10              # führt prog 10 aus
set auto  brightAuto 60 11              # führt prog 11 aus



Die option parameter nicht zu setzen habe ich gerade eingecheckt.

Sollte das ganze klappen werden wir ein Kommando "set program" (in der Art) festlegen und die programme ähnlich der Register in HMInfo speichern/laden. Analog der templates.
Lesen kann an die Programme m.e. nicht


teste einmal, logge entsprechend.


All-Ex

habe eben ein update durchgeführt und danach dein commit (https://sourceforge.net/p/fhem/code/10901/) manuell reinkopiert.

fhem.pl           10769 2016-02-08 12:11:51Z rudolfkoenig
10_CUL_HM.pm      10901 2016-02-21 14:08:39Z martinp876
98_HMinfo.pm      10901 2016-02-21 14:08:39Z martinp876

Test 1:
2016.02.21 16:09:09.193 3: CUL_HM set dim.dg.sz_Auto brightAuto 200 10 30 60 20 40
2016.02.21 16:09:09.196 0: HMLAN_Send:  hmlan1 S:S04608C1D stat:  00 t:00000000 d:01 r:04608C1D m:11 A011 8CF27A 3ED2FE 8103C80A1E3C32001900
2016.02.21 16:09:09.362 0: HMLAN_Parse: hmlan1 R:R04608C1D stat:0001 t:05DE8F68 d:FF r:FFC2     m:11 8002 3ED2FE 8CF27A 01030A4000
2016.02.21 16:09:11.281 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05DE96E2 d:FF r:FFC2     m:13 A410 3ED2FE 8CF27A 06011440
2016.02.21 16:09:51.370 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05DF3382 d:FF r:FFC0     m:14 A410 3ED2FE 8CF27A 0601C840
2016.02.21 16:10:11.317 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05DF8170 d:FF r:FFC1     m:15 A410 3ED2FE 8CF27A 0602C800
2016.02.21 16:10:11.851 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05DF8386 d:FF r:FFC2     m:16 A410 3ED2FE 8CF27A 06030000
2016.02.21 16:10:12.383 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05DF859B d:FF r:FFC1     m:17 A410 3ED2FE 8CF27A 06010000


Die Tasten des Controllers blinken wie im Wiki angegeben (Während der Programmlaufzeit blinkt die Automatiktaste regelmäßig 1x lang. Während der Duration-Phase blinkt die Helligkeittaste regelmäßig 1x lang, während der Ramp-Phase blinkt die Helligkeittaste regelmäßig 2x kurz und 1x lang) . Die LEDs bleiben jedoch aus und blitzen nur ganz am Ende des Programms kurz auf. Vermutlich wird das Programm ausgeführt, hat aber keinen (sinnvollen) Inhalt.

Test 2:
Wenn ich erst brightAuto sende und während der Programmdauer brightCol, stoppt das Programm:
2016.02.21 16:17:15.427 3: CUL_HM set dim.dg.sz_Auto brightAuto 200 10 30 60 20 40
2016.02.21 16:17:15.431 0: HMLAN_Send:  hmlan1 S:S0467F778 stat:  00 t:00000000 d:01 r:0467F778 m:1F A011 8CF27A 3ED2FE 8103C80A1E3C32001900
2016.02.21 16:17:15.597 0: HMLAN_Parse: hmlan1 R:R0467F778 stat:0001 t:05E5FB15 d:FF r:FFC2     m:1F 8002 3ED2FE 8CF27A 01030A4000
2016.02.21 16:17:17.547 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05E602AE d:FF r:FFC2     m:21 A410 3ED2FE 8CF27A 06011440
2016.02.21 16:17:18.102 3: CUL_HM set dim.dg.sz_Color brightCol 20 90 5 20
2016.02.21 16:17:18.104 0: HMLAN_Send:  hmlan1 S:S046801EA stat:  00 t:00000000 d:01 r:046801EA m:22 A011 8CF27A 3ED2FE 8002145A19000640
2016.02.21 16:17:18.307 0: HMLAN_Parse: hmlan1 R:R046801EA stat:0001 t:05E605AB d:FF r:FFC2     m:22 8002 3ED2FE 8CF27A 01025A0000
2016.02.21 16:17:20.153 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05E60CDD d:FF r:FFC2     m:25 A410 3ED2FE 8CF27A 06011440
2016.02.21 16:17:20.686 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05E60EF2 d:FF r:FFC2     m:26 A410 3ED2FE 8CF27A 06025A00
2016.02.21 16:17:21.219 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05E61107 d:FF r:FFC3     m:27 A410 3ED2FE 8CF27A 06030000
2016.02.21 16:17:25.665 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:05E62265 d:FF r:FFC2     m:28 A410 3ED2FE 8CF27A 06010000


Test 3:
set dim.dg.sz_Auto brightAuto 200 10 bringt "brightAuto requires parameter: -bright- -colProg- -min- -max- -duration- -ramp-" Ohne die Optionen geht es nicht.

martinp876


All-Ex

#79
Habe gerade deine neuesten Commits eingebaut:

10_CUL_HM.pm      10910 2016-02-21 18:27:33Z martinp876
98_HMinfo.pm      10910 2016-02-21 18:27:33Z martinp876 
HMConfig.pm       10910 2016-02-21 18:27:33Z martinp876


Den brightAuto Befehl ohne zusätzliche Parameter kann ich nun ausführen, er hat jedoch keine Wirkung am RGB-Controller, d.h. Status-LEDs am Controller und LED-Stripes bleiben aus.

2016.02.21 19:49:11.475 3: CUL_HM set dim.dg.sz_Auto brightAuto 200 10 30 60 20 40
2016.02.21 19:49:11.477 0: HMLAN_Send:  hmlan1 S:S0529FF87 stat:  00 t:00000000 d:01 r:0529FF87 m:04 A011 8CF27A 3ED2FE 8103C80A1E3C32001900
2016.02.21 19:49:11.643 0: HMLAN_Parse: hmlan1 R:R0529FF87 stat:0001 t:06A80B89 d:FF r:FFC5     m:04 8002 3ED2FE 8CF27A 01030A4000
2016.02.21 19:49:13.588 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A8131D d:FF r:FFC6     m:06 A410 3ED2FE 8CF27A 06011440
2016.02.21 19:49:53.612 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A8AF7B d:FF r:FFC6     m:07 A410 3ED2FE 8CF27A 0601C840
2016.02.21 19:50:13.574 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A8FD79 d:FF r:FFC6     m:08 A410 3ED2FE 8CF27A 0602C800
2016.02.21 19:50:14.108 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A8FF8F d:FF r:FFC5     m:09 A410 3ED2FE 8CF27A 06030000
2016.02.21 19:50:14.640 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A901A4 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:38.083 3: CUL_HM set dim.dg.sz_Auto brightAuto 150 10
2016.02.21 19:50:38.085 0: HMLAN_Send:  hmlan1 S:S052B51D6 stat:  00 t:00000000 d:01 r:052B51D6 m:0B A011 8CF27A 3ED2FE 8103960A
2016.02.21 19:50:38.464 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A95EB6 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:38.581 0: HMLAN_Parse: hmlan1 R:R052B51D6 stat:0001 t:06A95EBB d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:43.089 0: HMLAN_Send:  hmlan1 S:S052B6562 stat:  00 t:00000000 d:01 r:052B6562 m:0B A011 8CF27A 3ED2FE 8103960A
2016.02.21 19:50:43.258 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A97170 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:43.375 0: HMLAN_Parse: hmlan1 R:R052B6562 stat:0001 t:06A97175 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:47.165 0: HMLAN_Send:  hmlan1 S:S052B754E stat:  00 t:00000000 d:01 r:052B754E m:0B A011 8CF27A 3ED2FE 8103960A
2016.02.21 19:50:47.328 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A98157 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:47.445 0: HMLAN_Parse: hmlan1 R:R052B754E stat:0001 t:06A9815C d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:51.366 0: HMLAN_Send:  hmlan1 S:S052B85B7 stat:  00 t:00000000 d:01 r:052B85B7 m:0B A011 8CF27A 3ED2FE 8103960A
2016.02.21 19:50:51.530 0: HMLAN_Parse: hmlan1 R:E3ED2FE   stat:0000 t:06A991C2 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000
2016.02.21 19:50:51.647 0: HMLAN_Parse: hmlan1 R:R052B85B7 stat:0001 t:06A991C7 d:FF r:FFC5     m:0A A410 3ED2FE 8CF27A 06010000


Test 2 von zwei Posts drüber ist gleich geblieben.

PS:

Die Readings level, pct und state im Dim Channel funktionieren übrigens und liefern den korrekten Helligkeitswert zurück.

chris1284

set auto  brightAuto 20 10 30 60 20 40  # scheint so aber die werte passen nicht zum progrmam da bei mir einfahc das lich anblieb und dann nach 60 sek ausging
set auto  brightAuto 40 11 10 40 10 5    # selbiges wie oben fabr und helligkeit bleibt einfach wie es vorher eingeschlatet war und nach dann gehts aus
set auto  brightAuto 50 10                      #  MISSING ACK
set auto  brightAuto 60 11                      #  MISSING ACK


die programme finde ich nebensächslich. schön und brauchbarer wäre ertsmal die einfacheren funktionen im dim-channel (dim auf lvl x , dim up , dim down)

martinp876

Ich dachte dim geht. Steht schon in wiki.
Dann fangen wir hier an. Mache ein pct und logge

chris1284

2016-02-25 21:05:16 CUL_HM HM_3ED2E0 CMDs_pending
2016-02-25 21:05:16 CUL_HM HM_3ED2E0_Dim level: set_50
2016-02-25 21:05:16 CUL_HM HM_3ED2E0_Dim set_50
2016-02-25 21:05:36 CUL_HM HM_3ED2E0 ResndFail
2016-02-25 21:05:36 CUL_HM HM_3ED2E0 CMDs_done_Errors:1
2016-02-25 21:05:36 CUL_HM HM_3ED2E0 MISSING ACK

martinp876

Scheint nicht zu gehen. Rohmessages sind wichtiger. Geht 100?


martinp876

was für eine miese implementierung. Ist das Device von eQ3 oder einem enternen Hersteller?  Werden die immer schlampiger? So schlecht war das Niveau bisher nicht.
Das Kommando wird gesendet, es kommt kein ACK. Das Device sendet einen Status. Das ist schlicht ggen das Protokoll.

Noch besser: Es wird ein Level gesetzt, es kommt kein NACK, kein ACK aber ein Status mit anderen Inhalt, dem alten Wert.

Schicke einmal ein dim kommando komplett - mit Rampe und Dauer.
Vielleicht geht dies.

chris1284

#86
wie soll das gehen? aus
set HM_3ED2E0_Dim pct 80 [egal was für werte folgen]
macht cul_hm
set HM_3ED2E0_Dim pct 80

besteht die möglichkeit aus meinen komponenten (hmlan, hmusb, 2. pc) eine umgebung zu bauen wo ich den LC wie eine ccu ansteuern kann (quasi mit offiziller software) und wir die commands in fhem mitsniffen? hätte auch noch nen pi, da gabs doch mal eine ccu für wenn ich mich nicht irre

martinp876

Mache ein get cmdlist. PCT hat optionale Kommandos. Ramptime, ontime. Teste und Logge es.

chris1284

hallo Martin,

ich habe nun eine lxccu installiert und dort den rgbw angelernt. dort kann ich ihn nun natürlich sauber bedienen und fhem hört die meldungen mit.
dabei viel mir beim dimmen auf das fhem offenbar da etwas falsch macht. wenn ich per ccu um 10% down /up dimme meint cul_hm immer es wären xx.5 werte zb:

von 100% auf 90% cul_hm erkennt dann ein set auf 99.5 und spring dann wenn der rgbw meldet was er gestellt hat auf 90%

kannst du damit was anfangen? das ist ein dim down von 100% um 10% auf 90%
Zitat2016.03.28 16:00:47 2: CUL_HM HM_3ED2E0 attack:11F812843ED2E00201C80000,11F812843ED2E00201000000:1F812843ED2E00201B400A0
so sieht das dann im eventMonitor aus
Zitat
2016-03-28 16:05:29 CUL_HM HM_3ED2E0 sabotageAttack_ErrIoAttack cnt: 34
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim deviceMsg: 99.5 (to vccu)
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim dim: stop:99.5
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim level: 99.5
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim pct: 99.5
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim 99.5
2016-03-28 16:05:29 CUL_HM wz_rgbled_Dim timedOn: running
2016-03-28 16:05:32 CUL_HM HM_3ED2E0 CMDs_done
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim deviceMsg: 90 (to vccu)
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim dim: stop:90
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim level: 90
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim pct: 90
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim 90
2016-03-28 16:05:32 CUL_HM wz_rgbled_Dim timedOn: off

martinp876

Ja, so ist das mit hm. Leider nicht alles so wie es soll, und auch immer leicht unterschiedlich.
I.a. sendet ein device in so einem Fall ein ACK mit dem aktuellen Status. Also Kommando dimmdown resp. Ack, status 100. dann (erst) startet das dimmen und es geht runter. Bei 90 ist stop und es kommt eine status message entsprechend.
In diesem Fall ist das erste Problem dass die 100 als 99.5erkannt werden. Ist ein Rundungsfehler. Bislang nicht aufgefallen, kann auch an deinem perl leigen.
Dann sehe ich ein timed on. Das gehört sich nicht. Das ist die Rampe, kein timed on. So machen es die Dimmer nicht. Und das Kommando hat ja noch nicht begonnen. Rampe noch auf Stop.
Dass kein up down zu sehen ist ist möglich. Es kommt ein status vor und einer nach der Rampe.
Sonst ist alles gut.