Statusicon über URL laden: Farbe geht verloren?

Begonnen von wex_storm, 19 Juni 2015, 17:31:03

Vorheriges Thema - Nächstes Thema

wex_storm

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

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.

wex_storm

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

rudolfkoenig

Bugtracker ist dieser Forum bzw. meine TODO Liste.
Habs gefixt (01_FHEMWEB.pm Version 8788), ab morgen per update.

wex_storm


wex_storm

#6
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.

rudolfkoenig

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.