FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bgewehr am 09 August 2019, 14:29:54

Titel: Readingsval in iframe-URL für Weblink
Beitrag von: bgewehr am 09 August 2019, 14:29:54
Hallo, ich versuche, die Position meines Autos als Karte zu visualisieren. Nur so, weil es geht. Fragt nicht...
Mein Ansatz


define carMap weblink iframe https://maps.google.com/maps?width=700&height=440&hl=en&q={ReadingsVal('carnet', 'position_lat', "")},{ReadingsVal('carnet', 'position_lon', "")}&ie=UTF8&t=&z=10&iwloc=B&output=embed


löst aber die {} nicht in die Readings auf. Was mache ich falsch?
Titel: Antw:Readingsval in iframe-URL für Weblink
Beitrag von: bgewehr am 09 August 2019, 17:52:30
Per Forumssuche ermittelt befürchte ich, dass das Modul einfach keine Perl-Auflösung seiner Parameter durchführt. Hat jemand eine andere Idee? Utils-Funktionen könnten gehen, sind ja aber auch perl-code...
Titel: Antw:Readingsval in iframe-URL für Weblink
Beitrag von: Otto123 am 09 August 2019, 18:07:05
Hi,

und diese Variante?
define w_Frlink weblink htmlCode { WeatherAsHtml("w_Frankfurt") }

ich verstehe das so, dass Du damit eine Perlfunktion aufrufst die den "Link" zurückgibt?

Sowas als Minimalvariante geht z.B:
defmod w_Frlink weblink htmlCode { return '<iframe src="https://heinz-otto.blogspot.com/"></iframe>' }

Gruß Otto
Titel: Antw:Readingsval in iframe-URL für Weblink
Beitrag von: bgewehr am 09 August 2019, 20:48:45
Du hast mich auf eine gute Fährte gelenkt, danke dafür.


defmod n_carnetMap notify carnet:location.* {\
my $url = 'https://maps.google.com/maps?width=700&height=440&hl=en&q='.ReadingsVal('carnet','position_lat',0).','.ReadingsVal('carnet','position_lng',0).'&ie=UTF8&t=&z=16&iwloc=B&output=embed';;;;\
fhem("defmod carnetMap1 weblink iframe ".$url);;;;\
}


Das hier macht nun, was es soll.
Titel: Antw:Readingsval in iframe-URL für Weblink
Beitrag von: Otto123 am 09 August 2019, 21:43:32
Mit dem Nachteil: rotes Fragezeichen :)
Deswegen lege ich mal noch einen kurzen Versuch nach:
Für die Raw Definition
defmod carnetMap2 weblink htmlCode {\
my $lat=51.3445432;;\
my $lng=12.3750251;;\
my $url="https://maps.google.com/maps?hl=en&q=$lat,$lng&ie=UTF8&t=&z=16&iwloc=B&output=embed";;\
return "<iframe src=$url width=700 height=440></iframe>"\
}

Musst Du nur noch deine Readings einfüllen :)
Daher habe ich den iframe Tag https://www.w3schools.com/html/html_iframe.asp

Gruß Otto