NEWS
Komisches Problem bei Vis
-
SO, ich habe eine Ansicht bei Vis.
Sie zeigt gemessene Temperaturen an und unterlegt sie wertabhängig mit Farben.
Beispiel:
Außenmessung an der Nordwand: Widget "number" mit "background"{wert:ds18b20.0.sensors.28-3cc2f64915c2; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das sieht dann so aus (Bildausschnitt):

Nun habe ich das Widget kopiert. um auch weitere Werte anzuzeigen. Diesmal kommt der Wert nicht von einem ds18b20, sondern von einem ble-Thermometer:
{wert:ble.0.a4:c1:38:b4:88:d6.temperature; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das ergibt aber folgendes Bild:

Der Wert ist 20.6 °C, wird aber in rot ausgegeben, was der angegebenen Farbskala widerspricht und nur bei sehr hohen Wertn vorkommen sollte.
Hier ein anderer Fühler mit derselben Anweisung:

Any ideas?
Dank im Voraus
-
SO, ich habe eine Ansicht bei Vis.
Sie zeigt gemessene Temperaturen an und unterlegt sie wertabhängig mit Farben.
Beispiel:
Außenmessung an der Nordwand: Widget "number" mit "background"{wert:ds18b20.0.sensors.28-3cc2f64915c2; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das sieht dann so aus (Bildausschnitt):

Nun habe ich das Widget kopiert. um auch weitere Werte anzuzeigen. Diesmal kommt der Wert nicht von einem ds18b20, sondern von einem ble-Thermometer:
{wert:ble.0.a4:c1:38:b4:88:d6.temperature; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das ergibt aber folgendes Bild:

Der Wert ist 20.6 °C, wird aber in rot ausgegeben, was der angegebenen Farbskala widerspricht und nur bei sehr hohen Wertn vorkommen sollte.
Hier ein anderer Fühler mit derselben Anweisung:

Any ideas?
Dank im Voraus
@wrod Ach ja, und eine Frage:
Kann man die Backgroud-Color-Anweisung so schreiben, dass man nicht jeweils die Datenpunkt-Adresse hineinkopieren muss, sondern einen Verweis auf die im Widget unter "Objekt-ID" angegebene Andresse angeben kann? Das würde einiges vereinfachen.
-
SO, ich habe eine Ansicht bei Vis.
Sie zeigt gemessene Temperaturen an und unterlegt sie wertabhängig mit Farben.
Beispiel:
Außenmessung an der Nordwand: Widget "number" mit "background"{wert:ds18b20.0.sensors.28-3cc2f64915c2; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das sieht dann so aus (Bildausschnitt):

Nun habe ich das Widget kopiert. um auch weitere Werte anzuzeigen. Diesmal kommt der Wert nicht von einem ds18b20, sondern von einem ble-Thermometer:
{wert:ble.0.a4:c1:38:b4:88:d6.temperature; wert <= -5? "#AA3FB2" :: wert <= 0 ? "#6954BB" :: wert <= 10? "#3A53B6" :: wert <= 20 ? "#019CF6" :: wert <= 30 ? "#00AAD7" :: wert <= 40 ? "#3AA447" :: wert <= 50 ? "#86B446" :: wert <= 60 ? "#CDD033" :: wert <= 70 ? "#FFe335" :: wert <= 80 ? "#FEB800" :: wert <= 90 ? "#FE9700" :: wert <= 100 ? "FE641D" :: wert <= 110 ? "#FF5232" :: "#FF3248"}Das ergibt aber folgendes Bild:

Der Wert ist 20.6 °C, wird aber in rot ausgegeben, was der angegebenen Farbskala widerspricht und nur bei sehr hohen Wertn vorkommen sollte.
Hier ein anderer Fühler mit derselben Anweisung:

Any ideas?
Dank im Voraus
versuche mal mit einem testdatenpunkt deine formel zu testen - der test-dp soll keine :doppelpunkte: in der object id haben - das könnte ein problem sein
-
@wrod Nabend,
Kann es sein, dass dein ble Termometer den Wert nicht als Number sondern als string speichert? -
versuche mal mit einem testdatenpunkt deine formel zu testen - der test-dp soll keine :doppelpunkte: in der object id haben - das könnte ein problem sein
@liv-in-sky Danke. Mit den ds18b20 läuft sie ja. DIe Formel ist also i.O.
Wie wird man die Doppelpunkte denn los? Die anderen, funktionierenden haben in der Tat keine Doppelpunkte. Aber eben die ble-Adressen.
Man könnte natürlich für jeden BLE einen eigenen zusätzlichen Datenpunkt einrichten und den Wert mit einem Skript dorthin kopieren, aber das wird mühsam.Kann man in der Formal das Objekt anders ansprechen? Mit einem eigenen Namen vielleicht, nicht mit der Adresse?
-
@liv-in-sky Danke. Mit den ds18b20 läuft sie ja. DIe Formel ist also i.O.
Wie wird man die Doppelpunkte denn los? Die anderen, funktionierenden haben in der Tat keine Doppelpunkte. Aber eben die ble-Adressen.
Man könnte natürlich für jeden BLE einen eigenen zusätzlichen Datenpunkt einrichten und den Wert mit einem Skript dorthin kopieren, aber das wird mühsam.Kann man in der Formal das Objekt anders ansprechen? Mit einem eigenen Namen vielleicht, nicht mit der Adresse?
geht über ein alias für den datenpunkt - das kannst du benennen ohne die :
-
geht über ein alias für den datenpunkt - das kannst du benennen ohne die :
@liv-in-sky Schade, das meinte ich mit "zusätzlichem Datenpunkt".
-
@liv-in-sky Schade, das meinte ich mit "zusätzlichem Datenpunkt".
ich eiß leider keine andere lösung dafür
-
@liv-in-sky
Leider geht auch folgendes nicht:{n:javascript.0.ble.0.a4:c1:38:b4:88:d6.temperature;numberToRgbColor(n)}
mit Script:
function numberToRgbColor(i) { var rgb = [170,63,178];; if ( i <= -10 ) { rgb = [170,63,178]; } else { if ( i <= 0 ) { rgb = [105,84,187]; } else { if ( i <= 10 ) { rgb = [58,83,182]; } else { if ( i <= 20 ) { rgb = [1,156,246]; } else { if ( i <= 30 ) { rgb = [0,170,215]; } else { if ( i <= 40 ) { rgb = [58,164,71]; } else { if ( i <= 50 ) { rgb = [134,180,70]; } else { if ( i <= 60 ) { rgb = [205,208,51]; } else { if ( i <= 70 ) { rgb = [255,227,53]; } else { if ( i <= 80 ) { rgb = [254,184,0]; } else { if ( i <= 90 ) { rgb = [254,151,0]; } else { if ( i <= 100 ) { rgb = [254,100,29]; } else { if ( i <= 110 ) { rgb = [255,82,50]; } else { rgb = [255,50,72]; } } } } } } } } } } } } } return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; }(das habe ich versucht von https://www.smarthome-tricks.de/software-iobroker/iobroker-vis-bar/ zu adaptieren).
Vielleicht stimmt aber auch nur die Schachtelung im SKript nicht? Oder sind es auch dort die Doppelpunkte?
-
@liv-in-sky
Leider geht auch folgendes nicht:{n:javascript.0.ble.0.a4:c1:38:b4:88:d6.temperature;numberToRgbColor(n)}
mit Script:
function numberToRgbColor(i) { var rgb = [170,63,178];; if ( i <= -10 ) { rgb = [170,63,178]; } else { if ( i <= 0 ) { rgb = [105,84,187]; } else { if ( i <= 10 ) { rgb = [58,83,182]; } else { if ( i <= 20 ) { rgb = [1,156,246]; } else { if ( i <= 30 ) { rgb = [0,170,215]; } else { if ( i <= 40 ) { rgb = [58,164,71]; } else { if ( i <= 50 ) { rgb = [134,180,70]; } else { if ( i <= 60 ) { rgb = [205,208,51]; } else { if ( i <= 70 ) { rgb = [255,227,53]; } else { if ( i <= 80 ) { rgb = [254,184,0]; } else { if ( i <= 90 ) { rgb = [254,151,0]; } else { if ( i <= 100 ) { rgb = [254,100,29]; } else { if ( i <= 110 ) { rgb = [255,82,50]; } else { rgb = [255,50,72]; } } } } } } } } } } } } } return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; }(das habe ich versucht von https://www.smarthome-tricks.de/software-iobroker/iobroker-vis-bar/ zu adaptieren).
Vielleicht stimmt aber auch nur die Schachtelung im SKript nicht? Oder sind es auch dort die Doppelpunkte?
ja - bindings mit solchen id's funktionieren nicht
-
@liv-in-sky Heute kann ich nicht mehr. Vielleicht kann man aber beim Flashen der BLE-Thermometer die ID ändern? Weiß das jemand?
-
@liv-in-sky Heute kann ich nicht mehr. Vielleicht kann man aber beim Flashen der BLE-Thermometer die ID ändern? Weiß das jemand?
ich weiß es nicht, da ich den ble adapter nicht nutze - aber ich denke das kommt vom adapter, kann man im setting des adapters was einstellen
@AlCalzone - weißt du, ob man die id' im ble adapter so einstellen kann, dass keine doppelpunkte in der id sind ?
-
ich weiß es nicht, da ich den ble adapter nicht nutze - aber ich denke das kommt vom adapter, kann man im setting des adapters was einstellen
@AlCalzone - weißt du, ob man die id' im ble adapter so einstellen kann, dass keine doppelpunkte in der id sind ?
@liv-in-sky Ich finde in den Instanzeinstellungen nicht. M.W. kommen diese Adressen schon von den BLE-Geräten (Tasmota) her.
-
@liv-in-sky Ich finde in den Instanzeinstellungen nicht. M.W. kommen diese Adressen schon von den BLE-Geräten (Tasmota) her.
naja - da der ble adapter bluetooth adressen sucht, un diese so aussehen, werden wahrscheinlich die datenpunkte auch so angelegt
-
naja - da der ble adapter bluetooth adressen sucht, un diese so aussehen, werden wahrscheinlich die datenpunkte auch so angelegt
@liv-in-sky OK, habe es nun doch mit einem Alias-Datenpunkt gemacht. Dann geht es.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
