Ablaufplan (6.0+)

Wie wäre es mit einer Hilfskonstruktion

  1. eine Hilfsvariable, die bei Änderung der zu schaltenden Variable gesetzt wird, aber nur dann gesetzt wird, wenn der Wert != „Legionellenprogramm“ ist (aus deinem letzten Beispiel). Die Variable sollte also nur „PV“, „Ölheizung“ oder „Heizstab“ enthalten.

oder

  1. die Variable loggen und dann bei Bedarf auf den vorigen Wert im Archiv zurück greifen

@Dr.Niels
Ist ja nur ein Vorschlag der in meinen Augen durchaus Sinn ergibt :wink:
Wenn er Anklang findet und am Ende auch noch irgendwann implementiert wird… super. Wenn nicht , auch kein Drama, dann läuft es halt über eine Hilfsvariable wie bisher …

Danke und viele Grüße
Stephan

Frage:
Ich möchte eine „zeitversetzten“ Ablaufplan erstellen.
D.h. Sonnenuntergang PLUS eine von mir gewählte Zeit in Minuten die dazu addiert wird.
Beispiel:
Sonnenuntergang 16:30 Uhr
Zeitvariable 60 Minuten
d.h. um 17:30 Uhr sollte dann z.b.: die Außenbeleuchtung eingeschaltet werden

Wäre das mit EINFACHEN Mitteln irgendwie zu bewältigen.

Hintergrund:
ich möchte von IPSStudio wegkommen
Dort gibt es aber einen wirklich tollen Logikeditor (grafisch), den Rest finde ich mittlerweile nicht mehr sinnvoll (für mich)

Du willst das Offset im Location Control hinzufügen. Und dann hast du einen neuen trigger für den Ablaufplan.

paresy

Ja Danke, aber ich möchte Ablaufpläne für viele Aktionen nutzen.

Außenlicht: Sonnenuntergang + Zeitversatz
Raffstoreverdunkelung Erdgeschoss: Sonnenuntergang + Zeitversatz
Raffstoreverdunkelung Eltern: Sonnenuntergang + Zeitversatz
Raffstoreverdunkelung Kinder: Sonnenuntergang + Zeitversatz
usw…

UND diese möchte ich direkt im Webfront ändern können:

Beispiel:

es gibt doch als Aktion unter Experte „Warte für eine Dauer welche durch den Inhalt einer Variable definiert ist“

Leg eine neue Variable an in der du deinen Offset speicherst und fertig. Der Ablaufplan wird z.B. zum Sonnenuntergang gestartet und wartet dann als erste Aktion bis die Zeit aus deiner Variablen abgelaufen ist.

Gruß Stephan

1 „Gefällt mir“

Dank da8ter,
wollte mir das jetzt ansehen, scheitere aber schon beim erstellen des Auslösers!

Welche Variable muss ich als Auslöser verwenden, d.h. Start der Aktion bei Uhrzeit Sonnenuntergang?
Zyklisch und Wochenplan scheiden aus. Bleibt nur Ausgelöst:
Auslösende Variable? Sonnenuntergang? Und dann Auslöser? Bei bestimmten Wert, das passt alles nicht. Bräuchte einen Trigger…

Schau mal bitte in die Doku: Location Control — IP-Symcon :: Automatisierungssoftware

Beispiel ganz unten :slight_smile:

Sofern du noch Hilfe brauchst, erstell bitte ein neues Thema → Hier geht es hauptsächlich um den Ablaufplan :slight_smile:

paresy

1 „Gefällt mir“

Danke, habs jetzt verstanden. Tolle Sache der Ablaufplan.

Wunsch: Ausführen von PHP Code Skript Datei (also nicht PHP Code im Ablaufplan)

Du muss du als Ziel ein Script auswählen.
Die angebotenen Aktionen sind immer abhängig vom gewählten Ziel.
Michael

1 „Gefällt mir“

Ich beschäftige mich seit gestern mit den Ablaufplänen und habe noch zwei Fragen dazu:

  1. Kann ich mit Boardmitteln innerhalb eines Ablaufplans prüfen ab eine anderer Ablaufplan gerade läuft oder muss ich dafür eine Variable setzen sobald ein Ablaufplan gestartet wird?

  2. Gibt es eine Möglichkeit z.B von Schritt 3.1 zurück nach Schritt 2.1 zu springen?

  1. Theoretisch kannst du über alle PHP Threads gehen und gucken, ob der passende Plan läuft. Das müsstest du aber in einer eigenen Aktion verpacken. Was ist dein Use-Case dafür?

  2. Nein, dies ist nicht vorgehen.

paresy

@Dr.Niels, baust du noch die farbliche Abgrenzung ein? :slight_smile:

Grüße,
Kai

Wenn ich zwei Ablaufpläne habe, Ablaufplan A der von einem Bewegungsmelder ausgelöst wird und dann für 10 Minuten eine Lampe mit 100% Helligkeit einschaltet und Ablaufplan B der die Lampe mit 50% Helligkeit einschaltet sobald es nicht mehr Tag ist. Wenn Ablaufplan A jetzt kurz vor B ausgelöst wird muss ich in B eigentlich wissen ob A gerade läuft und damit ich danach die Lampe auf 50% dimmen kann und in Ablaufplan A muss ich wissen ob die Lampe danach ausgeschaltet werden kann oder ob Ablaufplan B ausgeführt werden muss. Jedenfalls soll die Lampe nicht erst ausgeschaltet werden sondern in diesem Fall von 100% > 50% gedimmt werden. Vielleicht geht es aber auch einfacher :smile:

Warum legst du nicht beides in einen Plan und machst dort eine Differenzierung rein wann 50% und wann 100% sein soll?

paresy

Das habe ich bislang immer versucht zu vermeiden, weil ich eigentlich eine klare Trennung zwischen ausgelösten und zyklischen Ereignissen bei Scripten/Ablaufplänen haben möchte. Das wird schnell unübersichtlich wenn man zu viele Ereignisse vermischt, aktuell sehe ich halt auf einen Blick welcher Ablaufplan durch den Bewegungsmelder ausgelöst wird und welcher nach Uhrzeit. Aber ich schau mir das mal an wie sich das alles in einem Ablaufplan unterbringen lässt.

Guten Tag Zusammen!

Gibt es eine Funktion mit der ich die Instanznummer des Ablaufplans auslesen kann?

so wie
$IDname = $_IPS[‚SELF‘];
bei einem Skript
Das funktioniert bei einem PHP Code im Ablaufplan leider nicht → ergibt immer 0

Hintergrund: Ich möchte einen Logbucheintrag ins Meldungsskript von pitti machen.
Uhrzeit, Datum und Nummer der Instanz
Damit ich bei Problemen das Skript/Ablaufplan leichter finde

Danke

Hab mich jetzt auch mal an einen Ablaufplan gewagt.
Möchte das der Ablauf weitergeht, wenn eine Variable einen Wert größer 10% wird (nach 1-500 Sekunden).
Mit einer Bedingung kann ich auf größer 10% abfragen, wenn der Wert kleiner ist wird der Ablaufplan abgebrochen, wenn er größer ist geht’s weiter, gewartet wird aber nie.
Mit Warte auf Wert kann ich zwar 10% und 500 Sekunden angeben aber wenn der Wert z.B. von 9% auf 11% steigt wird ja 10% nicht erreicht, funktioniert also wohl auch nicht, hat jemand andere Ideen (außer php-Script, mit ner while-Anwesiung, aber das ist ja wohl nicht die Idee)
Gruß Thomas

Ich könnte mir gut vorstellen, die Aktion „Warte auf Wert“ entsprechend zu erweitern oder eine neue Aktion „Warte auf Bedingung“ einzuführen, welche dann alle Bedingungen analog zum Wenn…, dann… umsetzen könnte. Aktuell habe ich hier allerdings keine elegante Lösung parat. Schöner als ein while-Skript vielleicht aber eine Boolean-Variable, die auf true geschaltet wird, wenn die Ursprungsvariable die 10% übersteigt? Dann könntest du auf deren Wert warten. Ist natürlich auch nür eine Krücke, aber vielleicht eine schönere :slight_smile:

Ich habe einen Bug gefunden. :slight_smile:

Das passiert wenn ich in „Ausführungen analysieren“ bin und ein Ereignis zum auslösen bringe.

Edit: Mir fehlte das letzte Update anscheinend noch, der Fehler tritt jetzt nicht mehr auf.

Grüße,
Kai