Ablaufplan (6.0+)

Oben rechts direkt neben Ausführen gibt es „Stop“. Oder meinst du das Abbrechen von Abläufen, welche durch Ereignisse gestartet wurden? (Das ist aktuell noch nicht möglich - außer du hast die Strategie, dass alte abgebrochen werden - dann kannst du einfach deine korrigierte Version starten und die alte wird dann abgebrochen)

paresy

oh Mann :dizzy_face:, das war vorhin noch nicht da :slight_smile:

Woran wird denn erkannt, ob eine Aktion einen Fehler hatte?

In der Doku vermisse ich da noch einen Hinweis.

Fehler sind alle Ausgaben (bisher im Meldungsfenster geld dargestellt) oder harte Fehler von PHP (die bisher rot dargestellt weurden)

paresy

Im Update nachher kommen folgende Verbesserungen:

  • Kommentaraktion, die nichts tut, aber Kommentare erlaubt und immer Erfolgreich ist :slight_smile:
  • Kontextmenü zum Duplizieren und Darüber/Darunter Hinzufügen von Aktionen

Um Teilweise den Wunsch von Fonzo abzubilden baut Niels akteall an einer Gruppenschalt-Aktion, welche eine Auswahl von Kategorie + Profil erlaubt und dann eine Liste der zutreffenden Variablen anzeigt (die man per Checkbox zur Schaltung hinzufügen/entfernen kann). Damit sollten Zentralfunktionen für alles (wenn Kategorie = 0) oder Teilbereiche, wenn man z.B. die Kategorie Garten auswählt endlich sehr leicht realisierbar werden. Über die Profile kann man sehr schnell die Art vom Gerät reduzieren, um z.B. alles mit ~Switch zu schalten. (Mit den geplanten Erweiterungen zu Profilen, welche spezifischer und vererbbar sein sollen wird dies in Zukunft noch besser werden)

Vielleicht hat @Dr.Niels nachher noch einen Screenshot vom WIP :slight_smile:

Können wir ebenfalls einbauen - würden wir dann irgendwie noch mit „Experte“ markieren, sodass die Anfänger nicht gleich draufdrücken.

Das ist ein Bug. Ich bin dran :slight_smile:

paresy

Das ist noch ein Bug. Ich bin dran.

Aktuell kann der Ablaufplan keine Skripte oder PHP-Code ausführen (Aktionen) ausführen.

paresy

Im aktuellsten Update hat sich folgendes geändert:

  • Neu: Allgemeine Aktion zum Ausführen von PHP-Code hinzugefügt
  • Fix: Skript ausführen/PHP-Code ausführen wird jetzt auch korrekt ausgeführt :slight_smile:

paresy

1 „Gefällt mir“

Ich bin mir nicht sicher, ob es so glücklich ist, auch Warnings (gelb) hier als Fehler zu behandeln.

Denn zum einen wird der PHP Code ja dennoch zu Ende ausgeführt. Und wenn eine Aktion zu Ende ausgeführt wird, warum soll dann die weitere Verarbeitung abgebrochen werden?

Zum anderen ist das Verhalten dann anders als an anderen Stellen in Symcon. Zum Beispiel werden im Objektbaum Skripte nicht besonders markiert, wenn es zu einer Warning kam. Im Ablaufplan sind sie dagegen „fehlerhaft“.

Auch die Möglichkeit, mal schnell Zwischenwerte mit var_dump oder echo ausgeben zu lassen, ist dadurch genommen.

Andererseits sehe ich als Anwender auch keinen Vorteil im Abbruch eines Ablaufplans bei Warnings. Aber vielleicht gibt es ja welche.

Edit: auch die Behandlung von exit() ist eine besondere. Wird der Code mit exit(1) verlassen, so wird das nicht als Fehler behandelt. Skripte im Objektbaum werden dagegen korrekt mit „es trat ein Fehler auf“ gekennzeichnet.

Burkhard

Super ! Erspart jede Menge Einzeltimer und macht die ganze Sache übersichtlicher !

1 „Gefällt mir“

Hallo Paresy,

Bei PHP Code ausführen werden include Sripte nicht gelesen

Hallo.
Läuft ja Prima… schöne Wartezeiten einfach hinzufügen ohne Programmierung :grinning:
Ich baue gerade Beregnungsplan:
Wie kann ich im Plan z. B. eine Variable Beregnungssperre oder andere Variablen abfragen?
(Ich weiss WENN DANN geht ja noch lange nicht… 5.7+)
Schönen Sonntag
Egon

1 „Gefällt mir“

Sperren am besten direkt als erweitere Bedingung im Ereignis eintragen.

paresy

wäre es vielleicht sinnvoll bei Eingaben/Änderungen diese mit der gelben Übernahmebestätigung abzuspeichern ? Hatte nämlich mehrfach einen Plan eingegeben/geändert und mich gewundert, dass der nicht ausgeführt wurde, da ich nicht auf Speichern geklickt habe

Hallo Paresy
Wie kann ich den Plan abbrechen?
Und die Wartezeiten auch?
Ich habe z. B. ein Ventil mit der Wartezeit 900 Sek. offen.
Dann möchte ich den Plan abbrechen wenns z, B. regnet aber die Zeit läuft weiter, das Ventil ist dann immer noch geöffnet…
Schönen Gruß
Egon

Ist das nicht auch nur eine weitere einfache Bedingung?

Hi Boui
Kann ich mir nicht vorstellen wie ich die Wartezeit abbrechen könnte
Wie könnte die Bedingung aussehen?

Schönen Gruß
Egon

Oje, ich fürchte das geht noch gar nicht. Die Aktion kann ja noch nicht mal durch das Stop im Editor angehalten werden.

Hi Egon,

das ist bisher noch nicht möglich - die Wartezeit wird aktuell immer abgewartet. (Steht übrigen noch als offener Punkt im ersten Beitrag :))

paresy

Hi Paresy
Danke 1. Beitrag hatte ich nicht kapiert…
(Belegt eine Zeitslot…)
Schönen Gruß :smile:
Egon

1 „Gefällt mir“

Wenn beim Schalten etwas schiefgeht, landet das üblicherweise per Warnung im Log. Das Verständnis, was nun eine Warnung, was ein Fehler ist, soll keine Erfordernis für den Ablaufplan sein, daher wird dort alles als „Fehler“ zusammengefasst.

Und wenn eine Aktion in einem Ablaufplan fehlschlägt und beispielsweise ein Gerät nicht schaltet, dann ergibt es Sinn den Plan abzubrechen, da hier nicht das erwartete passiert. Natürlich gibt es Situationen in denen man weitermachen möchte, aber dafür gibt es ja die Fehlerstrategie. Ähnlich kannst du natürlich zum Debuggen var_dump und echo verwenden. Das wird vom Ablaufplan als Fehler angesehen aber mit der passenden Strategie kannst du ja weitermachen.