Ziel dieses Setups ist es, ioBroker iqControl in Firefox wie eine eigenständige App zu betreiben. Der Browser wird dabei technisch weiter genutzt, aber optisch und funktional so stark reduziert, dass er wie ein dedizierter Kiosk-Client für das Dashboard wirkt.
Konkret wird erreicht:
- kein sichtbarer Browser-Chrome (Tabs, Adressleiste, Menüs)
- feste Fenstergröße beim Start, veränderbar nach Start
- automatischer Start über eigenes Profil
- stabile Anzeige von iqControl im Vollbild-/App-Modus
- optionaler Fallback zwischen Internet-Domain und LAN-Zugriff
Das Setup besteht aus vier Bausteinen:
- eigenes Firefox-Profil (isolierte Umgebung)
- UI-Reduktion über
userChrome.css - intelligenter Start mit WAN/LAN-Fallback
- optionaler Desktop- und Autostart-Integration
1. Neues Firefox-Profil anlegen
|
1 |
firefox-esr -CreateProfile iobroker |
2. userChrome.css aktivieren
Firefox muss mit dem zuvor angelegten „iobroker“-Profil gestartet werden, damit alle Konfigurationsänderungen im korrekten Profil gespeichert und angewendet werden.
Start inklusive direktem Zugriff auf die Konfiguration:
|
1 |
firefox-esr -P iobroker about:config |
Suche nach:
|
1 |
toolkit.legacyUserProfileCustomizations.stylesheets |
Setze den Wert auf:
|
1 |
true |
3. userChrome.css erstellen
In diesem Schritt wird die Firefox-Oberfläche reduziert (Tabs, Adressleiste, Menüs), sodass nur der Inhalt sichtbar bleibt und eine App-ähnliche ioBroker-Ansicht entsteht.
|
1 2 3 |
cd ~/.mozilla/firefox/*.iobroker mkdir -p chrome nano chrome/userChrome.css |
Inhalt:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* ioBroker Clean Dashboard */ #titlebar, #toolbar-menubar, #TabsToolbar, #nav-bar, #PersonalToolbar, #urlbar-container { visibility: collapse !important; max-height: 0 !important; min-height: 0 !important; } #sidebar-box { display: none !important; } :root { --tab-min-height: 0px !important; } /* Abstand oben */ #navigator-toolbox { padding-top: 2px !important; } |
4. Startscript mit WAN/LAN Fallback
SSL-Zertifikate können in der Regel nur für Domainnamen erstellt werden, nicht für lokale IP-Adressen. Daher führt der Zugriff über die LAN-IP im Browser zu einem Zertifikatsfehler. Wird hingegen die im Zertifikat hinterlegte Domain genutzt, ist die Verbindung fehlerfrei. Deshalb wird zuerst die URL getestet und nur im Fehlerfall die LAN-IP verwendet.
In diesem Schritt wird ein Script erstellt, das automatisch entscheidet, ob die ioBroker-Instanz über die öffentliche Domain oder die lokale IP gestartet wird.
|
1 |
nano ~/start-iobroker-ff-appmode.sh |
Inhalt:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/bash URL_PUBLIC="https://<DDNS-Domain>:8082/iqontrol/index.html?namespace=iqontrol.0" URL_LAN="https://<LAN-IP>:8082/iqontrol/index.html?namespace=iqontrol.0" if timeout 2 bash -c "</dev/tcp/<DDNS-Domain>/8082" 2>/dev/null; then URL="$URL_PUBLIC" else URL="$URL_LAN" fi firefox-esr -P iobroker --class=iobroker --window-size=1600,900 "$URL" |
Rechte anpassen:
|
1 |
chmod +x ~/start-iobroker-ff-appmode.sh |
5. Desktop-Shortcut erstellen (optional)
|
1 |
nano ~/Desktop/ioBroker.desktop |
Inhalt:
|
1 2 3 4 5 6 7 |
[Desktop Entry] Name=ioBroker iqControl Exec=/home/USER/start-iobroker.sh Type=Application Icon=firefox-esr Categories=Utility; Terminal=false |
Rechte anpassen:
|
1 |
chmod +x ~/Desktop/ioBroker.desktop |
6. Autostart (optional)
|
1 2 |
mkdir -p ~/.config/autostart cp ~/Desktop/ioBroker.desktop ~/.config/autostart/ |
Hinweise
- WAN wird bevorzugt genutzt (
https://<DDNS-Domain>) - LAN dient als Backup (
https://<LAN-IP>) - SSL funktioniert nur für Domainnamen
- IP-Zugriff bleibt Notfallpfad ohne gültiges Zertifikat
- Firefox läuft im stark reduzierten App-/Kiosk-Modus
Erweiterungen (optional)
- systemd Service statt Desktop-Start
- Anzeige WAN/LAN im Fenstertitel
- echtes Kiosk-System (GNOME / Wayland)
- Touchscreen-Optimierung für Wanddisplay
- automatische Offline-Erkennung und Retry-Logik
by Speefak