Hallo,
in der Commandref zu FHEMWEB steht in den Anmerkungen beim Attribut stylesheetPrefix "Wenn touchpad oder smallscreen benutzt werden, wird WebApp support aktiviert: Nachdem Sie eine Seite am iPhone oder iPad mit Safari angesehen haben ...". Heißt das, dass es explizit nur auf diesen Geräten funktioniert? Mein Firefox auf Android unterstützt auch WebApps, ich nutze schon eine Handvoll. Für fhem kann ich aber nur einen normalen Link auf der Startseite hinzufügen. Oder liegt es daran, dass ich "darksmallscreen" verwende? Zumindest am Anfang der Anmerkung steht aber "Wenn der Parametername smallscreen oder touchpad enthält".
Ich habe das jetzt zum ersten Mal probiert, nachdem ich andFHEM deinstalliert habe. Es wird nicht mehr gewartet und aktuell reicht mir auf dem Handy eigentlich eine Seite mit ein paar "Favoriten" (was in dem Fall ein eigener Raum ist). Auch als einfacher Link ist das schon ok, aber WebApp wäre natürlich noch schöner.
Vielen Dank
Thomas
FHEMWEB setzt bei touchpad/smallscreen Styles unter anderem das "mobile-web-app-capable" Attribut, genauso f18, wenn ein Mobilgeraet entdeckt wird.
Das hat frueher gereicht, damit das per "Zum Startbildschirm hinzufuegen" erzeugte "App" ohne die URL Leiste getartet wurde.
Das funktioniert aktuell nicht mehr.
Bemerkenswerterweise habe ich auf dem gleichen Geraet einen von Jahren so erzeugten Link, was die URL-Leiste versteckt.
Soweit ich weiss, akzeptiert Chrome ein WebApp nur dann, wenn die Seite per HTTPS mit einem gueltigen Zertifikat aufgerufen wurde.
Man braucht dann noch weitere Zutaten (manifest, etc), was FHEM zwar liefern koennte, aber ich weiss nicht, wieviele Benutzer sich die Muehe mit dem richtigen Zertifikat auf sich nehmen.
Meinungen?
Zertifikat hätte ich, aber wichtig ist mir das nicht. Dachte nur, vielleicht mache ich was falsch und bei anderen funktioniert es.
Danke.
Ich habe jetzt f18 erweitert, damit es einen manifest Eintrag im <head> einbaut, weiterhin eine minimale manifest.json Datei in www/pgm2 angelegt.
Falls man FHEM mit einem gueltigen(!) Zertifikat aufruft, dann bietet Chrome beim "Zum Startbildschirm hinterlegen" die Auswahl zwischen Installieren und Verknüpfung erstellen.
Nach Installieren wird keine URL Leiste angezeigt, und die Zeile oben mit Uhr/etc wird automatisch in der Farbe des gewaehlten Hintergrunds angezeigt.
Zitat von: rudolfkoenig am 29 Januar 2026, 20:09:10aber ich weiss nicht, wieviele Benutzer sich die Muehe mit dem richtigen Zertifikat auf sich nehmen.
Meinungen?
Bei mir hat inzwischen jeder Rechner in meinem lokalen Netzwerk einen FQDN und ein dazu passendes "richtiges" Zertifikat.
Vermutlich wird das in absehbarer Zeit (damit meine ich die nächsten 3-5 Jahre) gar nicht mehr anders funktionieren.
Die Frage kam ja von mir und es soll nicht so aussehen, als ob mich das dann gar nicht mehr interessiert. Ich nutze aber weder f18 noch Chrome.
Mit dem f18 spiele ich aber gerade herum und da dachte ich, probier das doch auch noch mal. Leider hat es nicht funktioniert. Beim Beschäftigen mit den Voraussetzungen bin ich auch auf die erwähnte manifest.json und dass man sich die beim Untersuchen der Seite anzeigen lassen kann. Der Firefox sagt hier aber "Beim Laden des Manifests trat ein Fehler auf. Fetch error: 401 - Authorization Required at https://fhem.domain.de/manifest.json". Der Manifest Eintrag im <head> scheint also zu funktionieren, sonst würde gar nicht versucht zuzugreifen. Wobei der Edge einfach nur sagt, es wäre kein Manifest vorhanden. Bin mir also nicht sicher, ob die Meldung irreführend ist. Wobei ich mir den Inhalt der manifest.json bei anderen Seiten wirklich im Firefox anzeigen lassen kann.
Die manifest.json liegt im pgm2 Verzeichnis und hat auch die gleichen Rechte wie alle anderen Dateien.
Hat jemand noch eine Idee?
Viele Grüße
Thomas
Nachtrag:
Ich habe selbst noch etwas gefunden.
@Rudi: Könntest Du die Zeile mit dem Manifest im f18.js mal mit folgender Erweiterung testen, ob das bei Dir dann auch noch funktioniert.
'<link rel="manifest" href="manifest.json" crossorigin="use-credentials">');
WebApp klappt mit dem Firefox damit bei mir immer noch nicht, aber der Zugriff auf die manifest.json
Zitat@Rudi: Könntest Du die Zeile mit dem Manifest im f18.js mal mit folgender Erweiterung testen, ob das bei Dir dann auch noch funktioniert.
Das funktioniert bei mir, habs auch eingecheckt.
ZitatWebApp klappt mit dem Firefox damit bei mir immer noch nicht, aber der Zugriff auf die manifest.json
Woran sieht man ein Zugriffsproblem auf Firefox@Android?
Ich habe gestern eine neue Version der automatischen Zertifikat Erstellung eingecheckt (siehe https://forum.fhem.de/index.php?topic=144147.msg1360463#msg1360463)
Meine Beobachtung:
- Chrome und Firefox @ Linux akzeptieren das Zertifikat jetzt, wo es mit einem selbsterstellten CA signiert wurde. Ein selbstsigniertes Zertifikat wird nicht akzeptiert. Das war mal anders.
- die Zertifikat-Fehlermeldungen bei Firefox @Linux sind besser, als die von Chrome.
- Chrome@Linux, Firefox@Linux und Chrome@Android akzeptiert das Zertifikat sowohl fuer die IP-Adresse, wie auch fuer den Rechnernamen.
- Firefox auf Android (gleiches Geraet) akzeptiert weder / noch, verraet mir aber auch nicht, was an dem Zertifikat falsch ist.
In der Konsole im Browser:
fhemweb.js:613 20:54:35.977 FW_queryValue:{ReadingsVal("echo_s3r_9888e00f4280","attrTemplate","")}
fhemweb.js:613 20:54:35.987 FW_queryValue:{AttrVal("echo_s3r_9888e00f4280","room","")}
fhemweb.js:613 20:54:36.063 f18.js resize W:1351 S:1366
fhemweb.js:613 20:54:36.085 f18.js resize W:1366 S:1366
fhemweb.js:613 20:54:36.127 Inform-channel opened (websocket) with filter echo_s3r_9888e00f4280
manifest.json:1 Failed to load resource: the server responded with a status of 401 (Authorization Required)
fhem?detail=echo_s3r_9888e00f4280&fw_id=1774634206.14762:1 Manifest fetch from http://192.168.1.76:8084/manifest.json failed, code 401
fhemweb.js:613 20:54:36.228 Rcvd:
manifest.json:1 Failed to load resource: the server responded with a status of 401 (Authorization Required)
fhem?detail=echo_s3r_9888e00f4280&fw_id=1774634206.14762:1 Manifest fetch from http://192.168.1.76:8084/manifest.json failed, code 401
fhemweb.js:613 20:54:37.282 Rcvd: ["#FHEMWEB:WEBphone","doifUpdateCell('Heizung','doifId','Heizung_uiTable_c_2_1_0_0','<svg class=\u0022DOIF_ring\u0022 xmlns=\u0022ht...(3178)
fhemweb.js:613 20:54:44.030 Rcvd: ["#FHEMWEB:WEBphone","doifUpdateCell('Heizung','doifId','Heizung_uiTable_c_8_1_0_0','<svg class=\u0022DOIF_ring\u0022 xmlns=\u0022ht...(2198)
fhemweb.js:613 20:54:45.549 f18.js resize W:628 S:1366
manifest.json:1 Failed to load resource: the server responded with a status of 401 (Authorization Required)
fhemweb.js:613 20:54:54.822 Rcvd: ["#FHEMWEB:WEBphone","doifUpdateCell('Heizung','doifId','Heizung_uiTable_c_6_1_0_0','<svg class=\u0022DOIF_ring\u0022 xmlns=\u0022ht...(2198)
Aber auch damit klappt Webapp Support. Habe ich heute kurz getestet. Super das das jetzt wieder funktioniert.
Mein Fhem ist aber noch nicht ganz aktuell.
Gruß schwatter
ZitatIn der Konsole im Browser:
Ich wollte wissen, wie man auf die Konsole eines Android-Firefoxes zugreifen kann.
Die Loesung:
- im Firefox@Android in den Einstellungen "Externes Debugging ueber USB" aktivieren
- Android ueber USB verbinden
- im Firefox @ Desktop die Android-Browser-Konsole ueber More Tools / Remote Debugging / <Geraet-Id> / <TabName> / Inspect oeffnen.
Damit Firefox@Android das installierte(!) CA Zertifikat verwendet, muss man im Secret-Settings "Use third party CA certificates" aktivieren, und Firefox neu starten.
Secret Settings wird einmalig freigeschaltet, indem man in "Über Firefox" 5-mal schnell auf das Logo klickt.
Diese Gaengelung macht Firefox sehr unsympatisch.
Da warst Du jetzt etwas schneller als ich. Bisher hatte nur erwartet, dass wenn es auf dem Desktop mit der Authentifizierung funktioniert, es auch auf Android geht. Gestern Abend habe ich mich dann noch mit dem Thema oben beschäftigt. Als Stichwort bin ich übrigens über "WebIDE" gestolpert.
Aber vielleicht noch mal als Bestätigung: Das Manifest wird auf dem beschriebenen Weg auch für den Firefox auf meinem Android Gerät angezeigt. Es kann also zugegriffen werden.
Als WebAPP lässt sich fhem, wie schon gesagt, aber immer noch nicht auf dem Startbildschirm hinzufügen. Gerade habe ich mal das Manifest mit Seiten verglichen, die ich als WebAPP "installieren" habe. Aufgefallen ist mir dabei aber noch nichts.
So nochmal alles auf Anfang.
1. Im betreffenden FHEMWEB Device puplicHostnames gelöscht und HTTPS auf 0. Fhem gespeichert.
2. In /opt/fhem/certs alle Fhem Zertifkate gelöscht.
3. Fhem neu gestartet.
4. puplicHostnames nur mit meiner IP gesetzt und gespeichert.
5. HTTPS auf 1 und gespeichert.
6. Im Enddevice das CA 2x löschen. Einmal unter "Vertrauenswürdige Anmeldedaten" --> "Nutzer" --> FHEM
und unter Nutzeranmeldedaten --> "cn=fhem user: ......"
7. Firefox --> EInstellungen --> Browserdaten löschen. (Muss jeder schauen ob notwendig)
8. https://ip:port/fhem aufrufen. Öffnen funktioniert trotz Warnung.
9. Im FHEMWEB Device aus dem Reading publicCaCertificate das ca.pem downloaden.
10. Auf dem Handy in Einstellungen suchen nach "Zertifikat".
11. Auf "Zertifikate von SD-Karte installieren" drücken.
12. CA-Terfitikat auswählen und ca.pem vom Speicher auswählen.
13. Firefox gibt keine Warnung mehr aus.
14. In Firefox https://ip:port/fhem aufrufen. Es öffnet sich ein Webapp Fullscreenfenster.
15. Tab drücken zum hin und her switchen zwischen Apps.
16. Firefox wählen und auf Einstellungen gehen. Da unten suchen "Zum Startbildschirm hinzufügen" wählen.
17. Bei mir Success, öffne ich die Verknüpfung direkt Fullscreen.
18. Chrome bietet mir auch installieren als Webapp an. Bei Firefox nur Fullscreenshortcut?
Gruß schwatter
War das letzte eine Frage? Bei mir entfällt der Teil mit dem Zertifikat. Im Firefox sieht man auch schon vor dem Anlegen der "Verknüpfung" im Menü einen Unterschied.
Bei fhem bekomme ich "Zum Startbildschirm hinzufügen" angeboten. Das ergibt dann wirklich nur eine Vetknüpfung.
Bei einer WebApp bekommt man "App zum Startbildschirm hinzufügen" im Menü.
Wobei mir gerade jetzt beim Schreiben und Kopieren der Texte auffällt, dass die Seite, die ich als Beispiel zum Vergleich der Manifest Datei genommen hatte, auch nicht mehr funktioniert. Auch das, was ich davon jetzt noch auf dem Startbildschirm habe, öffnet einfach nur eine Seite im Firefox. Andere funktionieren aber noch. Ich mache das morgen nochmal mit einer anderen.
Ich habe eine (experimentelle!) Version von push Notification eingecheckt.
Erfolgreich getestet habe ich es mit Chromium @ Linux, Chrome @ Android und Firefox @ Android.
Howto:
- Voraussetzung ist eine per gueltiges Zertifikat erreichbares FHEM, siehe dazu das publicHostnames Attribut.
- danach aktualisiert man FHEM, und man checkt das contrib/webpush Verzeichnis aus SVN aus (oder man nimmt die Datei im Anhang).
- im webpush Verzeichnis installiert man die noetigen node.js Module mit "npm install express web-push body-parser".
- das node Programm wird mit "node webpush.js" gestartet (oder "node webpush.js > webpush.log &")
- danach setzt man das webPushPort Attribut in FHEM auf 3000
- im Browser, im "Select styles"/f18 aktiviert man WebPush, und man bestaetigt, dass man Benachrichtigungen haben will.
- ab jetzt kann man per "set WEBNAME pushNotify Achtung das ist eine Nachricht" das Telefon klingeln lassen. Das klappt selbst dann, wenn die FHEM Seite nicht offen ist.
Die Nachrichten gehen je nach Browser ueber deren eigenen Verteiler, das Versenden zu diesen Verteiler uebernimmt das node.js web-push Modul.
Falls es nicht klappt, dann kann man mit Ausschalten/Einschalten von WebPush in der f18-Menu experimentieren, das erzeugt jeweils neue Subscriptions (s.u.)
Die Daten werden in (versteckten) FHEMWEB Readings gespeichert: .webpushKeys fuer die noetigen Schluessel und .webpushSubscriptions fuer die Daten der einzelnen Browser.
ZitatBei fhem bekomme ich "Zum Startbildschirm hinzufügen" angeboten. Das ergibt dann wirklich nur eine Vetknüpfung.
Bei einer WebApp bekommt man "App zum Startbildschirm hinzufügen" im Menü.
Chrome@Android bietet mir beim Aufruf der Seite an, eine WebApp zu installieren, und diese WebApp hat keine URL-Zeile.
Firefox@Android will nur Links erstellen, die dann weiterhin eine URL-Zeile haben.
Beide sind der Ansicht, dass das Zertifkat korrekt ist.
Meine Internet-Recherche suggeriert, dass FireFox keine WebApps in diesem Sinne kann.
Jetzt habe ich mal mit einer anderen Seite verglichen. Dafür habe ich https://www.lotto-hessen.de genommen. Dann mehrfach die f18.js und manifest.json editiert, auch mal mit einer manifest.webmanifest probiert (was wohl der Standard ist und .json nur eine Option). Irgendwie hatte ich nie Erfolg, bis ich einfach die komplette manifest.webmanifest von der Lotto Seite in eine manifest.json kopiert und nur die entsprechenden Zeilen für fhem angepasst habe. Das Ergebnis sieht so aus:
{
"id": "/",
"name": "home sweet home",
"short_name": "fhem",
"start_url": "/",
"display": "standalone",
"background_color": "#fcdc17",
"lang": "de",
"scope": "/",
"icons": [
{
"src": "/fhem/icons/fhemicon_ios.png",
"type": "image/png",
"sizes": "152x152"
},
{
"src": "/fhem/icons/fhemicon_ios.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/fhem/icons/fhemicon_ios.png",
"type": "image/png",
"sizes": "512x512"
}
],
"orientation": "any",
"theme_color": "#fcdc17",
"prefer_related_applications": false,
"related_applications": []
}
Das passt jetzt z.B. wegen der Farbe noch nicht ganz, müsste noch angepasst werden oder nochmal geschaut, was eigentlich der relevante Unterschied ist. Da komme ich heute aber nicht mehr dazu.
Aber generell: Das Interesse an dem Thema scheint ja nicht so groß zu sein oder die Anzahl der Firefox-Nutzer. Und für mich hatte ich auch schon eine andere Lösung. Wegen dem [Voicecontrol] Thema hatte ich Fully auch auf dem Handy installiert und eine freie Lizenz zugeordnet. Für mich ist der Effekt der gleiche, ich bekomme die fhem-Seite auf dem Handy ohne den Kopf mit URL usw. angezeigt und habe mehr Platz.
Danke fuer den Schubs: die Loesung war die Aufloesung 512x512.
Ich habe nur die sizes Zeile geaendert, das referenzierte Bild ist weiterhin 144x144.
Ich wollte kein Bild mit der grossen Aufloesung einchecken, weil das dann auch im Icon-Auswahl auftaucht, und damit die Ordnung endgueltig vorbei ist.
Firefox cached die Datei agressiv, Reload reicht nicht, Browserdaten loeschen aus Einstellungen auch nicht, nur auf dem Schild links oben neben dem URL klicken, "Cookies und Website-Daten loeschen", und neu laden.
Wenn man jetzt Einstellungen, "App zum Startbildschirm hinzufuegen" waehlt, dann kann man die FHEMWEB Seite ohne URL-Leiste aufrufen.
Prima. Ich war leider nicht mehr dazu gekommen, weiter zu schauen. Muss mein fhem neu aufsetzen, da Signalbot bzw. signal-cli aufgehört hat auf Buster zu funktionieren. War nur der Auslöser, aber hat es jetzt halt ein bisschen dringender gemacht.
Zitat von: rudolfkoenig am 31 März 2026, 22:59:55Firefox cached die Datei agressiv, Reload reicht nicht, Browserdaten loeschen aus Einstellungen auch nicht, nur auf dem Schild links oben neben dem URL klicken, "Cookies und Website-Daten loeschen", und neu laden.
Ja, damit hatte ich auch zu kämpfen. Daher hat es solange gedauert, bis ich überhaupt mal weiterkam.