Read the statement by Michael Teeuw here.
MMM-Webuntis
-
BTW, ich fand MMM-Pages, da man damit besser gleiche Module auf unterschiedliche Pages verteilen kann (z.B. unterschiedliche Google Sheets, oder calendar).
Robert
-
Hallo,
das ist ein Fall den ich leider so nicht nachvollziehen kann, da wir einen Eltern Account haben und unsere Kinder sich per Office365 anmelden.
das Problem ist, dass das Modul die studentId braucht, mit dem login aber erstmal nur die personId bekommt.
du hast jetzt folgende Möglichkeiten:
- die neueste Version ausprobieren (ich habe sehr viel geändert die letzten Tage) - es kann sein, dass es damit schon funktioniert
- Für jedes Kind in untis einloggen und einen qrcode erzeugen - dann kannst du diesen qrcode string in die config.js eintragen (der weg funktioniert ziemlich sicher!), oder:
- im webuntis.com die studentId rausbekommen (steht zum Beispiel in der URL bei "Mein Stundenplan) und diese in der config.js hinterlegen (könnte funktionieren), oder:
- in der Developer Ansicht im Browser (F12 drücken) im Tab Netzwerk die Response von der Resource “data” mir zur Verfügung stellen. Achtung: vorher alle sensiblen Daten entfernen. Der markierte Bereich (currentSchoolYear) ist nur ein winziger Teil der Daten)

-
@RobertMuc geht mit MMM-Carousel auch, aber soweit ich weiss ist das mit Pages tatsächlich einfacher. Ich bleibe trotzdem bei Carousel 😎
-
Hi @HeikoGr ,
erst einmal wieder Danke.
Hier meine Response. Ich habe alle IDs mal ausprobiert. Keine davon wurde akzeptiert.
QRCode sieht bei mir auch ganz anders aus.
Andere Webuntis Version?
Robert
{ "currentSchoolYear": { "dateRange": { "start": "2025-09-16", "end": "2026-07-31" }, "id": 16, "name": "2025/2026", "timeGrid": { "schoolyearId": 16, "units": [ } ] } }, "departments": [], "isPlayground": false, "oneDriveData": { "hasOneDriveRight": false, "oneDriveClientVersion": "V8", "oneDriveClientId": "d4acf9ca-5400-48f0-96db-e356769fa9fb" }, "tenant": { "displayName": "xx", "id": "xx", "wuHostName": null, "name": "xx" }, "ui2020": true, "user": { "id": xxx, "locale": "de", "name": "xx", "email": "xxx", "permissions": { "views": [ "TODAY", "TIMETABLE_NEW_STUDENTS_MY", "TIMETABLE_NEW_CLASSES", "MESSAGE_CENTER", "MESSAGE_CENTER_2021", "PROFILE", "PERMISSION_STUDENT_TT_OWN", "PERMISSION_CLASS_TT_OWN", "PERMISSION_CLASS_TT_ALL", "MY_DATA", "STUDENT_HOMEWORK", "STUDENT_CLASSREG_ENTRIES" ] }, "person": { "displayName": "xxx", "id": xx, "imageUrl": null }, "roles": [ "STUDENT" ], "students": [], "lastLogin": "2026-01-15T07:18:16.425" }, "permissions": [ "CONTACTDETAILS:R:0:ASSIGNED", "LESSONTOPIC:R:0:ALL", "TT_VIEW:R:1:ASSIGNED", "TT_VIEW:R:5:ASSIGNED", "HOMEWORK:R:0:ALL", "MESSAGES:R:0:ALL", "TT_OVERVIEW:R:1:ALL", "CLASSEVENT:R:0:ASSIGNED" ], "settings": [ "system.linesperpage:15", "system.firstDayOfWeek:2", "system.showlessonsofday:false", "system.emailadmin:xxx" ], "pollingJobs": [], "isSupportAccessOpen": true, "licenceExpiresAt": "2999-12-31", "holidays": [ ] } -
HI @HeikoGr,
bei mir sieht der Call ganz anders aus und keine der IDs funktioniert (siehe unten). Wenn ich mir den call für die Entries anschaue , sieht das ganze so aus.
/WebUntis/api/rest/view/v1/timetable/entries?start=2026-01-12&end=2026-01-16&format=1&resourceType=STUDENT&resources=823&periodTypes=&timetableType=MY_TIMETABLE&layout=START_TIMEAber diese id funktioniert auch nicht, wenn ich sie als StudentID übergebe …
Puh.
Robert
{ "currentSchoolYear": { "dateRange": { "start": "2025-09-16", "end": "2026-07-31" }, "id": 16, "name": "2025/2026", "timeGrid": { "schoolyearId": 16, "units": [ } ] } }, "departments": [], "isPlayground": false, "oneDriveData": { "hasOneDriveRight": false, "oneDriveClientVersion": "V8", "oneDriveClientId": "d4acf9ca-5400-48f0-96db-e356769fa9fb" }, "tenant": { "displayName": "xx", "id": "xx", "wuHostName": null, "name": "xx" }, "ui2020": true, "user": { "id": xxx, "locale": "de", "name": "xx", "email": "xxx", "permissions": { "views": [ "TODAY", "TIMETABLE_NEW_STUDENTS_MY", "TIMETABLE_NEW_CLASSES", "MESSAGE_CENTER", "MESSAGE_CENTER_2021", "PROFILE", "PERMISSION_STUDENT_TT_OWN", "PERMISSION_CLASS_TT_OWN", "PERMISSION_CLASS_TT_ALL", "MY_DATA", "STUDENT_HOMEWORK", "STUDENT_CLASSREG_ENTRIES" ] }, "person": { "displayName": "xxx", "id": xx, "imageUrl": null }, "roles": [ "STUDENT" ], "students": [], "lastLogin": "2026-01-15T07:18:16.425" }, "permissions": [ "CONTACTDETAILS:R:0:ASSIGNED", "LESSONTOPIC:R:0:ALL", "TT_VIEW:R:1:ASSIGNED", "TT_VIEW:R:5:ASSIGNED", "HOMEWORK:R:0:ALL", "MESSAGES:R:0:ALL", "TT_OVERVIEW:R:1:ALL", "CLASSEVENT:R:0:ASSIGNED" ], "settings": [ "system.linesperpage:15", "system.firstDayOfWeek:2", "system.showlessonsofday:false", "system.emailadmin:xxx" ], "pollingJobs": [], "isSupportAccessOpen": true, "licenceExpiresAt": "2999-12-31", "holidays": [ ] } -
Versuch mal mit 823:
students: [ { title: 'Name des Kindes', studentId: 823, // qrcode: 'untis://setschool?url=**example**.webuntis.com&school=**example**&user=**<user>**&key=**<key>**', // OR use direct credentials if no QR code: username: 'user@example.com', password: '<password>', school: 'example', server: 'example.webuntis.com', // without https:// },und QR Code funktioniert nicht? du kannst die Werte aus der webuntis Oberfläche direkt in den String an die entsprechende Stelle eintragen oder den QRCode mit einer entsprechenden App decodieren und hier den Wert übernehmen.
Der Screenshot zeigt jetzt auf die schnelle die Elternoberfläche, funktioniert bei den Kindern aber genauso:

-
Hi @heikogr,
danke, danke.
Also, ich habe dann mal wieder die qrcode Variante versucht, und die ging jetzt tatsächlich. Hatte es ernsthaft schon ein paar Mal probiert, aber jetzt ging es … Naja… Muss nicht alles verstehen.
Vielen, vielen Dank für den hervorragenden und freundlichen Support…
Gruß
Robert -
Also have to leave a big shout out for Heiko. He really cares about this module and helps as much as he can when it comes to all the difference configs/usage scenarios by the different schools. And the new features like the grid etc. are really nice. Thanks!!!
Edit: Feature Request: In the list the entries for cancelled lessons are crossed. In the grid view they are red. Behind my mirror glas I (with my color seeing issues) have a bit of a trouble of seeing something is canceled (my daughter don’t - its a me issue^^). But would it be possible to maybe get it also crossed or something that indicates it instead/in addition to the coloring?
-
@OliWer Thank you for your kind words.
with the latest commit (from today) you can add this to your custom.css (older versions have slightly diverent css-classes, but it’s also possible):
.MMM-Webuntis .lesson-cancelled { text-decoration: line-through; }I’ve extended the readme to explain all possibilities
