Home Assistant Anleitung how to… IFrames Dark-Theme freundlich gestalten

Ich hatte bereits beschrieben, wie man Iframes zur Darstellung von Informationen im Lovelace-Dashboard nutzen kann. Sofern man diese Inhalte selbst zur Verfรผgung stellt, sollte man darauf achten, dass diese auch Dark-Theme freundlich bereitgestellt werden. Aber der Reihe nach ๐Ÿ˜‰

Vor wenigen Jahren wurde die Darstellung von Webseiten/APPs im Dark-Theme Modus populรคr. Mit anderen Worten: Wรคhrend bis dahin Inhalte klassisch vor einem weiรŸen Hintergrund mit dunkler Schrift dargestellt wurden, drehte man die Farben einfach um: Dunkler Hintergrund und helle Schrift.

Keine Raketenwissenschaft und deswegen ist es fรผr mich auch nicht wirklich verstรคndlich, warum darum damals so ein Hype gemacht wurde.

Home Assistant: How to... Kurzanleitungen und Nรผtzliches fรผr Home Assistant!

Jede App „muss“ seit dem auch รผber einen Dark-Mode verfรผgen, damit die Nutzer diesen aktivieren kรถnnen. Zugegeben: Ich selbst bevorzuge den Dark-Mode tatsรคchlich auch.

Also habe ich diesen auch in der Home Assistant App aktiviert. Doof war nun, dass die per IFrame [Wikipedia: IFrame] eingebundenen Inhalte durch die „klassische Darstellung“ (also weiรŸer Hintergrund und dunkler Text) enorm hervorstechen, wรคhrend alle anderen Inhalte schรถn dunkel sind.

Du magst Home Assistant? Dann abonniere kostenlos meine Beitrรคge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 477 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklรคrung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders รผberlegen!

Da im Browser jedoch das Light-Mode zum Einsatz kommt, wรคhrend die App bei mir im Dark-Mode ist, kann ich nicht einfach den HTML-Code des IFrames รคndern, so dass dieser „dunkel“ ist. Je nach Gerรคt, mit welchem Home Assistant angezeigt wird, kann die Darstellung also im Light- oder Dark-Mode erfolgen.

Die per IFrame eingebundenen Inhalte mรผssen hierauf also situativ reagieren kรถnnen.

Dank ein wenig CSS ist dies natรผrlich mit wenigen Zeilen Code mรถglich:

<style>

        @media (prefers-color-scheme: light) {
            body {
                background-color: white;
                color: black;
            }
        }

        @media (prefers-color-scheme: dark) {
            body {
                background-color: #1c1c1c;
                color: white;
            }
        }
    </style>

Den zuvor gezeigten Code habe ich einfach im HTML-Header eingebaut, und schon wird beim Aufruf des IFrames situativ zwischen Light-Mode und Dark-Mode unterschieden/gewechselt.

Natรผrlich setzt dies voraus, dass in dem im Body folgenden HTML keine Klassen oder รคhnliches fรผr die Farbgebund/Gestaltung genutzt werden. In diesem Fall muss der CSS-Code natรผrlich um die jeweiligen Klassen ergรคnzt werden, damit die automatisch richtige Darstellung wie gewรผnscht funktioniert!

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

Produktempfehlungen

4,29 EUR โ‚ฌ Rabatt SONOFF SNZB-06P Zigbee 3.0 Menschlicher Prรคsenzsensor,...
2,81 EUR โ‚ฌ Rabatt Nous E8 ZigBee Smart Rauchmelder, Austauschbare,...