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.
Mit https://fhem.de/commandref.html#setstate kannst du einen Status setzen ihne ein Event auszulösen. Hilft das?
Was hast du denn da für Schalter? Sprich, wie ust die Hardware aufgebaut.
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.
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.
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)
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.
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)
unterstützt der Schalter auch short und long?
Dann könnte man das mit auf und ab verheiraten.
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 Rolllade
ns) 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".
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.
Wenn gelöst, dann bitte noch [Gelöst] vor das Subject des ersten Post.
Kurz, weil mobil...