FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: holle75 am 28 Juli 2024, 17:17:58

Titel: mqtt - tasmota POW template - Link im devstateicon
Beitrag von: holle75 am 28 Juli 2024, 17:17:58
Hallo Ihr, nett mit diesen Templates. Besonders wenn man erst anfängt mit MQTT. Danke für die Vorarbeit.

tasmota POW template

Da mich die Zeit, wie lange das Ding schon online ist nur halb interessiert hat, aber mehr, unter welcher IP mit klick, erreichbar, habe ich versucht, das devstateicon umzubasteln. Mit viel Schmerz auch hinbekommen, aber trotzdem würde mich interessieren, warum, wenn ich den Link direkt in das devstateicon attr schreibe, fhem mir immer die fhem-Adresse vor die eigentliche Adresse setzt (im Link).

(aus dem Kopf https://fhemip:port/#http://tasmotaip)

Mit einem UserReadings umgangen, verstehen würde ich es trotzdem gerne.

Das neue devstateicon und das UserReadings
attr MQTT2_tasmota_Steckdose_DVES_83A4D8 devStateIcon {my $text = ' IP: '.ReadingsVal($name,"IPAddress-holle","unknown").sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.2f kWh Gesamt: %.2f kWh", ReadingsVal($name,"ENERGY_Power","-1"), ReadingsVal($name,"ENERGY_Today","-1"), ReadingsVal($name,"ENERGY_Yesterday","-1"), ReadingsVal($name,"ENERGY_Total","-1"));;;; my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";;;; my $light = ReadingsVal($name,"state","off");;;;"<div><a href=\"http://".ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none"))." \"target=\"_blank\">".FW_makeImage($onl).'</a> <a href="/fhem?cmd.dummy=set '.$name.' toggle&XHR=1">'.FW_makeImage($light)."</a>$text<b></b>"}

attr MQTT2_tasmota_Steckdose_DVES_83A4D8 userReadings IPAddress-holle \
{'<a href="http://'.ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none")).'" style="color: green;; text-decoration: underline;;" target="_blank" rel="noopener noreferrer">'.ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none")).'</a>'}



Weiß jemand warum?
Titel: Aw: mqtt - tasmota POW template - Link im devstateicon
Beitrag von: TomLee am 30 Juli 2024, 11:15:12
Hallo,

https://forum.fhem.de/index.php?topic=138835.0

Gruß

Thomas
Titel: Aw: mqtt - tasmota POW template - Link im devstateicon
Beitrag von: holle75 am 30 Juli 2024, 11:30:47
Danke Thomas, dem Link gefolgt, Inhalt verstanden, bei mir hat es ein http:// vor der eigentlichen Adresse, es wird trotzdem der fhem Link vorgesetzt.

Aber ,,gut" zu wissen, dass es wohl ein Browser Phänomen ist. Der Workaround über UserReadings funktioniert ja. Wenn auch unschön.
Titel: Aw: mqtt - tasmota POW template - Link im devstateicon
Beitrag von: TomLee am 30 Juli 2024, 12:15:10
Wenn ich am PC bin würd ich das gerne ohne_großen_Aufwand mal nachvollziehen.

Kannst Du bitte mal ein Copy for forum.fhem.de von der Definition zeigen ?
Titel: Aw: mqtt - tasmota POW template - Link im devstateicon
Beitrag von: holle75 am 30 Juli 2024, 12:52:22
"Das Alte" attr (mit dem Link direkt integriert) gibt es nicht mehr. Und hatte mich Ewigkeiten gekostet mit dem Hochkomma-/Komma-/Semikolon-/Punktwahnsinn ;)
Im Prinzip war Eins zu Einst das UserReadings anstatt des jetzigen ReadingsVal eingebaut (siehe oben).

Ich kanns nur hier nochmal versuchen (ungetestet und Link style eingekürzt):
attr MQTT2_tasmota_Steckdose_DVES_83A4D8 devStateIcon {my $text = ' IP: <a href="http://'.ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none")).'" target="_blank">'.ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none")).'</a>'.sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.2f kWh Gesamt: %.2f kWh", ReadingsVal($name,"ENERGY_Power","-1"), ReadingsVal($name,"ENERGY_Today","-1"), ReadingsVal($name,"ENERGY_Yesterday","-1"), ReadingsVal($name,"ENERGY_Total","-1"));;;; my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";;;; my $light = ReadingsVal($name,"state","off");;;;"<div><a href=\"http://".ReadingsVal($name,"IPAddress",ReadingsVal($name,"Info2_IPAddress","none"))." \"target=\"_blank\">".FW_makeImage($onl).'</a> <a href="/fhem?cmd.dummy=set '.$name.' toggle&XHR=1">'.FW_makeImage($light)."</a>$text<b></b>"}