Hallo Peter-pan
Vielen Dank für deine Antwort:
peter-pan hat geschrieben: ↑1. Okt 2022 17:42
Zu 2 u. 3: So genau habe ich das noch nicht verstanden.
Es gibt wohl irgendwelche
CSS-Standard-Variablen. Und auch Hinweise in der
OH-Doku. Aber eigentlich sind das ja mehr oder weniger Konstanten. Man kann da aber sicherlich auch Berechnungen, etc. hinein stellen.
Wir sprechen von verschiedenen Variablen : Es gibt "Variablen" die man so einsetzen kann :
Code: Alles auswählen
fill: '=vars.objVar.selectThing=="Security" ? true : false'
Hab ich aus dem Widget
https://community.openhab.org/t/oh3-mai ... ard/139035
Sind also was ganz anderes, als das, was du benutzt
Ich hab jetzt nach wirklich Wochenlanger Suche was gefunden, aber da erschließt sich mir der Sinn auch nicht :
Man kann auf der "Page" ( Also auf der Seite, auf der die Widgets liegen ) unter "Code" diese Vars anlegen :
Damit steht allen Widgets auf der Seite eine "Variable" unter dem Namen "vars.tasmotimerurl" zur Verfügung. Angeblich soll sich der Inhalt der Variablen auch ändern lassen, allerdings nur über Komponenten, die eine Manuelle Interaktion erfordern.
Welchen Sinn das machen soll, verstehe ich nicht.
( Was ich auch nicht verstehe, ist : Warum kriegt man mit items[Itemname] nur kastrierte Items zurück ? Kein .label, kein .category, bei .members bin ich mir nicht sicher )
Zu 4: Unter "Techniques for Styling Widgets" in der vorgenannten Doku steht dazu einiges, das du als Programmierer vielleicht besser verstehst. Aber es scheint wohl u. a. so zu sein, dass man bestimmte vordefinierte Variablen (
standard Vue.js attributes s. Doku) verwenden.
Da hab ich mich auch durchgewühlt, aber nichts gefunden, was ich gesucht habe.
Es geht mir u.A. um solche Abfragen :
Code: Alles auswählen
text: >
=((Number.parseFloat(items[props.Max_Group].state) > 10) ? "4" :
(Number.parseFloat(items[props.Max_Group].state) > 5) ? "2" :
(Number.parseFloat(items[props.Max_Group].state) > 2) ? "1" : "0.4")
oder ( noch schlimmer ) :
Code: Alles auswählen
= ((Number.parseFloat(items[props.OC_Prefix + loop.Minute.toString().padStart(2,'0') + props.OC_Prec_Suffix].state) > 10) ? "pink" :
(Number.parseFloat(items[props.OC_Prefix + loop.Minute.toString().padStart(2,'0') + props.OC_Prec_Suffix].state) > 5) ? "red":
(Number.parseFloat(items[props.OC_Prefix + loop.Minute.toString().padStart(2,'0') + props.OC_Prec_Suffix].state) > 2) ? "yellow" : "green")
Dabei wird 3 Mal der Name eines Items berechnet und 3 Mal der Status des selben Items geholt, weil es ( scheinbar ) keine Möglichkeit gibt, irgentwelche Werte lokal zwischenzuspeichern