Unterputzdimmer als Sender - Verzögerungen beim Status

Begonnen von Topgun, 27 Januar 2017, 16:44:12

Vorheriges Thema - Nächstes Thema

Topgun

Hallo,

ich möchte gerne über einen Unterputzdimmer (HM-LC-Dim1TPBU-FM) auch eine Schaltsteckdose schalten.
Wenn ich den Dimmer jetzt kurz betätige, dann schaltet die Steckdose sehr verzögert (bis zu 20 Sekunden) später erst.

Mit dem Event-Monitor habe ich festgestellt, dass der Dimmer sehr verzögert seinen Status an FHEM zurück meldet.
In diversen Threads habe ich Informationen gefunden, dass man die Register statusInfoMinDly und statusInfoRandom ändern soll (auf 0 bzw. unused).
Das habe ich für das Device und den Kanal gemacht:


DG_Buero_Dimmer type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :or
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      statusInfoMinDly :unused
   1:      statusInfoRandom :0 s
   1:      transmitTryMax   :6

DG_Buero_Dimmer_Sw1_V_01 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :inactive
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      statusInfoMinDly :unused
   1:      statusInfoRandom :0 s
   1:      transmitTryMax   :6

DG_Buero_Dimmer_Sw1_V_02 type:dimmer -
list:peer register         :value
   1:      fuseDelay        :1 s
   1:      logicCombination :inactive
   1:      ovrTempLvl       :80 C
   1:      powerUpAction    :off
   1:      redLvl           :40 %
   1:      redTempLvl       :75 C
   1:      statusInfoMinDly :unused
   1:      statusInfoRandom :0 s
   1:      transmitTryMax   :6


Jetzt bin ich auf 5-10 Sekunden runter. Gibt es noch weiter "Tuning-Methoden", damit ich auf eine Verzögerung von unter 1 Sekunde komme?

Pfriemler

#1
statusInfoMinDly und statusInfoRandom hatte ich mehr mit den Statusmeldungen bei powerOn assoziiert stimmt nicht, gilt auch im normalen Betrieb. Dadurch werden u.a. Funkkollisionen beim Einstromen, etwa nach einem Stromausfall, vermieden. edit: s.u.
Bei meinen beiden Dimmer dieser Bauart stehen sie bei 2s und 1s.
Spontan fällt mir noch ein, dass die Dimmer gerade bei Rampen als erstes ACK auf eine Fernsteuerung den um 0.5 geänderten Ausgangswert als "phys" zurückliefern, erst nach dem Ende der Rampe erfolgt die "Vollzugsmeldung".
Auf was genau triggerst Du für das Einschalten der Steckdose?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Topgun

#2
Derzeit sieht das DOIF wie folgt aus:

defmod di_helper_DG_Buero DOIF ([DG_Buero_Dimmer] eq "on") (set Steckdose_691 on)\
\
DOELSEIF ([DG_Buero_Dimmer] eq "off") (set Steckdose_691 off)
attr di_helper_DG_Buero do always
attr di_helper_DG_Buero room doif


Aber das mit der Rückmeldung zu Beginn ist eine gute Idee, das habe ich schon in der GUI beobachtet, dass da zunächst ein anderer Status steht.

Update:
Das funktioniert leider nur, wenn man über die GUI schaltet. Wenn man den Dimmer betätigt nimmt er den Status nicht an  :(.
Ich sehe ja auch im Event-Monior erst eine Rückmeldung nach der Zeit. Es ist also kein Problem des Triggers in FHEM, sondern dass der Dimmer sich gleich melden soll, wenn er gedrückt wurde.

Pfriemler

Mit meinem einen HM-LC-Dim1TPBU-FM kann ich das gerade nicht nachstellen: Der liefert gar keinen Status zurück, wenn ich ihn auf "an" oder "aus" stelle (z.B. "chn:an phys:0)" - und das Licht brennt. Toll, was ist das denn jetzt für eine Sch...)
Aber folge ich einem anderen Gerät, wie etwa einem HM-LC-Dim1PWM-CV (12-24-LED Zwischendeckendimmer) oder einem HM-LC-Sw2PBU-FM mit einem DOIF Deiner Bauart, so erfolgt die Statusänderung meines Aktors ziemlich genau 3-4 Sekunden nach Erreichen des Endzustands. Das halte ich für völlig normal.

Hat wir jetzt neuerdings ein Problem mit dem HM-LC-Dim1TPBU-FM?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

MarcelK

Zitat von: Pfriemler am 27 Januar 2017, 17:09:47
statusInfoMinDly und statusInfoRandom hatte ich mehr mit den Statusmeldungen bei powerOn assoziiert.
Die gelten auch für die Status-Meldungen während des Betriebs. Hab bei meinem HM-LC-Sw1PBU-FM statusInfoMinDly auf 0.5s (das Minimum, bei "unused" sendet der Schaltger gar keine Meldungen mehr) und statusInfoRandom auf 0 gesetzt, dann geht es recht flott.

Gruß Marcel

Topgun

Was heißt recht flott?
Bei mir dauert das nach wie vor 5-10 Sekunden.
Muss man das dann bei allen 3 Channels setzen, oder recht Channel 1, der das Licht schaltet (ich habe es bei allen 3 gesetzt)?


frank

sniffe mal, wie im wiki beschrieben, zb ein set on.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Topgun

Ein "set on" würde ja aus FHEM aus aufgerufen. Da funktioniert das Ganze ja auch direkt (ohne Verzögerung).

Mir geht es um die Verzögerung von dem Moment an, wo ich den Wanddimmer betätige, bis der Dimmer eine Nachricht rausschickt, dass er betätigt wurde.
Insofern weiß ich nicht, was mir ein sniffen hier mehr bringt, als ich in dem Event-Monitor sehe.

Sobald die Zentrale die Nachricht des Dimmers empfängt, schaltet sie auch sofot die Steckdose ein.

Vielleicht noch mal zeitlich geschildert:

1. Drücken des Wanddimmers
2. 5-10 Sekunden warten
3. Wanddimmer sendet seinen neuen Status
4. FHEM schaltet die Steckdose

Der Punkt 2 stört mich, den möchte ich auf unter 1 Sekunde drücken, aber wie?

LuckyDay

theoretisch müsste es ein register geben , wo die rampenzeit bei den Tasten self1 und self2 eingestellt wird.
das ändern

Pfriemler

Die Rampenzeit bei Shorts ist default bei 0.5 s, das geht kaum kürzer. Beim manuellen Dimmen dauert das "Fahren" länger. Ich denke auch, dass der Dimmer erst nach Erreichen des neuen Zustands + minDelay + random den Status an FHEM meldet. Ich habe keine Ahnung, wie man das beschleunigt.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

martinp876

RampSstep 100%
Start Step Rampe. Steht so in der Registerliste ( einfach einmal nachsehen, welche Register "Rampe" beinhalten).
Es gibt auch noch die Rampenzeiten.

Dimstep 100% ist auch eine Idee.

Pfriemler

Ja so geht es natürlich noch 0.5 Sekunden schneller, aber damit degradiert man das Ding ja quasi zum Schalter. Ich dachte eher an irgendeinen Trick. Jetzt habt ihr mich endgültig neugierig gemacht. Ich geh ma ehmd was probieren ...

via Tapatalk
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

LuckyDay

Ich weiß ja nicht , mangels Info , wie er seinen Dimmer eingestellt hat :)
meiner geht bei short auf 50 % , mit long tue ich steppen auf 100 % ,
wenn größer 0% kurzer short, blinken 10 sek, danach runter auf 0%.

Dimmer hat Unmengen an Einstellungsmöglichkeiten.


martinp876

Was machst du bei langem short? ;)  :o
Ja, die Möglichkeiten sind extrem. Viele Dimmer haben die virtuellen Kanäle. Dann gibt es noch die "else" Register. Was die machen kann ich nicht sagen, aber irgend etwas können die auch

Topgun

Hallo, zur Info noch die Register-Werte:

HM-LC-Dim1TPBU-FM, Firmware 2.7

DG_Buero_Dimmer type:dimmer -
list:peer register         :value
                       self01                          self02                         
                       lg              sh              lg              sh             
ActionTypeDim          downDim         jmpToTarget     upDim           jmpToTarget     
CtDlyOff               geLo            geLo            geLo            geLo           
CtDlyOn                geLo            geLo            geLo            geLo           
CtOff                  geLo            geLo            geLo            geLo           
CtOn                   geLo            geLo            geLo            geLo           
CtRampOff              geLo            geLo            geLo            geLo           
CtRampOn               geLo            geLo            geLo            geLo           
CtValHi                100             100             100             100             
CtValLo                50              50              50              50             
DimElsActionType       off             off             off             off             
DimElsJtDlyOff         rampOff         rampOff         rampOff         rampOff         
DimElsJtDlyOn          rampOn          rampOn          rampOn          rampOn         
DimElsJtOff            dlyOn           dlyOn           dlyOn           dlyOn           
DimElsJtOn             dlyOff          dlyOff          dlyOff          dlyOff         
DimElsJtRampOff        off             off             off             off             
DimElsJtRampOn         on              on              on              on             
DimElsOffTimeMd        absolut         absolut         absolut         absolut         
DimElsOnTimeMd         absolut         absolut         absolut         absolut         
DimJtDlyOff            rampOff         rampOff         rampOn          rampOn         
DimJtDlyOn             dlyOff          dlyOff          rampOn          rampOn         
DimJtOff               dlyOff          dlyOff          dlyOn           dlyOn           
DimJtOn                dlyOff          dlyOff          rampOn          rampOn         
DimJtRampOff           off             off             rampOn          rampOn         
DimJtRampOn            dlyOff          dlyOff          on              on             
DimMaxLvl         [%]  100             100             100             100             
DimMinLvl         [%]  0               0               0               0               
DimStep           [%]  5               5               5               5               
MultiExec              on              off             on              off             
OffDly            [s]  0               0               0               0               
OffDlyBlink            on              on              on              on             
OffDlyNewTime     [s]  0.4             0.4             0.4             0.4             
OffDlyOldTime     [s]  0.4             0.4             0.4             0.4             
OffDlyStep        [%]  5               5               5               5               
OffLevel          [%]  0               0               0               0               
OffTime                unused          unused          unused          unused         
OffTimeMode            absolut         absolut         absolut         absolut         
OnDly             [s]  0               0               0               0               
OnDlyMode              setToOff        setToOff        setToOff        setToOff       
OnLevel           [%]  100             100             100             100             
OnLvlPrio              high            high            high            high           
OnMinLevel        [%]  10              10              10              10             
OnTime            [s]  1               unused          unused          unused         
OnTimeMode             minimal         absolut         absolut         absolut         
RampOffTime       [s]  0.5             0.5             0.5             0.5             
RampOnTime        [s]  0.5             0.5             0.5             0.5             
RampSstep         [%]  5               5               5               5               


Ich habe da bis auf die 2 Parameter statusInfoMinDly und statusInfoRandom nichts geändert zu den Standard-Werten.