NEWS
[gelöst]Bekomme Binding nicht hin
-
@johgre
irgendwie bin ich zu bl....d dafür.{wert_min:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; parseInt(wert_min) <= parseInt("2,3") ? "#f82a33" : "#0df810"}wechselt nicht die Farbe. Zumindest ist die Farbe mit dem Binding rot. Bleibt aber auch so wenn ich einen DP hole bei dem der Wert 2,7 ist.
hast du probiert:
@oliverio sagte in Bekomme Binding nicht hin:
bruchzahlen mit einem . notiert
und nicht ein ,
oder auch:
@johgre sagte in Bekomme Binding nicht hin:
Für Kommazahlen wirst du dann halt parseFloat() nehmen müssen
Wie sind die Ergebnisse ??
Die Ganzzahl von:
@berlon sagte in Bekomme Binding nicht hin:Bleibt aber auch so wenn ich einen DP hole bei dem der Wert 2,7 ist.
ist 2 !
-
@berlon sagte in Bekomme Binding nicht hin:
hm-rpc.0.NEQ1489713.4.BATTERY_STATE;
die kommen wunderbar als Zahl mit Dezimalpunkt

du weisst dass Bindings nicht im Editor funktionieren? nur in der Runtime?
@homoran said in Bekomme Binding nicht hin:
@berlon sagte in Bekomme Binding nicht hin:
hm-rpc.0.NEQ1489713.4.BATTERY_STATE;
die kommen wunderbar als Zahl mit Dezimalpunkt

du weisst dass Bindings nicht im Editor funktionieren? nur in der Runtime?
Bei mir ist es eine Kommazahl.

{ "type": "state", "common": { "name": "HK-Andi:4.BATTERY_STATE", "role": "value.voltage", "def": 0, "type": "number", "read": true, "write": false, "min": 1.5, "max": 4.6, "unit": "V" }, "native": { "CONTROL": "NONE", "DEFAULT": 0, "FLAGS": 1, "ID": "BATTERY_STATE", "MAX": 4.6, "MIN": 1.5, "OPERATIONS": 5, "TAB_ORDER": 2, "TYPE": "FLOAT", "UNIT": "V" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1665836214378, "_id": "hm-rpc.0.NEQ1489713.4.BATTERY_STATE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }wurde so vom Adapter eingetragen.
Das es nur in der Runtime funktioniert weiß ich.Theoretich wäre das das richtige Binding,
{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE;wert <= 2.3 ? "#f82a33" :: wert > 2.3 ? "#0df810"}Die Zahl bleibt aber schwarz. Auch hier bleibt die Zahl schwarz
{wert_min:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; parseInt(wert_min) <= parseInt("2,3") ? "#f82a33" : "#0df810"}grübel
-
@homoran said in Bekomme Binding nicht hin:
@berlon sagte in Bekomme Binding nicht hin:
hm-rpc.0.NEQ1489713.4.BATTERY_STATE;
die kommen wunderbar als Zahl mit Dezimalpunkt

du weisst dass Bindings nicht im Editor funktionieren? nur in der Runtime?
Bei mir ist es eine Kommazahl.

{ "type": "state", "common": { "name": "HK-Andi:4.BATTERY_STATE", "role": "value.voltage", "def": 0, "type": "number", "read": true, "write": false, "min": 1.5, "max": 4.6, "unit": "V" }, "native": { "CONTROL": "NONE", "DEFAULT": 0, "FLAGS": 1, "ID": "BATTERY_STATE", "MAX": 4.6, "MIN": 1.5, "OPERATIONS": 5, "TAB_ORDER": 2, "TYPE": "FLOAT", "UNIT": "V" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1665836214378, "_id": "hm-rpc.0.NEQ1489713.4.BATTERY_STATE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }wurde so vom Adapter eingetragen.
Das es nur in der Runtime funktioniert weiß ich.Theoretich wäre das das richtige Binding,
{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE;wert <= 2.3 ? "#f82a33" :: wert > 2.3 ? "#0df810"}Die Zahl bleibt aber schwarz. Auch hier bleibt die Zahl schwarz
{wert_min:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; parseInt(wert_min) <= parseInt("2,3") ? "#f82a33" : "#0df810"}grübel
@berlon sagte in Bekomme Binding nicht hin:
Bei mir ist es eine Kommazahl.
nöö
@berlon sagte in Bekomme Binding nicht hin:
min": 1.5,
liefert bei dir auch Dezimalpunkt.
Hast du in den Settings ggf. als mit Komma anzeigen eingestellt.@berlon sagte in Bekomme Binding nicht hin:
Auch hier bleibt die Zahl schwarz
wenn du nur mit Ganzzahlen rechnest ist das kein Wunder.
-
@berlon sagte in Bekomme Binding nicht hin:
Bei mir ist es eine Kommazahl.
nöö
@berlon sagte in Bekomme Binding nicht hin:
min": 1.5,
liefert bei dir auch Dezimalpunkt.
Hast du in den Settings ggf. als mit Komma anzeigen eingestellt.@berlon sagte in Bekomme Binding nicht hin:
Auch hier bleibt die Zahl schwarz
wenn du nur mit Ganzzahlen rechnest ist das kein Wunder.
@homoran said in Bekomme Binding nicht hin:
Hast du in den Settings ggf. als mit Komma anzeigen eingestellt.
Hast Recht, stand in den Einstellungen auf Komma. Umgestellt auf Punkt und ioBroker neu gestartet. Es bleibt aber das Komma im Datenpunktanzeige.
@homoran said in Bekomme Binding nicht hin:
wenn du nur mit Ganzzahlen rechnest ist das kein Wunder.
Ich weiß nicht mehr weiter. Beide Varianten des Binding mit Punkt oder Komma, habe keine Änderung in der Anzeige.
-
@homoran said in Bekomme Binding nicht hin:
Hast du in den Settings ggf. als mit Komma anzeigen eingestellt.
Hast Recht, stand in den Einstellungen auf Komma. Umgestellt auf Punkt und ioBroker neu gestartet. Es bleibt aber das Komma im Datenpunktanzeige.
@homoran said in Bekomme Binding nicht hin:
wenn du nur mit Ganzzahlen rechnest ist das kein Wunder.
Ich weiß nicht mehr weiter. Beide Varianten des Binding mit Punkt oder Komma, habe keine Änderung in der Anzeige.
@berlon
Mach mal aus dem doppelten Doppelpunkt einen einfachen.
Der ternäre Operator lautet(if) ? true : falseUnd natürlich Dezimalzahlen mit Punkt statt Komma notieren.
-
@berlon
Mach mal aus dem doppelten Doppelpunkt einen einfachen.
Der ternäre Operator lautet(if) ? true : falseUnd natürlich Dezimalzahlen mit Punkt statt Komma notieren.
@codierknecht
Wäre dann also so:{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; wert <= 2.3 ? "#f82a33" : wert > 2.3 ? "#0df810"}Keine Änderung, Anzeige immer noch schwarze Schrift.
Ich gebs´s für heute mal auf. -
@codierknecht
Wäre dann also so:{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; wert <= 2.3 ? "#f82a33" : wert > 2.3 ? "#0df810"}Keine Änderung, Anzeige immer noch schwarze Schrift.
Ich gebs´s für heute mal auf.@berlon
Der Vergleich findet nur einmal - zu Beginn statt.Hinter dem "?" wird das notiert was bei Wahr zurückgegeben wird.
Hinter dem Doppelpunkt das was bei Falsch kommen soll{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; wert <= 2.3 ? "#f82a33" : "#0df810"} -
@berlon
Der Vergleich findet nur einmal - zu Beginn statt.Hinter dem "?" wird das notiert was bei Wahr zurückgegeben wird.
Hinter dem Doppelpunkt das was bei Falsch kommen soll{wert:hm-rpc.0.NEQ1489713.4.BATTERY_STATE; wert <= 2.3 ? "#f82a33" : "#0df810"}@codierknecht
So funzt es bei mir:{wert:hm-rpc.0.001E1D899E914F.0.OPERATING_VOLTAGE;parseFloat(wert) <= 2.3 ? "red" : "green"} -
@codierknecht
So funzt es bei mir:{wert:hm-rpc.0.001E1D899E914F.0.OPERATING_VOLTAGE;parseFloat(wert) <= 2.3 ? "red" : "green"}@codierknecht
Super, Danke! Hat funktioniert. Hatte gestern echt keinen Kopf mehr dafür.
Jetzt noch eine Frage. Kann ich in dem Binding die erste Auswertung <=2.3 blinken lassen wenn sie zutrifft?Gruß
Bernd -
@codierknecht
Super, Danke! Hat funktioniert. Hatte gestern echt keinen Kopf mehr dafür.
Jetzt noch eine Frage. Kann ich in dem Binding die erste Auswertung <=2.3 blinken lassen wenn sie zutrifft?Gruß
Bernd@berlon
So nicht. Das was da aus dem Ausdruck zurückkommt ist ja die Farbe, steht also in der Vis am Element unter... style="color:red".
Was aber gehen sollte:
Statt über den Ausdruck die Farbe einzustellen, packst Du das Binding in "CSS Klasse".

Dann könnte der Ausdruck statt einer Farbe eine CSS-Klasse wie "warn" oder "normal" zurückliefern.
Im CSS Deiner Vis wird dann geregelt, wie die beiden Klassen denn darzustellen sind: Fett, rot, kursiv usw.
Per JavaScript in der Vis kann man bestimmte Klassen dann auch blinken lassen - wenn's denn sein muss.Aber wie gesagt: SOLLTE.
Ich bin mir gerade auch nicht sicher, ob ein dynamisches Binding der CSS-Klasse auch zur Laufzeit bei Änderungen am DP so wirkt wie man das gerne hätte. Und aktuell habe ich nicht wirklich Lust, das an meiner Vis einfach mal auszuprobieren. -
@berlon
So nicht. Das was da aus dem Ausdruck zurückkommt ist ja die Farbe, steht also in der Vis am Element unter... style="color:red".
Was aber gehen sollte:
Statt über den Ausdruck die Farbe einzustellen, packst Du das Binding in "CSS Klasse".

Dann könnte der Ausdruck statt einer Farbe eine CSS-Klasse wie "warn" oder "normal" zurückliefern.
Im CSS Deiner Vis wird dann geregelt, wie die beiden Klassen denn darzustellen sind: Fett, rot, kursiv usw.
Per JavaScript in der Vis kann man bestimmte Klassen dann auch blinken lassen - wenn's denn sein muss.Aber wie gesagt: SOLLTE.
Ich bin mir gerade auch nicht sicher, ob ein dynamisches Binding der CSS-Klasse auch zur Laufzeit bei Änderungen am DP so wirkt wie man das gerne hätte. Und aktuell habe ich nicht wirklich Lust, das an meiner Vis einfach mal auszuprobieren.@codierknecht
Das ist momentan noch zu hoch für mich. Freut mich schon, das der Farbwechsel stattfinden. Das Weitere wäre halt nur noch das Sahnehäubchen gewesen :-) -
@codierknecht
Super, Danke! Hat funktioniert. Hatte gestern echt keinen Kopf mehr dafür.
Jetzt noch eine Frage. Kann ich in dem Binding die erste Auswertung <=2.3 blinken lassen wenn sie zutrifft?Gruß
Bernd@berlon sagte in [gelöst]Bekomme Binding nicht hin:
Hat funktioniert.
@Codierknecht arbeitet ja auch nicht nur mit Ganzzahligen wie du (parseInt), sondern Fließkommazahlen (parseFloat)
bei Ganzzahlen ist 2.3 und 2.5 beides nur 2! und da funktioniert dein Vergleich nicht.
Wurde dir aber schon sehr früh gesagt!
-
@codierknecht
Das ist momentan noch zu hoch für mich. Freut mich schon, das der Farbwechsel stattfinden. Das Weitere wäre halt nur noch das Sahnehäubchen gewesen :-)@berlon sagte in [gelöst]Bekomme Binding nicht hin:
@codierknecht
Das ist momentan noch zu hoch für mich. Freut mich schon, das der Farbwechsel stattfinden. Das Weitere wäre halt nur noch das Sahnehäubchen gewesen :-)Dann lass es so. So ein rumblinkendes UI macht auf Dauer aggressiv.
Wenn einer meiner Entwickler sowas bauen würde, dürfte er das neu machen.
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