NEWS
vis binding durch Vergleich Farbe ändern
-
Mea culpa, ich habe zur Veranschaulichung jetzt ein Bild angehängt.
Ja, die Datenpunkte sind laut RAW Ansicht "Number":
"type": "state", "common": { "name": "temp", "type": "number", "role": "value.min", "unit": "°C",
Ich verstehe nur nicht warum das Binding funktioniert wenn beide Zahlen die gleiche Anzahl von Stellen haben
Edit: ich hab den View Export mal angehängt.
-
@micklafisch sagte in vis binding durch Vergleich Farbe ändern:
Ich verstehe nur nicht warum das Binding funktioniert wenn beide Zahlen die gleiche Anzahl von Stellen haben
das könnte ein Hinweis auf einen Stringvergleich sein.
Deswegen die Frage als was der Sensor die Daten liefert -
@Homoran
wie kann ich das herausfinden? Dachte wenn der DP als "Number" definiert ist, ist auch der Wert entsprechend gespeichert. -
@micklafisch sagte:
Dachte wenn der DP als "Number" definiert ist, ist auch der Wert entsprechend gespeichert.
Das ist leider nicht immer so.
@micklafisch sagte in vis binding durch Vergleich Farbe ändern:
wie kann ich das herausfinden?
Kurzes Test-Script:
log(typeof getstate('Hier die ID eingeben').val);
-
@micklafisch sagte in vis binding durch Vergleich Farbe ändern:
@Homoran
wie kann ich das herausfinden? Dachte wenn der DP als "Number" definiert ist, ist auch der Wert entsprechend gespeichert.@paul53 hat mir da mal geholfen:
https://forum.iobroker.net/topic/28101/wrong-type-of/8 -
@micklafisch sagte in vis binding durch Vergleich Farbe ändern:
{wert_min:Sensors.Sensor_1.min;wert_temp:Sensors.Sensor_1.temp;wert_min>wert_temp?"#ff0000"::"#000000"}
2 Doppelpunkte sind falsch, es düprfen nur einmal doppelpunkt sein
{wert_min:Sensors.Sensor_1.min;wert_temp:Sensors.Sensor_1.temp;wert_min>wert_temp?"#ff0000":"#000000"}
syntax ist hier identisch zu
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Conditional_Operator -
@paul53 @Homoran
habe beide Punkte abgefragt, das Skriptlog sagt es sind "number":21:20:00.993 info javascript.0 (10626) Start javascript script.js.common.zzz_Datenpunkttyp 21:20:01.001 info javascript.0 (10626) script.js.common.zzz_Datenpunkttyp: number 21:20:01.002 info javascript.0 (10626) script.js.common.zzz_Datenpunkttyp: number
@OliverIO
den Doppel-Doppelpunkt hatte ich schon beim endlosen experimentieren mal testweise entfernt, auch da funktioniert es nicht.Ich bin aktuell ratlos.
-
{wert_min:Sensors.Sensor_1.min; wert_temp:Sensors.Sensor_1.temp; parseInt(wert_min) > parseInt(wert_temp) ? "#ff0000" : "#000000"}
Die Leerzeichen sind nur wegen der besseren Lesbarkeit
-
@SBorg
Hi, es funktioniert endlich. Vielen Dank für die Infos und Hilfestellungen.
Warum ein Number nochmal konvertiert werden will/muss erklärt sich mir zwar nicht, aber jetzt klappts.Nochmals vielen Dank an alle!
-
@micklafisch Tücke des Objekts. Zumindest bis jetzt (ev. ändert es sich ja auch noch mal) wird der Datenpunkt beim Einlesen per Binding, unabhängig davon was es im Datenpunkt ist (Number, String, ...), als "String" eingelesen.