FHEM Forum

FHEM => Frontends => Thema gestartet von: wex_storm am 19 Juni 2015, 17:31:03

Titel: Statusicon über URL laden: Farbe geht verloren?
Beitrag von: wex_storm am 19 Juni 2015, 17:31:03
Hallo zusammen,

ich versuche jetzt seit längerer Zeit die devStateIcons einiger Aktoren über eine URL wie
http://fhem:8083/fhem/icons/Jalousie_Buero_Fenster
zu laden. Das klappt auch (z.B. wird mir der Stand der Jalousie zurückgegeben), nur die Farbe wird nicht übernommen. Hat jemand das schonmal hinbekommen? Die Config sieht so aus:

define Jalousie_Buero_Fenster CUL_HM XXXXXX
attr Jalousie_Buero_Fenster IODev HMLAN1
attr Jalousie_Buero_Fenster autoReadReg 4_reqStatus
attr Jalousie_Buero_Fenster expert 2_full
attr Jalousie_Buero_Fenster firmware 2.3
attr Jalousie_Buero_Fenster model HM-LC-Bl1PBU-FM
attr Jalousie_Buero_Fenster peerIDs 00000000,
attr Jalousie_Buero_Fenster room Buero
attr Jalousie_Buero_Fenster serialNr XXXXXXXXX
attr Jalousie_Buero_Fenster subType blindActuator
attr Jalousie_Buero_Fenster webCmd statusRequest:toggleDir:on:off:up:down:stop:pct
attr Jalousie_Buero_Fenster group Jalousie
attr Jalousie_Buero_Fenster devStateIcon on:fts_shutter_10 off:fts_shutter_100@black up:fts_shutter_10@green down:fts_shutter_100@black 9\d.*:fts_shutter_10@green 8\d.*:fts_shutter_20@green 7\d.*:fts_shutter_30@green 6\d.*:fts_shutter_40@green 5\d.*:fts_shutter_50@green 4\d.*:fts_shutter_60@green 3\d.*:fts_shutter_70@green 2\d.*:fts_shutter_80@green 1\d.*:fts_shutter_90@green 0\d.*:fts_shutter_100@black


Freue mich sehr über Antworten :)

Grüße
    Björn
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: justme1968 am 19 Juni 2015, 17:40:48
wenn du die icons über die url lädst wird das file direkt ohne weitere verarbeitung unverändert ausgeliefert.

das einfärben von SVG icons funktioniert. nur wenn sie als icon in eine von fhemweb ausgelieferte web seite eingebettet sind. hier wird dann wirklich der svg code geändert.

was genau willst du denn mit den icons per url?

gruß
  andre
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: rudolfkoenig am 19 Juni 2015, 20:17:55
Habs geprueft: stimmt, die SVG-Einfaerbung findet nicht statt. Es ist eigentlich ein Bug, da laut Definition fhem/icons/Geraet den aktuellen Zustand von Geraet als Icon zurueckliefert.
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: wex_storm am 20 Juni 2015, 22:33:26
Super, danke für die Antworten.
Tipp, wo ich das Einfärben selbst einfügen kann? Wird es ein Bugfix geben? Soll ich etwas in einen Bugtracker eintrgagen?
@justme1968: habe mir eine kleine UI selbst gebaut. Steuere damit meine Homematic-Aktoren und würde gerne die Zustäde der Jalousien anzeigen.

Gruß
  Björn
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: rudolfkoenig am 21 Juni 2015, 08:29:45
Bugtracker ist dieser Forum bzw. meine TODO Liste.
Habs gefixt (01_FHEMWEB.pm Version 8788), ab morgen per update.
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: wex_storm am 21 Juni 2015, 09:33:28
WOW, großartig.

Herzlichsten Dank.
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: wex_storm am 29 Juni 2015, 22:05:45
Hallo nochmal,

leider funktioniert es nun wieder nicht... 2 Fehler treten nun auf:
1. Ich kann die SVG-Datei nun nicht mehr wie vorher in einem img-Tag im src-Attribut angeben - ging vorher definitiv
2. Manche Bilder werden wieder schwarz angezeigt, andere in der richtigen Farbe

Könnte da nochmal jemand drüberschauen, bitte?

Vielen Dank!

P.S.: Irgendwie kommt als Resultat des Requests nur das svg-Tag zurück ohne einleitenden xml-Tag (also keine komplette svg-Datei). Ist das so gewollt? Beispiel:
<svg class=" light_light_dim_100 black" alt="light_light_dim_100@black" title="light_light_dim_100@black" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="537pt" viewBox="0 0 468 537"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,537) scale(0.181395,-0.181395)" fill="black" stroke="none"> <path d="M957 2932 c-14 -16 -17 -43 -17 -174 0 -135 2 -157 18 -171 28 -25 72 -26 96 -1 13 13 16 43 16 173 0 140 -2 160 -18 174 -25 22 -75 21 -95 -1z"/> <path d="M1506 2928 c-13 -18 -16 -53 -16 -174 0 -138 2 -152 20 -169 24 -22 77 -22 99 0 13 12 17 44 19 151 4 147 1 174 -24 1
..........


P.P.S.: Ich konnte das Farbproblem noch etwas mehr eingrenzen: Ich nutze als Standard-Style ios7. Da sind die Lampen standardmässig blau (das schöne ios blau :) ). D.h. bei der Angabe des devStateIcon lasse ich bei eingeschaltetem Zustand die Farbe weg, aus soll sie schwarz dargestellt werden.
attr Licht_Esszimmer devStateIcon on:light_light_dim_100 off:light_light_dim_100@black
Dann wird die blaue Farbe nicht über die URL angezeigt.
Habe nun als Workaround die Farbe für den on-Status mit übergeben.
Titel: Antw:Statusicon über URL laden: Farbe geht verloren?
Beitrag von: rudolfkoenig am 01 Juli 2015, 10:50:29
Die XML Deklaration ist entfernt, weil das SVG (so wie FHEMWEB arbeitet) als HTML in die Seite eingebettet wird, sie wird nicht als externe Datei referenziert/geladen. Das hinzufuegen dieser Deklaration hat keine Aenderung gebracht, aber das setzen des korrekten Mime-Type, das habe ich hiermit eingecheckt.

Punkt 2 kann ich nicht nachvollziehen (habs mit fhem.cfg.demo + Style: ios7 probiert): bei mir sind alle icons blau. Mit dem vorher zitierten devStateIcon blinkt Light/Alarm zwischen blau und schwarz.