NEWS
Wunsch: Sichtbarkeit (Widget) mit && oder || für Signalbilder
-
Ich finde die Signalbilder gerade für die Batterie-Warnung genial. Aber natürlich auch genug anderen Funktionen.
Sehr viele Widgets nutze ich mit der Sichtbarkeitfunktion. Wenn ein Zustand das Widget ausblendet, sehe ich aber nicht mehr die Battereiwarnung.
<u>Idee 1:</u>
Einfach eine weitere Checkbox (like "Nicht zeigen bei Editieren [0]:") mit der Option, "Sichtbar machen, wenn Bedingung wahr ist [0]:".
<u>Idee 2:</u>
Mehrere && und || Funktion hinzufügen, so dass mehrere Bedingungen das Widget sichtbar machen.
Idee 1 finde ich deutlich besser, da ich dieses für jedes Signalbild individuell einstellen kann und ich weniger Platz oben "verschwende".
Viele Grüße,
Fitti
-
Ich finde die Signalbilder gerade für die Batterie-Warnung genial. Aber natürlich auch genug anderen Funktionen.
Sehr viele Widgets nutze ich mit der Sichtbarkeitfunktion. Wenn ein Zustand das Widget ausblendet, sehe ich aber nicht mehr die Battereiwarnung.
<u>Idee 1:</u>
Einfach eine weitere Checkbox (like "Nicht zeigen bei Editieren [0]:") mit der Option, "Sichtbar machen, wenn Bedingung wahr ist [0]:".
<u>Idee 2:</u>
Mehrere && und || Funktion hinzufügen, so dass mehrere Bedingungen das Widget sichtbar machen.
Idee 1 finde ich deutlich besser, da ich dieses für jedes Signalbild individuell einstellen kann und ich weniger Platz oben "verschwende".
Viele Grüße,
Fitti `
Das kannst du selbst implementieren indem du opacity steuerst{visibilty:adapter.0.state1;signal:adapter.0.state2;(parseInt(visibility) || parseInt(signal)) ? 1 : 0}
-
Das kannst du selbst implementieren indem du opacity steuerst
{visibilty:adapter.0.state1;signal:adapter.0.state2;(parseInt(visibility) || parseInt(signal)) ? 1 : 0} ```` `
So ein Mist. Ich wollte mir die Blöße nicht geben - aber ich verstehe kein Wort.
Wo trage ich denn das bitte ein, was muss ich anpassen? Was ist das? JS? CSS?
Danke im Voraus.
Fitti
-
Hallo Fitti,
das ist ein Binding, das entweder 0 oder 1 liefert.
visibility kommt vom adapter.0.state1
signal kommt von adapter.0.state2
dann Abfrage, ob in visibility oder signal was steht; wenn ja dann liefere 1, sonst 0
Dann kannst du das in das CSS Allgemein Feld opacity kopieren.
Gruß
Pix
-
pix,
du überschätzt meine Kenntnisse…
Bindings bedeutet CSS-Bindings, richtig? Kenne ich noch nicht, lerne ich aber gleich mal.
Ergibt ja gelesen alles irgendwie einen Sinn, ist ein bischen wie mit sed.
Habe die Zeile also so angepasst:
{visibilty:hm-rpc.0.LEQ1234784.1.STATE;signal:hm-rpc.0.LEQ1234784.1.LOWBAT;(parseInt(visibility) || parseInt(signal)) ? 1 : 0}
Geht aber nicht. Erste Vermutung: der erste .STATE liefert eine 2 (Tür-Fenster Kontakt). Nachdem was ich gelesen habe, müsste es aber gehen. Eine zwei wird anscheinend als true gewertet.... Es geht auch nicht, wenn ich den Drehgriff auf gekippt drehe =1.
Ich habe diese Zeile in das Feld rechts bei opacity eingegeben.
Richitg?
-
Ist ein Vis Binding. Schau mal die Vis Readme durch.
Du kannst auch die Abfrage ändern:
…;(visibility != false || parseInt(signal)) ? 1 : 0}
Kann auch true sein. Was liefert der TFK bei geschlossen?
Gesendet mit Tapatalk
-
@pix:Ist ein Vis Binding. Schau mal die Vis Readme durch.
Du kannst auch die Abfrage ändern:
…;(visibility != false || parseInt(signal)) ? 1 : 0}
Kann auch true sein. Was liefert der TFK bei geschlossen?
Gesendet mit Tapatalk `
Eine 0.Nur hatte selbst eine … ? 1 : 1} nix gebracht. Das anzuzeigende Widget war weiterhin nicht angezeigt worden.
Das ist echt spannend. Ich habe jetzt einfach mal diesen JS Code eingeben:
{if ( hm-rpc.0.LEQ0541784.1.STATE || hm-rpc.0.LEQ0541784.1.LOWBAT ) {1} else {0}}
Das scheint zu gehen, kann im Moment keine Batterei leer simulieren, werde einfach einen anderen Aktor nehmen.
-
Das hat mir keine Ruhe gelassen, warum es nicht geht, so wie von euch gezeigt…
Mit parseFloat geht es! Kann es sein, dass das parseInt so nicht mehr verwendet werden sollte?
Irgendwas war doch damit...
Mit dieser Zeile geht es nun:
{sichtbar:hm-rpc.0.LEQ0123206.1.STATE;batterie:hm-rpc.0.LEQ0123206.1.LOWBAT;( (parseFloat(sichtbar) > 0) || (parseFloat(signal)) ) ? 1 : 0}
-
Bei der Suche nach den PerformanceThemen fand ich nun diese Fehler in der Browser Console, die genau meine Bindings betreffen:
Ist das "richitg", funktionieren die Bindings nicht oder was habe ich falsch gemacht?
vis.js:2010 Error in eval[value] : {sichtbar:hm-rpc.0.LEQ0142206.1.STATE;batterie:hm-rpc.0.LEQ0142206.1.LOWBAT;( (parseFloat(sichtbar) > 0) || (parseFloat(signal)) ) ? 1 : 0}
Error in eval[script]: var sichtbar = "0";var batterie = "undefined";return ( (parseFloat(sichtbar) > 0) || (parseFloat(signal)) ) ? 1 : 0;
Error in eval[error] : ReferenceError: signal is not defined
Fitti
-
Hallo Fitti,
ich könnte mir denken, dass bei Copy/Paste was 'verloren' gegangen ist … Du definierst ja 'sichtbar' und 'batterie', aber beim Parsen sind es dann 'sichtbar' und 'signal'.
@Fitti:sichtbar : hm-rpc.0.LEQ0142206.1.STATE
batterie : hm-rpc.0.LEQ0142206.1.LOWBAT
((parseFloat(sichtbar) > 0) || (parseFloat(signal))) ? 1 : 0} `
Müsste aber auch mit 'ParseInt' gehen …Gruß
DeepCore