Website auslesen

Juhu liebe Community,

ich dachten wenn ich zuerst in meiner HA Laufbahn die Dashboards der Kids fertig mache habe ich einen leichten Start. Pustekuchen.

Ich versuche die https://www.stundenplan24.de/10232711/mobil/plankl.html Website auszulesen was Grundsätzlich auch zu klappen scheint. Der Header und alle Button sind da. Solange keine Daten für den Tag vorliegen wird das auch angezeigt. Hat der Tag aber Daten so werden diese nicht geladen/angezeigt. Wo liegt mein Fehler?

Also ich bekomm bei mir nen Error 401 zurück. Du kannst es vielleicht auch auf einem anderen Weg probieren.

Hier das hab ich mir letztens angesehen und fande es eine gute Anleitung

Problem wird sein, dass du die Nutzerkennung eingeben musst, weshalb du die Daten nicht in HA angezeigt bekommst.

Ja die bin ich vorhin gerade durchgegangen, bekomme darüber aber entweder nicht den Richtigen Selector eingestellt, jedenfalls kriege ich darüber die Werte nicht.

https://www.stundenplan24.de/ → Schulnummer 10232711 → IndiwareMobil Schüler, falls der 401 bleibt.

Das bringt nichts, da man sich auf der Seite anmelden muss. Error 401 heißt Authorization Required. Und ich denke daran scheiter auch der Scrape.

Jap du hast recht, Google hat mich netterweise immer mit den uralten Login Daten angemeldet. Nun komme ich an der Stelle aber auch nicht weiter, auch wenn ich versuche einen Scrape Abruf mit Login Daten zu erstellen kriege ich keine Werte. Kann ich dir die Logins mal PM´en?

Erklär und doch anhand der Musterschule 10000000 was für Daten du auslesen willst. Probleme per PN lösen, bringt mMn nichts in einem öffentlichen Forum.
https://www.stundenplan24.de/10000000/mobil/

1 „Gefällt mir“

Ich habe es mit scrape zumindest geschafft, die Login-Daten einzugeben. Die Daten konnte ich aber trotzdem nicht abgreifen (Der Sensor brachte immer “unknown”).

ggf. kommt man über eine API Schnittstelle weiter, hier fehlt es mir aber am Wissen, wie man an die Daten kommt.

Siehe Link: Daten aus Stundenplan 24 auslesen und im HA anzeigen - Anleitung benötigt - Integrationen - simon42 Community

Das Problem am Scrape ist, dass die Webseite mit Javascript Inhalte nachliefert und somit aber der Link immer gleich bleibt. Ich würde behaupten, dass das mit Scrape nicht funktioniert.

Ja, das ist auch meine Beobachtung. Die Daten werden “nachträglich” immer “gezogen”. Okay, eigentlich will ich das Rad auch nicht neu erfinden. Es gibt ja (glaube) einige wrapper oder addons, die API Schnittstellen zur Verfügung stellen.

https://github.com/topics/stundenplan24

Mir gelingt dann aber die Einbindung in den Home Assistant nicht.
Über die Hilfe zu diesem nächsten Schritt wäre ich echt dankbar. Viele Grüße. Heiko

Wenn ich es richtig sehe dann liegen die Daten in einer xml vor
PlanKl20240617.xml
PlanKl20240618.xml
ändert sich je nach gewähltem Datum abgerufen bekomme ich dadurch aber auch nicht mehr

okay,
der 1. Schritt (Dateiname) wäre ja logisch (PlanKlyyyymmdd.xml)
Im 2. Schritt müsste man die Datei irgendwie in HomeAssistant “laden” und dann auswerten.

Kann jemand von den Fachleuten uns hier noch Helfen oder ist das Thema tot?

Bei der API bin ich raus. Ich nutze stundenplan24 nicht.

Funktioniert es evtl über einen iframe im Dashboard?
Ein Versuch ist es wert!?

Ja, das funktioniert.

Kann ich jetzt im nächsten Schritt, aus dieser eingebetteten Website Daten auswerten?
Zum Beispiel eine Benachrichtigung erzeugen, wenn sich etwas verändert (z.b. 1. Stunde fällt aus)

Aus einem IFrame geht das nicht.

Ich grabe mal das Thema wieder aus, weil ich mich auch gerade damit beschäftige.

Du machst nicht wirklich einen Fehler. Das Problem ist, dass du die gewünschte Klasse auswählen musst, die dann in einem Cookie gespeichert wird. Dies machst du, wenn du auf das “Haus”-Symbol klickst und die Klasse auswählst. Dann erhältst du auch Daten angezeigt.

Vermutlich wirst du da mit dem Scrapen der Webseite nicht weiter kommen und auf die XML-Datei zugreifen müssen, um diese auszuwerten. Diese findest du unter “vplan/vdaten/VplanKl.xml”. Hier wird sich dazu ausgetauscht.

Aktuell bin ich am basteln einer Lösung per NodeRed. Inzwischen bin ich so weit, dass ich die XML für einen bestimmten Tag abrufe und diese auswerte, ob es Änderungen für eine bestimmte Klasse gibt und welche. Das funktioniert auch schon, ist aber noch im Teststadium.

Das klingt nach einem guten Fortschritt. Wie sieht denn die Abfrage und die Benachrichtigung dann aus?

Wie die Abfrage aussieht, findest du hier:

In der XML findest du alle Angaben, die man nur auszuwerten muss. Geht wahrscheinlich auch direkt in HA über einen REST-Sensor, aber da bin ich raus. Deshalb mache ich es per NodeRed.

Hi Ich habe inzwischen eine eigene Custom-Integration für Stundenplan24 / den Indiware-Vertretungsplan erstellt.

Wer Interesse hat, kann sie gerne testen und mir Feedback geben. :blush:
Bei Bedarf stelle ich auch weitere Informationen zur Installation und Konfiguration bereit.