In einer Szene, die das Klicken auf 2 Tasten verwaltet (3 Positionen: einfach, doppelt und lang), habe ich in der Bedingung « wenn… dann. sonst » 2 Bedingungen mit einem « ODER », aber tatsächlich ist das Verhalten das eines « UND »!
D. h. die Tasten behalten die letzte Position: Wenn Taste 1 gerade einen einfachen Klick gesendet hat, aber Taste 2 im letzten Zustand geblieben ist (z. B. Doppeltklick), wird das « dann » nicht ausgeführt, was nicht dem « ODER » entspricht, sondern einem « UND »
Hallo @Chris75,
Vielen Dank für das Feedback und den Screenshot, das hilft sehr!
Tatsächlich ist das kein Bug. Auf deinem Screenshot hast du zwei separate „Bedingung für Variablen“-Blöcke, und in einem „Wenn… Dann… Sonst“-Block sind die Blöcke durch ein UND verbunden: Das wird durch den Text oben im Abschnitt „Bedingungen“ angezeigt. Das ODER wird innerhalb eines Blocks mit der Schaltfläche „+ ODER“ gemacht.
Um ein ODER zu erstellen, musst du also:
- den zweiten Block löschen;
- im ersten Block auf „+ ODER“ klicken und
Bouton_51 (Button-Klick)gleichEinzelklickhinzufügen.
Das gesagt, ich erkenne, dass die Oberfläche dir nicht hilft: Ein „ODER“ wird zwischen den Bedingungen eines Blocks angezeigt, aber nichts zeigt das „UND“ zwischen zwei Blöcken an. Ich habe ein Issue eröffnet, um dies klar anzuzeigen: Scenes: show the AND between the condition boxes of an "If / Then / Else" (and "While") block · Issue #3358 · GladysAssistant/Gladys · GitHub
Achtung aber: Selbst mit einem ODER wird deine Szene nicht das tun, was du willst ![]()
„Letzten Zustand abrufen“ auf einem Button gibt den letzten empfangenen Klick zurück, selbst wenn er mehrere Tage alt ist: Der Wert wird nie zurückgesetzt. Mit Bouton_42 = Einzelklick ODER Bouton_51 = Einzelklick, wenn der letzte Klick des Buttons 51 ein Einzelklick war (auch wenn es vor 3 Tagen war), wird ein Doppelklick auf den Button 42 trotzdem das „Dann“ auslösen.
Die richtige Methode ist, den Klicktyp im Auslöser anzugeben, anstatt in einer Bedingung. Die Auslöser sind durch ein ODER verbunden:
- Auslöser „Gerätezustand ändern“:
Bouton_42=Einzelklick - Auslöser „Gerätezustand ändern“:
Bouton_51=Einzelklick - Dann direkt deine Aktionen, ohne Bedingung.
In den neueren Versionen von Gladys kannst du auch beide Buttons in einem einzigen Auslöser auswählen.
Dann erstellst du eine Szene pro Klicktyp (einfach, doppelt, lang). Der Auslöser eines Buttons geht bei jedem Klick, selbst wenn du zwei einfache Klicks hintereinander machst.
Allerdings ist es heute nicht ordnungsgemäß möglich, die drei Klicktypen in einer einzigen Szene mit „Wenn… Dann… Sonst“ zu verwalten: Gladys müsste als Variable „welcher Button / welcher Klick hat die Szene ausgelöst“ anbieten. Ich habe es im Issue als Verbesserungsvorschlag notiert.
Lass mich wissen, ob es bei dir funktioniert!
Hallo zusammen!
Dieses Thema ist nun in Entwicklung.
Ein PR wurde eröffnet, um das UND zwischen den Bedingungsboxen eines „Wenn / Dann / Sonst“-Blocks und einer „Während“-Schleife anzuzeigen:
Zögert nicht, dem PR zu folgen, zu testen (optional, vor allem bei kleinen Anfragen) und euer Feedback hier zu hinterlassen, falls nötig.
