NEWS
Material Design Widgets: Value Widget
-
-
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 -
@liv-in-sky sagte in Material Design Widgets: Value Widget:
@sigi234 dann nutz den zweiten - === ist jetzt ==
und am ende fehlte : no-no - sonst ist die formel nicht richtigUm es zu verstehen, wie kommst du auf : no-no
-
@sigi234 das no-no kann auch irgendwas andres sein -es geht darum , dass
mmm ? "nnn" : "yyy"
wenn mmm dann nnn sonst yyy
wenn du nun immer wieder statt yyy eine weitere abfrage reingibst, fehlt am ende ein
: yyy
die formel ist dann nicht fertig - man nennt das auch einen defaultwert - wenn alles davor nicht paßt, wird yyy eingesetzt - ich habe einfach no-no genommen - da kann auch "" stehen,
normalerweise bringt der adapter genaudie 4 werte - daher wirst du no-no nie sehen werden !
-
@liv-in-sky
@Scrounger
@sigi234war ne schwere Geburt, aber nun funktioniert es! @liv-in-sky - tolle Erklärung, nun habe ich es vollends verstanden und in mein kleines Wiki verewigt!
DANKE.
-
ich muss leider die Flagge wieder runter ziehen, zu früh gefreut.
Mit dem Datenpunkt, so wie du ihn aufbereitet hast, funktioniert es bei 3 Geräten einwandfrei. Hier wird der Gerätezustand angezeigt, klappt perfekt.Nun wollte ich auf die identische Art und weise die aktiven Programme visualisieren.
Der DP heist (RAW):
{ "type": "state", "common": { "name": "BSH_Common_Root_ActiveProgram", "type": "string", "role": "indicator", "write": true, "read": true, "states": { "Cooking.Oven.Program.HeatingMode.HotAirEco": "Heißluft eco", "Cooking.Oven.Program.HeatingMode.TopBottomHeatingEco": "Ober-/ Unterhitze eco", "Cooking.Oven.Program.HeatingMode.PizzaSetting": "Pizzastufe", "Cooking.Oven.Program.HeatingMode.IntensiveHeat": "Intensivhitze", "Cooking.Oven.Program.HeatingMode.SlowCook": "Sanftgaren", "Cooking.Oven.Program.HeatingMode.HotAir": "4D Heißluft", "Cooking.Oven.Program.HeatingMode.TopBottomHeating": "Ober-/ Unterhitze", "Cooking.Oven.Program.HeatingMode.HotAirGrilling": "Umluftgrillen", "Cooking.Oven.Program.HeatingMode.BottomHeating": "Unterhitze", "Cooking.Oven.Program.HeatingMode.Desiccation": "Dörren", "Cooking.Oven.Program.HeatingMode.PreheatOvenware": "Geschirr vorwärmen", "Cooking.Oven.Program.HeatingMode.FrozenHeatupSpecial": "coolStart-Funktion", "Cooking.Oven.Program.HeatingMode.KeepWarm": "Warmhalten" } }, "native": {}, "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1616709638385, "_id": "homeconnect.0.SIEMENS-CN878G4B6-68A40E0542E8.programs.active.BSH_Common_Root_ActiveProgram", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Nun habe ich, das Widget wie folgt beschrieben:
{val:homeconnect.0.SIEMENS-CN878G4B6-68A40E0542E8.programs.active.BSH_Common_Root_ActiveProgram; val== "Cooking.Oven.Program.HeatingMode.PizzaSetting": ? "Pizzastufe" : "no-no" }
Nach Scrougers Ratschlag, erstmal einen Zustand zu testen und dan zu erweitern, war richtig und gut. Deshalb habe ich nur die Pizzstufe drin, kann es auch gerade testen, weil der Backofen an ist.
Nur in der VISU kommt wieder eine NULL!
Würdest bitte noch mal einen Blick auf das Binding werfen? -
@ub-privat der ":" vor dem "?" nach pizzasetting gehört da nicht hin gehört
du kannst in chrome die entwicklertools öffnen und auf console-tab siehst du sofort beim laden, ob du ein symantisches problem hast
-
Der Hinweis mit GoogleChrome ist gar nicht so schlecht. Ein paar Fehler - SCHREIBFEHLER! - konnte ich bereits beseitigen. DANKE.
Nun habe ich noch folgenden Fehler, dazu der ERROR-Text aus der Console:
Das ist mein Binding:
{val:homeconnect.0.SIEMENS-SX858D06PE-68A40E064ECA.programs.active.BSH_Common_Root_ActiveProgram; val== "Dishcare.Dishwasher.Program.Intensiv70" ? "Intensiv 70°C" : val== "Dishcare.Dishwasher.Program.Auto2" ? "Auto 45-65°C" : val== "Dishcare.Dishwasher.Program.Eco50" ? "Eco 50°C : val== "Dishcare.Dishwasher.Program.NightWash" ? "Leise" : val== "Dishcare.Dishwasher.Program.Quick65" ? "Schnell 65°C" : val== "Dishcare.Dishwasher.Program.Quick45" ? "Schnell 45°C" : val== "Dishcare.Dishwasher.Program.MachineCare" ? "Maschinenpflege" : "no-no" }
Wie muss ich den Fehlertext lesen? Ist dies die Fehlerquelle: Error in eval[script]: var val = "undefined";return ?
-
-
JUPP, das wars. Ich glaube, das Programmieren wird nicht mein Spezialgebiet. Diese Syntax nervt einen die Sicht...
Aber deine Empfehlung ist Gold-Wert.Wie hast du so schnell die fehlenden " gefunden?
-
intuition - keine ahnung - habe in letzter zeit viel mit code gemacht - irgendwann sieht man das - nachdem man natütlich die selben fehler 100 mal selber gemacht hat
-
na dann bin ich beruhigt, vllt. wird's ja noch! DANKE nochmals!
-
Hallo.
Ist stehe gerade vor dem selben Problem.
Ich habe schon die letzten Bindings mit meinem verglichen und nach meinem Verständnis sollte es bei mir so funktionieren.
Allerdings zeigt er mir im Widget nur 0 an.
Der Datenpunkt gibt die Werte 1, 2 und 3 aus. Daraus soll er offen, verriegelt und entriegelt machen.
Vielleicht könnte mir dabei jemand auf die Sprünge helfen.Mein Binding:
{val:vw-connect.0.TMB**************.status.data_0x030104FFFF.field_0x0301040001.value; val== "2" ? "offen"}
Vielen Dank schon mal!
Gruß Marcel