Verwendung von Icons (data-icons)

Begonnen von stobor, 03 Mai 2023, 08:46:27

Vorheriges Thema - Nächstes Thema

stobor

Hallo,
ich möchte mir Frontends per TabletUI erstellen. Leider komme ich immer wieder mit den Icons nicht klar.
Prinzipiel habe ich Schalter so definiert:
<div data-type="switch"
data-device="Arduino_Pin24_WP_onOff"
data-icons='["oa-sani_buffer_temp_all","oa-sani_buffer_temp_all"]'
data-colors='["Green","Red"]'
data-set-states='["off","on"]'
data-states='["on","off"]'
data-background-colors='["#2a2a2a", "#2a2a2a"]'
class="display-topcenter tall">
</div>

wie kann ich aber Symbole auswählen?
Ich versuche mich immer an den Icons der unter https://wiki.fhem.de/wiki/FHEM_Tablet_UI verlinkten Seiten zu bedienen:
  • Eingebaute Icons ftui-window und ftui-door. Präfix ftui-. Beispiel: data-icon="ftui-door"
  • Font-Awesome: Mehr als 500 Icons zur Auswahl. Präfix fa-. Beispiel: data-icon="fa-volume-up"
  • Material Icons: Mehr als 900 Icons zur Auswahl. Präfix mi-. Beispiel: data-icon="mi-local_gas_station"
  • FHEM und OpenAutomation Icons: Präfix fs- und oa-. Beispiel: data-icon="oa-secur_locked"
  • Weather-Icons: Präfix wi . Beispiel: data-icon="wi wi-day-rain-mix"
Allerdings erscheinen die Symbole dann häufig nicht.

In Fhem direkt nutze ich bspw. das Icon sani_heating_heatpump:
define Arduino_Pin24_WP_onOff FRM_OUT 24  #  Stromüberschuss vom Wechselrichter
setuuid Arduino_Pin24_WP_onOff 6451f174-f33f-2cfb-df1d-aa6e7987969bfaab
attr Arduino_Pin24_WP_onOff IODev Arduino1
attr Arduino_Pin24_WP_onOff activeLow yes
attr Arduino_Pin24_WP_onOff alias Wärmepumpe
attr Arduino_Pin24_WP_onOff devStateIcon on:sani_heating_heatpump@green off:sani_heating_heatpump@red
attr Arduino_Pin24_WP_onOff icon sani_heating_heatpump
attr Arduino_Pin24_WP_onOff room ArduinoCPU,PV-Anlage
attr Arduino_Pin24_WP_onOff stateFormat value

Versuche ich jetzt das Icon auch in meinem Web-Frontend einzusetzen, kommt immer kein Bild. Ich habe versucht, es so einzubinden:
data-icons='["oa-sani_heating_heatpump","oa-sani_heating_heatpump"]'
   oder auch so
data-icons='["ftui-sani_heating_heatpump","ftui-sani_heating_heatpump"]'

Auch die Verwendung aus fontawesome liefert immer nur eine leeres Feld:
data-icons='["fa-air-conditioner","fa-air-conditioner"]'

Gibt es da einen Trick?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

yersinia

Davon abgesehen, dass FTUI2.x eol ist und du auf FTUI3 umsteigen solltest (sofern dein Anzeigegerät es auch unterstützt), solltest du die icons auch so benennen wie sie heissen. Welche icons zur Verfügung stehen siehst du im entsprechenden Ordner, für openautomation unter einer Debian/RaspiOS Installation via
ls -lah /opt/fhem/www/images/openautomation
=>
[...]
-rw-r--r-- 1 fhem dialout 3,3K 19. Feb 2017  sani_boiler_temp.svg
-rw-r--r-- 1 fhem dialout 3,3K 19. Feb 2017  sani_buffer_temp_all.svg
-rw-r--r-- 1 fhem dialout 2,4K 19. Feb 2017  sani_buffer_temp_down.svg
-rw-r--r-- 1 fhem dialout 2,4K 19. Feb 2017  sani_buffer_temp_up.svg
-rw-r--r-- 1 fhem dialout 3,2K 19. Feb 2017  sani_domestic_waterworks.svg
-rw-r--r-- 1 fhem dialout 8,1K 19. Feb 2017  sani_earth_source_heat_pump.svg
-rw-r--r-- 1 fhem dialout 2,6K 19. Feb 2017  sani_floor_heating.svg
-rw-r--r-- 1 fhem dialout 2,2K 19. Feb 2017  sani_garden_pump.svg
-rw-r--r-- 1 fhem dialout 3,7K 19. Feb 2017  sani_heating_automatic.svg
-rw-r--r-- 1 fhem dialout 2,7K 19. Feb 2017  sani_heating_manual.svg
-rw-r--r-- 1 fhem dialout 2,0K 19. Feb 2017  sani_heating.svg
-rw-r--r-- 1 fhem dialout 2,4K 19. Feb 2017  sani_heating_temp.svg
-rw-r--r-- 1 fhem dialout 3,4K 19. Feb 2017  sani_irrigation.svg
-rw-r--r-- 1 fhem dialout 1,9K 19. Feb 2017  sani_pump.svg
-rw-r--r-- 1 fhem dialout 2,5K 19. Feb 2017  sani_return_temp.svg
-rw-r--r-- 1 fhem dialout 2,0K 19. Feb 2017  sani_solar.svg
-rw-r--r-- 1 fhem dialout 2,5K 19. Feb 2017  sani_solar_temp.svg
-rw-r--r-- 1 fhem dialout 7,6K 19. Feb 2017  sani_sprinkling.svg
-rw-r--r-- 1 fhem dialout 2,5K 19. Feb 2017  sani_supply_temp.svg
-rw-r--r-- 1 fhem dialout 2,2K 19. Feb 2017  sani_water_cold.svg
-rw-r--r-- 1 fhem dialout 2,2K 19. Feb 2017  sani_water_hot.svg
-rw-r--r-- 1 fhem dialout 1,8K 19. Feb 2017  sani_water_tap.svg
[...]
Lass man das oa- weg.
data-icons='["sani_buffer_temp_all","sani_buffer_temp_all"]'
sani_heating_heatpump_buffer.svg und sani_heating_heatpump.svg liegen unter /opt/fhem/www/images/fhemSVG und könnten via fts- eingebunden werden.

In deiner index.html hast du auch
    <link rel="stylesheet" href="lib/font-awesome.min.css" type="text/css" />
    <link rel="stylesheet" href="lib/fhemSVG.min.css" type="text/css" />
    <link rel="stylesheet" href="lib/openautomation.min.css" type="text/css" />
eingebunden?
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

stobor

#2
Die Stylesheets habe ich eingebunden:
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-user.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />

Die Dateien sind auch vorhanden - siehe Screenshot "Verzeichnis.jpg"

Trotzdem liefert
        <div data-type="switch"
            data-device="Arduino_Pin24_WP_onOff"
            data-icons='["fts-sani_heating_heatpump","fts-sani_heating_heatpump"]'
            data-colors='["Green","Red"]'
            data-set-states='["off","on"]'
            data-states='["on","off"]'
            data-background-colors='["#2a2a2a", "#2a2a2a"]'
            class="display-topcenter tall">
        </div>
kein Icon in der Darstellung. Mit anderen Icons habe ich das Problem nicht - wie bspw.: data-icons='["oa-sani_buffer_temp_all","oa-sani_buffer_temp_all"]'.

Hat noch jemand eine Idee oder Hilfestellung?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

yersinia

Das was du vor hast wird mit den Rahmenbedingungen nicht funktionieren. Meine Annahme scheint auch falsch zu sein weil du bindest nicht direkt eine Grafik ein sondern über CSS Klassen einen Schriftsatz (font-family) - und in diesem ist sani_heating_heatpump nicht definiert (siehe zB /opt/fhem/www/tablet/lib/openautomation.css).
Alternativ kannst du es mit dem Image Widget versuchen, aber dies ersetzt mWn keinen switch.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

stobor

Im FHEM Wiki wird ja die Verwendung beschrieben:

Icons
FTUI bringt einige Icons-"Schriftarten" mit, die für die Darstellung genützt werden können. Diese werden automatisch beim Start des UI eingebunden, sobald ein entsprechendes Icon-Präfix im Code der Seite vorkommt.

Verfügbare Icon-Schriftarten sind:

Eingebaute Icons ftui-window und ftui-door. Präfix ftui-. Beispiel: data-icon="ftui-door"
Font-Awesome: Mehr als 500 Icons zur Auswahl. Präfix fa-. Beispiel: data-icon="fa-volume-up"
Material Icons: Mehr als 900 Icons zur Auswahl. Präfix mi-. Beispiel: data-icon="mi-local_gas_station"
FHEM und OpenAutomation Icons: Präfix fs- und oa-. Beispiel: data-icon="oa-secur_locked"
Weather-Icons: Präfix wi . Beispiel: data-icon="wi wi-day-rain-mix"

(https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Icons)

Vom Prinzip funktioniert das auch, allerdings scheint es inzwischen viele neue Icons in den Bibliotheken zu geben, die ich nicht verwenden kann. Wie kann ich diese denn aktualisieren?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Ulm32b

Zitat von: stobor am 12 September 2023, 14:31:36[...]
Vom Prinzip funktioniert das auch, allerdings scheint es inzwischen viele neue Icons in den Bibliotheken zu geben, die ich nicht verwenden kann. Wie kann ich diese denn aktualisieren?
Ich glaube nicht, dass innerhalb von FTUI2 Ergänzungen in den Bibliotheken wie "Material Icons" ohne tiefere Eingriffe möglich sind. Seitens des Entwicklers wird an FTUI2 keine Hand mehr angelegt. Es gibt andererseits eine relativ komplizierte Methode, svg-Bilder für FTUI2 nutzbar zu machen: https://wiki.fhem.de/wiki/FHEM_Tablet_UI_FAQ#Wie_kann_ich_eigene_Icons_verwenden?

Wenn Du neu einsteigst, ist es wohl besser, auf FTUI3 zu setzen. Leider fehlt dort nach wie vor eine Dokumentation wie bei FTUI2.

stobor

Ich nutze derzeit schon FTUI2.
Meine Hoffnung war, dass die Icons irgendwie eingebunden werden, und man hier ,,nur" irgendwie eine Aktualisierung durchführen muss, das m Icon-Aktualisierungen zu bekommen.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

yersinia

Zitat von: stobor am 12 September 2023, 14:31:36Vom Prinzip funktioniert das auch, allerdings scheint es inzwischen viele neue Icons in den Bibliotheken zu geben, die ich nicht verwenden kann. Wie kann ich diese denn aktualisieren?
In der Standardinstallation gehen nur jene Icons, die FTUI2 mitliefert. Du kannst dies manuell erweitern, wenn du analysierst wie die Strukturen zusammengesetzt werden.
Für fa hab ich das hier beschrieben.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl