NEWS
Material Design Widgets: Value Widget
-
@ub-privat sagte in Material Design Widgets: Value Widget:
...da haben wir uns falsch verstanden.
Mit dem value Widget geht das noch nicht, muss ich noch implementieren.
Das kannst mit Binding realisieren, so in der Art:{a:idDatenpunkt; a === "Cooking.Oven.Program.HeatingMode.SlowCook" ? "Sanftgaren" : a === "Cooking.Oven.Program.HeatingMode.HotAir" ? "4D Heißluft" : "coolStart-Funktion"}
-
@ub-privat sagte in Material Design Widgets: Value Widget:
Sigi234 - in deiner VIS habe ich auch gesehne, dass du mit dem HomeConnect-Adapter arbeitest und entrsprechnd die Geräte visualisierst. Hättest du ggf. einen Tipp?
Ja, leider geht das nicht. Am Besten wäre es wenn es im Adapter als DP zur Verfügung stehen würde.
https://forum.iobroker.net/topic/16446/test-adapter-homeconnect-bsh-home-connect-v0-0-x
-
...das mit dem Binding ist einleuchtend!
Nur mit welchem Widget bringe ich das Binding zur Anwendung?
Ein einfaches basic-html oder basic-string? -
@ub-privat
Ja zb. Kannst dafür viele verwenden, auch das value Widget, musst dann das Binding bei text überschreiben eintragen -
na dann nehem ich doch das Value.
Ich probier es aus... scheint zu funktionieren!DANKE. Das schöne daran ist, dass ich wieder etwas gelernt habe!
-
Hallo, leider muss ich nochmals anfragen. Die egestrige Euphorie wurde heute leider wieder gedämpft.
Was habe ich gemacht?Zuerst habe ich mir von dem zu visualiserenden DP die RAW-Daten geholt:
"states": { "BSH.Common.EnumType.OperationState.Inactive": "Inactive", "BSH.Common.EnumType.OperationState.Ready": "Ready", "BSH.Common.EnumType.OperationState.Run": "Run", "BSH.Common.EnumType.OperationState.Finished": "Finished", "BSH.Common.EnumType.OperationState.Pause": "Pause"
Diese habe ich dann in das entsprechende Binding gepackt:
{a:homeconnect.0.SIEMENS-HS858GXB6-68A40E060A0C.status.BSH_Common_Status_OperationState; a=== "BSH.Common.EnumType.OperationState.Inactive": ? "Inaktiv" : a=== "BSH.Common.EnumType.OperationState.Ready": ? "Bereit" : a=== "BSH.Common.EnumType.OperationState.Run": ? "Programm läuft" : a=== "BSH.Common.EnumType.OperationState.Finished": ? "Programm beendet" : a === "BSH.Common.EnumType.OperationState.Pause": ? "Pause"}
... und in Text überschreiben eingefügt:
Leider wird in der aktiven VIS nichts angezeigt...
Habe nun so ziemlich jedes Programm ausprobiert und sicher festgestellt, dass der DP mit dem entsprechenden Wert belegt ist.So richtig will die Anzeige nicht passen.
Kann noch ein "Tippfehler" die Ursache sien? -
@ub-privat
: ? Ist falsch, Vergleich es mit meinem Beispiel -
ich könnte verzweifeln...
Dein Beispiel:
{a:idDatenpunkt; a === "Cooking.Oven.Program.HeatingMode.SlowCook" ? "Sanftgaren" : a === "Cooking.Oven.Program.HeatingMode.HotAir" ? "4D Heißluft" : "coolStart-Funktion"}
Meine angepasstes Binding:
{a:homeconnect.0.SIEMENS-HS858GXB6-68A40E060A0C.status.BSH_Common_Status_OperationState; a === "BSH.Common.EnumType.OperationState.Inactive" ? "Inactive : a === "BSH.Common.EnumType.OperationState.Ready" ? "Ready" : a === "BSH.Common.EnumType.OperationState.Run" ? "Run" : a === "BSH.Common.EnumType.OperationState.Finished" ? "Finished" : a === "BSH.Common.EnumType.OperationState.Pause" ? "Pause"}
Zwischen jedem Doppelpunkt steht die Ereignisabfrage und die "" beschreiben das anzuzeogende Ergebnis.
Ich bin jeden Punkt, Doppelpunkt, Leerzeichen durchgegangen!
Leider ohne Erfolg.Hier der DP:
Somit müßte in der VIS 'Inactive' stehen, tut es aber nicht, stattdessen steht eine Null!?Woher kommt die NULL und wonach muss ich noch schauen?
-
@ub-privat
Hinter inactive fehlt " -
Du hast recht, es fehlte das Ausführungszeichen "...
{a:homeconnect.0.SIEMENS-HS858GXB6-68A40E060A0C.status.BSH_Common_Status_OperationState; a === "BSH.Common.EnumType.OperationState.Inactive" ? "Inactive" : a === "BSH.Common.EnumType.OperationState.Ready" ? "Ready" : a === "BSH.Common.EnumType.OperationState.Run" ? "Run" : a === "BSH.Common.EnumType.OperationState.Finished" ? "Finished" : a === "BSH.Common.EnumType.OperationState.Pause" ? "Pause"}
es ändert aber nichts am Ergebnis!
So langsam gebe ich auf...
Du hattest geschrieben: " Mit dem value Widget geht das noch nicht, muss ich noch implementieren.", , dass du diese Art der Abfrage mit in das Widget einbauen möchtest. Dann werde ich wohl warten. Egal welches Widget ich verwende, dass Bindig ist ja entscheidend.
-
@sigi234
hi, habe es mal in einem html widget gemacht - da sieht es so aus - habe eure datenpunkte mal nachgebaut - sowas habe ich nichtdatenpunkt raw:
FORMEL in html widget:
{val:controll-own.0.AAATEST.wertelister_Sigi; val== "Cooking.Oven.Program.HeatingMode.SlowCook" ? "SlowCook" : val=="Cooking.Oven.Program.HeatingMode.HotAir" ? "HotAir" : val=="Cooking.Oven.Program.HeatingMode.TopBottomHeating" ? "TopBottomHeating" : val=="Cooking.Oven.Program.HeatingMode.HotAirEco" ? "HotAirEco" : val == "Cooking.Oven.Program.HeatingMode.HotAirGrilling" ? "HotAirGrilling" : "no-no" }
vis:
checke nur dieersten einträge- wenn dann einer nicht dabei ist, wird no-no angezeigt - dass muss am ende auch stehen, sonst ist die formel nicht vollständig - auch wenn alle einträge abgefragt werden
ein value widget finde ich nicht - wie heißt das genau - ist doch im material design widget - finde ich nicht
-
-
Geht nicht, mein Original RAW:
{ "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1616770922094, "common": { "name": "Betriebsstatus", "type": "mixed", "role": "indicator", "unit": "", "write": true, "read": true, "states": { "BSH.Common.EnumType.OperationState.Inactive": "Inactive", "BSH.Common.EnumType.OperationState.Ready": "Ready", "BSH.Common.EnumType.OperationState.Run": "Run", "BSH.Common.EnumType.OperationState.Finished": "Finished" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "homeconnect.0.401010522278007458.status.BSH_Common_Status_OperationState", "ty
-
@sigi234 zeig mal die formel
-
@liv-in-sky sagte in Material Design Widgets: Value Widget:
@sigi234 zeig mal die formel
{a:homeconnect.0.401010522278007458.status.BSH_Common_Status_OperationState; a === "BSH.Common.EnumType.OperationState.Inactive" ? "aus" : a === "BSH.Common.EnumType.OperationState.Ready" ? "Ready" : a === "BSH.Common.EnumType.OperationState.Run" ? "Run" : a === "BSH.Common.EnumType.OperationState.Finished" ? "Finished"}
Im Wert sind Klammern?
-
@ub-privat, @sigi234
Das Binding ist auch nicht korrekt, so auf die schnelle am Ende fehlt noch Else Bedienung also : xxxSchau dir das bei @liv-in-sky an da ist es korrekt.
Grundsätzlich kann ich dir empfehlen Bau das Mal Schritt für Schritt auf, also erste Bedienung, testen, dann zweite Bedienung rein, testen usw -
teste mal:
{val:homeconnect.0.401010522278007458.status.BSH_Common_Status_OperationState; val== "BSH.Common.EnumType.OperationState.Inactive" ? "aus" : val=="BSH.Common.EnumType.OperationState.Ready" ? "Ready" : val=="BSH.Common.EnumType.OperationState.Run" ? "Run" : val=="BSH.Common.EnumType.OperationState.Finished" ? "Finished" : "no-no" }
-
sorry - diesmal hatte ich einen fehler drin
{val:homeconnect.0.401010522278007458.status.BSH_Common_Status_OperationState; val== "BSH.Common.EnumType.OperationState.Inactive" ? "aus" : val=="BSH.Common.EnumType.OperationState.Ready" ? "Ready" : val=="BSH.Common.EnumType.OperationState.Run" ? "Run" : val=="BSH.Common.EnumType.OperationState.Finished" ? "Finished" : "no-no" }
-
@liv-in-sky sagte in Material Design Widgets: Value Widget:
sorry - diesmal hatte ich einen fehler drin
Jupp, es kommt Run
Ich sehe auf den 1.Blick keinen Unterschied
-
@sigi234 dann nutz den zweiten - === ist jetzt ==
und am ende fehlte : no-no - sonst ist die formel nicht richtig