NEWS
Button Wert bleibt nach drücken wahr
-
Hallo Leute,
bin verwirrt.
Ich habe zum Start der manuellen Beregnung seit einiger Zeit einen Button in den Userdata. Seit kurzem bleibt der Wert des Button aber auf "wahr" nach dem Drücken.
Das führt natürlich dazu, dass zugehörige Skripte nciht starten, wenn der Button gedrückt wird.{ "common": { "name": "Beregnung manuell", "desc": "Manuell erzeugt", "role": "button", "type": "boolean", "read": false, "write": true, "def": false, "custom": { "iot.0": { "smartName": false } } }, "native": {}, "type": "state", "_id": "0_userdata.0.Beregnung.Beregnung", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1750698297185 }
wo kann ich suchen?
-
@reutli sagte in Button Wert bleibt nach drücken wahr:
button
der bleibt immer so wie der gedrückt wurde da "Manuell erzeugt".. wie kommst du dadrauf dass der automatisch auf false geht. ??
-
@reutli sagte in Button Wert bleibt nach drücken wahr:
Das führt natürlich dazu, dass zugehörige Skripte nciht starten, wenn der Button gedrückt wird.
Warum nicht? Der Wert wird ja immer wieder neu
true
geschrieben, wenn der Button gedrückt wird. Also dürfen Trigger halt nicht aufwurde geändert
registriert werden.Auf
false
zurücksetzen müsstest Du im Script schon selbst. Ist aber eigentlich nicht nötig. -
@haus-automatisierung sagte in Button Wert bleibt nach drücken wahr:
Also dürfen Trigger halt nicht auf wurde geändert registriert werden.
ok, danke, auf was soll der Trigger denn dann stehen? Der Wert ändert sich ja nicht, wenn wahr und gedrückt wieder wahr ergibt?!
Frage zwei: Wo ist dann der Unterscheid zwichen boolean Datenpunkt und Button?
-
@reutli sagte in Button Wert bleibt nach drücken wahr:
Frage zwei: Wo ist dann der Unterscheid zwichen boolean Datenpunkt und Button?
Keiner. Button ist eine Rolle, kein Datentyp. Der ist ja vom Typ Boolean.
@reutli sagte in Button Wert bleibt nach drücken wahr:
ok, danke, auf was soll der Trigger denn dann stehen?
wurde aktualisiert
oderist wahr
-
@haus-automatisierung sagte in Button Wert bleibt nach drücken wahr:
Auf false zurücksetzen müsstest Du im Script schon selbst. Ist aber eigentlich nicht nötig.
Einen Grund dafür, den Status des Buttons zurückzusetzen gibt es aber vielleicht doch: Wenn der Button Zustand im Aussehen des Buttons dargestellt wird ... Wenn er nach dem ersten Betätigen dann dauerhaft "hineingedrückt" aussieht, sieht das nicht schön aus ...
Bei meiner Garagentorautomatisierung über den Tastereingang wird da in einem Timeout alles in einem Abwasch gemacht ...
Taste betätigen -> Relais zum Tastereingang anschalten
Timeout nach 2 Sekunden -> Relais ausschalten, Datenpunkt wieder auf false setzen.
-
@martinp sagte in Button Wert bleibt nach drücken wahr:
Wenn der Button Zustand im Aussehen des Buttons dargestellt wird ...
Dann ist das eine lesende Funktion. Und hier steht eindeutig
common.read: false
.Heißt: Den aktuellen Status nicht lesen oder auswerten als Nutzer - nur
true
reinschreiben wenn etwas passieren soll. -
@haus-automatisierung Das habe ich nicht beachtet, aber scheint mir hier an der Stelle auch eher suboptimal.
Ich hatte meinen "Userdata-Vermittler" vor sehr langer Zeit als Rookie noch so angelegt. Wahrscheinlich war es damals Zufall, dass das etwas besser passte ...
{ "common": { "name": "Puls-Garagentor", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "def": false }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1680113232262, "_id": "0_userdata.0.Puls-Garagentor", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@martinp Der hat ja auch nicht die Rolle Button. Also passt das so.