Symbole mit mehr als 2 Farben (gelöst)

Begonnen von Johann.S, 03 Juli 2019, 15:52:04

Vorheriges Thema - Nächstes Thema

Johann.S

Hallo,

ich bin gerade beim Umstieg von TabletUI auf fronthem/smartVISU!
Dank der Beiträge hier im Forum hat bisher alles reibungslos funktioniert.
Ich hänge jetzt an einem Problem und finde seit Tagen keine Lösung.
FHEM läuft auf einem Raspberry 3 mit 2 Signalduinois (433MHz und 868MHz), smartVISU 2.8 auf einem NextCloud Server 15.0.8
und auf einem zweiten Raspberry 3 lauft RaspberryMatic 3.45.7.20190511 für meine HM-IP Geräte (Heizkörper, Fenster und Thermostate).

In Anlehnung an das Homematic-Widget von Bernd Gewehr versuche ich gerade ein eigenes Widget für meine HM IP Komponente.
In diesem Widget möchte ich gerne die Batterie mit unterschiedlichen Farben (Rot, Gelb, Gün) anzeigen, komme aber nicht wirklich dahinter.
/**
* Homematic IP HM-SWDO Tür und Fensterkontakt
*
* @param unique id for this widget
* @param a item for text1
* @param a item for window1
* @param a item for battery1
* @param a item for text2
* @param a item for window2
* @param a item for battery2
* @param a item for text3
* @param a item for window3
* @param a item for battery3
* @param a item for text4
* @param a item for window4
* @param a item for battery4
*/
{% macro hmswdo(id, item_text1, item_window1, item_battery1, item_text2, item_window2, item_battery2, item_text3, item_window3, item_battery3, item_text4, item_window4, item_battery4) %}
{% import "basic.html" as basic %}
{% import "icon.html" as icon %}
<div id="{{ uid(page, id) }}">
<div class="actual">
<div class="temp">
{% if item_window1 %}
{{ item_text1 }}&nbsp;
{{ basic.symbol(id~'windowopen1', item_window1, '', 'fts_window_2w_open.svg','offen', '', 'icon1') }}
{{ basic.symbol(id~'windowtilt1', item_window1, '', 'fts_window_2w_tilt_l.svg','gekippt', '', 'icon1') }}
{{ basic.symbol(id~'windowclose1', item_window1, '', 'fts_window_2w.svg','zu', '', '#25ea4e') }}
{% if item_battery1 > 1.3  %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery1 > 1.1 %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#cc0000") }}
{% endif %}
{{ basic.value(id~'battery1_V', item_battery1) }}V
<br>
{% endif %}
{% if item_window2 %}
{{ item_text2 }}&nbsp;
{{ basic.symbol(id~'windowopen2', item_window2, '', 'fts_window_2w_open.svg','offen', '', 'icon1') }}
{{ basic.symbol(id~'windowtilt2', item_window2, '', 'fts_window_2w_tilt_l.svg','gekippt', '', 'icon1') }}
{{ basic.symbol(id~'windowclose2', item_window2, '', 'fts_window_2w.svg','zu', '', '#25ea4e') }}
{% if item_battery2 > '1.30'  %}
{{ icon.battery(id~'battery2', '', item_battery2, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery2 < '1.10' %}
{{ icon.battery(id~'battery2', '', item_battery2, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery2', '', item_battery2, '1.0', '1.5', "#cc0000") }}
{% endif %}
{{ basic.value(id~'battery2_V', item_battery2) }}V
<br>
{% endif %}
{% if item_window3 %}
{{ item_text3 }}&nbsp;
{{ basic.symbol(id~'windowopen3', item_window3, '', 'fts_window_2w_open.svg','offen', '', 'icon1') }}
{{ basic.symbol(id~'windowtilt3', item_window3, '', 'fts_window_2w_tilt_l.svg','gekippt', '', 'icon1') }}
{{ basic.symbol(id~'windowclose3', item_window3, '', 'fts_window_2w.svg','zu', '', '#25ea4e') }}
{% if item_battery3 > '1.30'  %}
{{ icon.battery(id~'battery3', '', item_battery3, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery3 < '1.10' %}
{{ icon.battery(id~'battery3', '', item_battery3, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery3', '', item_battery3, '1.0', '1.5', "#cc0000") }}
{% endif %}
{{ basic.value(id~'battery3_V', item_battery3) }}V
<br>
{% endif %}
{% if item_window4 %}
{{ item_text4 }}&nbsp;
{{ basic.symbol(id~'windowopen4', item_window4, '', 'fts_window_2w_open.svg','offen', '', 'icon1') }}
{{ basic.symbol(id~'windowtilt4', item_window4, '', 'fts_window_2w_tilt_l.svg','gekippt', '', 'icon1') }}
{{ basic.symbol(id~'windowclose4', item_window4, '', 'fts_window_2w.svg','zu', '', '#25ea4e') }}
{% if item_battery4 > '1.30'  %}
{{ icon.battery(id~'battery4', '', item_battery4, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery4 < '1.10' %}
{{ icon.battery(id~'battery4', '', item_battery4, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery4', '', item_battery4, '1.0', '1.5', "#cc0000") }}
{% endif %}
{{ basic.value(id~'battery4_V', item_battery4) }}V
<br>
{% endif %}
</div>
</div>
</div>
{% endmacro %}


Der Teil an dem ich hänge schaut so aus:

{% if item_battery > 1.30  %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery1 < 1.10 %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#cc0000") }}
{% endif %}


Das Ergebnis habe ich angehängt.
Nach allen Rechergen im Forum und im Internet komme ich nicht dahinter warum {% if item_battery > 1.30  %} nicht funktioniert!

Danke im voraus,

Johann

Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

amenomade

Was ist falsch? Der Wert 1.3 ist weder > 1.3 noch < 1.1
Dann kriegst Du #cc0000 = rot, wie im Bild ("else" Zweig)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Johann.S

Hallo amenomade,

den Fehler habe ich behoben.
{% if item_battery1 > 1.3  %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#25ea4e") }}
{% elseif item_battery1 > 1.1 %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#ffdb00") }}
{% else %}
{{ icon.battery(id~'battery1', '', item_battery1, '1.0', '1.5', "#cc0000") }}
{% endif %}


Jetzt sieht das Ergebnis so wie im Anhang aus. Das Batterie-Symbol ist immer rot.
Fenster links sollte #25ea4e = grün, Fenster rechts und Türe sollten #ffdb00 = gelb sein.
Keine Ahnung warum es nicht geht, lt. Dr. Google müsste es so funktionieren.

Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

amenomade

Versuch mal ohne die 1.0 und 1.5, ich verstehe nicht warum die da sein sollen
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Johann.S

Die 1.0 und 1.5 sind min und max Werte für die Striche in der Batterie, ohne wird eine leere Batterie ohne Zwischenstriche/Füllstand angezeigt.
Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

amenomade

Ah ok... dann habe ich keine Ahnung, sorry
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Johann.S

#6
Für alle die vielleicht das gleiche Problem haben!

{{ basic.symbol (id~'battery4', item_battery4, '', icon.battery(id~'battery4_i', '', item_battery4, '1.0', '1.5'), [ 1.2, 1.4], '>', ['#cc0000','#ffdb00','#25ea4e'])}}

In der V2.9 kann man icon.xxx in basic.symbol verwenden! Das Größer (>) gibt an, dass es eine Range ist.
Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung