NEWS
TESTER: Neuer Adapter Webuntis
-
@newan Gesagt, getan. Musste ja nicht lange auf den nächsten Ausfall warten

[ { "id": 123, "date": 20220126, "startTime": 1120, "endTime": 1240, "code": "irregular", "kl": [ { "id": 123, "name": "7e", "longname": "LEHRER" } ], "te": [ { "id": 123, "name": "XXX", "longname": "LEHRER" } ], "su": [ { "id": 123, "name": "En", "longname": "Englisch" } ], "ro": [ { "id": 123, "name": "E1.02", "longname": "Klassenraum XX", "orgid": 99, "orgname": "TU3" } ], "lsnumber": 123, "sg": "Sp_7e" }, { "id": 123, "date": 20220126, "startTime": 1120, "endTime": 1240, "code": "cancelled", "kl": [ { "id": 123, "name": "7e", "longname": "LEHRER" } ], "te": [ { "id": 123, "name": "XXX", "longname": "LEHRER" } ], "su": [ { "id": 123, "name": "Sp", "longname": "Sport" } ], "ro": [ { "id": 123, "name": "TU3", "longname": "Turnhalle 3" } ], "lsnumber": 123, "sg": "Sp_7e", "activityType": "Unterricht" }, { "id": 123, "date": 20220126, "startTime": 1340, "endTime": 1500, "kl": [ { "id": 123, "name": "7e", "longname": "LEHRER" } ], "te": [ { "id": 123, "name": "LEHRER", "longname": "LEHRER", "orgid": 123, "orgname": "VOIM" } ], "su": [ { "id": 123, "name": "LeZ", "longname": "Lernzeit" } ], "ro": [ { "id": 123, "name": "XXX", "longname": "Klassenraum 7e" } ], "lsnumber": 123, "sg": "LeZ_7e", "activityType": "Unterricht" }, { "id": 123, "date": 20220126, "startTime": 800, "endTime": 920, "code": "cancelled", "kl": [ { "id": 123, "name": "7d", "longname": "LEHRER" }, { "id": 356, "name": "7e", "longname": "LEHRER" }, { "id": 361, "name": "7f", "longname": "LEHRER" } ], "te": [ { "id": 123, "name": "LEHRER", "longname": "LEHRER" } ], "su": [ { "id": 123, "name": "Reli", "longname": "Religion" } ], "ro": [ { "id": 123, "name": "XXX", "longname": "Klassenraum 10a" } ], "lsnumber": 123, "sg": "Reli_123", "activityType": "Unterricht" }, { "id": 123, "date": 20220126, "startTime": 945, "endTime": 1105, "kl": [ { "id": 123, "name": "7e", "longname": "LEHRER" } ], "te": [ { "id": 123, "name": "LEHRER", "longname": "LEHRER" }, { "id": 123, "name": "LEHRER", "longname": "LEHRER", "orgid": 123, "orgname": "VOIM" } ], "su": [ { "id": 123, "name": "LeZ Klassenrat", "longname": "Lernzeit Klassenrat" } ], "ro": [ { "id": 123, "name": "XXX", "longname": "Klassenraum 7e" } ], "lsnumber": 123, "sg": "LeZKlassenrat_7e", "activityType": "Unterricht" } ]Ich denke mal, die generelle Struktur kennst Du ja sicherlich

Interessant ist an dieser Stelle, dass zwei Stunden ausfallen ("code": "cancelled") und eine Stunde Vertretung ist (vermute ich mal) -> "code": "irregular". -
@ldittmar sagte in TESTER: Neuer Adapter Webuntis:
Das sollte ggf. in die Konfig-Seite rein.
-> Done, habe einen Link zur späteren Anleitung eingebunden. Muss nur einer ne Anleitung schreiben. AM besten per md-Datei auf github im Repo.
Vielleicht könnte man alles nach aktuellem Tag und den Folgetag gliedern. Also quasi als oberste Ebene der DP "current" und "1d" oder "nextday" verwenden. Schwierig wird da ggf. noch das Handling von Wochenenden und Ferien.
Folgende Logik ist aktiv: Wenn die Funktion getOwnTimetableForToday null zurückgibt, gehe ich von Wochenende aus. Dann wird nextBusinessDay gesucht und dann abgefragt. Wenn dann auch leer ist Ferien und die Datenpunkte bleiben leer bzw. werden entfernt.
-> wäre das für die Anleitung
Habe jetzt einfch 0 und 1 gemacht als Index. Problem ist das ja wie oben nicht immer current zieht und mir keine passende Namen eingefallen sind. Es wird aber das ausgelesene Datum angegeben.Parallel dazu könnte man so auch Vertretungsunterricht (oder Distanzlernen) abfangen. Die entsprechenden "codes" kenne ich zwar nicht, aber man könnte generell, wenn bei einer Schulstunde ein "code" <> "cancelled" vorhanden ist einen Zähler (z. B. "exceptions") inkrementieren. Dann weiß man, dass an diesem Tag irgendwas "komisch" ist

Das ist wie folgt gelöst. In der Stunde wird angezeigt ob "Vertretung" oder ausfällt. AM tag wir mit exception angezeigt ob was komisch oder nicht ist. Schaut mal ob das so nutzbar und praktikabel ist. Auch hier wäre ein Eintrag in der Anleitung hilfreich
-
@newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.
Sollte ich diese auf English machen oder in Deutsch halten?
Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.
-
@newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.
Sollte ich diese auf English machen oder in Deutsch halten?
Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.
-
@newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.
Sollte ich diese auf English machen oder in Deutsch halten?
Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.
ich finde jetzt erstmal diesen Request interesant:
(async) getTimetableForRange(rangeStart, rangeEnd, id, type, validateSessionopt) → {Promise.<Array>} Get the timetable for a given Date range for specific element -
ich finde jetzt erstmal diesen Request interesant:
(async) getTimetableForRange(rangeStart, rangeEnd, id, type, validateSessionopt) → {Promise.<Array>} Get the timetable for a given Date range for specific elementweitere interesannte Abfragen:
Hausaufgaben:
(async) getHomeWorksFor(rangeStart, rangeEnd, validateSessionopt) → {Promise.<Array>} Source: index.js, line 383 Parameters: Name Type Attributes Default Description rangeStart Date rangeEnd Date validateSession boolean <optional> true Returns: Type: Promise.<Array>Stundenplan für einen Datumbereich, z.b. immer für die aktuelle Woche oder immer für die nächsten 7 Tage
(async) getOwnTimetableForRange(rangeStart, rangeEnd, validateSessionopt) → {Promise.<Array>} Get your own timetable for a given Date range Note: You can't use this with anonymous login Source: index.js, line 316 Parameters: Name Type Attributes Default Description rangeStart Date rangeEnd Date validateSession Boolean <optional> true Returns: Type: Promise.<Array> -
Hi,
ich habe den Adapter zum testen installiert. Leider bekomme ich immer folgende Fehlermeldung:webuntis.0 2022-01-26 13:23:24.768 error Login WebUntis failed webuntis.0 2022-01-26 13:23:24.767 error Error: Failed to login. {"jsonrpc":"2.0","id":"error","error":{"message":"invalid schoolname","code":-8500}}Die Schule heißt Gymnasium+Loxstedt, dies habe ich in der config bei "School secret" eingetragen. Ist das so korrekt?
Gruß
Malte -
school: Gymnasium+Loxstedt
baseUrl: kephiso.webuntis.com -
school: Gymnasium+Loxstedt
baseUrl: kephiso.webuntis.com -
Guten Abend. Habe mir auch diesen Adapter gewünscht. Leider stellt unsere Schule keine Login Daten zur Verfügung so das wir uns als Anonymous anmelden. Wäre es möglich dies einzubauen?
-
@j-m Kannst du mir ein wenig mehr berichten wie das geht? wie heißt die Schule und welche Daten findet man dann da?
-
Cool... danke für den Adapter. Jetzt kommen die Details

Wie wäre es wenn man aus end- und startTime Date-Objekte machen würden, dann könnte man viel einfacher damit arbeiten.
Das Programm gibt auch noch weitere wichtige Daten. Heute zum Beispiel gab es eine Benachrichtigung, dass in der Schule eine Telefonumstellung gibt.
Außerdem gibt es die Möglichkeit Mitteilungen von Lehrer zu empfange/versenden. Das Versenden ist erstmal nicht so wichtig... aber der Posteingang ist schon cool. Da hat z.B. eine Lehrerin geschrieben, dass sie zu spät kommt.
Dann gibt es noch das Info-Center mit Abwesenheiten, Termine und Sprechstunden.

Aber klar... immer eins nach dem Anderen

Ahh... dein Nachtrag zum baseUrl, School ist echt wichtig, denn viele werden das so nicht hinbekommen. Das sollte ggf. in die Konfig-Seite rein.
-
@newan Wir müssen die Schule suchen und dann die Klasse angeben. Die Gutenberg Schule in 13055 Berlin hat dies z.B.
Wir sehen dann nur den Stundenplan und die News der Schule. Aber das würde mir auch reichen ;).@j-m sagte in TESTER: Neuer Adapter Webuntis:
Gutenberg Schule in 13055 Berlin
sieht dann in etwa so au
s:Das bedeutet, das sind öffentliche Daten ohne Login-Prodzedure.
Die Schule hat dennoch eine Base-URL und einen School-secret.
-
@j-m sagte in TESTER: Neuer Adapter Webuntis:
Gutenberg Schule in 13055 Berlin
sieht dann in etwa so au
s:Das bedeutet, das sind öffentliche Daten ohne Login-Prodzedure.
Die Schule hat dennoch eine Base-URL und einen School-secret.