@oliverio Danke für deine Ausführungen 🙂
Eigentlich programmiere ich "schon" mehr als 20 Jahre, aber immer mit älteren Dingen bzw. nicht beruflich (und auch meist nicht mit aktuellen Modulen, da man diese nicht immer kennt 😉 )
Meinst Du Zeile 454 das await, weil danach eh nichts mehr kommt? ok, das kann man weglassen, ja.
JSON.parse(JSON.stringify(obj)) verwende ich, weil das Objekt verschachtelt ist bzw. bis zu 3 Ebenen haben kann.
Ich mag den Tab-Space - daher verwende ich den etwas größeren (ist man so gewohnt)
Du meinst aus:
if (operators.test(item)) {
// Now, we need to check, if condValue is a number
if (!isNaN(condValue)) {
}
}
wird
if (operators.test(item) && !isNaN(condValue)) {
}
? Ok, das könnte man so machen - stimmt
Mit den komplexen Funktionen hast Du Recht - diese kann man auf kleinere Funktionsblöcke herunterbrechen - ich denke, das ist meinem Gedankengang geschuldet.
Das Function Statement evaluiert Statements aus einem JSON Objekt und prüft, welche Condition valide ist.
Beispiel:
Der Wert ist 10 und die Bedingung des Users siehst so aus:
{
">0": {
"_comment": "Einspeisung",
"icon": "mdi:transmission-tower-export",
"color": "rgb(161,211,67)"
},
"<0": {
"_comment": "Netzbezug",
"icon": "mdi:transmission-tower-import?flip=horizontal",
"color": "#F20E40"
}
}
Dann wird hier jeder Block gegen diesen Wert geprüft und der Block genutzt, welcher am Besten dazu passt.
Die Erweiterung schaue ich mir mal an. Danke Dir!