NEWS
[gelöst] Werteliste in Lovelace
-
Hi,
ist es in der Lovelace VIS möglich IOB Wertelisten anzeigen zu lassen?MFG
CrunkFX -
Was meinst du mit "IOB Werteliste"? Das, was in "common.states" steht?
-
@Garfonso Korrekt, aktuell behelfe ich mir mit der Button Card und einem script welches für die states Buttons schaltet, allerdings hätte ich lieber eine ListBox o.ä.
-
@CrunkFX
Ich hab mal schnell im code geguckt (muss eigentlich ins Bett flöt).
Wenn man manuell ein input_select (= eingang - auswählen) oder ein select_option (= -> kann man aktuell gar nicht manuell anlegen? grübel) anlegt, dann macht er irgendwas mit common.states. Vielleicht geht das schon?Sonst guck ich mir das morgen an, wenn ich Zeit finde.
-
@Garfonso Ja das hat keine eile, wäre halt nur eine schönere lösung. Schau mal wenn du Zeit hast gerne rein.
-
@CrunkFX
Ich versuchs. Wenn ich es vergesse, musst du mich nochmal dran erinnern. -
Also Werteliste geht eigentlich gut (hier mit string, müsste aber auch mit anderen Datentypen gehen). Einfach in ein "Elemente" mit einfügen, dann steht da der aktuelle State:
Und wenn man drauf klickt, kann man auswählen, was gesetzt werden soll:
Wichtig ist manuelles entity vom type "input_select" (Übersetzt aktuell Eingang auswählen oder so -> fürchterlich, hab ich mal etwas entschärft).
-
@Garfonso Schau mal so weit war ich bereits allerding passiert bei mir das:
-
@CrunkFX
Urgs. Das sieht ja murksik aus. Zeig mal bitte das RAW vom Objekt. -
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1590049757794, "common": { "name": "Rolladen Mimi", "role": "", "type": "number", "desc": "Manuell erzeugt", "states": "0:Schließen;1:1/4 Zu;2:Halb zu;3:3/4 Zu;4:Ganz auf;5:Lüftungsposition", "min": 0, "max": 5, "def": 0, "read": true, "write": true, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "Rolladen_Mimi" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Rolladen_Mimi", "type": "state" }
title: Home views: - badges: [] cards: - type: entities entities: - input_select.Rolladen_Mimi path: default_view title: Home hideToolbar: false
-
@CrunkFX
States in dem Objekt ist falsch. States soll ein Objekt sein, also so:{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1590049757794, "common": { "name": "Rolladen Mimi", "role": "", "type": "number", "desc": "Manuell erzeugt", "states": {0:"Schließen". 1:"1/4 Zu", 2: "Halb zu", 3: "3/4 Zu", 4: "Ganz auf", 5: "Lüftungsposition"}, "min": 0, "max": 5, "def": 0, "read": true, "write": true, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "Rolladen_Mimi" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Rolladen_Mimi", "type": "state" }
siehe auch hier: https://www.iobroker.net/#de/documentation/dev/objectsschema.md
-
@Garfonso Danke, wenn man immer was aus Tutorials nachmacht und es funktioniert obwohls falsch ist.
-
@Garfonso, @CrunkFX sorry das ich mich diesem Thema noch einmal anschließen muss. Versuche mich gerade in das Thema Lovelace einzuarbeiten.
Ich habe den Code von @Garfonso kopiert, ts und _id abgeändert um den Code zu testen. Leider bekomme ich immer ein "SyntaxError: JSON Parse error: Expected '}'" Fehler.
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1590049757794, "common": { "name": "Rolladen Mimi", "role": "", "type": "number", "desc": "Manuell erzeugt", "states": {0:"Schließen", 1:"1/4 Zu", 2: "Halb zu", 3: "3/4 Zu", 4: "Ganz auf", 5: "Lüftungsposition"}, "min": 0, "max": 5, "def": 0, "read": true, "write": true, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "Rolladen_Mimi" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.input2", "type": "state" }
Was mache ich falsch? Ich habe den Code schon einmal abgeglichen, je doch finde ich den Fehler nicht.
Alternativ hatte ich bereits auch einmal schon den Code von der Github Seite zum Thema input_select getestet. Dabei hatte ich nur leider immer das Problem, dass hinter dem Wert aus dem Input_select immer die Positionszahl aus dem String mit aufgeführt wurde. Beispiel: der Wert von Option 1:"Radio" – das Ergebnis im ioBroker Objekt war: "Radio(1)". Wie kann man verhindern, dass der Wert in Klammern mit in den State geschrieben wird?Besten Dank und schönen Abend noch!
-
@cr4y-z1 Hi, in Garfonso´s Lösing sind ein paar kleine Fehler, probier das mal:
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1590049757794, "common": { "name": "Rolladen Mimi", "role": "", "type": "number", "desc": "Manuell erzeugt", "min": 0, "max": 5, "def": 0, "read": true, "write": true, "states": { "0": "Schließen", "1": "Öffnen", "2": "Halb" }, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "Rolladen_Mimi" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Rolladen_Mimi", "type": "state" }
-
@CrunkFX Guten Morgen, vielen Dank für den Code! Der läuft jetzt auch. Allerdings frage ich mich noch, warum der Wert, der innerhalb von IoB geschrieben wird nicht dem Wert aus dem Dropdown entspricht.
Wie schon beschrieben wird immer der Wert aus dem Dropdown + (Nummer der Auswahl) in den IoB Wert geschrieben. Wie sieht das bei dir aus und kann man das wohl umstellen, dass nur der Wert aus dem Dropdown vorhanden ist?
Besten Dank und einen schönen Sonntag noch.
-
@cr4y-z1 Nein, das ist bei Typ number so gewollt, wenn du gerne eigene Werte haben willst, änder in der Konfig
"type": "string"
Und dann die Zahlen in jeweils den Status der ausgegeben werden soll, z.B.
"Auf": "Auf" -
@CrunkFX sorry ich muss mich darauf hin noch einmal zurückmelden.
Ich habe jetzt folgendes im RAW des Objektes innerhalb IoB eingestellt:{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1590049757794, "common": { "name": "input2", "role": "", "type": "string", "desc": "Manuell erzeugt", "read": true, "write": true, "states": { "Schließen": "Schließen", "Öffnen": "Öffnen", "Halb": "Halb" },
In der Lovelace Visualisierung sieht auch alles gut aus, im Dropdown stehen nur die Werte "Schließen, Öffnen, Halb". Allerdings wird bei auch beim Typ string noch ein abgewandelter Wert in den IoB Wert geschrieben. In diesen Fällen ist es: Schließen(Schließen) oder je nach dem was ich in Lovelace auswähle einer der anderen beide Werte. Das nur der Wert Schließen, Öffnen oder Halb im Wert steht bekommt man doch sicherlich auch hin, oder?
-
@cr4y-z1 Nein, denn im Wert selbst steht dann nur z.B. "Schließen". iOB zeigt unter Objekte aber alles an. Wertest du z.b. mit VIS oder Javascript aus, enthält der Datenpunkt nur den Wert "Schließen". Der Wert der zuerst in "" steht ist der Wert den der Datenpunkt enthält, der 2. Wert der Angezeigte.
-
@CrunkFX Besten Dank! Hab die Logik jetzt verstanden. Schönen Abend noch!
-
@cr4y-z1 Gerne, dir auch falls noch Fragen sind, nicht zögern.