IPS 4 Unterscheiden ob ein Rolladen Manuell oder von einem Script bewegt wurde

Hallo,

ich Versuche gerade herauszufinden wie ich Unterscheiden kann ob ein Rolladen von einem Programm oder Manuell am Aktor bewegt wurde.

Ich verwende Homematic Aktoren. Dazu habe ich einfach für jeden Rolladen eine Status Variable vom Typ String Angelegt (mit Archivierung) die von dem Programm mit dem Namen Beschrieben wird was auch genauso klappt.

Weiters habe ich einen Trigger auf die LEVEL Variable welche in die Status Variable den $_IPS[‚SENDER‘] schreibt angelegt, damit ich die Manuellen Bedienungen auch Dort Protokolliert werden.

Jetzt ist das natürlich so das mein Programm zwar in der Status Variable Protokolliert aber über den Trigger etwas später wieder der selbe IPS Sender den Wert überschreibt.

Die Archivierten Werte einer Status Variable sehen so aus:

07.09.2016 15:05:39: Variable
07.09.2016 15:05:39: Rollo_Auto
07.09.2016 15:02:33: Variable
07.09.2016 15:02:33: Rollo_Auto
07.09.2016 15:01:59: Variable

Vielen Dank im Voraus für eure Tips und Hilfe!

Hallo,

dann Antworte ich mir mal selbst mit einem „Workaround“ und zwar habe ich beim Script des Triggers auf die LEVEL Variable eine Abfrage eingebaut das die letzte Änderung vor mehr als drei Sekunden sein muss ansonsten wird die Status Variable nicht Aktualisiert und damit das doppelte Überschreiben verhindert.

Nun sind meine Rolläden wieder Smarter und Bewegen sich nur mehr dann Automatisch (Lüften, Energy Harvesting, Beschattung und Hellgkeit) wenn ich sie im Aktuellen Zyklus nicht Manuell bediene. Wobei ein Zyklus bis 00:05 geht oder das Haus auf Abwesend geschalten wird oder es Dunkel wird.

Schön ist diese Lösung nicht aber ich sehe keine andere Möglichkeit…

Hallo,

da der Workaround mit der Wartezeit von 3 Sekunden hat leider nicht so Funktioniert weil die LEVEL Variable alle paar Sekunden von HM Aktualisiert wurde und daher bis zu 15 Events bei einer Fahrt ausgelöst wurden, auch ein weiterer Filter der die Soll mit der Ist Position verglichen hat hat nicht Funktioniert.

Aber die Lösung ist das Event nicht mit der LEVEL Variable sondern mit der WORKING Variable auszulösen, den die wird nur bei Fahrtbeginn und Fahrtende gesendet und kann wunderbar abgefragt werden.

Vielleicht findet der eine oder andere der auch Homematic einsetzt diesen Artikel sinnvoll.

Hallo Paul,

danke für die Anregung :slight_smile: … Hatte ein änliches Problem mit der Untscheidung … und mit der Level Varialble getriggert.
Was eine schöne Schleife auslöste :wink: … Um mir den aktuellen Status im WF anzeigen zu lassen …
mit der Working Variable geht es nun super … :slight_smile:

Danke,

Gruss
Thomas