Stundenplan im Home Assistant: Aktuelles und nächstes Fach automatisch anzeigen
Erfahre, wie du einen digitalen Stundenplan in Home Assistant integrierst. Zeige das aktuelle und nächste Fach automatisch im Dashboard an, inklusive praktischer Vorlage.
Ein digitaler Stundenplan im Home Assistant kann den Alltag deutlich erleichtern, besonders, wenn es darum geht, immer den Überblick über aktuelle und kommende Unterrichtsstunden zu behalten. Mit einer passenden Integration lässt sich der Stundenplan automatisiert im Dashboard anzeigen, inklusive der jeweiligen Fächer und Zeiten. Das sorgt für mehr Organisation und weniger vergessene Materialien.
Warum ein Stundenplan im Home Assistant sinnvoll ist
Viele Nutzerinnen und Nutzer von Home Assistant möchten ihren Alltag strukturieren und wiederkehrende Abläufe automatisieren. Ein digitaler Stundenplan hilft dabei, stets zu wissen, welches Fach gerade stattfindet und welches als nächstes ansteht. Das ist besonders für Familien mit schulpflichtigen Kindern oder für Studierende praktisch, die ihre Stundenpläne flexibel verwalten möchten.
Die Integration eines Stundenplans ins Home Assistant Dashboard bietet nicht nur Übersicht, sondern auch die Möglichkeit, Erinnerungen und Automatisierungen zu verknüpfen. So kann beispielsweise eine Benachrichtigung ausgelöst werden, wenn ein bestimmtes Fach beginnt, oder das Licht im Arbeitszimmer passend zur Unterrichtszeit gesteuert werden.
Technische Umsetzung mit Home Assistant und Vorlagen
Die Umsetzung eines Stundenplans in Home Assistant erfordert einige vorbereitende Schritte. Zunächst wird eine YAML-Datei erstellt, in der die einzelnen Wochentage, Fächer und Uhrzeiten strukturiert hinterlegt sind. Mithilfe von Template-Sensoren kann dann ermittelt werden, welches Fach aktuell läuft und welches als nächstes folgt. Für die Anzeige im Dashboard werden benutzerdefinierte Karten genutzt, die die Informationen übersichtlich darstellen.
In vielen Haushalten ist der Schulalltag durch wiederkehrende Zeiten und Fächer geprägt. Dieser Snippet zeigt dir, wie du einen dynamischen Stundenplan direkt in Home Assistant abbilden kannst. Anstatt lediglich ein statisches Widget zu nutzen, erzeugt diese Konfiguration mehrere Home-Assistant-Sensoren, die dir zuverlässig anzeigen, welches Fach gerade läuft, was als Nächstes kommt und eine komplette Übersicht der Woche bereitstellen. So kannst du dein Smart Home nicht nur informieren, sondern auch Automationen daran ausrichten — etwa Benachrichtigungen vor dem Unterricht oder angepasste Szenen zu Schulbeginn.
Was macht dieser Stundenplan in Home Assistant?
Diese Konfiguration liest eine lokal gespeicherte JSON-Datei mit deinem Wochenstundenplan aus und erstellt mehrere Home-Assistant-Sensoren:
- `sensor.school_current_subject` – aktuelles Fach
- `sensor.school_next_subject` – nächstes Fach
- `sensor.school_schedule_table` – vollständige Stundenplan-Tabelle
- `binary_sensor.school_in_session` – zeigt an, ob gerade Unterricht istDu kannst diese Werte z.B. in Lovelace-Karten anzeigen oder für Automationen verwenden, etwa um Benachrichtigungen vor Unterrichtsbeginn zu senden oder dein Smart-Home-Setup an Unterrichtszeiten anzupassen.
Voraussetzungen
Damit die Lösung funktioniert, brauchst du:
- Einen funktionierenden Home-Assistant-Server
- Die Möglichkeit, eine Datei unter `/config/data/` abzulegen
- Den Stundenplan als JSON-Datei im definierten FormatStundenplan als JSON speichern
Lege die Datei /config/data/school_timetable.json an und fülle sie mit deinem Stundenplan im folgenden Format:
{
"monday": ,
"tuesday": ,
// … bis Sonntag
}Du kannst alle Wochentage definieren, auch wenn manche leer bleiben. Der Plan bildet die Grundlage für die Sensoren, die nach aktuellen Uhrzeiten filtern und den Ablauf interpretieren.
Konfiguration in Home Assistant
Ergänze in deiner configuration.yaml oder einem Package-File folgende Sensordefinition:
1command_line:
2 - sensor:
3 name: School Timetable JSON
4 command: "bash -c 'cat /config/data/school_timetable.json'"
5 scan_interval: 3600
6 json_attributes:
7 - monday
8 - tuesday
9 - wednesday
10 - thursday
11 - friday
12 - saturday
13 - sunday
14template:
15 - trigger:
16 - platform: time_pattern
17 minutes: "/1"
18 - platform: state
19 entity_id: sensor.school_timetable_json
20 sensor:
21 - name: "School Current Subject"
22 unique_id: school_current_subject
23 state: >
24 {% set days = %}
25 {% set wd = days %}
26 {% set day = state_attr('sensor.school_timetable_json', wd) or [] %}
27 {% set current = day
28 | selectattr('start','le', now().strftime('%H:%M'))
29 | selectattr('end','gt', now().strftime('%H:%M'))
30 | list %}
31 {{ current.subject if current|count > 0 else '—' }}Diese Definition verwendet den JSON-Stundenplan und ermittelt abhängig von der aktuellen Uhrzeit das passende Fach. Die scan_interval sorgt dafür, dass die JSON-Daten regelmäßig neu eingelesen werden. Der Trigger sorgt dafür, dass die Zwischensensoren jede Minute aktualisiert werden.
Nächste Stunde und Stundenplan-Tabelle
Zusätzlich werden Sensoren für die nächste Stunde und eine Markdown-Tabelle erstellt. Diese Sensoren nutzen ähnliche Template-Logik wie oben, um den nächsten Unterricht sowie eine strukturierte Übersicht aller Fächer der Woche zu bilden. Du kannst diese Daten bequem in Dashboards visualisieren oder für Automationen nutzen.
Beispielsweise bietet ein Markdown-Card im Lovelace-Dashboard eine lesbare Wochenübersicht, während ein weiteres Template in einer Bedingung dazu führen kann, dass bei Schulbeginn automatisch ein Gerät stummgeschaltet wird.
Mit dem folgenden Snippet lasse ich mir das aktuelle Fach dann auf meinem Dashboard anzeigen. Wenn aktuell kein Unterricht stattfindet, ist diese Card automatisch ausgeblendet.
1type: conditional
2conditions:
3 - entity: binary_sensor.school_in_session
4 state: "on"
5card:
6 type: custom:mushroom-template-card
7 primary: "{{ states('sensor.school_current_subject') }}"
8 secondary: >
9 {{ state_attr('sensor.school_current_subject', 'current_start') }} – {{
10 state_attr('sensor.school_current_subject', 'current_end') }}
11 icon: mdi:school
12 icon_color: indigo
13 layout: vertical
14 tap_action:
15 action: more-infoPraxistipp
Für eine noch bessere Integration kannst du den Stundenplan automatisch aus einer externen Quelle generieren lassen, etwa einem Kalender. Alternativ lassen sich noch weitere Automationen bauen, die auf binary_sensor.school_in_session reagieren, wie etwa Erinnerungen oder das Einschalten von Lichtern am Morgen.
Fazit
Mit einem einfachen JSON-Datei-Ansatz und ein paar Template-Sensoren kannst du in Home Assistant einen voll funktionsfähigen Schulstundenplan abbilden. Neben aktueller und nächster Stunde hast du eine strukturierte Wochenübersicht und viele Möglichkeiten zur Einbindung in Automationen und Dashboards. Diese Lösung schafft Überblick und hilft, deine smarte Umgebung an den Alltag anzupassen.
Das Video zeigt, wie der Umgang mit „Dein Stundenplan in Home Assistant – Mit aktuellem & nächstem Fach automatisch im Dashboard“ konkret aussieht.
