Ablaufplan (6.0+)

Soeben haben wir die erste 5.6 6.0 mit dem neuen Ablaufplan veröffentlicht. Wir möchten dieses Thema als Sammelbecken für Feedback, Bugs und Wünsche nutzen, sodass wir diese gut wiederfinden.

Die erste Version vom Ablaufplan hat folgende Funktionen:

  • Ausführung von mehreren aufeinander folgenden Aktionen
  • Insbesondere Zeitfunktionen wie Warte für bestimmte Zeit und Warte bis Variable einen bestimmten Wert erreicht sind sehr leicht realisierbar
  • Analysedialog, welcher die letzten 25 Ausführungen (Alle Schritte) und deren Status zeigt
  • Verschiedene Strategien zur Ausführung
    • Bei neuer Ausführung laufende Ausführung abbrechen
    • Bei Ausführung weitere Ausführung ablehnen
    • Ausführungen in Warteschlange hinzufügen
  • Verschiedene Strategien bei Fehlern
    • Bei Fehler die restliche Ausführung abbrechen
    • Bei Fehler die restliche Ausführung fortsetzen
    • Bei Fehler, den Schritt X mal wiederholen, dann die restliche Ausführung abbrechen
    • Bei Fehler, den Schritt X mal wiederholen, dann die restliche Ausführung trotz Fehler fortsetzen

Bekannte Probleme:

  • Die Zeitfunktionen werden aktuell noch als PHP Skript ausgeführt und legen für die Zeit einen PHP-Slot.
  • Exit-Code von „Skript ausführen“ und „PHP-Code ausführen“ wird nicht korrekt als Fehler ausgewertet

Wir freuen uns auf euer Feedback!

1 „Gefällt mir“

Ich würde mir folgendes für die Zukunft wünschen 5.x

  • Automatisches Einlesen von Rollläden in einem Ablaufplan, so das man z.B. eine Anzahl von Rollläden mit einer Pause dazwischen ansteuern kann, insofern das System, das man ansteuert, keine Gruppen unterstützt
  • Ähnlich zur Szenensteuerung, die Möglichkeit auch einen Ablaufplan aus dem Webfront erstellen zu können, indem ich im Webfront in zeitlicher Abfolge Geräte schalte. Im Unterschied zur Szenensteuerung wird hier aber nicht nur der Status berücksichtigt, sondern praktisch auch die zeitlich Abfolge berücksichtigt, in der man Geräte bedient hat. Den erstellten Ablaufplan kann man ja dann später in der Konsole anpassen
  • Ich fände es super, wenn man ein Schritt duplizieren könnte.
  • Die Ansicht im Objektbaum könnte verändert werden, zur Zeit sieht es aus wie ein Script.

Grüße,
Kai

1 „Gefällt mir“

Ich weiß ja nicht, was ihr für einen Vorlauf habt.
Für mich fing das schon damit an, dass ich suchen musste, wie ich das finden kann.
Ok, unter Skript finde ich Ablaufplan.
Der Ablaufplan Editor erstmal leer und übersichtlich. Auslöser hinzufügen - passt. Auswahl schaut übersichtlich aus.

Bei Aktion steht nun der Ablaufplan selbst als Ziel und die Aktion „Führe Skript“ aus.
Aber warum kann ich denn hier etwas verändern. Ist es nicht so, dass die Aktionen erst in dem zweiten Teil des Editors in einem Ablauf eingefügt werden sollen. (Verwirrung).

Ich hätte damit gerechnet, dass etwas den Ablaufplan aktiviert und dann eine wie immer definierte Kette an Aktionen losläuft.

Es sollte ja auch lesbar sein, wenn man später nochmal reinschaut.

Mhmmmm

Also Wartezeiten einfügen klappt schon toll.
Dass das Ziel (jetzt Allgemeine Aktionen) auf Klick in den Objektbaum führt verstehe ich wieder nicht. Wie soll das später ausschauen. Sind die Aktionen dann im Objektbaum zu finden?

Und ja, das selbe Icon zu verwenden macht es nicht leichter unterscheidbar.

Bin gespannt.

Mein erstes konkretes Beispiel ist, ein Skript abzulösen, das im WebFront bei einem InfoWidget unter „Bei Klick“ eingetragen ist.

Das abzulösende Skript lautet

WFC_SwitchPage(31829, 'item1387');

Dabei fielen mir folgende Punkte auf:

  • im „Aktion bearbeiten“ Dialog werden zum ausgewählten Ziel, dem Webfront, einige Aktionen angeboten, die in diesem Kontext nicht klar sind (Switch to Power State, Sichtbarkeit setzen)

  • nach der Auswahl der gewünschten Aktion unter „Führe erweiterte Instanzfunktionen aus“ fehlen in der Darstellung noch die gesetzten Parameter (hier ‚item1387‘)

  • ich würde mir auch wünschen, dass man die einzelnen Zeilen kommentieren kann. Auch eine eigene Kommentarzeile wäre nicht schlecht. Das würde die Dokumentation eines Ablaufplans möglich machen.

  • beim „Aktion hinzufügen“ wird die Aktion immer am Ende des Plans eingetragen. Man kann zwar nachträglich verschieben, aber eine Möglichkeit zum Einfügen würde es einfacher machen.

  • beim Ausführen im Webfront kommt leider eine Fehlermeldung
    image

Ansonsten: der Anfang ist gemacht, aber richtig spannend wird es erst mit Verzweigungen und Wiederholungen :slight_smile:

Burkhard

Du hast meinen Beitrag nicht ganz gelesen. Das steht noch unter „Dinge die fehlen“. Dieses Feld sollte nicht editierbar sein :smiley: (PS: Habe den Satz mal eher zu Bugs geschoben als Missing Features)

Nur übersehen, sorry.
Ich hab noch was nachgetragen

Im Prinzip gibt es „Allgemeine Aktionen“, welche ohne ein Zielobjekt vorhanden sind. Dies ist die Standardeinstellung, wenn du eine Aktion hinzufügst. Der spannend Teil ist natürlich, dass du Kontextabhängige Aktionen hast, welche kommen, sobald du ein Objekt auswählst.

Wir hatten diesen Dialog anfangs auch etwas verwirrend empfunden - hatten aber noch keine bessere Idee, wie man diese Differenzierung schöner gestalten kann. Hast du da eine?

paresy

Das erste definitiv eine gute Idee. Kombiniert mit der Idee von @bumaas, dass man direkt Schritte dazwischen einfügen kann würde es die Bedienung an der Stelle sehr abrunden.

Das zweite ist definitiv noch ein Fehler. Packe ich in die Liste. (+ @Boui)

paresy

Noch nicht, aber das Thema ist spannend.

Noch ein Wunsch:

  • es wäre hilfreich, wenn man einen gestarteten Ablaufplan auch abbrechen könnte. Gerade wenn man mit der Wait Aktion experimentiert und sich verrechnet hat :slight_smile:

PS: in der Aktion kann man auch negative Werte eintragen

Switch to Power State + Zeige Pop-Up mit WLAN Zugangsdaten klingt wie etwas, das nicht von uns kommt. @Nall-chan Ist das dein FritzBox Modul mit etwas falsch konfigurierten Restrictions? :smiley:

Das WebFront braucht aber dringend noch ein paar mehr Aktionen. WFC_SwitchPage ruft ja förmlich danach, dass es ein DropDown für die Items gibt :wink:

Das ist uns auch schon aufgefallen. Niels hatte mir auch schon mal erklärt, warum das technisch eher sehr kompliziert ist dies hinzuzufügen. Vielleicht fällt uns noch eine Lösung ein. Langfristig wollen wir ja für alle Funktionen schöne Aktionen anbieten :slight_smile:

Fix kommt zum nächsten Update! Danke für den Fund!

Fände ich auch praktisch.

paresy

Hallo
Super Teil. :smile: :smile:
Wenn ich auf Ausführen klicke sieht man schön mit unterlegter Farbe was gerade ausgeführt wird.
Wenn der Plan mittels Ereignis startet erscheint der Farbbalken nicht.
Schönen Gruß
Egon

Das erste kenne ich nicht. Nicht von mir.
Das zweite schon, und das ist korrekt :slight_smile:
Aber :shushing_face:
Komme gerade nicht dazu eine Beta hier zu starten. Arbeit hat mich überrollt.
Michael

Du siehst dafür aber links unten einen kleinen Kasten, der dir anzeigt, dass der Plan gerade trotzdem läuft.

Hintergrund: Falls du Ereignisse hast, die den Plan oft starten, wäre die Anzeige der Position nicht unbedingt korrekt, da du den Plan ja auch gerade bearbeiten kannst und z.B. Zeilen gelöscht haben könntest.

paresy

habe gerad mal versucht, Ablaufpläne zu kaskadieren. Irgendwas zu beachten ?
Wäre interessant für zB Urlaubsschaltungen o.ä.

Man kann den Ablaufplan übrigens abbrechen und dieser bricht nach dem aktuell laufenden Schritt auch ab. (Bald auch die Warte-Aktion während diese Warten - dies ist noch der aktuell "schlechten :smiley: " Implementation geschuldet)

paresy

Aber wie? Das habe ich noch nicht herausgefunden.

Ein anderer Punkt:

  • wenn ich PHP Code ausführen möchte, dann muss ich zunächst irgendein Objekt als Ziel auswählen. Da sollte es den Punkt auch unter Allgemein geben.
    Momentan wird der PHP Code jedoch gar nicht ausgeführt.

Gibt es eigentlich eine Möglichkeit oder ein Skriptbeispiel einen Ablaufplan selber aus einen Skript zu erzeugen? Also das man z.B. aus einem PHP Modul heraus theoretisch gleich einen Ablaufplan, der zum Modul passt, erzeugen könnte?

Du kannst dir die Datei anschauen, welche die Konsole erzeugt. Das wäre so mein Vorschlag. Du erkennst die Dateien im „scripts“ Ordner mit der json Dateiendung. Im Prinzip willst du dann am besten einen Plan über die Konsole erzeugen und dir das JSON rausziehen und ggf. leicht anpassen.

paresy