Een mooie en responsive Lovelace-card voor de Magister School Integration. Toon rooster, cijfers, huiswerk, wijzigingen en meer in één overzichtelijke kaart.
- Open Home Assistant en ga naar HACS → Frontend
- Klik rechtsboven op de ⋮ (drie puntjes)
- Selecteer Custom repositories
- Voeg toe:
- Repository:
https://github.com/OdynBrouwer/magister-school-card - Categorie:
Dashboard(ofLovelace)
- Repository:
- Klik op ADD
- De repository verschijnt nu in de lijst
- Klik op de repository om deze te openen
- Klik rechtsboven op de blauwe "DOWNLOAD" knop
- Klik nogmaals op "Download" in het popup venster
- Herstart Home Assistant (of druk CTRL + F5 om de cache te verversen)
Zie de configuratie-voorbeelden hieronder.
-
Download
magister-school-card.jsuit de releases -
Kopieer het bestand naar je Home Assistant
wwwmap, bijvoorbeeld:www/community/magister-school-card/magister-school-card.js -
Voeg een resource toe in Lovelace (Instellingen → Dashboards → Resources → Add Resource):
url: /local/community/magister-school-card/magister-school-card.js type: module
-
Herstart Home Assistant
-
Voeg de card toe aan je dashboard (zie configuratie hieronder)
Voeg de card toe aan je Lovelace dashboard:
Optie 1: Slimme rooster widget (aanbevolen)
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam # Vervang met jouw Magister sensor
layout: grid-3
show_widgets:
- rooster_meta # Automatisch vandaag/morgen
- wijzigingen
- volgende_les
- cijfers
- opdrachtenOptie 2: Beide roosters tonen
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
layout: grid-3
show_widgets:
- rooster_vandaag # Altijd vandaag
- rooster_morgen # Altijd morgen
- wijzigingen
- cijfers
- opdrachten| Optie | Type | Beschrijving | Standaard |
|---|---|---|---|
entity |
string | Vereist. De Magister sensor entity (bijv. sensor.magister_voornaam_achternaam) |
- |
layout |
string | Grid layout: grid-1, grid-2, grid-3, grid-auto (alleen als widget_columns niet gebruikt wordt) |
grid-auto |
show_widgets |
lijst | Welke widgets tonen (alleen als widget_columns niet gebruikt wordt) |
alle widgets |
widget_columns |
object | Nieuw! Verdeel widgets over kolommen. Bijvoorbeeld: { column1: ['stats', 'rooster_meta'], column2: ['cijfers'] } |
null |
-
rooster_vandaag— Altijd rooster van vandaag -
rooster_morgen— Altijd rooster van morgen -
rooster_meta— Slimme widget die automatisch schakelt:- Vóór 18:00 → toont vandaag
- Na 18:00 → toont morgen
💡 Tip: Gebruik
rooster_vandaag+rooster_morgenvoor beide, of alleenrooster_metavoor automatisch schakelen.
stats— Statistieken overzichtvolgende_les— Eerstvolgende lescijfers— Recente cijfersopdrachten— Huiswerk en opdrachtenabsenties— Afwezigheidwijzigingen— Roosterwijzigingenaanmeldingen— Aanmeldingenactiviteiten— Schoolactiviteiten
Met de widget_columns optie kun je precies bepalen welke widgets in welke kolom verschijnen. Dit geeft je volledige controle over de layout!
Voorbeeld: 2 kolommen
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
widget_columns:
column1:
- rooster_meta
- volgende_les
- stats
column2:
- cijfers
- opdrachten
- wijzigingenVoorbeeld: 3 kolommen met specifieke indeling
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
widget_columns:
column1:
- rooster_vandaag
- volgende_les
column2:
- rooster_morgen
- cijfers
column3:
- opdrachten
- wijzigingen
- absentiesVoorbeeld: 1 kolom (alles onder elkaar)
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
widget_columns:
column1:
- stats
- rooster_meta
- cijfers
- opdrachten
- wijzigingen💡 Tips voor kolom-indeling:
- Gebruik zoveel kolommen als je wilt (
column1,column2,column3, etc.) - Widgets worden in de volgorde getoond die je opgeeft
- Op mobiel worden kolommen automatisch onder elkaar geplaatst
- Op tablets (< 1200px) worden kolommen in 2 kolommen getoond
- Vergeet niet elke widget naam exact te schrijven (zie lijst hierboven)
Als je geen widget_columns opgeeft, gebruikt de card automatisch een grid layout met knoppen om te wisselen:
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
layout: grid-auto
show_widgets:
- stats
- volgende_les
- rooster_meta
- rooster_vandaag
- rooster_morgen
- cijfers
- opdrachten
- wijzigingen- De kaart vereist de Magister School Integration
- De
entitymoet een Magister sensor zijn met attributen zoalsafspraken,cijfers,opdrachten, etc. - Als je geen Magister integration hebt, zie
examples/sensors_example.yamlvoor een test template
De card respecteert automatisch je Home Assistant thema. Je kunt het uiterlijk aanpassen met CSS-variabelen:
--card-background-color
--ha-card-border-radius
--ha-card-box-shadow
--primary-text-color
--secondary-text-color
--primary-color
--accent-color
--secondary-background-color
--primary-background-color
--divider-color
--error-color
--warning-color
--success-colorVoorbeeld om de card aan te passen met card-mod:
type: custom:magister-school-card
entity: sensor.magister_voornaam_achternaam
card_mod:
style: |
ha-card {
--ha-card-border-radius: 15px;
--primary-color: #1976D2;
}Oplossing:
- Controleer of de
entitybestaat in Developer Tools → States - Controleer of de entity attributen bevat (klik op de entity om deze te bekijken)
- Zorg dat je de Magister School Integration hebt geïnstalleerd
Oplossing:
- Controleer of de resource is toegevoegd in Instellingen → Dashboards → Resources
- Hard refresh de browser: druk CTRL + F5 (Windows) of CMD + SHIFT + R (Mac)
- Herstart Home Assistant
- Controleer de browser console op fouten (F12)
Oplossing:
- De sensor moet een
wijzigingenattribuut bevatten - Controleer de sensor data in Developer Tools → States
- Maak eventueel een template sensor met de juiste attributen
Oplossing:
- Zorg dat de resource URL correct is
- Type moet
modulezijn (nietjs) - Clear browser cache en herstart Home Assistant
De component is gebouwd met Lit als ES-module.
-
Clone de repository
-
Bewerk
magister-school-card.js -
Kopieer naar je Home Assistant
wwwfolder -
Voeg als lokale resource toe:
url: /local/magister-school-card/magister-school-card.js type: module
-
Hard refresh browser (CTRL + F5) na elke wijziging
Het element is geregistreerd als custom:magister-school-card
Gebruik examples/sensors_example.yaml om een mock sensor te maken voor lokaal testen.
Open een issue in dit repository met:
- Je Home Assistant versie
- De gebruikte
entity - Een korte omschrijving of screenshot van het probleem
Maintainer: Repository eigenaar
Bijdragen zijn welkom via issues en pull requests. Kleine, gerichte wijzigingen gaan het snelst door. Voor grotere features open eerst een issue om de aanpak te bespreken.
Zie LICENSE voor licentieinformatie.
Wil je bijdragen? Lees eerst de richtlijnen in CONTRIBUTING.md.
In de map examples/ vind je sensors_example.yaml — dit is een mock/template die laat zien welke attributen de kaart verwacht. Gebruik dit alleen om lokaal te testen of wanneer je (tijdelijk) niet met de custom integration werkt.