Verhalten von Jalousieaktor HM-LC-Bl1PBU-FM toggle mit Wandtaster HM-PB-6-WM55

Begonnen von jenscz, 13 November 2013, 11:41:20

Vorheriges Thema - Nächstes Thema

jenscz

Hallo, ich habe einen Jalousieaktor HM-LC-Bl1PBU-FM:

define Rollo.WZ.Balkontuer CUL_HM 123456
attr Rollo.WZ.Balkontuer .devInfo 010100
attr Rollo.WZ.Balkontuer .stc 30
attr Rollo.WZ.Balkontuer autoReadReg 4_reqStatus
attr Rollo.WZ.Balkontuer expert 2_full
attr Rollo.WZ.Balkontuer firmware 2.2
attr Rollo.WZ.Balkontuer model HM-LC-Bl1PBU-FM
attr Rollo.WZ.Balkontuer peerIDs 00000000,
attr Rollo.WZ.Balkontuer subType blindActuator
attr Rollo.WZ.Balkontuer webCmd toggle:on:off:up:down:stop:statusRequest


und ein notify für einen Wandtaster HM-PB-6-WM55 Button:

define n_SW_WZ_1_Btn_05 notify SW_WZ_1_Btn_05.* set Rollo.WZ.Balkontuer toggle
attr n_SW_WZ_1_Btn_05_short room Wohnzimmer


Rollo ist on oder off, Taster wird kurz gedrückt und Rollo fährt wenn vorher on nach off und umgekehrt. So weit so gut.
Fährt das Rollo aber gerade bereits, also der Motor läuft, bleibt das Rollo kurz stehen und fährt dann direkt in die andere Richtung.
Ich würde es jedoch gerne haben:

Klick -> Rollo fährt hoch oder runter, je nach Stellung -> Klick -> Rollo bliebt stehen -> Klick -> Rollo fährt in die andere Richtung

Hat das schon mal jemand gemacht bzw. eine Lösung? Ich möchte pro Rollo nur eine Taste nutzen.
CCU3 mit 6xHMW-IO-12-Sw7-DR,1x HMW-LC-Bl1-DR, Bewegungsmeldern .....
Gardena Smart IrrigationControl (ic24)

martinp876

Hallo Jenscz,

ich mache das mit direktem peering. gerade in diesem Fall halte ich es für einfacher und sinnvoller. Der Aktor hat all das (siehe unten) schon eingebaut.

Da du aber notifies bevorzugst wird es komplizierter.
toggle macht nicht, was du willst. Wenn der "level" nicht 0% ist wird auf 0% geregelt. Ansonsten auf 100%.
Das ist ein toggle ein/aus - kein toggle-drive-direktion. Um den zu bauen musst du dir erst einmal die letzte fahrtrichtung merken, up oder down.
dann schaltest du: wenn der motor fährt, also nicht up oder down ist auf stop. Wenn der Motor stop ist schaltest du auf das Gegenteil deiner gemerkten Fahrtrichtung.
Ich denke du brauchst mehrere notifies - und einen Dummy oder User-Reading.
Sicher Machbar, keine Frage. Musst du basteln gehen.
Tip: Fange mit dem Sammeln der fahrtrichtung an.

Gruss Martin

jenscz

Hi,

direktes Peering würde bis auf die Balkontür gehen, dort will ich zusätzlich auf die offene Tür prüfen. Daher per notify.

Hmm, vielleicht mach ich doch ein Tasterpaar und schalte, um Tasten zu sparen, direkt alle Rollos in einem Raum.

Short = Stop
Long = Hoch oder Runter je nach Taste.

Ich konnte doch auch irgendwie die $events per if abfragen nach short oder long. Kannst du mir "kurz" ein Beispiel nennen für:

define BlaBla_Btn_05 notify BlaBla_Btn_05YYYYY { if XXXX dann set rollo stop else set rollo on }

Was für Y und X einzusetzen ist krieg ich gerade nicht hin, den Rest bastle ich mir dann schon.
Irgendwas mit $event , .......
CCU3 mit 6xHMW-IO-12-Sw7-DR,1x HMW-LC-Bl1-DR, Bewegungsmeldern .....
Gardena Smart IrrigationControl (ic24)

martinp876

um es selbst zu können: setze "inform on" und drücke die Taste - dann solltest du alle trigger sehen, die du in ein notify einspeisen kannst.

define BlaBla_Btn_05 notify BlaBla_Btn_0[56].Short.* set rollo stop
define BlaBla_Btn_05 notify BlaBla_Btn_05.Long.* set rollo on
define BlaBla_Btn_05 notify BlaBla_Btn_06.Long.* set rollo off

Wenn du direkt peerst kannst du dies für alle deine Rollos machen. Um die Balkontür zu berücksichtigen kannst du ein "inhibit" an das Rollo schicken (per notify). Dann  sollten alle Tasten gesperrt sein - nur die Zentrale darf noch kommandos schicken.

Gruss Martin