NEWS
Material Design Widgets: Value Widget
-
@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
@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 -
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
-
@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?

-
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.
@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 -
@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?

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" } -
@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?

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" } -
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 :+1:
Ich sehe auf den 1.Blick keinen Unterschied
-
@liv-in-sky sagte in Material Design Widgets: Value Widget:
sorry - diesmal hatte ich einen fehler drin
Jupp, es kommt Run :+1:
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 -
@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
-
@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 !
-
@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.
-
@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 !
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? -
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 ?
-
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 ?
@ub-privat
anführungszeichen fehlt
Program.Eco50" ? "Eco 50°C : val== "Di nach 50°C -
@ub-privat
anführungszeichen fehlt
Program.Eco50" ? "Eco 50°C : val== "Di nach 50°CJUPP, 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?
-
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?
@ub-privat
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
-
@ub-privat
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!

