UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

156 lines (117 loc) 7.38 kB
![Logo](../../admin/lovelace.png) # Eigene Karten, Themes & UI-Tipps * [Eigene Karten](#eigene-karten) * [Eigene Bilder](#eigene-bilder) * [Themes](#themes) * [Icons](#icons) * [UI-Tipps](#ui-tipps) ## Eigene Karten Lovelace lässt sich gut durch selbst erstellte Karten (`Custom Cards`) erweitern. Diese kommen als JavaScript-Datei (*.js), die über die Konfiguration hochgeladen werden muss (Reiter `Eigene Karten` im Admin oder Drag & Drop in den Instanzeinstellungen). Über die Kommandozeile (dort, wo iobroker installiert ist): ```iobroker file write PFAD_ZUR_DATEI\bignumber-card.js /lovelace.0/cards/``` Nach einem Neustart des Lovelace-Adapters werden alle Dateien aus dem `cards`-Verzeichnis automatisch eingebunden. Benötigt eine Karte zusätzliche Ressourcen (CSS- oder JS-Dateien), muss die Ordnerstruktur im `cards`-Verzeichnis nachgebildet werden. Der Adapter erkennt URLs, die mit `/hacsfiles/` beginnen, und leitet sie auf das `cards`-Verzeichnis um. Bei `404`-Fehlern für `/hacsfiles/`-URLs entsprechend die Ordnerstruktur anpassen. Eine Karte, die z. B. `/hacsfiles/folder1/folder2/file3.json` braucht, muss unter `/lovelace.0/cards/folder1/folder2/file3.json` liegen. Oft liegen Custom Cards auf GitHub als Quellcode und müssen vor der Nutzung kompiliert werden. Bevorzugt die im `Releases`-Menü auf GitHub bereitgestellten, kompilierten Dateien nutzen, z. B. [mini-graph-card Releases](https://github.com/kalkih/mini-graph-card/releases) (Datei `mini-graph-card-bundle.js`). ![Release Link](media/card-releases.JPG) ![Install Card](media/card-install.JPG) ### Getestete Karten Die folgenden Karten wurden vom Entwickler oder der Community getestet und funktionieren. Grundsätzlich sollten die allermeisten Karten funktionieren; bei Problemen liegt es oft an einer Inkompatibilität zwischen Lovelace-Version und Karte, daher möglichst aktuelle Kartenversionen nehmen. * **[Clockwork Card](https://github.com/barleybobs/ha-clockwork-card)** — ein aktuell funktionierender Fork (die ursprüngliche Version wird nicht mehr gepflegt). Konfiguration: siehe [Uhrzeit](#uhrzeit). Es gibt keinen Zeit-Sensor; die Zeit kommt vom Browser, daher ohne `entity_id` und mit Zeitzonen konfigurieren. * **[Mini Media Player](https://github.com/kalkih/mini-media-player)** — ein sehr konfigurierbarer Mediaplayer, der auch [Text-to-Speech und Shortcut-Knöpfe](#mini-media-card-mit-text2speech-tts-und-musik-shortcuts) unterstützt. * **[Mini Graph Card](https://github.com/kalkih/mini-graph-card)** — eine sehr konfigurierbare Karte für Sensordaten, die mehrere `entities` als Graphen oder Balkendiagramme anzeigen kann. ## Eigene Bilder Eigene Bilder (z. B. für einen Hintergrund) können über denselben Dialog wie Custom Cards hochgeladen werden. Verwendung in der Lovelace-Konfiguration: `background: center / cover no-repeat url("/cards/background.jpg") fixed` oder `background: center / cover no-repeat url("/local/custom_ui/background.jpg") fixed` Mehr zum Hintergrund in Lovelace [hier](https://www.home-assistant.io/lovelace/views/#background). ## Themes Themes können im Konfigurationsdialog von ioBroker definiert werden. Mit dem Frontend-Update 2026 hat sich die Theme-Behandlung geändert — siehe die [Theme-Migration](theme_migration.md). Beispiel: ```yaml midnight: primary-color: '#5294E2' accent-color: '#E45E65' primary-text-color: '#FFFFFF' secondary-text-color: '#5294E2' primary-background-color: '#383C45' secondary-background-color: '#383C45' paper-card-background-color: '#434954' paper-item-icon-active-color: '#F9C536' ``` (Ein vollständiges Beispiel ist das [Midnight-Theme](https://community.home-assistant.io/t/midnight-theme/28598/2). Viele `paper-*`-Variablen des alten Systems sind veraltet — siehe die Migrations-Hinweise.) ## Icons Icons in der Form `mdi:NAME` verwenden, z. B. `mdi:play-network`. Namen gibt es hier: https://pictogrammers.com/library/mdi/ ## UI-Tipps ### Anpassen der Titelleiste Die Titelleiste lässt sich mit der Erweiterung [card-mod](https://github.com/thomasloven/lovelace-card-mod) anpassen. Dazu folgende YAML-Beispiele zum eigenen Theme hinzufügen: Glocke entfernen: ```yaml card-mod-theme: THEMENAME card-mod-root: | mwc-icon-button[label] { display: none; } ``` Suche und Assist entfernen: ```yaml card-mod-theme: THEMENAME card-mod-root: | mwc-icon-button[label] { display: none; } ha-icon-button[slot="actionItems"] { display: none; } ``` Suche, Assist und Punktmenü entfernen: ```yaml card-mod-theme: THEMENAME card-mod-root: | mwc-icon-button[label] { display: none; } ha-icon-button[slot] { display: none; } ``` Titelleiste vollständig verbergen: den State `lovelace.0.instances.hideHeader` auf `true` setzen (nach einem Reload wird die Titelleiste bei allen Browsern entfernt). Der State existiert auch pro Instanz, kann also pro Browser gesetzt werden. ### Mini-Media-Card mit Text2Speech (TTS) und Musik-Shortcuts Die Mini-Media-Card unterstützt für smarte Lautsprecher (Echo, Google Home, …) eine Text-to-Speech-(TTS-)Eingabe sowie Shortcut-Knöpfe für Musikstücke / Sender. Für TTS wird ein Service verwendet, den ioBroker nicht ohne Weiteres unterstützt, daher ist eine ioBroker-spezifische Konfiguration nötig: ```yaml tts: platform: iobroker entity_id: input_text.multimedia_Alexa_Arbeitszimmer_Commands_speak ``` `platform` muss auf `iobroker` stehen. Die `entity_id` muss auf ein vorhandenes Text-`entity` zeigen, das dann mit dem Text gefüllt wird — so lässt sich jedes beliebige ioBroker-System zur Sprachausgabe nutzen. Die Knöpfe können jeden beliebigen Service-Call ausführen; für ioBroker funktioniert z. B.: ```yaml shortcuts: columns: 4 buttons: - icon: 'mdi:pirate' type: service id: input_text.set_value data: entity_id: input_text.multimedia_Alexa_Arbeitszimmer_Player_playSongAmazon value: Piraten von Karsten Glück - icon: 'mdi:cake' type: service id: input_text.set_value data: entity_id: input_text.multimedia_Alexa_Arbeitszimmer_Player_playSongAmazon value: Wie schön dass du geboren bist ``` `input_text.set_value` schreibt einen Text in einen Datenpunkt; im `data`-Teil ist `entity_id` das Text-`entity` und `value` der einzutragende Text. ![mini media player mit TTS und Shortcuts](media/mini-media-player.JPG) ### Uhrzeit Die Uhrzeit lässt sich z. B. mit der [Clockwork Card](#getestete-karten) einbinden. Einen Zeit-Sensor gibt es nicht; die Zeit kommt vom Browser: ```yaml type: 'custom:clockwork-card' title: Zeit locale: de-de other_time: - Europe/Berlin ``` Wenn man den Block rechts nicht mag, kann man ihn zusammen mit der `card-mod`-Karte ausblenden: ```yaml type: 'custom:clockwork-card' title: Zeit style: | .other_clocks { display: none } locale: de-de other_time: - Europe/Berlin ``` ### Bindings (Markdown) Die Markdown-Karte kann mit Bindings verwendet werden, wie in [ioBroker.vis](https://github.com/ioBroker/ioBroker.vis#bindings-of-objects) üblich. Zum Beispiel erzeugt `Admin läuft{a:system.adapter.admin.0.alive;a === true || a === 'true' ? '' : ' nicht'}.` den Text `Admin läuft` in der Markdown-Karte. Zusätzlich können Home-Assistant-Templates (`{{ states("…") }}`, `is_state`, `state_attr`, `now()`, …) genutzt werden.