Home Assistant Sidebar personalisieren: Custom Sidebar Schritt für Schritt erklärt!

In meinem neuesten Beitrag zeige ich euch, wie ihr eure Home Assistant Navigation auf das nächste Level bringen könnt. Mit der Custom Sidebar-Komponente aus dem Home Assistant Community Store (HACS) habt ihr die Möglichkeit, eure Seiten-Navigationsleiste individuell anzupassen. Das bedeutet: Menüpunkte verschieben, umbenennen, Icons ändern, Farben setzen und sogar neue Menüpunkte hinzufügen – alles ganz nach euren Wünschen. Und das Beste? Es gibt sogar Funktionen für benutzerdefinierte Menüs pro Benutzer!

Hier erfahrt ihr alles Wichtige, inklusive einer Schritt-für-Schritt-Anleitung, wie ihr das Add-on installiert, konfiguriert und optimal nutzt.

https://youtu.be/CPVumRS8v7o

Warum die Sidebar personalisieren?

Die Standard-Sidebar von Home Assistant ist nützlich, aber manchmal nicht flexibel genug. Mit der Custom Sidebar könnt ihr die Navigation effizienter gestalten und so schneller auf die wichtigsten Funktionen zugreifen.
Einige Beispiele, was ihr damit machen könnt:

  • Direkter Zugriff auf Automationen oder Integrationen.
  • Verschiedene Ansichten für verschiedene Benutzer erstellen.
  • Nützliche Informationen direkt in der Sidebar anzeigen (z. B. Anzahl aktiver Automationen oder Entitäten).
  • Das Design anpassen, etwa durch neue Farben, Icons oder Hintergrundbilder.

Die Custom Sidebar ist perfekt, um Home Assistant noch benutzerfreundlicher und funktionaler zu machen.

Codeabschnitt für die configuration.yaml

frontend:
  extra_module_url:
    - /hacsfiles/custom-sidebar/custom-sidebar-yaml.js

Die Datei sidebar-config.yaml legt ihr dann im Verzeichnis ‚\<eure-ha-instanz-\config\www‘ ab.

Beispiel für die sidebar-config.yaml

Hier ist mein Beispiel für eine benutzerdefinierte Sidebar-Konfiguration.

title: Tristan's  
subtitle: Smartes Heim
icon_color_selected: var(--accent-color)
sidebar_background: peachpuff
order:
  - item: Übersicht
    name: Dashboard
    info: für's Debuggen
    order: 0
  - item: Energie
    icon: mdi:home-lightning-bolt-outline
    order: 1
  - item: Automationen
    icon: mdi:robot
    order: 2
    new_item: true
    href: "/config/automation"
    info: |
      {{ states.automation | selectattr('state', 'eq', 'off') | list | count }} inaktive |  {{ states.automation | selectattr('state', 'eq', 'on') | list | count }} aktive
  - item: Node-RED
    order: 3  
  - item: Integrationen
    icon: mdi:puzzle
    order: 4
    new_item: true
    href: "/config/integrations"
    info: |
      {{states('sensor.devices')}} Geräte | {{states('sensor.entities')}} Entitäten
  - item: hacs
    order: 5
    notification: |
      [[[
        const outdatedHacsEntities = Object.values(entities.update).filter(
          (entity) => entity.platform === 'hacs' && is_state(entity.entity_id, 'on')
        );
        return outdatedHacsEntities.length || '';
      ]]]      
  - item: Zigbee2MQTT
    name: Z2M 
    order: 6
  - item: Protokolle
    icon: mdi:post-outline
    order: 7
    new_item: true
    href: "/config/logs"
  - item: calendar
    name: Kalender
    order: 8
  - item: Demo
    icon: mdi:test-tube
    order: 9
    icon_color: orange
    info: für Youtube
    
exceptions:
  - user:
    - Tristan
    extend_from: base
    order:
      - item: Einstellungen
        order: 10
        bottom: true
      - item: Entwicklerwerkzeuge
        icon: mdi:tools
        order: 11
        bottom: true
  - user:  
    - Sonja
    extend_from: base
    title: Sonja's
    order:
      - item: Einstellungen
        hide: true
      - item: Entwicklerwerkzeuge
        hide: true

Fazit

Die Custom Sidebar bietet unglaublich viele Möglichkeiten, eure Home Assistant-Oberfläche individuell anzupassen. Mit der Konfiguration in der sidebar-config.yaml könnt ihr das Design und die Funktionalität genau auf eure Bedürfnisse zuschneiden. Egal, ob ihr ein minimalistisches Layout oder eine umfassende Menüstruktur bevorzugt – die Sidebar lässt sich flexibel gestalten.

Falls ihr Fragen habt oder eigene Ideen für die Sidebar einbringen möchtet, schreibt sie in die Kommentare! 😊


Kommentare

9 Antworten zu „Home Assistant Sidebar personalisieren: Custom Sidebar Schritt für Schritt erklärt!“

  1. Buoaaa – die Definitionslogik macht mich mal wieder narrisch: Warum wird erst „/hacsfiles/custom-sidebar/custom-sidebar-yaml.js“ benannt und die custom-sidebar-yaml.js findet sich dann in „/www/community/custom-sidebar“??

    1. Jaaa… das hat mich auch erst mal Verzweifeln lassen…

  2. Hallo,
    Klasse Idee, sowas habe ich gesucht.
    Danke für das Video.
    Allerdings habe ich das Problem, dass bei immer noch die Standardsidebar angezeigt wird.
    Weder die Icons noch die Grundfarbe ändert sich.
    Ich habe alle Schritte im Video befolgt und die Komponenten installiert.
    hat jemand das gleiche Problem?

    Beste Grüße Hennes

    1. Ja ich habe das gleiche Problem….
      Irgendwas stimmt mit der Config nicht

      1. Hm.. nach der Installation von der Integration HA 1x neu gestartet?

        1. Ja, ich habe auch die Integration nochmals gelöscht und neu installiert.
          Leider brachte das aber auch nichts 🙁

          1. Ich hatte dasselbe Problem und geh davon aus, das mit dem obigen code etwas nicht stimmt.
            Ich habe nach ein paar versuchen, die nicht funktionierten, den code gelöscht und hab den Beispiel-Code von der Installationsanleitung aus HACS für die Custom-Sidebar genommen! Diese hier: https://raw.githubusercontent.com/elchininet/custom-sidebar/master/sidebar-config.yaml
            Nach dem Einfügen dieses raw-codes und einem neustart der Config gings dann plötzlich.
            Auch habe ich danach den Kopfteil:
            title: Tristan’s
            subtitle: Smartes Heim
            icon_color_selected: var(–accent-color)
            sidebar_background: peachpuff

            nach meinen Bedürfnissen angepasst und direkt über „order:“ eingefügt, auch das wurde dann übernommen!

            Die letzt Zeile im raw-code: id: example_yaml (remove this from your config or replace with any other string)
            habe ich ausgeklammert.
            Ob das zwingend erforderlich ist, hab ich nicht getestet, aber wie gesagt, so läufts bei mir!
            Mein Code schaut so aus:

            title: Nick’s
            subtitle: Dashboard
            icon_color_selected: hsl(30, 100%, 50%, 0.8) /* Reds-Yellows */
            sidebar_background: hsl(210, 60%, 20%) /* cyan-blues */
            text_color: gray
            order:
            – new_item: true
            item: Google
            href: https://mrdoob.com/projects/chromeexperiments/google-gravity/
            icon: mdi:earth
            target: _blank
            order: 0
            – item: overview
            order: 1
            – new_item: true
            item: Integrations
            href: „/config/integrations“
            icon: mdi:puzzle
            order: 2
            – new_item: true
            item: Entities
            href: „/config/entities“
            icon: mdi:hexagon-multiple
            order: 3
            – new_item: true
            item: Automations
            href: „/config/automation“
            icon: mdi:robot
            order: 4
            – item: terminal
            order: 5
            – item: hacs
            order: 6
            notification: |
            [[[
            const outdatedHacsEntities = Object.values(entities.update).filter(
            (entity) => entity.platform === ‚hacs‘ && is_state(entity.entity_id, ‚on‘)
            );
            return outdatedHacsEntities.length || “;
            ]]]
            – item: config
            bottom: true
            order: 7
            – item: logbook
            bottom: true
            order: 8
            – new_item: true
            item: Logs
            bottom: true
            href: „/config/logs“
            icon: mdi:math-log
            order: 9
            – item: developer tools
            name: Dev tools
            icon: mdi:tools
            bottom: true
            order: 10
            – item: history
            hide: true
            – item: snapshots
            hide: true
            – item: backups
            hide: true
            – item: map
            hide: true
            – item: energy
            hide: true
            – item: media
            hide: true
            exceptions:
            – user:
            – Jim Hawkins
            – Long John Silver
            order:
            – new_item: true
            item: Updates
            href: „/config/updates“
            icon: mdi:update
            – user: Palaus
            extend_from: base
            order:
            – item: history
            order: 11
            – item: media
            order: 12
            #id: example_yaml (remove this from your config or replace with any other string)

          2. Hi,

            ich habe meinen aktuellen Code nochmal in dem Beitrag rein gepackt.

            Wichtig ist, wirklich Schritt-für-Schritt die Sachen reinzupacken und den Browser zu refreshen.

            Leider gibt es keinen Fehlerlog oä.

            Gruß,
            Tristan

  3. Super, danke für die Hilfe.
    ist es auch möglich die Sidebar für die mobilen Geräte (Handy, Tablet) zu verwenden?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert