Einfache Lichtschaltung - Mein erster Workflow...

Hallo,
habe gestern 3 Stunden lang etliche Varianten versucht, um lediglich ein Licht einzuschalten, wenn ein Rollladenaktor auf 0% fährt (volle Verschattung). Nutze HomeMatic-Aktoren (Unterputz).


Kann mir jemand helfen, warum ist die logische Verknüpfung von True AND True nicht TRUE, bzw. warum schaltet sich das Licht nicht ein?
Zum wieder Ausschalten, wenn sich der Rollladen wieder öffnet, bin ich gar nicht mehr gekommen ;-)…
Vielen Dank,
Kalle


Damit klappt offensichtlich das Einschalten, aber wenn der Rollladen wieder hochfährt, schaltet sich die Lampe nicht wieder aus…

Hi, ich glaube du brauchst ein „Aktualisierungs-Modul“. D.h. Dein Skript soll jede X Minuten/Sekunden ausgeführt werden und überprüfen ob sich etwas geändert hat. Ich weiß aber gerade nicht wie das Modul heißt…
lg

Danke, aber das hilft mir nicht weiter.
Wo deaktiviert man Workflows überhaupt im Studio ohne sie zu löschen? Oder sind die etwas immer aktiv, wenn man daran noch experimentiert?
Die Dokumentation zu den Workflows ist lang, aber unzureichend. Wie bei Microsoft „wenn Sie denn OK-Button drücken, dann wird die Funktion „OK“ ausgelöst“ ;-)…
Der Live-Modus funktinoniert auch nicht richtig, werde teilweise falsche Werte angezeigt und nicht richtig aktuallsiert usw. Ist das Programm noch in der Alpha-Phase?

Ich hab dazu mal ein Beispiel in meinem Blog gemacht:
http://ipsview.brownson.at/?p=1504

Deine erste Version funktioniert nicht, da die beiden Events den Workflow zu unterschiedlichen Zeiten auslösen. Im Live Modus werden beide Werte als TRUE angezeigt, da der zeitliche Ablauf sehr eng beisammen liegt.

Deaktiveren kannst Du einen Workflow derzeit nur, indem Du die zugehörigen Events unter dem Worklfow-Skript löscht.

Ganz vielen Dank für Deine Mühe :), noch eine Bitte: Warum startet der Timer nicht, ich wollte das Licht nach 60 Sec wieder ausschalten lassen:

Meinst Du damit in der IP-Symcon-Management-Console? Das Event kann man dort deaktiv schalten, werde ich mal testen… danke.

Warum startet der Timer nicht, ich wollte das Licht nach 60 Sec wieder ausschalten lassen:
Anhang 45333

Du musst beim Timer Modul das Interval auf einen Wert größer 0 setzen (ist in den Properties zu finden):wink:

Der Default Wert von 0 führt dazu, dass das Modul nichts macht - ist zugegeben ein etwas suboptimaler Default Wert - ich werde das im Zuge der Version 3.4 bereinigen.

Events lösche ich immer mit der Studio-Console, die IP-Symcon-Management-Console kann das aber vermutlich auch :D:D

Ich hatte bei diesem Test den Wert „Intervall (in Sek)“ des Moduls TimerVariable auch schon auf 60 gesetzt. Gleichzeitig eine Konstante mit dem Wert 60 hinzugefügt… nix passiert… sorry, ist sehr unlogisch, ist das nicht dieselbe Variable, also müsste man den Wert doch auf beide Arten setzen können und der andere Wert müsste sich anpassen oder wo liegt der Unterschied?

[ul]
[li]Zeit … Ist die Zeit in Sekunden, wie lange der Timer läuft (zB 60 Sekunden), dieser Wert ist der initiale Startwert für die verlinkte Variable.
[/li][li]Interval … Ist das Interval wie oft der Timer aufgerufen wird (zB 1 Sekunde) und dabei die Timervariable immer wieder um den angegebenen Wert reduziert.
[/li][/ul]

wenn Du das Interval auch auf 60 Sekunden setzt, dann sollte der Timer einmal aufgerufen werden und dann die verbleibenende Zeit sofort auf 0 setzen.
Ich habs bis dato aber nur mit Interval von 1 Sekunde getestet.

Jetzt habe ich die Variable „Intervall“ des „Timer Variable“-Moduls auf 1 gesetzt, der Eingangswert ins „Timer Variable“-Modul für „Zeit (Sec)“ ist über die Konstante mit 60 gefüllt. Das Licht geht an, wenn der Rollladen auf 0 (zu) ist, aber der Timer funktioniert leider immer noch nicht! Das Licht bleibt an, die 60 wird an die Variable „Verbleibende Zeit“ weitergeben und bleibt auf 60… offensichtlich läuft der Timer immer noch nicht, der Ausgang „Fertig“ erreicht wohl nicht den Wert True. Sorry, aber ich kann das logisch nicht nachvollziehen :-(.

Ergänzung: Die Timer Variable in der IP Managment Console bleibt auf „alle 0 Sekunden“, obwohl das Timer-Variable-Modul „True“ am Eingang „Aktiv“ ankommt! D.h. der Timer läuft definitiv nicht…

Ich hab das jetzt nochmals bei mir nachgebaut und auch mit der IPSStudio Version 3.3 getestet - funktioniert bei mir:

Wenn es bei Dir nicht klappt und Du auch das Interval korrekt gesetzt hast, dann könnte es eventuell noch an einem Bug im Studio liegen. Dieser betrifft das Anlegen von Events und das könnte zur Folge haben, dass der Timer nicht korrekt angelegt wird. Habe diesen mittlerweile in der Version 3.4 gefixt, bis zur public Beta könntest Du das angelegte Event mal manuell in der Konsole überprüfen (ist das Interval korrekt gesetzt …).

[EDIT] Hab mir das grad nochmals angesehen, es liegt tatsächlich an einem Bug an der v3.3, Du musst den Workflow ein weiteres mal speichern, damit der Timer angelegt wird.

Mit dem Modul „Timer Variable“ funktioniert es auch nach 10x speichern des Workflows nicht ;-)…
Ich habe jetzt aber einfach das normale „Timer“-Modul genommen, damit geht es :):