[gelöst] schalter toggle Richtung wechseln ohne Schalter zu drücken

Begonnen von essera, 24 Januar 2018, 00:49:20

Vorheriges Thema - Nächstes Thema

essera

Hi,

ich habe schon versucht zu meinem Thema eine Info zu finden aber leider keinen Erfolg gehabt.
Folgende Situation:
Ich habe einen Schalter der toggelt meine automatische Rollade. D.h. Rollade ist oben .Meine Frau will sie runter haben . Toogle schalter einmal drücken - sie fährt runter, beim nächsten Mal drücken fährt sie wieder hoch.
Jetzt ist es jedoch so, dass die Rollade morgens automatisch halb hoch fährt, später möchte meine Frau sie dann über den Toggle schalter ganz hoch fahren.
Wird nun den Schalter gedrückt fährt sie natürlich erst runter, man muss dann mit toggle stoppen und dann nochmal drücken damit sie ganz hoch fährt.

Frage: Kann man über ein Kommando, Attribut, Register die Richtung des nächsten toggle Befehls umkehren ändern ohne ihn manuell/programmtechnisch  zu betätigen.

Ich habe eine Krücke gebaut indem die Rollade nach dem Hochfahren wieder um 1 Prozent runter fährt. Finde ich aber sehr unelegant und benötigt ein 2. DOIF .

VG,
Andreas.


KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

automatisierer

Was hast du denn da für Schalter? Sprich, wie ust die Hardware aufgebaut.

nils_

Zitat von: essera am 24 Januar 2018, 00:49:20
Frage: Kann man über ein Kommando, Attribut, Register die Richtung des nächsten toggle Befehls umkehren ändern ohne ihn manuell/programmtechnisch  zu betätigen.
theoretisch ja, praktisch wissen wir nicht was du für hardware verwendest.

Zitat von: essera am 24 Januar 2018, 00:49:20
Ich habe eine Krücke gebaut indem die Rollade nach dem Hochfahren wieder um 1 Prozent runter fährt. Finde ich aber sehr unelegant und benötigt ein 2. DOIF .
dafür ist nicht unbedingt ein 2. DOIF nötig.


ein list der beteiligten devices wäre noch hilfreich für weitere informationen.
viele Wege in FHEM es gibt!

essera

Da es sich um ein grundlegendes PRoblem zum toggle ging dachte ich , dass die Hardware egal wäre. Lässt sich ja mit jedem beliebigen Schalter umsetzen.
Ich habe einen folgenden Schalter dafür im Einsatz:

Internals:
   DEF        51429602
   NAME       ess_schalt1_Btn_02
   NOTIFYDEV  global
   NR         200
   NTFY_ORDER 50-ess_schalt1_Btn_02
   STATE      Short 1_156 (to VCCU)
   TYPE       CUL_HM
   chanNo     02
   device     ess_schalt1
   READINGS:
     2018-01-25 17:30:46   state           Short 1_156 (to VCCU)
     2018-01-25 17:30:46   trigger         Short_156
     2018-01-25 17:30:46   trigger_cnt     156
   helper:
     BNO        156
     BNOCNT     1
     regLst     ,1,4p
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     tmpl:
Attributes:
   model      HM-PB-2-WM55-2
   peerIDs    00000000,


und schalte einen Rolladenschalter:


Internals:
   CUL_0_MSGCNT 167
   CUL_0_RAWMSG A0E49800253AC54000ADA0101970034::-51:CUL_0
   CUL_0_RSSI -51
   CUL_0_TIME 2018-01-25 17:30:47
   DEF        53AC54
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     167
   NAME       kue_rollo
   NOTIFYDEV  global
   NR         172
   NTFY_ORDER 50-kue_rollo
   STATE      75.5
   TYPE       CUL_HM
   lastMsg    No:49 - t:02 s:53AC54 d:000ADA 0101970034
   protLastRcv 2018-01-25 17:30:47
   protSnd    167 last_at:2018-01-25 17:30:46
   protState  CMDs_done
   rssi_CUL_0 max:-50 cnt:112 min:-79 avg:-53.47 lst:-52
   rssi_at_CUL_0 max:-50.5 min:-83 cnt:167 lst:-51 avg:-53.83
   READINGS:
     2018-01-25 17:30:47   CommandAccepted yes
     2017-11-29 18:28:23   D-firmware      2.8
     2017-11-29 18:28:23   D-serialNr      NEQ1688832
     2017-12-10 00:55:47   PairedTo        0x000ADA
     2017-12-10 00:55:48   R-driveDown     15 s
     2017-12-10 00:55:48   R-driveTurn     0.5 s
     2017-12-10 00:55:48   R-driveUp       17 s
     2017-12-10 00:55:47   R-pairCentral   0x000ADA
     2017-12-10 00:55:48   R-sign          off
     2017-12-10 00:55:47   RegL_00.        02:01 0A:00 0B:0A 0C:DA 15:FF 18:00 00:00
     2017-12-10 00:55:48   RegL_01.        08:00 09:00 0A:00 0B:00 0C:96 0D:00 0E:AA 0F:05 10:00  30:06 57:24 56:00 00:00
     2018-01-25 17:30:47   deviceMsg       75.5 (to VCCU)
     2018-01-25 17:30:47   level           75.5
     2018-01-25 17:30:47   motor           stop:75.5
     2018-01-25 17:30:47   pct             75.5
     2018-01-25 17:30:47   recentStateType ack
     2018-01-25 17:30:47   state           75.5
     2018-01-25 17:30:47   timedOn         off
   helper:
     HM_CMDNR   73
     cSnd       11000ADA53AC540201C80000,11000ADA53AC540301
     dlvlCmd    ++A011000ADA53AC540201C80000
     mId        0005
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +53AC54,00,00,00
       nextSend   1516897847.23357
       rxt        0
       vccu       VCCU
       p:
         53AC54
         00
         00
         00
       prefIO:
         CUL_0
     mRssi:
       mNo        49
       io:
         CUL_0      -49
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rssi:
       CUL_0:
         avg        -53.4732142857143
         cnt        112
         lst        -52
         max        -50
         min        -79
       at_CUL_0:
         avg        -53.8323353293413
         cnt        167
         lst        -51
         max        -50.5
         min        -83
     tmpl:
Attributes:
   IODev      CUL_0
   IOgrp      VCCU:CUL_0
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   2.8
   model      HM-LC-BL1-FM
   peerIDs    00000000,
   room       CUL_HM,Kueche,Rollo
   serialNr   NEQ1688832
   subType    blindActuator
   webCmd     statusRequest:toggleDir:on:off:up:down:stop


Wenn die Rollade halb hoch fährt (50%) kann ich mit setstate kue_rollo 48 den Status zwar ändern. Ein toggle Befehl vom Schalter fährt die Rollade wieder runter . (normalerweise ja richtig, ich möchte aber die Rollade weiter hoch fahren . d.h. in diesem Fall also ein Kommando einfügen welches sozusagen ein "Blind Toggle" einfügt, so dass der nächste Druck auf den Schalter die Rollade weiter hoch fährt.

Ich hoffe ich habe mich damit nachvollziehbar und verständlich ausgedrückt.

automatisierer

Also hast du den Taster und den Aktor mittels DOIF oder notify verknüpft.

Warum toggelst du denn mit dem Taster? Du könntest doch auch Btn_01 für auf und Btn_02 für zu nehmen. Oder nutzt du den Taster noch um andere Dinge zu steuern?

Du könntest, wenn du Sensor und Aktor mittels DOIF verknüpft hast, dein DOIF so umbauen, dass es bei 50% halt den Befehl auf sendet.


evtl. kannst du es so workarounden, aber es bleibt fuckel...
DOIF
(["Btn_02:short"] and [Aktor] ne "50") (set Aktor toggle)
DOELSEIF
(["Btn_02:short"] and [Aktor] eq "50") (set Aktor auf)





essera

Der Taster bietet 2 Schaltmöglichkeiten. Ja die erste habe ich mit dem Licht gekoppelt.

Das DOIF ist halt nur die Öffnung der Rollade  von Mo - Fr um 7:45 und SA undSo um 10:00 Uhr.
Das mit dem Doif für den Schalter wäre ein anderer Workaround .... gar nicht mal schlecht. ::)

@automatisierer Ich werde mal deinen Vorschlag testen und sehen wie er im Handling bei meiner Frau ankommt.



nils_

andere möglichkeit wäre, sich zu merken das das rollo automatisch hoch gefahren wurde, und dann beim nächsten tastendruck immer den befehl aufwärts zu fahren schickt.


wie fährst du die rollos morgens? DOIF? notify??
poste mal ein list :)


ansonsten sind diese toggle-probleme ähnlich wie bei den (hörmann-) garagentoren. dort noch verbunden mit dem "nachteil" das man nicht weiß wo das tor gerade steht (ohne weitere sensorik)
viele Wege in FHEM es gibt!

networker

unterstützt der Schalter auch short und long?

Dann könnte man das mit auf und ab verheiraten.

Prof. Dr. Peter Henning

#9
Zitatmit auf und ab verheiraten

Hm. Als FHEM-Enthusiast soilte man sich mit jemandem verheiraten, der wenigstens zwei verschiedene Schalter für verschiedene Funktionen betätigen kann.

Ernsthaft: Es besteht kein Problem, mit einem Sensor (also dem Schalter) verschiedene Funktionen auszulösen. Allerdings muss der Zustand des Aktors (des Rollladens) eindeutig bekannt sein.

WENN dem so ist, programmiert man einen kleinen Zustandsautomaten, der einen Zustand in einen anderen überführt. WIe man so etwas in einem Diagramm darstellt, kann man z.B. hier sehen: https://wiki.fhem.de/wiki/1W-WPump

LG

pah

P.S: Im Duden steht zwar "die Roulade", aber nicht "die Rollade".



essera

Danke für die vielen Denkanstöße .. auch für meine Frau ... ich werde das genau so weiter geben.... ;D

Ich habe mich entschlossen das mit einem Doif zu lösen welches den Status der Rollade morgens mit berücksichtigt (steht bei mir im ersten Schritt immer auf 43%) und dann statt einem toggleDir direkt hoch fährt und ansonsten halt den toggleDir auslöst.

Nochmals danke an alle.

KernSani

Wenn gelöst, dann bitte noch [Gelöst] vor das Subject des ersten Post.


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...