JonasJoKuJonas / homeassistant-WebUntis

Custom component to access data from Web Untis in Home Assistant
https://community.home-assistant.io/t/webuntis-timetable-in-ha/568273
MIT License
56 stars 12 forks source link

Exam Calendar zeigt nichts an #160

Open sevorl opened 1 month ago

sevorl commented 1 month ago

The problem

Ich habe den Exam-Calender natürlich direkt ausprobiert, Super Feature, das unseren Familienalltag sicher erleichtert.

Leider bekomme ich Prüfungen nicth angezeigt, die ich n der Untis-App sehe.

Ich weiß leider nicht genau, was ich zum reproduzieren sinnvoll beitragen kann. Welche Informationen wären hilfreich?

Version of Home Assistant?

2024.10.1

What type of installation are you running?

Home Assistant OS

Version of WebUntis

v.1.3.0

Last working WebUntis version

No response

Traceback/Error logs

No response

Additional information

No response

JonasJoKuJonas commented 1 month ago

@sevorl zeigt er bei dir auf der WebUntis Webseite auch nicht den Exam tab an, wie bei @cofw2005 ((ink)

Das währe dann eben das Problem mit der inoffiziellen API :(

sevorl commented 1 month ago

Genau, ich sehe keinen Exam-Tab. Meine Ansicht sieht so (ähnlich) aus wie von cofw2005. Kann es sein, dass es die Prüfungs-Ansicht nur für Lehrer gibt?

svewag commented 1 month ago

Ich hab mir von der Website mal den homework request als cURL kopiert und den Endpunkt dann mit exams ersetzt. Die Header inkl. cookie hab ich beibehalten. Als Ergebnis bekomme ich ein 403.

curl 'https://nessa.webuntis.com/WebUntis/api/exams?startDate=20241001&endDate=20241031'

{"errors":[{"code":"INTERNAL_ERROR","title":"Unerlaubter Zugriff"}]}%

Ich sehe den Tab auch nicht.

image
JonasJoKuJonas commented 1 month ago

Kann es sein, dass es die Prüfungs-Ansicht nur für Lehrer gibt?

Nein. Bei mir wird die ja angezeigt. image ich vermute, das es mit der Konfiguration von der Schule zusammenhängt.

@svewag hast du mehrere Accounts, weil bei dir Erziehungsberechtigte*r steht?

JonasJoKuJonas commented 1 month ago

Ihr könntet mal probieren diesen code mit euren credentials auszuführen. Ich bekomme da nur ein webuntis.errors.RemoteError: no right for getExams() Error

import webuntis
from datetime import date, timedelta

s = webuntis.Session(
    username="",
    password="",
    server="https://",
    useragent="foo",
    school="",
).login()

today = date.today()
in_x_days = today + timedelta(days=30)

x = s.exams(start=today, end=in_x_days)

for i in x:
    print(i)
cofw2005 commented 1 month ago

Looks like the schools configure the Untis differently. So unfortunately not all schools have this Exam function. Maybe this is also the same for the homework function for some other schools.

cofw2005 commented 1 month ago

I see so far at least 'Dienst' and 'IServ' tabs from others which I don't have in my school. So some functions are really school-dependent.

JonasJoKuJonas commented 1 month ago

You can also try to find out the URL that is used to fetch the exams by using the chrome debug menu (Network Tab)

cofw2005 commented 1 month ago

just a suggestion, maybe a configuration option can be added to let user select whether the exam calendar and homework calendar shall be activated. So for the ones whose school don't have that option can disable the calendar entity.