Aufzählung Read-Only möglich?

Ich beschäftige mich gerade mit den Statuswerten meines Stromspeichers und nutzen in der Visu für den Betriebsmodus die Darstellung "Aufzählung”. Damit ich die bei der entsprechenden Integer-Variable überhaupt nutzen kann, muss die Variable ja eine Aktion haben. Dadurch ist die Variable aber dann auch in der Visu änderbar. Das ist allerdings erstens nicht schön und zweitens sinnlos, da Symcon hier nur den Betriebsmodus als Integer-Wert empfängt. Ändern kann man den mit dieser Variable nicht.
Ich habe mir jetzt fürs erste so beholfen, dass ich als Aktion folgendes dranhänge:

<?php // Read-only – Änderungen werden abgelehnt SetValue($\_IPS\['VARIABLE'\], GetValue($\_IPS\['VARIABLE'\])); Versucht man dann in der VISU die Variable zu ändern, scheitert das natürlich und es kommt dann die Meldung ”Warning: Variable is marked as read-only an cannot be changed in … 32152.ips.php in line 3” Damit habe ich zwar den gewünschten Effekt. Aber noch schöner wäre es, wenn in VISU gar nicht mehr die Möglichkeit bestehen würde, die Variable vermeintlich zu ändern. Habe in der Doku bislang nichts dazu gefunden. Übersehe ich etwas? Man kann natürlich die Variable auf Inaktiv setzen. Aber dann wird sie in der Visu ja leicht ausgegraut. Auch nicht das, was ich eigentlich will.

Bau Dir ein Skript, dass gar nichts tut und hinterlege das bei den fraglichen Variablen als Default-Aktion.

Naja. Dann kann man in der VISU aber immer noch die Variable ändern. Ist natürlich schon klar, dass dann nicht wirklich was irgendwas passiert. Aber die Anzeige ist dann eben falsch, bis vom Stromspeicher ein neuer Wert kommt. Da ist mir meine bisheriger Workaround (mit SetValue($\_IPS\[‚VARIABLE‘\], GetValue($\_IPS\[‚VARIABLE‘\)) lieber, denn der sorgt schließlich dafür, dass sich die Anzeige nicht verändern lässt. Aber noch schöner wäre es wie gesagt, wenn man in der VISU den Wert erst gar nicht verändern könnte.

Objekt Eigenschaft - > Objekt Anzeigen Ja und Objekt aktivieren aus?

Wenn das Script leer ist, dann ändert sich der Wert der Variable nicht.
Die Anzeige ist nur kurz falsch und sollte gleich wieder zurück springen.

Das Kurze ist halt die Rückmeldung an dich als Bediener das du einen neuen Wert einstellen willst.

Aber… Warum überhaupt Aufzählung?
Eine Aufzählung impliziert von der Bedienkonvention das es eine steuerbare Variable ist.
Du missbrauchst das jetzt für eine Variable welche aber nicht bedienbar ist :man_facepalming:

Moin,

warum nimmst Du nicht einfach die Wertanzeige und ergänzt Intervalle?

LG
Burkhard

2 „Gefällt mir“

Hallo Burkhard,
da habe ich wohl auf dem Schlauch gestanden. Tue mich immer noch manchmal schwer mit den Konfigurationsmöglichkeiten der Darstellungen und Vorlagen. Danke für den Tipp und dafür dass du mir aufs Pferd geholfen hast hier. Mit einer entsprechend erstellten Vorlage für Wertanzeige funktioniert es wie gewünscht. Wieder was gelernt…
Danke nochmals.
:folded_hands:
Viele Grüße
Rainer

1 „Gefällt mir“

Diese Konvention in der Symcon-Welt ist vom Wortlaut nicht intuitiv erkennbar, deshalb könnte man die Lösung gemäß Post von Burkhard vielleicht in die Doku aufnehmen bei der Aufzählung.

1 „Gefällt mir“

Findest du? Hast du was besseres als in der Dokumentation? Dann nutze dort das Feedback senden Formular.

Aktuell steht dort:

Aufzählung
Eine Aufzählung ist eine Liste von Werten, welche ausgewählt werden können.

Und bei Wertanzeige:

Zeigt einen Wert optional mit Hintergrundfarbe oder Werteverlauf an.

Ja, sonst hätte es diesen Thread nicht gegeben. Vom Sprachverständnis wäre Aufzählung das Naheliegende bei dieser Art der Daten. Die Variante über Wertanzeige mit Intervall für read-only könnte dort in der Doku (bei Wertanzeige) erwähnt werden, das hilft vielleicht und täte niemandem weh.

1 „Gefällt mir“

Moin,

bevor hier ein Streit ausbricht, wir „Cracks“ denken in vielen Fällen anders, als Anwender. Von daher fände ich eine EINFACHE und nachvollziehbare Anleitung ebenfalls sinnvoll.

Oftmals verfallen wir in ein Sprachgebrauch, den nicht Jeder mehr verstehen kann. Evtl. mal drüber nachdenken. Ist nur ein Vorschlag und nicht böse gemeint.

Ist mir schon öfter aufgefallen, dass unsere Erklärungen nicht mehr unbedingt allgemein verständlich sind.

Wie gesagt: NICHT BÖSE GEMEINT !!!

LG
Burkhard