Weblink farbig darstellen

Begonnen von coolice, 24 Februar 2015, 13:30:35

Vorheriges Thema - Nächstes Thema

coolice

Hallo,
ich habe in meinem Floorplan Icons definiert mit define wl.Status weblink htmlCode { '<a href="https://192.168.143.4:8083/fhem/floorplan/Status"><img src="/fhem/icons/control_building_empty" height="50" width="50" title="Status"></a>' } Das habe ich hier im Forum mal gefunden. Die Icons sind in schwarz und ich hätte sie gerne in Weiß bzw. in Rot. Könnte mir jemand zeigen wie das aussehen müsste?
Danke

Gruß
Mirco

rudolfkoenig

Man kann zwar ueber /fhem/icons/dateiname auch Bilder direkt abholen, das ist aber nur wegen einem Missverstaendnis, und es wird irgendwannmal auch entfernt. Konkrete Bilder sollte man mit dem vollstaendigen Pfad adressieren, also z.Bsp. als /fhem/images/openautomation/control_building_empty.svg
Faerben bzw. anderweitig bearbeiten geht so auch nicht.

/fhem/icons ist als Statusanzeige fuer FHEM-Geraete gedacht, z.Bsp. liefert /fhem/icons/Lampe1 das fuer den aktuellen Status der Lampe1 konfigurierte Bild zurueck. Falls das SVG ist, dann kann es man mit dem devStateIcon Attribut einfaerben.

D.h. eine Loesung waere zwei dummies mit passenden devStateIcon zu definieren, und diese per /fhem/icons/dummyname referenzieren.

clumsy

Hallo

ich hab ein ähnliches problem. ich möchte im floorplan ein icon als link zu anderen floorplans darstellen und diese dynamisch einfärben.

beide oben beschriebene versionen klappen bei mir nicht, mit der version:

define fp_UG weblink htmlCode { '<a href="https://www.meinedomain./fhem/floorplan/UG"><img src="/fhem/icons/control_building_modern_s_kg" height="80" width="80" title="UG"></a>' }

kriege ich zwar schöne clickbare icons, jedoch kann ich die farbe nicht dynamisch anpassen (der /fhem/icons link lässt ja keine @farbe zu).

wenn ich es mit:

define fp_UG weblink htmlCode { '<a href="https://www.meinedomain/fhem/floorplan/UG"><img src="/fhem/icons/du_UG" height="80" width="80" title="UG"></a>' }
define du_UG dummy
attr du_UG devStateIcon .*:control_building_modern_s_kg@FFFF00:

versuche wie von Rudi vorgeschlagen, sagt mein browser: "cannot decode raw data"

interesanterweise stellt er jedoch den dummy selbst, inkl. icon korrekt dar, wenn ich ihn im floorplan darstelle!

Das originalbild direkt mit:

https://www.meinedomain/fhem/icons/control_building_modern_s_kg

aufrufen klappt problemlos
beim aufruf mit:

https://www.meinedomain/fhem/icons/du_UG

kommt eben obiger fehler.

zusammengefasst: wie kann ich ein weblink als dynamisch eingefärbtes icon darstellen?

lg

STefan

PS: (hab nun 3 tage gegoogelt, gelesen und probiert und kriegs nicht hin... hintergrund ist, dass ich jeweils den aktiven floorplan in einer anderen farbe darstellen möchte)

rudolfkoenig

Zitatwie kann ich ein weblink als dynamisch eingefärbtes icon darstellen?
Meines Wissens nur mit zusaetzlichen/eigenen JavaScript.

clumsy

ja, das würds erklären...

wäre das eine grosse sache, wenn die funktion /fhem/icons noch um das einfärben von SVG's erweitert würde (sprich ein @farbe argument akzeptiert)? Immerhin machts das ja sowieso für devStateIcons...

rudolfkoenig

Habs implementiert, http://localhost:8083/fhem/icons/ring@red ist niht mehr schwarz nach dem morgigen update.
Ist mAn aber immer noch nicht dynamisch.

clumsy

Wow, vielen dank für den prompten service!

nicht ganz dynamisch, das stimmt... für ein wirklich "dynamisches" icon müsste man wohl das devStateIcon irgendwie auch für weblinks implementieren...

so gehts immerhin via ein "defmod" resp. einer readingsGroup denk ich mal... und den kann man ja einfach ausführen... werd das morgen gleich mal testen...

auf jeden fall nochmals danke! und schönen Sonntag!

STefan

rudolfkoenig

Versehe dein <a> mit id="aId", und aendere es mit:
trigger WEB JS:$("#aId").attr("src","/fhem/icons/control_building_modern_s_kg@blue")

clumsy

danke, kannte ich nicht, funktioniert im prinzip auch gut... muss nur noch austüfteln wie ich das auslöse, wenn der entsprechende link aktiv ist, resp. wenn die seite geladen wird...

clumsy

Hallo Rudi

Das schient noch nciht zu fuktionieren, resp. der Browser hat ein Problem damit, wenn ich:
/fhem/icons/control_building_modern_s_kg@blue

verwende, sowohl als src im image-tag wie auch direkt im browser aufgerufen...

der browser (safari auf dem mac) sagt immernoch "cannot decode raw data", obwohl die daten die zurrück kommen eigentlich richtig aussehen aus meiner sicht... liegt das am safari?

Gruess

STefan

rudolfkoenig

Ich habe
http://localhost:8083/fhem/icons/control_building_modern_s_kg@blue
mit FireFox/Chrome/Safari direkt (URL-Leiste) aufgerufen, und ich kriege jeweils ein grosses blaues Haus-Querschnitt.

clumsy

#11
na super... jetzt bin ich grad etwas ratlos... ich verwende ein apache proxy um auf fhem zuzugreiffen, irgendwie scheint der probleme mit dem @ und allenfalls auch anderen dingen zu machen...

komisch ist nur, wenn ich die URL im browser öffne kommt der fehler, wenn ich ein wget mache von der gleichen URL erhalte ich die daten zurück... trotzdem habe ich im apache log ein "client denied by server configuration: proxy:http://localhost:8072/fhem/icons/control_building_modern_s_kg@blue"... nur sehe ich nicht weshalb... apache config hab ich nochmals mit der im wiki verglichen, scheint alles zu stimmen...

interessant ist ja eben, dass es nur grade mit dem direkten /icons link nich zu funktionieren scheint... aber eben, offensichtlich ein config problem von meinem apache, muss ich suchen... falls du ein tip hast in welche richtung, wäre ich trotzdem dankbar....

gruess

STefan


Nachtrag: ohne

ProxyHTMLEnable On
# ProxyHTMLURLMap passt Links im HTML/JavaScript Source an
ProxyHTMLURLMap /        /fhem/
ProxyHTMLURLMap /fhem/     /fhem/


in der apache config funktionierts....
weiss aber nciht weshalb...