NEWS
[Vorschlag] Steuerelement-Updates für Admin-Objekte-Liste
-
Angeregt durch ein aktuelles Problem mit der ZWave-Integration kam mir eine Idee bezüglich der Steuerelemente im Admin.
Wenn ein State die common.role button hat, wird er im Objekte-Tab mit einem kleinen Knopf dargestellt.
Dieser wirkt wie ein Taster, d.h. er kennt den Zustand "an" und sonst nix. Bei jeder Betätigung wird wieder "an" bzw. true gesendet. Lesen kann man den Wert nicht. Ich kenne mich mit Homeatic nicht aus, aber ich schätze das ist historisch bedingt und kommt daher.In Zwave kennen Buttons aber zwei Zustände: gedrückt und nicht gedrückt. Beim Übergang von einem zum anderen werden Aktionen ausgelöst, wie z.b. Starten und Stoppen eines Rollladens. Diese sind beide an den selben Button und damit den selben State gebunden. Hierzu muss man entweder true oder false in den State schreiben, lesen kann man aber auch nicht. Die Darstellung als Checkbox macht daher nicht wirklich Sinn, da der angezeigte Wert immer unbestätigt (ack=false) sein wird.
Ich mag die Haptik, die Änderung mit je einem Klick auszuführen. Bei common.role="switch" muss mehrfach geklickt werden (Bearbeiten aktivieren, Checkbox ändern, bestätigen).
Daher schlage ich vor, diese speziellen Zwei-Wege-Taster, z.B. common.role="dualbutton" mit einem eigenen Steuerelement zu versehen:
Ausgangspunkt ist die Neutralstellung, betätigt man links, wird "false" gesendet, betätigt man rechts, "true". Nach Betätigung kehrt der Button in die Neutralstellung zurück.Switches (bisher Checkboxen) könnte man damit ebenfalls darstellen, ohne Neutralstellung.
Ich würde auch meine Hilfe anbieten, allerdings bin ich bei der Oberfläche des Admin-Adapters noch nicht durchgestiegen.
-
Aber das ist doch der Unterschied.
role.button = "Taster" … immer nur bei Aktivierung "true":
role.switch = "Schalter" ... kann Ein oder Aus sein.
Von daher sollte es mit "role.switch" doch genau das sein was Du brauchst, oder übersehe ich etwas?
-
Von daher sollte es mit "role.switch" doch genau das sein was Du brauchst, oder übersehe ich etwas? `
Ja, die Lesbarkeit des States. Switch (Checkbox) kann man lesen und wird vom Adapter bei Änderungen aktualisiert. D.h. der Wert des States hat einen Sinn, wie z.B. ob ein Relais an oder aus ist. Da macht es Sinn, diesen anzuzeigen.Zwave-Buttons sind wie die aktuellen Buttons nicht lesbar, können aber zwei Zustände übermitteln statt einem. Der Wert der Buttons ist auch nur im Moment, in dem ich ihn drücke relevant.
Role=switch ist zwar funktional vollkommen ausreichend (insbesondere bei Ansteuerung durch ein Skript), impliziert aber imo eine andere Benutzung. Ich kann ein Häkchen setzen oder wegnehmen und diese Änderung tut etwas. Bei einer reinen Bestätigung des aktuellen Zustands (Wert anklicken und OK-Button drücken) würde ich keine Aktion erwarten.
ußerdem leuchten die ganzen States rot, da es wie gesagt keine Rückmeldung über den Wert gibt. Den braucht man dann ja auch nicht anzeigen, genau wie beim Button.