NEWS
Bindings in vis
-
@crunchip sagte in Bindings in vis:
backslash
Das ist was du siehst, programmtechnisch sind das Sonderzeichen escapen.
Wen es genau interessiert:
falsch beim Binding: "{wert:backitup.0.oneClick.iobroker;wert === "true" || wert === true || wert === 1 ? "Backup </br> wird erstellt" : "Backup </br>jetzt erstellen"}" korrekt: "{wert:backitup.0.oneClick.iobroker;wert === \"true\" || wert === true || wert === 1 ? \"Backup </br> wird erstellt\" : \"Backup </br>jetzt erstellen\"}"
@homoran sagte in Bindings in vis:
Bitte Link, dann seh ich mir das mal an
Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen
https://forum.iobroker.net/post/281934 -
@sborg sagte in Bindings in vis:
Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen
ich hab es mal innerhalb des Spoilers in codetags gesetzt
Dann sollten die Escapes auch zu sehen sein -
@homoran Danke, habe gleich noch den doppelten Doppelpunkt beim "oder" im Binding ausgemerzt und den "Voll-Backup" als obsolet gekennzeichnet.
-
Guten Morgen,
ich kämpfe auch mit den Bindings. Ich möchte die Farbe ändern, je nachdem in einem DP der Wert "true" oder "false" ist.
Sieht momentan so aus:
{wert:system.adapter.admin.0.alive; wert === "true" ? "#35ff05" : "#e66e05"}
Ich habe mir die Farben unter 0_userdata definiert.
Und dann funktionierts nicht mehr:
{wert:system.adapter.admin.0.alive; wert === "true" ? "{0_userdata.0.einstellung_farben_schriftarten.farbe-4}" : "{0_userdata.0.einstellung_farben_schriftarten.farbe-5}"}
Was fehlt da?
-
@hausbaer
Verschachtelte bindings gehen nicht
Du musst den Inhalt des datenpunkt analog wie wert in eine Variable übernehmen und diese Variable dann verwenden -
@hausbaer sagte in Bindings in vis:
{wert:system.adapter.admin.0.alive; wert === "true" ? "{0_userdata.0.einstellung_farben_schriftarten.farbe-4}" : "{0_userdata.0.einstellung_farben_schriftarten.farbe-5}"}
habe es nicht getestet - evtl geht das
{wert:system.adapter.admin.0.alive;farbe4:0_userdata.0.einstellung_farben_schriftarten.farbe-4;farbe5:0_userdata.0.einstellung_farben_schriftarten.farbe-5; wert === "true" ? farbe4 : farbe5}
-
@liv-in-sky sagte in Bindings in vis:
habe es nicht getestet - evtl geht das
gleiche Idee hatte ich auch; und dann auch getestet, funktioniert !
{wert:0_userdata.0.wert_test; farb1:0_userdata.0.Farbe_1; farb2:0_userdata.0.Farbe_2; wert == "true" ? farb1 : farb2}
-
Manchmal sieht man den Wald vor lauter Bäumen nicht. Danke, ihr seid die Besten.
Noch ein Thema. Unter diesem DP
admin.0.info.updatesList
gibt es, wenn Updates von Adaptern vorhanden sind, eine String Liste.
Wie kann ich diese Liste auswerten, um beim entsprechenden Adpater einen Hinweis einzublenden, dass dieser Adapter updatebar ist?
-
https://www.smarthome-tricks.de/software-iobroker/vis-adapter-updates-auf-view-anzeigen/amp/
Gefunden mit Google
Iobroker vis Adapter update
-
@liv-in-sky das kenne ich, ist aber nicht das, was ich suche.
Ich möchte hinter dem Adaternamen im Falle eines Updates einen Text einblenden lassen.
-
Hallo,
Rundungen in Bindings scheinen knifflig zu sein. Die Funktion round(x, y) funktioniert nicht.
DP(type: number): 0_userdata.0.a = 1.2
Binding:
{a:0_userdata.0.a;Math.round(parseFloat(a)/10,2)}Ergebnis im Widget: 0 (erwartet: 0.12 bzw. 0,12)
Vis Version: v1.4.15
-
keine kommas sondern punkte bei /10.2 verwenden - nicht 10,2
-
@liv-in-sky Danke für das feedback, aber das Komma trennt die zwei Argumente der round(x,y) Funktion, x der wert (a/10), y (=2) die Dezimalstellen.
-
-
@ocio sagte in Bindings in vis:
@liv-in-sky Danke für das feedback, aber das Komma trennt die zwei Argumente der round(x,y) Funktion, x der wert (a/10), y (=2) die Dezimalstellen.
zwei dezimalstellen sollte so sein
{a:0_userdata.0.a;Math.round(parseFloat(a)/10*100)/100} -
@liv-in-sky Danke, sehe jetzt meinen Fehler, round(x,y) gibt es in nicht in js
-
nur nebenbei:
wenn man die runtime in chrome öffnet, kann man die entwicklertools öffnen und unter dem tab console die fehler ansehen, die bei einem refresh der seite kommen - manchmal hilft das. um binding fehler zu finden -
@ocio sagte in Bindings in vis:
@liv-in-sky Danke, sehe jetzt meinen Fehler, round(x,y) gibt es in nicht in js
Eigentlich schon
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round?retiredLocale=de -
???
ich sehe dort nicht, dass es eine function math.round gibt, bei der man 2 werte übergibt
Math.round(x,y)
-
@liv-in-sky
Ja mit 2 werten nicht.
Der korrekte Befehl wäre
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed?retiredLocale=de