ioBroker.jarvis
ioBroker.jarvis copied to clipboard
v3.0.11 - Data point style not working as expected
Jarvis version: v3.0.11
Issue: JSON for data point style does not apply as expected.
JSON: {">4499":{"color":"yellow"},">4999":{"color":"red"}}
Expected behavior: Values from 0-4499 normal Text 4500-4999 yellow Text 5000- red Text
Values over 4499 are always yellow. Even turning the JSON around {">4999":{"color":"red"},">4499":{"color":"yellow"}} gives the same result. In Jarvis v2 this was working as expected.
I would like to see the old behavior or a way to define ranges.
Jarvis immer den ersten richtigen Wert. Also immer mit < arbeiten nur der letzte dann >. https://forum.iobroker.net/post/812357
Das kann nicht sein, denn sonst würde {">4999":{"color":"red"},">4499":{"color":"yellow"}} nicht dazu führen, dass ein Wert über 5000 gelb ist, denn Rot wäre der erste richtige Wert.
Desweiteren bräuchte man so oder so eine Variante um Bereiche abzudecken, dies macht oftmals Sinn, gerade bei Prozentangaben.
PS: Ich habe jetzt eine Lösung gefunden de funktioniert, warum ist nicht mit Logik zu erklären, denn dann müsste das Statement oben auch funktionieren.
Wie ist die Lösung?
{"<4500":"default",">=5000":{"color":"red"},"<5000":{"color":"yellow"}}
Warum das nun geht und {">4999":{"color":"red"},">4499":{"color":"yellow"}} sowohl auch {">4499":{"color":"yellow"},">4999":{"color":"red"}} ab 4500 immer in Gelb resultiert erschließt sich mir nicht.
Abgesehen davon ist es beim JSON für Icons nicht so, das Jarvis das erste passende nimmt. Da nimmt er das letzte passende, so wie bei v2 auch für Data Point Style.
Soweit ich mich erinnere sortiert "jarvis" intern nochmal (also wäre das 1. die kleinste Zahl) und nimmt dann erste korrekte. Wie sieht bei den Icons das JSON aus? EDIT: Es geht nicht um das erste eingegebene, da nochmal intern sortiert wird. @Zefau kann evtl. mehr dazu sagen.
Beispiel: {"<=100":"akar-icons:battery-full","<=80":"akar-icons:battery-medium","<=50":"akar-icons:battery-low blink_slow_yellow","<=25":"akar-icons:battery-empty blink_fast_red"}
Nimmt bei 20% akar-icons:battery-empty blink_fast_red auch wenn davor alle anderen auch passend sind. Das Verhalten ist also alles andere als homogen.
Das würde dem entsprechen. Nach interner Sortierung nimmt in dem Fall das erste richtige <=25.
Ok, wenn er intern von klein nach groß sortiert, macht alles Verhalten Sinn, dass muss man allerdings erstmal wissen.