Ablaufpläne: Bedingte Blöcke (WENN… DANN… SONST…)

Ein Neustart reicht nicht aus, man muss den Container mit dem neuen Image neu erstellen.

Aber der Rechner, auf dem Gladys läuft, ist top!
Ich hatte einen Gladys-Docker auf meinem Synology DS918 mit 16 GB RAM und vielen anderen Docker-Containern, die darauf laufen (aber keine großen Docker) + eine VM: am Ende machten meine Szenen, was sie wollten, insbesondere meine Waschmaschinen-Szenen, die zwischen 2 und 5 Stunden zwischen Start und Stopp dauerten, wobei die Maschine 30 Minuten lief…
Seit ich auf einen Mini-PC mit i5-7600T (und jetzt einem i7-7600T :wink: ) umgestiegen bin, hat Gladys noch nie so gut funktioniert. Aber ich vermute, dass ich einige Dinge habe, die zu schnell gehen, insbesondere für die Berechnung der Kosten, ich muss das im Auge behalten.

Danke für die Verbesserungen. Ich habe es getestet und keine Fehler mehr gefunden.

Der einzige Punkt ist, dass das Drag&Drop eines Aktionsblocks von innen nach außen des Wenn-Dann-Sonst oder umgekehrt nicht funktioniert. Aber vielleicht ist das gewollt, um eine Fehlfunktion zu vermeiden… Es funktioniert aber gut zwischen dem Dann- und dem Sonst-Bereich. Und einzelne Aktionen können überall verschoben werden, das ist auch gut.

Und noch ein Hinweis: Bei einem zusammengeklappten Dann oder Sonst zeigst du « 2 Aktionen » an. Genauer gesagt, wäre es eher « 2 Aktionsblöcke », oder?

Hallo @pierre-gilles, danke für die Korrekturen, das ist wirklich großartige Arbeit!
Hier meine Rückmeldungen:

Die Funktionsweise ist super: Wenn ich alle löschbaren Blöcke (mit dem Papierkorb) lösche, bleibt nur noch einer übrig, und wenn ich alle Aktionen des vorletzten Blocks lösche (der letzte hat nie eine Aktion), dann wird dieser Block automatisch gelöscht :+1:

Ich reproduziere das Verhalten, ein Block Dann (oder Sonst) kann nicht in einen einfachen Aktionsblock außerhalb eines WennDannSonst verschoben werden. Er kann in einen anderen WennDannSonst-Block auf derselben Ebene verschoben werden (egal auf welcher Ebene: 22S1 zu 23A2 oder 22S12A1 zu 21A13A1) ABER nicht in einen Block einer niedrigeren oder höheren Ebene (23A2 zu 22S12A1 oder umgekehrt) und ich denke, dass das der Grund ist, warum er auch nicht zu einem äußeren Block (also einer höheren Ebene) verschoben werden kann.

Ich habe gerade getestet und tatsächlich ist es die Gesamtzahl der Aktionen, das heißt, du kannst 2 Blöcke mit je 1 Aktion haben, dann werden 2 Aktionen zusammengefasst. Ich finde, diese Information ist gut repräsentativ für das, was darunter liegt.
Und es funktioniert auch auf die gleiche Weise, wenn du einen Unterblock WennDannSonst (mit Aktionen) in einem Block Dann (oder Sonst) hast: Wenn du dieses Dann (Ebene 1) schließt, nimmt es die Anzahl der Aktionen seiner Ebene UND des Unterblocks (Ebene 2) auf. Das ist wirklich toll!

Anmerkung: Ich kann einen Block WennDannSonst nicht in einen anderen Aktionsblock verschieben (vom Block 2 zum Block 3 zum Beispiel).

Anmerkung: Wenn ich den Block, der ein WennDannSonst enthält, in einen anderen Block verschiebe (von 2 zu 1), funktioniert das.
Wenn ich einen Block mit einer Aktion in den Block WennDannSonst verschiebe (von 2 zu 1), geht alles schief und man kann nichts mehr anklicken :frowning:

Ah, dann ist es ja perfekt, nichts zu beanstanden. Ich hatte meinen Test nicht weit genug getrieben…

Ich denke, das ist eher eine Geschichte der Anzeige der « Chat »-Ansicht als ein Szenarien-Fehler :slight_smile:

Ich werde es testen :slight_smile:

Das finde ich sehr abstrakt, bin nicht überzeugt!

Das ist beabsichtigt, wenn ich eine gemischte Funktionalität hätte, wäre sie unbrauchbar, weil es unmöglich wäre zu bestimmen, auf welches Level du drag & dropen möchtest.

Beispiel: Du hast eine « Bedingung Wenn… Dann… Sonst… », die selbst eine « Bedingung Wenn… Dann… » enthält, wenn ich zu einer Aktionsgruppe in dem tiefsten « Dann » drag & droppe, bin ich in der Praxis auch innerhalb eines Aktionsblocks des mittleren « Dann » und des Aktionsblocks auf der obersten Ebene. Das Drag & Drop sieht, dass du zu 3 verschiedenen Aktionsblöcken droppen wirst…

Ich denke, es gibt Lösungen, wie z.B. den gesamten Block nicht « droppable » zu machen, sondern nur eine Drop-Zone am Ende des Blocks, aber das scheint mir ein bisschen außerhalb dieser Entwicklung zu sein…

Ist dieses Verhalten für euch blockierend?

Wenn ja, muss man eine Spezifikation für das Drag & Drop erstellen: Was wollen wir? (In diesem Fall, @StephaneB, wirst du die Initiative übernehmen müssen)

Das sind 2 Aktionen :slight_smile: Ich zähle die Aktionen innerhalb der Blöcke. Aktionsblöcke zu zählen, hat für mich wenig Interesse.

Das ist auch beabsichtigt, du kannst keine « klassische » Aktion durch eine « Wenn-Dann-Sonst »-Aktion ersetzen und umgekehrt, aus den gleichen Gründen, warum du einen Aktionsblock von einer niedrigeren auf eine höhere Ebene verschieben kannst.

Es gibt die gleiche Lösung, die möglich ist, aber das ist eine echte Überlegung für sich über die Funktionsweise des Drag & Drop, das ist ein bisschen außerhalb des Umfangs, finde ich… Nun, ihr müsst mir sagen, ob es euch blockierend für den Release erscheint.

Ok, ich werde das untersuchen, das ist nicht normal.

Alles klar, danke für die Erklärung. Nein, ich finde das nicht problematisch.

@mutmut Hast du mehr Informationen zu diesem Bug? Ich kann ihn nicht reproduzieren.

Ich gebe meine Meinung in Eile (Entschuldigung, dass ich nicht mehr verfügbar bin), aber die Kohärenz fördert das Verständnis.
Wenn sich die Begriffe ändern, ist es unmöglich, den Überblick zu behalten.

Ich denke, es ist besser, sauberere / pro-kohärente Texte zu haben als sehr (zu?) einfache Texte mit weniger Kohärenz.

Der Benutzer versteht vielleicht nicht genau, was eine Aktion bewirkt, nur indem er ihren Namen liest, aber nach dem Testen wird er es verstehen und wird überall nach denselben Begriffen suchen.

Und seien wir ehrlich, die Benutzer von Gladys sind auch keine absoluten Anfänger in Informatik.

Persönlich, in meinen beruflichen Projekten, wenn ich Angst habe, dass ein Button oder eine Aktion nicht klar genug ist, füge ich einen detaillierten Tooltip hinzu.

Ich finde den Vorschlag verständlich, das ist Französisch, kein Informatik-Jargon.

Das war mein winziger Beitrag zur Debatte :slight_smile:
Danke für eure Arbeit, Jungs!

et voilà :

Ich habe gerade auf meiner Seite getestet und habe ein Problem mit dem Drag & Drop.

In den Bedingungen des Blocks ist es nicht möglich, als Bedingung einen Block Bedingung « Wenn…Dann…Sonst » hinzuzufügen, dieser Punkt ist in Ordnung

Das Problem ist, dass man mit dem Drag & Drop einen Block Bedingung « Wenn…Dann…Sonst » in die Bedingungen eines anderen Blocks Bedingung « Wenn…Dann…Sonst » ziehen kann.

Dazu habe ich einen Block Bedingung « Wenn…Dann…Sonst » im Block 1 und einen weiteren Block Bedingung « Wenn…Dann…Sonst » im Block 2 erstellt.

Anschließend habe ich den Block Bedingung « Wenn…Dann…Sonst » aus Block 2 in die Bedingungen des Blocks Bedingung « Wenn…Dann…Sonst » von Block 1 gezogen.

Allerdings ist der Block gesperrt und man kann nichts damit machen.

Wenn ich diesen Block anschließend verschiebe und ihn aus den Bedingungen herausziehe, ist es nicht mehr möglich, ihn wieder hineinzuziehen.

Der Drag & Drop funktioniert beim ersten Mal, aber nicht beim zweiten. Man müsste ihn von Anfang an blockieren.

Danke @mutmut und @Will_71 für euer Feedback zu den Fehlern, ich arbeite heute daran und melde mich bei euch zurück :slight_smile:

Ich stimme zu, aber in der Informatik neigen wir manchmal dazu, Kohärenz um der Kohärenz willen zu bevorzugen, auf Kosten der Benutzererfahrung. Ideal wäre es, einen Ausgleich zwischen beiden zu finden.

Ich werde einige Tests durchführen und sehen, was am besten funktioniert! :slightly_smiling_face:

Vielen Dank @Will_71 und @mutmut für euer sehr umfassendes Feedback, ich konnte es dank eurer Videos relativ einfach reproduzieren :slight_smile:

Es ist korrigiert!

Ein neues Docker-Image ist verfügbar:

gladysassistant/gladys:scene-if-then-else

:backhand_index_pointing_right: Tutorial: Docker-Image zum Testen starten

:warning: Falls ihr bereits das alte Image gestartet habt, denkt daran auszuführen:

docker pull gladysassistant/gladys:scene-if-then-else

@pierre-gilles Das ist OK für mich

Hallo, Test erfolgreich nach deinen Änderungen @pierre-gilles, kein Fehler.

Danke @Will_71 und @mutmut für eure Tests, das geht morgen in Produktion!

Diese Funktion ist in Gladys Assistant 4.55 verfügbar:

Vielen Dank an alle für eure wertvolle Hilfe, insbesondere an @StephaneB, @Will_71, @mutmut und @hizo :folded_hands: