NEWS
Eigener Datenpunkt "Button" und Blockly. Wie?
-
Hi Leute!
Ich habe einen Datenpunkt als Rolle "button" erstellt. Dieser Button wird in einem Blockly-Trigger überwacht.
Bei drücken des Buttons steuert das Blockly einen Servo an welcher einen physischen Knopf drückt und 2 Sekunden hält und wieder loslässt.Prinzipiell funktioniert das alles, aber ich habe mir gedanken gemacht, wie man es korrekt macht, sodass der Button beim Drücken das Acknowledge-Flag "false" hat und erst nach komplettem Ablauf des Blockly-Scripts auf Acknowledge "true" geht.
Mir ist bewusst, dass ich den Servo mit "steuere" anspreche und am Ende den Datenpunkt des Buttons mit "aktualisiere" auf wahr setze und damit Acknowledge auf True geht.
ABER: Ich glaube, ich würde das Acknowledge am Ende erst setzen wollen, wenn der "Angle" Datenpunkt des Servos auch Acknowledged mit "true" gesetzt wurde. <- Ist mein Gedanke hier richtig, und wenn ja, wie frage ich den Acknowledge Status eines Datenpunktes mit Blockly ab? <- Oder denke ich zu kompliziert? (Weil funktionieren tuts zwar, aber das Script weiss ja nicht 100% ob der Servo wirklich reagiert hat, oder?)
-
@kaskadeur111 Ein Button hat NIE den Zustand false. Das ist ein Taster, der nur auf das Drücken reagiert. Ein Button auf einer Webseite hat auch kein false, sondern startet eine Aktion. Wenn Du true und false haben willst, dann ist das ein Switch oder Schalter.
Ansonsten gibt es Widgets die auch false als Taster zurückliefern, aber nicht in einem Objekt, da es hier nicht um eine GUI zur Bedienung handelt.
-
@mickym Ich glaube du hast nicht verstanden um was es geht. Was ein Button/Taster ist ist mir bewusst und dass dieser immer nur einen Impuls liefert.
Ich möchte nur, dass das "Acknowledge Flag" des Tasters auf true geht nach ERFOLGREICHER Steuerung des Geräts. (Also wirklich erst wenn das ACK des Geräts auch true liefert)
Siehe die fetten roten Pfeile auf dem ersten Screenshot (dachte die sind groß genug)
-
@kaskadeur111 Das bekommst du sicher nur hin, wenn der Servo auch etwas zurückliefert. Ich vermute mal, dass das Gerät, das vom Servo bedient wird nicht Smart ist.
Ansonsten ist das nur nach deinem Muster machbar, aber ohne Gewähr, dass der Servo gelaufen bzw.das Gerät geschlatet wurde. -
@kaskadeur111 Hast du mal versuch, mit "Falls" auf "bestätigt" von deinem "Angel" zu prüfen und wenn der True ist, kannst du ja setzen?
-
@jojo58 Danke! Stimmt, das war mir zu offensichtlich. Hab ich wieder versucht um die Ecke zu denken und das logischste dabei aus den Augen verloren.
Dieses Dropdown hinter "Wert" habe ich in meiner Blockly Zeit über die Jahre auch mehrfach benutzt und jedesmal muss ich wieder überlegen suchen wo man das findet
Ich hätte da einen Wunsch/Idee für die Programmierer:
Wäre es vielleicht intuitiver anstatt eines "Wert" Bausteins mit Dropdown, gleich direkt einzelne Bausteine für "bestätigt" "Qualität" "Quelle" usw. in einer eigenen Gruppe "Wert" links in der Block-Auswahl anzubieten? Das braucht man ja doch öfters und ich denke dass andere User, wenn sie diese Blöcke direkt sehen (Ach guck.. sowas gibts auch?) auch über ihre Script-Qualität nachdenken.Ich fänds super!