Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

524 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MMM-Webuntis

⚠️ Disclaimer / Haftungsausschluss:

English: This project is not an official Untis product and is not affiliated with, endorsed by, or supported by Untis GmbH or any of its subsidiaries. WebUntis is a registered trademark of Untis GmbH. The software is provided without warranty, including accuracy, completeness, or error-free operation of displayed WebUntis data. Use is at your own risk.

Deutsch: Dieses Projekt ist kein offizielles Untis-Produkt und steht in keiner Verbindung zu Untis GmbH oder deren Tochtergesellschaften; es wird nicht von Untis unterstützt oder empfohlen. WebUntis ist eine eingetragene Marke der Untis GmbH. Die Software wird ohne Gewähr bereitgestellt; insbesondere wird keine Haftung für Fehlerfreiheit sowie für Vollständigkeit, Aktualität oder Richtigkeit der angezeigten WebUntis-Daten übernommen. Die Nutzung erfolgt auf eigene Gefahr.

⚠️ Important Notice:

This project contains substantial AI-generated code. Review, test, and audit all files, web UI, and documentation before using it in production or safety-relevant contexts. Treat defaults and generated logic as untrusted until verified.

A MagicMirror² module that displays WebUntis timetables, exams, homework, absences, and messages of day.

Requirements

  • Node.js >=20.18.1

Older Node 20 installations have shown authentication and runtime failures in real-world setups, especially around the module's native HTTP stack. If direct login or QR login suddenly stops working, update Node first and then run npm ci --omit=dev again.

Installation

cd ~/MagicMirror/modules
git clone --recurse-submodules https://github.com/HeikoGr/MMM-Webuntis
cd MMM-Webuntis
npm ci --omit=dev

The module depends on the lib/mmm-shared git submodule. npm ci normally fetches it for you, but cloning with --recurse-submodules makes that explicit. If the module fails to start with a Cannot find module './lib/mmm-shared/mmm-shared' error, run:

git submodule update --init --recursive

Update

cd ~/MagicMirror/modules/MMM-Webuntis
git pull --recurse-submodules
npm ci --omit=dev

Configuration

A minimal QR-code setup looks like this:

{
  module: 'MMM-Webuntis',
  position: 'top_right',
  config: {
    displayMode: 'grid, lessons, exams',
    students: [
      {
        title: 'Alice',
        qrcode: 'untis://setschool?url=myschool.webuntis.com&school=myschool&user=alice&key=ABC123...',
      },
    ],
  },
},

Documentation

User-facing setup and configuration documentation now lives in the project wiki:

Want to see the module without WebUntis credentials? Set demoDataFile: 'demo/fixtures/single-student-week.json' in your config to render a synthetic school week offline — see demo/fixtures/README.md.

Technical background documentation remains in docs/:

Screenshots

Week view (grid):

Grid View

List view (lessons + exams):

List View

Support

License

MIT License - See LICENSE


Note: This module contains AI-generated code. Review and test thoroughly before production use.

About

A MagicMirror² module that displays WebUntis timetables, exams, homework, and absences.

Resources

Code of conduct

Contributing

Stars

8 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages