[Gelöst] Frage zum Widget "symbol" in Abhängigkeit von einem Wertebereich

Begonnen von ext23, 16 Oktober 2016, 11:21:13

Vorheriges Thema - Nächstes Thema

ext23

Moin,

eine Frage, ich versuche gerade meine alte Readingsgroup für meine Heizung in TabletUI abzubilden. Dazu möchte ich über ein Symbol die ValvePosition anzeigen lassen. Nun kann ich nicht alle 100 Möglichkeiten auf ein Symbol mappen, daher meine Frage wie kann ich es konfigurieren, das bei ValvePosition 0-10% Symbol 1 angezeigt wird, bei 10-20% Symbol 2 etc... Oder geht das gar nicht? Falls nicht, was habe ich denn da für Möglichkeiten? Das selbe Problem habe ich bei meinem Batterie Status wo ich die Spannung in ein Symbol umsetzen muss.

Danke

Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

homeum

Das geht nur über regex.

Für 0 bis zu 10 wäre das also z. B "[0-9]|([0-9]0)" usw...
Wobei... mein Vorschlag ist nicht ganz richtig ... springt ja auch bei 90 an...  also noch etwas feilen...

Richtiger wäre wohl "[0-9]|(10)"

Ich bin da auch noch beim Probieren mit regex und froh über jeden Treffer

setstate

In der readme.md bei Github sind ein paar Beispiele.

<div data-type="symbol" data-device="WohnzimmerHeizung" data-get="batteryLevel"
    data-states='["3.[0-9]","2.[789]","2.[456]","2.[123]","((2.0)|([01].[0-9]))"]'
        data-icons='["fa-battery-4","fa-battery-3","fa-battery-2","fa-battery-1","fa-battery-0"]'
    data-colors='["#505050","#505050","#505050","#ad3333","#ad3333"]'>
</div>

ext23

Ahh super danke, na damit kann man ja was machen. Auf die Idee mit den Regex bin ich gar nicht bekommen, vermutlich weil ich das nicht so mag ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

setstate

Ein Beispiel mit größer-gleich Vergleich anstatt RegEx ist auch dabei.

<div data-type="symbol" data-device="BadHeizung" data-get="batteryLevel"
    data-states='["0","2","2.4","2.7","3.0"]'
    data-icons='["oa-measure_battery_0 fa-rotate-90","oa-measure_battery_25 fa-rotate-90","oa-measure_battery_50 fa-rotate-90","oa-measure_battery_75 fa-rotate-90","oa-measure_battery_0 fa-rotate-90"]'
    data-colors='["#ad3333","#ad3333","#505050","#505050","#505050"]'>
</div>

ext23

Ach, dann ist größer gleich default ja.
OK, also das mit der ValvePosition passt schon mal! Echt Klasse.

Jetzt muss ich nur noch meine Buttons hinbekommen die den Mode wechseln beim drücken, also "auto" "manuel" etc.. und entsprechend auch das richtige symbol anzeigen, also auch die Eieruhr wenn er gerade "sendet".

Aber es ist schon ein ganz schönes Gefrickel, das mit dem col-x-y raffe ich nicht und untereinander macht der die divs auch nur manchmal, also so ganz reproduzierbar ist das nicht, aber gut mit irgend was muss man sich ja beschäftigen bei dem scheiss Wetter ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Gollum2

Wie wäre denn das für dich?


<div data-type="thermostat" data-device="GZ_Heizung_Clima" data-min="0" data-max="30" data-off="off" class="small cell"></div>
            <div data-type="label" data-device="GZ_Heizung_Clima" data-get="controlMode" class="narrow darker small"></div>
            <div data-type="progress" data-device="GZ_Heizung_Clima" data-get="ValvePosition" data-progress-width=100 data-unit="%" class="cell"></div>
        <div data-type="circlemenu" class="cell">
        <ul>
          <li><div data-type="push" data-icon="fa-wrench"></div></li>
          <li><div data-type="push" data-device="GZ_Heizung_Clima" data-set-on="controlMode night" data-icon="fa-moon-o"></div></li>
          <li><div data-type="push" data-device="GZ_Heizung_Clima" data-set-on="controlMode day" data-icon="fa fa-sun-o"></div></li>
          <li><div data-type="push" data-device="GZ_Heizung_Clima" data-set-on="controlMode auto" data-icon="oa-sani_heating_automatic"></div></li>
          <li><div data-type="push" data-device="GZ_Heizung_Clima" data-set-on="controlMode manual" data-icon="oa-sani_heating_manual"></div></li>
          <li><div data-type="push" data-device="GZ_Heizung_Clima" data-set-on="controlMode boost" data-icon="fa-spinner fa-pulse"></div></li>
        </ul>
    </div>
"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

SirMarco

Zitat von: ext23 am 16 Oktober 2016, 12:08:39
Aber es ist schon ein ganz schönes Gefrickel, das mit dem col-x-y raffe ich nicht und untereinander macht der die divs auch nur manchmal, also so ganz reproduzierbar ist das nicht, aber gut mit irgend was muss .....

Kann das jemand "verständlich" erklären?  ;)
Ich verstehe das so:

col-x-y (X=Reihe, Y= Spalte) ?

col-1-4 = 25%?

setstate

Ja, col-1-4 ist eine Viertel-Spalte.

Man kann zum Beispiel links einem Thermostat mit col-1-2 die Hälfte des Platzes zuweisen und dann rechts für zwei Switches mit jeweils col-1-4 die andere Hälfte aufteilen. Am Ende muss immer 100% rauskommen. Immer bezogen auf den Platz des Eltern-Containers. Das Ganze kann man auch schachteln. Also z.B. ein Drittel einer Hälfte.

SirMarco

Fast habe ich es verstanden.  8)
also hat es nicht mit Reihen zu tun, sondern nur mit spalten.

Aber was ist genau mit Schachteln gemeint?