FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gestein am 07 Januar 2021, 00:34:05

Titel: [gelöst] defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: gestein am 07 Januar 2021, 00:34:05
Hallo,

ich verwende relativ oft die defStateIcon mit den 10px-Kreisen um den Online-Status anzuzeigen.
Also z.B. so was:
{my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($state)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}

Wichtig dabei ist der erste Teil des "<a href=....".
Damit wird bei einem Klick auf den Kreis die Webseite des Devices aufgerufen.
Das funktioniert auch.
Allerdings wird der Name des Punktes, also z.B. "10px-kreis-rot" angezeigt, wenn man mit dem Mauszeiger drüberfährt.

Ist es möglich da einen beliebigen Text anzuzeigen, z.B. die IP-Adresse?

Ich finde einfach keine funktionierende Lösung.
Habe es mit z.B. "<a id=\"Das ist der Name\" href=..." versucht und auch mit "<a title=\"Das ist der Name\" href=...".
Es wird immer der Name der Image-Datei angezeigt.

Danke für jede Hilfe.
lg, Gerhard
Titel: Antw:defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: TomLee am 07 Januar 2021, 06:56:51
Schau mal hier: https://wiki.fhem.de/wiki/DevelopmentFHEMWEB-API#FW_makeImage (https://wiki.fhem.de/wiki/DevelopmentFHEMWEB-API#FW_makeImage)

Müsste demnach also so klappen, ungetestet:

{my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $onltext = ReadingsVal($name,"online","false") eq "false"?"text-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "text-gelb" : "text-gruen";;my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl,$onltext)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($state)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}



Gruß

Thomas
Titel: Antw:defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: gestein am 07 Januar 2021, 08:26:25
Hallo Thomas,

Danke. Aber so wird wieder ,,nur" der Name der Bilddatei des Kreises angezeigt, wenn man mit dem Mauszeiger drüberfährt.
Die Anzeige stimmt natürlich so.

Lg, Gerhard
Titel: Antw:defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: TomLee am 07 Januar 2021, 10:52:39
Dann muss ich irgendwas falsch bei deinem devstateIcon zusammenkopiert haben, habs mir aber nicht nochmal angeschaut sondern jetzt bei mir an einem Device ausprobiert.

{my $onlt = ReadingsVal($name,"LWT","0") eq "Online"?"online-text":"offline-text";;my $onl = ReadingsVal($name,"LWT","0") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";;"<a href=\"http://".ReadingsVal($name,"IPAddress","none")." \"target=\"_blank\">".FW_makeImage($onl,$onlt)."</a>"}

Klappt einwandfrei mit der Angabe des zweiten Parameter in FW_makeImage, wie es in der Doku steht.
Titel: Antw:defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: gestein am 07 Januar 2021, 12:20:44
Kaum macht man es richtig, klappt es ;)
Danke.
Hatte ich doch glatt den 2. Parameter im FW-Aufruf übersehen, da ich so auf das href fixiert war.

Fall gelöst.
lg, Gerhard
Titel: Antw:[gelöst] defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: TomLee am 07 Januar 2021, 12:38:03
[OT]

Dann hätte ich jetzt eine Frage an dich, da du dich ja offensichtlich mit der Bildbearbeitung auskennst und ich überhaupt nicht.

Muss das sprinkler-Icon um welches es in diesem  (https://forum.fhem.de/index.php/topic,116443.msg1107393.html#msg1107393)Thread ging wirklich (aus dem Kopf) 147KB groß sein oder bekommt man das auch noch kleiner ?

Für den Anwendungsfall wie es der TE verwenden wollte ist es zu groß, was ich dazu gelesen habe dürfte es nicht größer als 10 KB (oder sogar nicht größer als 7,5KB ?) sein, das man es auch dann nutzen kann.

Meinst du das bekommt man hin, wie gesagt ich kenne mich damit überhaupt nicht aus und mit den Methoden die ich versucht hatte wurde es nicht kleiner als 100 KB.

[/OT]
Titel: Antw:[gelöst] defStateIcon mit href und Anzeige eines beliebigen Textes
Beitrag von: gestein am 07 Januar 2021, 13:53:32
Hallo TomLee,

ich bin eigentlich noch ganz am Anfang mit den Icons und übe ein bisschen mit Inkscape unter Windows.

Wenn Du das Icon "sprinkler_icon.svg" meinst, das ist tatsächlich etwas verunglückt.
Da sind über 400 Elemente drinnen, aber viele 20mal gleich.

Probier mal das im Anhang. Sollte prinzipiell funktionieren.

lg, Gerhard