Rollladen bewegt sich erst mit Verzögerung nach Abschicken eines Befehls

Begonnen von CottonIJo, 06 Juli 2019, 21:22:40

Vorheriges Thema - Nächstes Thema

CottonIJo

Hallo zusammen,

ich habe einen Rollladen-Rohrmotor von Schellenberg im Einsatz (Typ: Rohrmotor PLUS 10).
Der Rohrmotor hat den Vorteil, dass sich die Endlage oben/unten über einen Druckknopf einstellen läßt und nicht, wie bei den Standardmotoren mit 2 Wendelpotentiometern.
Nachteil ist (und das habe ich erst nach Kauf bemerkt), dass wohl im Rotorgehäuse eine Elektronik verbaut ist, die immer mit Zeitverzug (ca. 2 Sekunden) auf Befehle auf/ab reagiert.

Das führt dazu, dass die Zwischenstellungen des Rollladen (>0% ..<100%) nicht entsprechend der gewünschten berechneten Position (Prozentwert der hinterlegten driveDown/driveUp Zeit) angefahren werden.
Ihr müßt euch das so vorstellen, der Rollladenaktor HM-LC-BL1-FM schaltet (relais zieht an, Spannung an Motor), es kommt eine Pause von ca. 2Sek. und der Rollladen läuft dann los.
Die Steuerung der Position des Rollladen erfolgt über eine 4-Tasten Fernbedienung (HM-RC-4-3) die durch ein DOIF ausgewertet wird.

Frage: kennt jemand eine Möglichkeit, den Rollladenaktor zu schalten, eine definierte Zeit zu warten und dann erst die berechnete Zwischenposition des Rollladen anfahren zu lassen? Ich gehe davon aus, wenn der "Offset" rausgerechnet wird, stimmt die Position des Rollladen wieder mit dem Prozentwert im HM-LC-BL1-FM überein.
Grüße Joachim

list DOIF

Internals:
   CFGFN     
   DEF        ## ======== Rollladensteuerung im Schlafzimmer über 2 Fernbedienungen HM-RC-4-3 ============
##
## cmd:1, Rollladen ganz hoch über Taster1 (100%)
([20_DG_SZ_Remote_Control1_Btn_02:"Long"] or [20_DG_SZ_Remote_Control2_Btn_02:"Long"])
(set 20_OG_Schlafzimmer_Rollladen 100 {Log 1, "cmd_1 - Taste_1 --> Rollladen Schlafzimmer vollstaendig geoeffnet 100%"})
##
## cmd:2, Rollladen auf Lüftung über Taster2 (50%)
DOELSEIF
([20_DG_SZ_Remote_Control1_Btn_01:"Long"] or [20_DG_SZ_Remote_Control2_Btn_01:"Long"])
(set 20_OG_Schlafzimmer_Rollladen 50 {Log 1, "cmd_2 - Taste_2 --> Rollladen Schlafzimmer Abschattung 50%"})
##
## cmd:3, Rollladen auf Abschattung über Taster3 (25%)
DOELSEIF
([20_DG_SZ_Remote_Control1_Btn_04:"Long"] or [20_DG_SZ_Remote_Control2_Btn_04:"Long"])
(set 20_OG_Schlafzimmer_Rollladen 25 {Log 1, "cmd_3 - Taste_3 --> Rollladen Schlafzimmer auf Lueftungsschlitze 25%"})
##
## cmd:4, Rollladen zu über Taster4 (0%)
DOELSEIF
([20_DG_SZ_Remote_Control1_Btn_03:"Long"] or [20_DG_SZ_Remote_Control2_Btn_03:"Long"])
(set 20_OG_Schlafzimmer_Rollladen 0 {Log 1, "cmd_4 - Taste_4 --> Rollladen Schlafzimmer geschlossen 0%"})
##
## cmd:5, kurzer Tastendruck (Taste 1,2,3,4) Rollladen stop
DOELSEIF
([20_DG_SZ_Remote_Control1_Btn_02:"Short"] or [20_DG_SZ_Remote_Control1_Btn_01:"Short"] or [20_DG_SZ_Remote_Control1_Btn_04:"Short"] or [20_DG_SZ_Remote_Control1_Btn_03:"Short"] or [20_DG_SZ_Remote_Control2_Btn_02:"Short"] or [20_DG_SZ_Remote_Control2_Btn_01:"Short"] or [20_DG_SZ_Remote_Control2_Btn_04:"Short"] or [20_DG_SZ_Remote_Control2_Btn_03:"Short"])
(set 20_OG_Schlafzimmer_Rollladen stop, {Log 1, "cmd_5 - kurzer Tastendruck_1,2,3,4 --> Rollladen stop"})
   FUUID      5d17786f-f33f-8c2a-b817-f47a7b174387e791
   MODEL      FHEM
   NAME       20_DG_DOIF_Schlafzimmer_Rolllaeden_Remote_Control
   NR         47934
   NTFY_ORDER 50-20_DG_DOIF_Schlafzimmer_Rolllaeden_Remote_Control
   STATE      initialized
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   READINGS:
     2019-07-06 20:51:39   cmd             0
     2019-07-06 20:51:39   mode            enabled
     2019-07-06 20:51:39   state           initialized
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_02',$hash,'Long',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_02',$hash,'Long',1)
     1          ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_01',$hash,'Long',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_01',$hash,'Long',1)
     2          ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_04',$hash,'Long',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_04',$hash,'Long',1)
     3          ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_03',$hash,'Long',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_03',$hash,'Long',1)
     4          ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_02',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_01',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_04',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control1_Btn_03',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_02',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_01',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_04',$hash,'Short',1) or ::EventDoIf('20_DG_SZ_Remote_Control2_Btn_03',$hash,'Short',1)
   devices:
     0           20_DG_SZ_Remote_Control1_Btn_02 20_DG_SZ_Remote_Control2_Btn_02
     1           20_DG_SZ_Remote_Control1_Btn_01 20_DG_SZ_Remote_Control2_Btn_01
     2           20_DG_SZ_Remote_Control1_Btn_04 20_DG_SZ_Remote_Control2_Btn_04
     3           20_DG_SZ_Remote_Control1_Btn_03 20_DG_SZ_Remote_Control2_Btn_03
     4           20_DG_SZ_Remote_Control1_Btn_02 20_DG_SZ_Remote_Control1_Btn_01 20_DG_SZ_Remote_Control1_Btn_04 20_DG_SZ_Remote_Control1_Btn_03 20_DG_SZ_Remote_Control2_Btn_02 20_DG_SZ_Remote_Control2_Btn_01 20_DG_SZ_Remote_Control2_Btn_04 20_DG_SZ_Remote_Control2_Btn_03
     all         20_DG_SZ_Remote_Control1_Btn_02 20_DG_SZ_Remote_Control2_Btn_02 20_DG_SZ_Remote_Control1_Btn_01 20_DG_SZ_Remote_Control2_Btn_01 20_DG_SZ_Remote_Control1_Btn_04 20_DG_SZ_Remote_Control2_Btn_04 20_DG_SZ_Remote_Control1_Btn_03 20_DG_SZ_Remote_Control2_Btn_03
   do:
     0:
       0          set 20_OG_Schlafzimmer_Rollladen 100 {Log 1, "cmd_1 - Taste_1 --> Rollladen Schlafzimmer vollstaendig geoeffnet 100%"}
     1:
       0          set 20_OG_Schlafzimmer_Rollladen 50 {Log 1, "cmd_2 - Taste_2 --> Rollladen Schlafzimmer Abschattung 50%"}
     2:
       0          set 20_OG_Schlafzimmer_Rollladen 25 {Log 1, "cmd_3 - Taste_3 --> Rollladen Schlafzimmer auf Lueftungsschlitze 25%"}
     3:
       0          set 20_OG_Schlafzimmer_Rollladen 0 {Log 1, "cmd_4 - Taste_4 --> Rollladen Schlafzimmer geschlossen 0%"}
     4:
       0          set 20_OG_Schlafzimmer_Rollladen stop, {Log 1, "cmd_5 - kurzer Tastendruck_1,2,3,4 --> Rollladen stop"}
     5:
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   trigger:
     all         20_DG_SZ_Remote_Control1_Btn_02 20_DG_SZ_Remote_Control2_Btn_02 20_DG_SZ_Remote_Control1_Btn_01 20_DG_SZ_Remote_Control2_Btn_01 20_DG_SZ_Remote_Control1_Btn_04 20_DG_SZ_Remote_Control2_Btn_04 20_DG_SZ_Remote_Control1_Btn_03 20_DG_SZ_Remote_Control2_Btn_03
   uiState:
   uiTable:
Attributes:
   room       20_Dachgeschoss->Schlafzimmer


list HM-LC-BL1-FM

Internals:
   CFGFN     
   DEF        670117
   FUUID      5d175487-f33f-8c2a-a6e8-4268235fdd486bca
   IODev      myHmUART
   LASTInputDev RM_HmUART_DG
   MSGCNT     1531
   NAME       20_OG_Schlafzimmer_Rollladen
   NOTIFYDEV  global
   NR         46502
   RM_HmUART_DG_MSGCNT 657
   RM_HmUART_DG_RAWMSG 050100453BA4106701174C3DF406013200
   RM_HmUART_DG_RSSI -69
   RM_HmUART_DG_TIME 2019-07-06 20:21:23
   RM_HmUART_UG_MSGCNT 229
   RM_HmUART_UG_RAWMSG 05000057A480026701174C3DF40101130040
   RM_HmUART_UG_RSSI -87
   RM_HmUART_UG_TIME 2019-07-04 12:28:25
   STATE      25
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:3B - t:10 s:670117 d:4C3DF4 06013200
   myHmUART_MSGCNT 645
   myHmUART_RAWMSG 0501003B3BA4106701174C3DF406013200
   myHmUART_RSSI -59
   myHmUART_TIME 2019-07-06 20:21:22
   peerList   self01,self02,
   protCmdDel 73
   protLastRcv 2019-07-06 20:21:22
   protRcv    596 last_at:2019-07-06 20:21:22
   protResnd  91 last_at:2019-07-04 11:26:38
   protResndFail 26 last_at:2019-07-04 11:26:43
   protSnd    716 last_at:2019-07-06 20:21:22
   protState  CMDs_done
   rssi_RM_HmUART_DG cnt:4 min:-63 max:-50 avg:-56.75 lst:-57
   rssi_at_RM_HmUART_DG cnt:657 min:-80 max:-42 avg:-57.06 lst:-69
   rssi_at_RM_HmUART_UG cnt:229 min:-90 max:-82 avg:-86.27 lst:-87
   rssi_at_myHmUART cnt:646 min:-77 max:-51 avg:-58.86 lst:-59
   rssi_myHmUART cnt:216 min:-77 max:-58 avg:-65.89 lst:-64
   READINGS:
     2019-07-06 20:21:02   CommandAccepted yes
     2019-07-04 12:42:53   PairedTo        0x4C3DF4
     2019-07-04 11:26:23   R-driveDown     25 s
     2019-07-02 13:40:41   R-driveTurn     0.5 s
     2019-07-04 11:26:49   R-driveUp       22 s
     2019-07-02 13:40:40   R-pairCentral   0x4C3DF4
     2019-07-02 13:40:43   R-self01-lgActionType jmpToTarget
     2019-07-02 13:40:43   R-self01-lgOnLevel 100 %
     2019-07-02 13:40:43   R-self01-shActionType jmpToTarget
     2019-07-02 13:40:43   R-self01-shOnLevel 100 %
     2019-07-02 13:40:44   R-self02-lgActionType jmpToTarget
     2019-07-02 13:40:44   R-self02-lgOnLevel 100 %
     2019-07-02 13:40:44   R-self02-shActionType jmpToTarget
     2019-07-02 13:40:44   R-self02-shOnLevel 100 %
     2019-07-02 13:40:41   R-sign          off
     2019-07-04 12:42:53   RegL_00.         00:00 02:81 0A:4C 0B:3D 0C:F4 15:FF 18:00
     2019-07-04 12:42:54   RegL_01.         00:00 08:00 09:00 0A:00 0B:00 0C:FA 0D:00 0E:DC 0F:05 10:00 30:06 56:00 57:24
     2019-07-04 12:42:56   RegL_03.self01   00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:11 0C:12 0D:68 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:68 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:11 8C:12 8D:68 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:04 9E:68 9F:00
     2019-07-04 12:42:58   RegL_03.self02   00:00 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:93 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:93 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:44 8C:54 8D:93 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:04 9E:93 9F:00
     2019-07-06 20:21:22   deviceMsg       25 (to VCCU)
     2019-07-06 20:21:22   level           25
     2019-07-06 20:21:22   motor           stop:25
     2019-07-06 20:21:22   pct             25
     2019-07-04 12:42:54   peerList        self01,self02,
     2019-07-04 12:42:52   powerOn         2019-07-04 12:42:52
     2019-07-06 20:21:22   recentStateType info
     2019-07-06 20:21:22   state           25
     2019-07-06 20:21:22   timedOn         off
   helper:
     HM_CMDNR   59
     PONtest    0
     cSnd       114C3DF46701170201C8,114C3DF4670117020132
     dlvlCmd    ++A0114C3DF4670117020132
     mId        0005
     peerFriend peerSens,peerVirt
     peerIDsRaw ,67011701,67011702,00000000
     peerOpt    3:blindActuator
     regLst     0,1,3p
     rxType     1
     supp_Pair_Rep 0
     ack:
     dir:
       cur        stop
       rct        down
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +670117,00,00,00
       nextSend   1562437283.32129
       prefIO     
       rxt        0
       vccu       
       p:
         670117
         00
         00
         00
     mRssi:
       mNo        3B
       io:
         RM_HmUART_DG:
           -69
           -69
         RM_HmUART_UG:
         myHmUART:
           -53
           -53
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     regCollect:
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         myHmUART
       flg        A
       ts         1562437282.97697
       ack:
         HASH(0x5ac52e0)
         3B80024C3DF467011700
     rssi:
       RM_HmUART_DG:
         avg        -56.75
         cnt        4
         lst        -57
         max        -50
         min        -63
       at_RM_HmUART_DG:
         avg        -57.0608828006088
         cnt        657
         lst        -69
         max        -42
         min        -80
       at_RM_HmUART_UG:
         avg        -86.2794759825327
         cnt        229
         lst        -87
         max        -82
         min        -90
       at_myHmUART:
         avg        -58.8653250773994
         cnt        646
         lst        -59
         max        -51
         min        -77
       myHmUART:
         avg        -65.8935185185186
         cnt        216
         lst        -64
         max        -58
         min        -77
     shadowReg:
     tmpl:
Attributes:
   IODev      myHmUART
   IOgrp      VCCU:myHmUART
   autoReadReg 5_readMissing
   devStateIcon auf:fts_shutter_10 zu:fts_shutter_100@green .*:fts_shutter_50@yellow
   eventMap   statusRequest toggleDir on:auf off:zu up:hoch down:runter stop:stop
   expert     2_raw
   firmware   2.11
   group      Rolllaeden
   model      HM-LC-BL1-FM
   peerIDs    00000000,67011701,67011702,
   room       20_Dachgeschoss->Schlafzimmer
   serialNr   OEQ2688233
   subType    blindActuator
   webCmd     pct:auf:zu:hoch:runter:stop

Otto123

Hi,

der Aktor addiert am Ende auch noch eine "Sicherheitsekunde" drauf. Also Du misst eine Laufzeit von 22 sec für deinen Rollladen hoch, Du stellst den Aktor auf driveUp 22 und der Aktor schaltet dann ca 25 sec. (Quelle)
Die Rollläden haben ja auch normalerweise ein Lichtspaltöffnung, also die gehen erstmal auseinander bevor sie aufgezogen werden.
Deine 2 sec warten werden eigentlich durch die Verlängerung des Aktors schon kompensiert. Und nach 2 - 3 Jahren ist sowieso alles anders :)

Vergiss also den Anspruch das 50 % die halbe Öffnung sind :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CottonIJo

Hallo Otto,

danke für die schnelle Antwort (mal wieder ;-))

Grundsätzlich richtig Dein Kommentar, ich habe auch nicht den Anspruch, dass 50% genau 1/2 Rollladenöffnung ist.
Ich habe eher das Problem, dass ca. 2 Sekunden fast 10% Laufweg sind und je häufiger ich eine Zwischenposition anfahre und von dort eine weitere Position anfahre, desto ungenauer wird die Berechnung der neu anzufahrenden Position.
Das Ergebnis ist dann, dass der Rollladen nicht mehr ganz schließt bzw. nicht vollständig öffnet. Ich hatte schon den Effekt, dass in fhem mir 100% Öffnung angezeigt wurden und der Rollladen physikalisch auf 80% stand.
Was mich halt stutzig macht, ich habe bei allen anderen Fenstern die Standard-Rohrmotoren von Schellenberg (die mit dem Wendelpoti) verbaut und keiner der Rollladen läuft derart gravierend aus dem Ruder. Daher die Vermutung, der Offset beim Loslaufen ist die Hauptursache für die falsche Rollladenposition.
Grüße Joachim

Otto123

Hallo Joachim,

ja verstehe, mehrfach Zwischenpositionen anfahren wird damit quasi unmöglich.
Ich vermeide das bei mir allerdings auch.  Ich verwende eigentlich für Steuerungen nur wenige Positionen und nach einer Zwischenposition wird in der Regel komplett auf oder zu gefahren. Da klappt ganz gut.

Ich glaube diese Einschaltverzögerung kann der Aktor nicht abbilden. Und er müsst es machen, Du kannst es von außen ja nicht korrigieren.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz