Mehrere Rolläden per Dummy steuern - Problem mit Rücksetzen des State

Begonnen von MaxPower83, 03 August 2016, 13:44:30

Vorheriges Thema - Nächstes Thema

MaxPower83

Hallo,

ich habe derzeit drei Außenrollos über Fibaro roller shutters gesteuert. Die Rollos werden morgens und abends automatisiert gesteuert, das klappt ohne Probleme.
Nun möchte ich über ein Dummy device die drei Rollos mit einem Klick zusammen steuern. Das funktioniert an sich gut mit diesem Code:
define RolloShutter DOIF ([Rollos_EG:state] eq "on") (set eg_Rollo_Esszimmer dim 0, set eg_Rollo_Terrassentuer dim 99, set eg_Rollo_Wohnzimmer dim 99)\
DOELSEIF ([Rollos_EG:state] eq "75") (set eg_Rollo_Esszimmer dim 25, set eg_Rollo_Terrassentuer dim 75, set eg_Rollo_Wohnzimmer dim 75)\
DOELSEIF ([Rollos_EG:state] eq "50") (set eg_Rollo_Esszimmer dim 50, set eg_Rollo_Terrassentuer dim 50, set eg_Rollo_Wohnzimmer dim 50)\
DOELSEIF ([Rollos_EG:state] eq "25") (set eg_Rollo_Esszimmer dim 75, set eg_Rollo_Terrassentuer dim 25, set eg_Rollo_Wohnzimmer dim 25)\
DOELSEIF ([Rollos_EG:state] eq "off") (set eg_Rollo_Esszimmer dim 99, set eg_Rollo_Terrassentuer dim 0, set eg_Rollo_Wohnzimmer dim 0)


Mein Problem ist das wiederholte Setzen des gleichen States.

Beispiel: morgens werden die Rollos mittels des Dummys hochgefahren, abends fahren sie automatisiert zum Sonnenuntergang runter.
Am nächsten Morgen funktioniert das Hochfahren mit "manuellem Drücken" des Dummy-Buttons nicht mehr, weil der State "up" noch gesetzt ist.
Wenn ich irgendeinen anderen Wert des Dummys (0,25,50,75) anklicke, funktioniert es, nur der bereits existente Wert "up" wird ignoriert (macht ja auch Sinn würde ich sagen).

Nun dachte ich mir, dass ich nach jeder Nutzung des Dummys zum Steuern aller Rollos dessen State mit folgendem Code auf einen Wert ändere, den ich für die Steuerung nicht verwende. So sollte der State "up" oder irgendein anderer bei nächste Nutzung des Dummys nicht mehr gesetzt sein:

define Rollos_EG_Reset DOIF ([Rollos_EG:state] eq "on" or [Rollos_EG:state] eq "up" or [Rollos_EG:state] eq "75" or [Rollos_EG:state] eq "50" or [Rollos_EG:state] eq "25" or [Rollos_EG:state] eq "off") (set Rollos_EG 0)
attr Rollos_EG_Reset do always


Das funktioniert zwar, der State des Dummys ist dann "0", aber das Problem bleibt bestehen: habe ich gestern die Rollos über den Dummy mit "up" hochgefahren, kann ich sie heute nicht mehr auf die gleiche Weise hochfahren. Würde ich erst 75% auswählen und dann "up", ginge es.

Mus ich abgesehen vom State noch etwas anderes "resetten" oder ist meine Herangehensweise einfach falsch?

Danke und Grüße,
MAX

automatisierer

bei dem DOIF das Attribut 'do always' setzen, ansonsten wird das gleiche cmd nicht wiederholt ausgeführt.

wenn du das Rollo Esszimmer 'richtig herum' anschließen würdest, könntest du auch einfach mit structure arbeiten, damit kannst du mehrere Geräte zusammenfassen und zusammen steuern. Oder gibt es einen speziellen Grund dafür?


Wenn du das nächste mal etwas Postest, dann bitte nicht das define, sondern ein list des Device.