iobroker.webuntis2 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.de.md CHANGED
@@ -1,5 +1,3 @@
1
- **IN ARBEIT**
2
-
3
1
  ![WebUntis2](docs/webuntis2-readme-banner.png)
4
2
 
5
3
  # ioBroker.webuntis2
@@ -57,8 +55,8 @@ Verbindungsstatus und Aktualisierungsinformationen. Ferientermine stehen unter
57
55
  - Unterstützt wird die Anmeldung mit Benutzername und Passwort.
58
56
  - QR-Code-, Microsoft-365-, SAML- und OAuth-Anmeldung werden nicht unterstützt.
59
57
  - Prüfungen, Hausaufgaben und Mitteilungen werden nicht bereitgestellt.
60
- - WebUntis ist ein externer Dienst. Dieses Projekt ist unabhängig und nicht
61
- mit der Untis GmbH verbunden.
58
+ - [WebUntis](https://webuntis.com/) ist ein externer Dienst. Dieses Projekt ist
59
+ unabhängig und nicht mit der Untis GmbH verbunden.
62
60
 
63
61
  ## Datenschutz und Sicherheit
64
62
 
@@ -74,6 +72,29 @@ funktionieren. Führe anschließend den Verbindungstest in der
74
72
  Adapterkonfiguration aus. Teile bei einer Supportanfrage nur relevante,
75
73
  nicht vertrauliche Logmeldungen.
76
74
 
75
+ ## Änderungsverlauf
76
+
77
+ ### 0.1.1 (2026-09-12)
78
+
79
+ - (@Voodoo2man) Verbesserte rollierende Sieben-Tage-Ansicht und Wochentagszusammenfassungen ergänzt. Datumsfelder enthalten jetzt reine Datumswerte sowie zusätzliche Unix-Zeitstempel in Millisekunden.
80
+
81
+ ### 0.1.0 (2026-09-11)
82
+
83
+ - (@Voodoo2man) Vollständige Funktionsveröffentlichung mit Stundenplandaten, Ferienterminen, verständlichen Stundennamen, Tagesübersichten, Informationen zur aktuellen und nächsten Stunde sowie React-Administrationsoberfläche.
84
+
85
+ ### 0.0.2 (2026-09-11)
86
+
87
+ - (@Voodoo2man) Erste Veröffentlichung mit Trusted Publishing für npm vorbereitet.
88
+
89
+ ### 0.0.1 (2026-09-11)
90
+
91
+ - (@Voodoo2man) Erste Veröffentlichung mit Schulsuche, geschützter Anmeldung,
92
+ Stundenplan, Tagesübersichten, Informationen zur aktuellen und nächsten
93
+ Stunde, Ferienterminen, verständlichen Stammdatennamen und der Bereinigung
94
+ nicht unterstützter alter Bereiche.
95
+
77
96
  ## Lizenz
78
97
 
98
+ Copyright (c) 2026 Voodoo2man <Voodoo2man@outlook.de>
99
+
79
100
  MIT-Lizenz. Siehe [LICENSE](LICENSE).
package/README.md CHANGED
@@ -1,5 +1,3 @@
1
- **WORK IN PROGRESS**
2
-
3
1
  ![WebUntis2](docs/webuntis2-readme-banner.png)
4
2
 
5
3
  # ioBroker.webuntis2
@@ -54,8 +52,8 @@ and update information. Holiday information is available below `holidays`.
54
52
  - Username-and-password login is supported.
55
53
  - QR-code, Microsoft 365, SAML, and OAuth login are not supported.
56
54
  - Exams, homework, and messages are not provided.
57
- - WebUntis is an external service. This project is independent and is not
58
- affiliated with Untis GmbH.
55
+ - [WebUntis](https://webuntis.com/) is an external service. This project is
56
+ independent and is not affiliated with Untis GmbH.
59
57
 
60
58
  ## Privacy and security
61
59
 
@@ -69,6 +67,30 @@ If the connection does not work, check the selected school and WebUntis login
69
67
  in a browser first. Then run the connection test in the adapter configuration
70
68
  and include only relevant, non-sensitive log messages when asking for help.
71
69
 
70
+ ## Changelog
71
+
72
+ ### 0.1.1 (2026-09-12)
73
+
74
+ - (@Voodoo2man) Improved the rolling seven-day timetable and added weekly summary states. Date fields now contain date-only values and companion Unix timestamps in milliseconds.
75
+
76
+ For earlier releases, see [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
77
+
78
+ ### 0.1.0 (2026-09-11)
79
+
80
+ - (@Voodoo2man) Complete feature release with timetable data, holidays, readable lesson names, daily summaries, current and next lesson information, and the React administration interface.
81
+
82
+ ### 0.0.2 (2026-09-11)
83
+
84
+ - (@Voodoo2man) Prepared the first Trusted Publishing release for npm.
85
+
86
+ ### 0.0.1 (2026-09-11)
87
+
88
+ - (@Voodoo2man) Initial release with school search, secure login, timetable
89
+ data, daily summaries, current and next lesson information, holidays,
90
+ readable master-data names, and cleanup of unsupported legacy namespaces.
91
+
72
92
  ## License
73
93
 
74
- MIT License. See [LICENSE](LICENSE).
94
+ Copyright (c) 2026 Voodoo2man <Voodoo2man@outlook.de>
95
+
96
+ MIT License. See [LICENSE](LICENSE).
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../node_modules/@iobroker/adapter-react/Components/loader.css", "../../node_modules/@iobroker/adapter-react/index.css"],
4
- "sourcesContent": ["/**\n * Copyright 2018-2021 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n overflow: hidden;\n border-radius: 50%;\n z-index: 2;\n}\n.logo-border {\n /*border-color: #164477;*/\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n border-radius: 50%;\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.logo-top {\n position: absolute;\n width: 4.5%;\n height: 16%;\n top: 0;\n z-index: 2;\n}\n.logo-i {\n position: absolute;\n width: 14.5%;\n height: 60%;\n top: 20%;\n left: 42%;\n background: #3399CC;\n}\n.logo-i-top {\n position: absolute;\n width: 14.5%;\n height: 4%;\n left: 42%;\n background: #3399CC;\n border-radius: 100%;\n}\n.logo-back {\n width: 100%;\n height: 100%;\n z-index: 0;\n overflow: hidden;\n}\n@keyframes logo-grow {\n 0% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(1);\n opacity: 1\n }\n 99% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(10);\n opacity: 0;\n }\n 100% {\n width: 0;\n height: 0;\n opacity: 0;\n }\n}\n@keyframes logo-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }\n@keyframes logo-color-inside-light {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-dark {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-colored {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-blue {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n\n@keyframes logo-color-outside-light {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-dark {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-colored {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-blue {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n\n.logo-animate-wait {\n animation: logo-color-outside 1.5s, logo-spin 1.5s linear infinite;\n}\n\n.logo-animate-grow-light {\n background: #DDD;\n}\n.logo-animate-grow-dark {\n background: #1d1d1d;\n}\n.logo-animate-grow-colored {\n background: #DDD;\n}\n.logo-animate-grow-blue {\n background: #1d1d1d;\n}\n\n.logo-animate-grow {\n display: inline-block;\n text-align: center;\n z-index: 1;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n width: 245px;\n height: 245px;\n border-radius: 50%;\n position: absolute;\n animation: logo-grow 1s 1 ease forwards;\n}\n\n.logo-animate-color-inside-light {\n animation: logo-color-inside-light 2.5s;\n}\n.logo-animate-color-inside-dark {\n animation: logo-color-inside-dark 2.5s;\n}\n.logo-animate-color-inside-colored {\n animation: logo-color-inside-colored 2.5s;\n}\n.logo-animate-color-inside-blue {\n animation: logo-color-inside-blue 2.5s;\n}\n\n.logo-animate-color-outside-light {\n animation: logo-color-outside-light 1.5s;\n}\n.logo-animate-color-outside-dark {\n animation: logo-color-outside-dark 1.5s;\n}\n.logo-animate-color-outside-colored {\n animation: logo-color-outside-colored 1.5s;\n}\n.logo-animate-color-outside-blue {\n animation: logo-color-outside-blue 1.5s;\n}", "/**\n * Copyright 2018-2020 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}"],
4
+ "sourcesContent": ["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n overflow: hidden;\n border-radius: 50%;\n z-index: 2;\n}\n.logo-border {\n /*border-color: #164477;*/\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n border-radius: 50%;\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.logo-top {\n position: absolute;\n width: 4.5%;\n height: 16%;\n top: 0;\n z-index: 2;\n}\n.logo-i {\n position: absolute;\n width: 14.5%;\n height: 60%;\n top: 20%;\n left: 42%;\n background: #3399CC;\n}\n.logo-i-top {\n position: absolute;\n width: 14.5%;\n height: 4%;\n left: 42%;\n background: #3399CC;\n border-radius: 100%;\n}\n.logo-back {\n width: 100%;\n height: 100%;\n z-index: 0;\n overflow: hidden;\n}\n@keyframes logo-grow {\n 0% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(1);\n opacity: 1\n }\n 99% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(10);\n opacity: 0;\n }\n 100% {\n width: 0;\n height: 0;\n opacity: 0;\n }\n}\n@keyframes logo-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }\n@keyframes logo-color-inside-light {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-dark {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-colored {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-blue {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n\n@keyframes logo-color-outside-light {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-dark {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-colored {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-blue {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n\n.logo-animate-wait {\n animation: logo-color-outside 1.5s, logo-spin 1.5s linear infinite;\n}\n\n.logo-animate-grow-light {\n background: #DDD;\n}\n.logo-animate-grow-dark {\n background: #1d1d1d;\n}\n.logo-animate-grow-colored {\n background: #DDD;\n}\n.logo-animate-grow-blue {\n background: #1d1d1d;\n}\n\n.logo-animate-grow {\n display: inline-block;\n text-align: center;\n z-index: 1;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n width: 245px;\n height: 245px;\n border-radius: 50%;\n position: absolute;\n animation: logo-grow 1s 1 ease forwards;\n}\n\n.logo-animate-color-inside-light {\n animation: logo-color-inside-light 2.5s;\n}\n.logo-animate-color-inside-dark {\n animation: logo-color-inside-dark 2.5s;\n}\n.logo-animate-color-inside-colored {\n animation: logo-color-inside-colored 2.5s;\n}\n.logo-animate-color-inside-blue {\n animation: logo-color-inside-blue 2.5s;\n}\n\n.logo-animate-color-outside-light {\n animation: logo-color-outside-light 1.5s;\n}\n.logo-animate-color-outside-dark {\n animation: logo-color-outside-dark 1.5s;\n}\n.logo-animate-color-outside-colored {\n animation: logo-color-outside-colored 1.5s;\n}\n.logo-animate-color-outside-blue {\n animation: logo-color-outside-blue 1.5s;\n}", "/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}"],
5
5
  "mappings": "AAOA,CAAC,sBAAuB,CAAC,wBACrB,WAAY,IAChB,CACA,CAAC,qBAAsB,CAAC,qBACpB,WAAY,IAChB,CACA,CAAC,SACG,SAAU,SACV,IAAK,IACL,KAAM,IACN,cAAe,WAAW,MAAM,WAAW,MAC3C,kBAAmB,UAAU,IAAI,CAAC,MAClC,UAAW,UAAU,IAAI,CAAC,MAC1B,SAAU,OApBd,cAqBmB,IACf,QAAS,CACb,CACA,CAAC,YAEG,iBAAkB,KAClB,kBAAmB,QACnB,oBAAqB,QACrB,mBAAoB,QA7BxB,cA8BmB,IACf,aAAc,MACd,WAAY,WACZ,MAAO,KACP,OAAQ,KACR,SAAU,QACd,CACA,CAAC,SACG,SAAU,SACV,MAAO,KACP,OAAQ,IACR,IAAK,EACL,QAAS,CACb,CACA,CAAC,OACG,SAAU,SACV,MAAO,MACP,OAAQ,IACR,IAAK,IACL,KAAM,IACN,WAAY,IAChB,CACA,CAAC,WACG,SAAU,SACV,MAAO,MACP,OAAQ,GACR,KAAM,IACN,WAAY,KAzDhB,cA0DmB,IACnB,CACA,CAAC,UACG,MAAO,KACP,OAAQ,KACR,QAAS,EACT,SAAU,MACd,CACA,WAAW,UACP,GACI,MAAO,MACP,OAAQ,MACR,UAAW,UAAU,IAAI,CAAC,MAAM,MAAM,GACtC,QAAS,CACb,CACA,IACI,MAAO,MACP,OAAQ,MACR,UAAW,UAAU,IAAI,CAAC,MAAM,MAAM,IACtC,QAAS,CACb,CACA,GACI,MAAO,EACP,OAAQ,EACR,QAAS,CACb,CACJ,CACA,WAAW,UAAY,GAAO,kBAAmB,OAAO,QAAS,UAAW,OAAO,OAAS,CAAE,CAC9F,WAAW,wBACP,GACI,WAAY,OAChB,CACA,GACI,WAAY,IAChB,CACJ,CACA,WAAW,uBACP,GACI,WAAY,OAChB,CACA,GACI,WAAY,IAChB,CACJ,CACA,WAAW,0BACP,GACI,WAAY,OAChB,CACA,GACI,WAAY,IAChB,CACJ,CACA,WAAW,uBACP,GACI,WAAY,OAChB,CACA,GACI,WAAY,IAChB,CACJ,CAEA,WAAW,yBACP,GACI,aAAc,OAClB,CACA,GACI,iBAAkB,KAClB,kBAAmB,QACnB,oBAAqB,QACrB,mBAAoB,OACxB,CACJ,CACA,WAAW,wBACP,GACI,aAAc,OAClB,CACA,GACI,iBAAkB,KAClB,kBAAmB,QACnB,oBAAqB,QACrB,mBAAoB,OACxB,CACJ,CACA,WAAW,2BACP,GACI,aAAc,OAClB,CACA,GACI,iBAAkB,KAClB,kBAAmB,QACnB,oBAAqB,QACrB,mBAAoB,OACxB,CACJ,CACA,WAAW,wBACP,GACI,aAAc,OAClB,CACA,GACI,iBAAkB,KAClB,kBAAmB,QACnB,oBAAqB,QACrB,mBAAoB,OACxB,CACJ,CAEA,CAAC,kBACG,UAAW,mBAAmB,IAAI,CAAE,UAAU,KAAK,OAAO,QAC9D,CAEA,CAAC,wBACG,WAAY,IAChB,CACA,CAAC,uBACG,WAAY,OAChB,CACA,CAAC,0BACG,WAAY,IAChB,CACA,CAAC,uBACG,WAAY,OAChB,CAEA,CAAC,kBACG,QAAS,aACT,WAAY,OACZ,QAAS,EACT,IAAK,IACL,KAAM,IACN,cAAe,WAAW,MAAM,WAAW,MAC3C,kBAAmB,UAAU,IAAI,CAAC,MAClC,UAAW,UAAU,IAAI,CAAC,MAC1B,MAAO,MACP,OAAQ,MA/LZ,cAgMmB,IACf,SAAU,SACV,UAAW,UAAU,GAAG,EAAE,KAAK,QACnC,CAEA,CAAC,gCACG,UAAW,wBAAwB,IACvC,CACA,CAAC,+BACG,UAAW,uBAAuB,IACtC,CACA,CAAC,kCACG,UAAW,0BAA0B,IACzC,CACA,CAAC,+BACG,UAAW,uBAAuB,IACtC,CAEA,CAAC,iCACG,UAAW,yBAAyB,IACxC,CACA,CAAC,gCACG,UAAW,wBAAwB,IACvC,CACA,CAAC,mCACG,UAAW,2BAA2B,IAC1C,CACA,CAAC,gCACG,UAAW,wBAAwB,IACvC,CCtNA,KACI,OAAQ,IACZ,CAEA,KAXA,OAYY,EAZZ,QAaa,EACT,YAAa,aAAa,CAAE,kBAAkB,CAAE,QAAU,CAAE,MAAQ,CAAE,MAAQ,CAAE,MAAQ,CAAE,SAAW,CAAE,SAAW,CAAE,UAAY,CAAE,cAAgB,CAAE,WACpJ,uBAAwB,YACxB,wBAAyB,UACzB,MAAO,KACP,OAAQ,KACR,SAAU,MACd,CAGA,0BACI,iBAAkB,KAxBtB,cAyBmB,GACnB,CAEA,oBACI,MAAO,IACP,OAAQ,IACR,iBAAkB,IACtB,CAEA,0BACI,iBAAkB,QAnCtB,cAoCmB,GACnB,CAEA,CAAC,KAID,CAAC,IAHG,OAAQ,IACZ,CAMA,WAAW,KACP,GACI,iBAAkB,OACtB,CACA,GACI,iBAAkB,OACtB,CACJ",
6
6
  "names": []
7
7
  }