Manchmal sind die Tage, an denen man nicht fliegen kann, ja doch ganz interessant. Ich wollte das lokale Wetter in Egelsbach etwas bequemer im Blick behalten. Der lokale Wetterreport ist zwar sehr hilfreich, über die DWD App aber nicht direkt abrufbar und die Webseite fand ich ehrlich gesagt etwas umständlich.
Egelsbach stellt ein schönes JPG Bild mit dem aktuellen Wetter zur Verfügung. Also habe ich nach einer Möglichkeit gesucht, dieses Bild als Widget auf meinem iPhone anzuzeigen. Wirklich brauchbare Lösungen habe ich spontan nicht gefunden. Im Prinzip müsste das ja mit jedem öffentlichen Webcam Bild funktionieren. Wie macht ihr das?

Ich habe mir dann die App Scriptable installiert. Dort kann man ein eigenes Script anlegen, zum Beispiel mit dem Namen EDFE Wetter, und folgenden Code einfügen:


let url = "https://images.egelsbach-airport.com/METREPEgelsbach/metrep.jpg"
// Cache umgehen
let fullUrl = url + "?t=" + Date.now()
if (config.runsInWidget) {
// WIDGET ANSICHT
let req = new Request(fullUrl)
let img = await req.loadImage()
let widget = new ListWidget()
widget.backgroundColor = new Color("#000000")
let image = widget.addImage(img)
image.applyFittingContentMode()
image.centerAlignImage()
widget.refreshAfterDate = new Date(Date.now() + 5 * 60 * 1000)
Script.setWidget(widget)
Script.complete()
} else {
// VOLLBILD ANSICHT BEIM ANTIPPEN
let req = new Request(fullUrl)
let img = await req.loadImage()
let view = new WebView()
// Bild in voller Breite anzeigen
let html = `
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body { margin:0; background:black; display:flex; justify-content:center; align-items:center; }
img { width:100%; height:auto; }
</style>
</head>
<body>
<img src="${fullUrl}">
</body>
</html>
`
await view.loadHTML(html)
await view.present(true)
}
Mit Done speichern. Anschließend auf den Homescreen wechseln, in den Bearbeitungsmodus gehen, Widget hinzufügen, Scriptable auswählen, die gewünschte Größe wählen und das Widget platzieren. Danach lässt sich das Widget konfigurieren, indem man das zuvor angelegte Script auswählt.

Und tatsächlich, es funktioniert. Das aktuelle Wetterbild wird direkt im Widget angezeigt. Wenn man drauf klickt sieht man das Bild größer.
Vermutlich gibt es dafür längst eine einfachere Lösung, aber das Wetter war ohnehin nicht fliegbar und ich hatte gerade etwas Zeit zum Basteln.