Ablaufplan (6.0+)

Hi Dr. Niels
Könntet ihr bitte mal einen Beispielplan erstellen?
Z. B. Rolladenplan oder Beregnungsplan?
Wäre auch schön wenn man den Plan „anhalten“ könnte.
Start, Anhalten, Stop, Weiter?
Schönen Gruß :grinning: :grinning:
Egon

Da hast du sicherlich Recht. Üblicherweise ist es so. Aber eine Regel auch für Modulentwickler ist es bislang wohl nicht. Vielleicht sollte da nun nachgeschärft werden.

Ob etwas wirklich fehlgeschlagen ist sollte meines Erachtens eigentlich eher über die Schnittstelle der Funktion als über Logfile Einträge ermittelt werden. Aber das würde es vielleicht sehr verkomplizieren.

Aber das PHP Code so unterschiedlich gehandhabt wird, ist momentan schon verwirrend: Testausgaben im PHP Code werden als Fehler, ein positiver ExitCode aber als OK behandelt.

Also da würde ich mir wünschen,dass PHP-Code einheitlich behandelt wird. Unabhängig davon, ob er im Objektbaum, über ein Event oder über/in einem Ablaufplan ausgeführt wird.

Definitiv. Den ExitCode sollten wir ebenfalls als Fehler auswerten. Ich notiere das mal oben - das ist jedoch technisch komplizierter als ich’s gerne hätte :smiley:

paresy

Was meinst du mit einem Beispielplan? Du kannst Ablaufpläne sicherlich in beiden von dir genannten Bereichen verwenden. So könntest du im Rahmen eines Ablaufplans 3 Rollläden nach oben fahren und 2 mittig oder dergleichen. Für eine Beregnung könntest du der Reihe nach die Bewässerung für deine Beete aktivieren und so lange offen lassen bis dein Feuchtigkeitssensor die von dir angestrebte Feuchtigkeit meldet oder auch einfach für eine gewisse Zeit laufen lassen.

Was wäre dein Anwendungsfall für ein anhalten? Du kannst aktuell für eine bestimmte Zeit warten oder auf einen bestimmten Variablenwert warten. Damit könntest du selbstständig „Stoppunkte“ definieren.

Ich hatte gestern auch etwas getestet und mal eine hohe Wartezeit eingegeben. Ups

Hier sollte man den Ablauf schon jederzeit stoppen können und das nicht nur manuell per Klick.

Hi Dr. Niels
Ja so wie du das beschrieben hast.
Krieg ich nicht hin.
Ich weiss ja nicht was ihr da so alles ausgedacht habt. :sunglasses:

Ist ja ein mächtiges Tool ohne solche Beispiele für mich zu kompliziert.
Was da alles geht …
Schönen Gruß :smiley:
Egon

Hi Egon,

magst du mal schreiben was genau du dir unter einer Rolladen oder Bewässungssteuerung vorstellst? Der Ablaufplan macht nämlich nichts magisch. Er macht nur das, was du ihm in einzelnen Schritten sagst, dass er tun soll.

paresy

Hallo
Hab nun auch mal ein wenig in den Ablaufplan reingeschmökert.
Kurz: Interessannte Sache mit Potential.

Macht direkt Lust mal die alten angestaubten Scenen und Beleuchtungsscripte aufzufrischen. Alleine schon die „Warten“ Funktion erleichtert vieles was nur mit Scripten nervte.

Bevor ich aber zu Details komme würde mich mal interessieren für welche Anwendergruppe das eigentlich gedacht ist.
Sollen es eher die Einsteiger, oder soll es mehr eine Erleichterung für Poweruser sein ?
Ein Tool das alle Bedürfnisse befriedigt stelle ich mir recht schwierig vor.

Hier mal was mir beim ersten Kontakt durch den Kopf ging:
Einsteiger müßte es noch viel tiefer abholen. bspw. sollten dann die Fenster sowas wie eine kontextsensitive Hilfe haben. Der Unterschied zw. Instanz und Statusvariablen ist wohl auch nicht unmittelbar geläufig. Oder müßte beim Auslöser auch gleich eine fürs WF passende Boolean Variable angelegt werden.
Wenn ihr Anfängern was bieten wollt dann müßt ihr auf das Niveau einer AlexaApp runter oder rauf, je nach dem wie man es sieht.

Als erfahrener User frage ist mir die Menüstruktur zu flach bzw. zu ungeordnet. „Sichtbarkeit setzen“ Führe PHP Code aus" und „Schalte Variable“ würde ich mir irgendwie nicht im gleichen DropDown erwarten.
Warum ich eine Statusvariable eines Lichtschalters „Dividieren“ oder „Multiplizieren“ sollte erschließt sich mir jetzt nicht. Ich mein wenn ich da komplexer rumrechnen will dann mach ich doch gleich ein Script.
Ja und warum soll ich eine Statusvariable „Auf aktuellen Zeitpunkt schalten“? Irgendwie wirkt mir das zu generisch.

Vielleicht wäre auch hier mal Weniger = Mehr. Auf ein paar Funktionen verzichten, die vorhandenen dafür mit Liebe perfektionieren.

Noch ein allgemeiner Vorschlag: In dem Mini Feld das bei „Führe PHP Code aus“ will ich eigentlich kein 2 Scriptzeilen editieren müssen. Besser wäre IMHO es durch „Führe existierendes PHP Script aus“ zu ersetzen.

Ansonsten wie schon eingangs gesagt. Guter Ansatz mit Potential. Spezialisiert es mehr auf die Zielgruppe und macht nicht den Fehler es allen recht machen zu wollen.

schöne Grüße
Bernhard

+1
Das war auch mein erster Eindruck. Aber ehrlich gesagt hatte ich mich noch nie für dieses Feld begeistern können, weil es für mich später viel zu undurchsichtig wurde, hier noch vernünftig im Nachhinein durchzublicken.

Ja und noch was: Als Auslöser einen Wochenplan zu konfigurieren ist zzt. nicht selbsterklärend. Ist das noch Dummy oder sollte es schon final funktionieren ?

bb

Das ist noch Offen. Dort soll in dann für jeden Wochenplan Aktion eine Definition der Schritte möglich sein :slight_smile:

Skript ausführen kommt, sobald du als Ziel ein Skript auswählst. Das PHP-Code Ausführen war auf Wunsch von @bumaas hinzugekommen - da es aber euch Experten verwirrt, müsste man eher überlegen, ob man es wieder entfernt und einen anderen Platz dafür sucht.

Die Auswahl der Aktionen je Zielvariable ist definitiv auch noch optimierungsbedürftig :slight_smile:

paresy

Ahh, ja dann ist klar. Klingt gut.

Verwirren würde ich nicht sagen, eher unpraktisch. Wie auch Andreas sagte so verteilte Codeschnippsel
und alles durchgemischt find ich weniger gut.
Hübsch wäre natürlich wenn eine passende Abfrage nach „Bestehendes ausführen“ oder „Neues erstellen“ kommt. Und dann der große Editor in einem eigenen Fenster aufgeht. Diese modalen Fenster sind immer so unhandlich.

Das meinte ich als ich sagte: Lieber weniger, aber das was da ist dafür in aller Schönheit.

gute Nacht
Bernhard

SO, auf auf aktuelle Version gewechselt und erste erfahrungen mit dem Ablaufplan gemacht …nicht schlecht!
Wie löse ich folgendes: Ich schalte über einen Bewegungsmelder Licht ein …gesperrt wird es solange die Helligkeit > einem bestimmten Wert ist…funktioniert.
Jetzt möchte ich mit einer weitere Bedingung den Ablaufpalns sperren: wenn es später als 23:00 ist soll nichts mehr ausgelöst werden (die Katze braucht nachts kein Licht)…also Bedingung < 23:00…aber jetzt würde es um 0:00 ja wieder entsperrt da es noch dunkel ist…??? Ich brauche also einen Zeitraum …wie löse ich das?
…oder sehe ich den Wald vor lauter Bäumen nicht?

Gruß, Michael

Hi Paresy
Solche Pläne wie Michael beschrieben wünsche ich mir als Beispiele
Schönen Gruß
Egon

@micserver @egonkernien Dann hole ich hier einfach mal ein bisschen mehr aus um vielleicht ein vollständiges Beispiel draus zu machen (auch wenn davon wohl schon einige Baustellen fertig sind):

TLDR für @micserver: Du musst für den Zeitraum einfach eine zusätzliche Bedingung erstellen, steht ganz unten

Der Ablaufplan besteht ja aus zwei Teilen, den Auslösern und den Aktionen. In den Aktionen würde man zum Anschalten der ganzen Lichter nun jeweils als Ziel die Statusvariablen der Lampen wählen und per Aktion „Schalte auf Wert“ auf „An“, 100% oder dergleichen schalten.

Als Auslöser wird dann ein ausgelöstes Ereignis erstellt, welches bei Bewegung auslöst. Damit es nicht bei zu viel Helligkeit oder nachts auslöst, nutzt man erweiterte Bedingungen des Ereignisses. Hier per „Alle Bedingungen müssen erfüllt sein“ dann die Bedingungen eintragen:

  • Helligkeit > Wunschwert
  • Uhrzeit < 23:00 Uhr
  • Uhrzeit > 12:00 (verhindert eine Ausführung nach 0:00 Uhr)

Verstanden.
Ich hatte eine ‚ und‘ Verknüpfung für die beiden zeitlichen Bedingungen gesucht, aber wenn es so geht… umso besser
Gruß Michael

Das „Alle Bedingungen müssen erfüllt sein“ ist nichts anderes als eine ausformulierte Und-Bedingung :wink:

So ganz komm ich noch nicht klar.
Das gezeigte Beispiel zeigt einen einfachen Ablauf bei festgelegten Bedingungen. Ok
Alles etwas leichter und übersichtlicher als mit Skript, weil ich mir das alles zusammenklicken kann

Jetzt hab ich aber beispielsweise einen Bewegungsmelder, der als Auslöser dient, das Licht aber je nach Tageszeit und Helligkeit schaltet. Also wenn es hell genug ist, dann bleibt das Licht aus und nach 20 Uhr schaltet das Licht nur auf 30%.
Das sind ja unterschiedliche Abläufe bzw. unterschiedliche Werte.
Mit mehreren Ablaufplänen funktioniert das auch aber es geht bestimmt einfacher.

Wie ist das gedacht?

Es sollen noch „Wenn/Dann/Sonst“-Aktionen kommen. Damit könntest du das dann zusammenfassen. Die sind allerdings noch nicht soweit. Aktuell wäre das also mit zwei Abläufen umsetzbar, einer für tagsüber und einer für nach 20 Uhr. (Oder natürlich einer mit „Führe PHP-Code aus“, aber das ist ja schummeln)

Ah ja, dann bin ich doch nicht im falschen Film. So kann ich mir das natürlich vorstellen.

So ne logische Operation als Aktion kommt sicher bald, oder? Grins