ical import hinter Login - WebUntis

Begonnen von Otto, 14 November 2018, 10:18:36

Vorheriges Thema - Nächstes Thema

rischbiter123

4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Wuehler

Probier mal den Anhang. Ist alles natürlich nicht fertig für den allgemeinen Gebrauch, aber vielleicht steigst du ja durch. Um den Namen der Schule herauszubekommen habe ich mich an der Schulwebseite angemeldet und mir im Browser angesehen, was passiert.

Noch sind 3 Variablen drin, die man nicht mit im Define angeben kann (Zeile 66-68). Den Schulnamen doppelt, da in der URL ein %20 für Leerzeichen drin sein muss, im JSON-Payload allerdings nicht.
Die formate habe ich in den Entwicklertools des Browsers aus den REST-Calls rausgelesen.

Define geht folgendermaßen:

define <name> HGW_Vertreter <url> <school>


url ist bei mir: cissa.webuntis.com

Falls das läuft kann ich dir noch ein wenig Infrastruktur-Devices (notify, telegram, ats) dazu geben.

rischbiter123

Moin,

habe es mir schon mal runtergeladen, komme aber erst am WE zum Testen. Schonmal Danke im Vorraus.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

andies

Mir fehlt anscheinend die Klasseninformation, wo gebe ich die ein:
Internals:
   CFGFN     
   DEF        klio.webuntis.com HansCarossa
   FUUID      5dd79b1b-f33f-1115-cb0e-1fd7c966f0e76689
   NAME       HCG
   NOTIFYDEV  global
   NR         502755
   NTFY_ORDER 50-HCG
   STATE      ?
   TYPE       HGW_Vertreter
   VERSION    0.1.0
   HGW_Vertreter:
     data       /data?school=HansCarossa
     eventPeriod 24
     interval   60
     updateStartTime 1574411035.06973
     url        https://klio.webuntis.com/WebUntis/monitor/
     activeDates:
       20191122   1
     klassen:
     messages:
   READINGS:
     2019-11-22 09:23:56   lastUpdate      22.11.2019 09:23:56
   httpParams:
     ignoreredirects 1
     loglevel   5
     method     POST
     noshutdown 0
     timeout    5
     hash:
     sslargs:
       SSL_verify_mode 0
   updateDispatch:
Attributes:
   stateFormat {return ReadingsVal($name,"vertreter_stand","?");}

Und gibt es da nicht auch ein Passwort und so?

Sonst ist der Aufruf beispielsweise
https://klio.webuntis.com/WebUntis/Ical.do?elemType=5&elemId=3139&rpt_sd=2019-11-24
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wuehler

scheint bei eurer Schule irgendwie anders zu sein. Versuches mal mit dem zweiten Parameter:
Hans-Carossa-%20OS

Google-Suche nach "webuntis Hans Carossa" gab folgenden Treffer:
https://klio.webuntis.com/WebUntis/?school=Hans-Carossa-%20OS#/basic/main

Bei uns sieht die Seite anders aus. Wenn man sich angemeldet hat kann man auff den Vertrutungsplan-Monitor kommen. Da habe ich in iFrames URLs gefunden, die sich auch ohne Login aufrufen ließen und so den Vertretungsplan ohne Login anzeigten. Diese URLs riefen dann REST-APIs auf. Den Payload den man mitschicken musste habe ich aus den Entwicklertools von Chrome kopiert (Zeilen 394 und 452).
Bei uns kommt dann kein iCal zurück sondern ein JSON-File. Das parse ich und stelle die Inhalte in FHEM zur Verfügung (nicht als Reading sondern als get ...).

andies

Da muss ich noch nacharbeiten:

2019.11.22 19:04:58 5: HCG (HGW_Vertreter_Notify) - executed.
2019.11.22 19:04:58 5: HCG: get called with ?.
2019.11.22 19:05:00 5: HCG (HGW_Vertreter_Notify) - executed.
2019.11.22 19:05:02 5: HCG: set called with update
2019.11.22 19:05:02 4: HCG: set update
2019.11.22 19:05:02 5: HCG (HGW_Vertreter_DoUpdate) - executed.
2019.11.22 19:05:02 5: HCG (HGW_Vertreter_GetClasses_Send) - executed.
2019.11.22 19:05:02 5: HCG (HGW_Vertreter_GetClasses_Send) - url: https://klio.webuntis.com/WebUntis/monitor/substitution/data?school=Hans-Carossa-%20OS
2019.11.22 19:05:02 5: HCG: get called with ?.
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetClasses_Receive) - executed. data:{"error":{"data":null,"code":-8520,"message":"access not allowed"}}
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetClasses_Receive) - Failed (without message)! - state:''
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetTickets_Send) - executed.
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetTickets_Send) - url: https://klio.webuntis.com/WebUntis/monitor/ticker/data?school=Hans-Carossa-%20OS
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetTickets_Receive) - executed. data:{"error":{"data":null,"code":-8520,"message":"access not allowed"}}
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_GetTickets_Receive) - Failed (without message)! - state:''
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_ProcessUpdate) - executed after 0.3974 seconds.
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_VertreterReadings) - executed.
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_SetHealthReadings) - executed.
2019.11.22 19:05:03 5: HCG (HGW_Vertreter_ProcessUpdate) - finished after 0.4302 seconds.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wuehler

Scheinbar geht es bei euch nicht ohne Login. Die Webseite sieht auch komplett anders aus als bei uns. Vielleicht gibt es bei euch keinen Monitor.

Ich bin bis Sonntag unterwegs, dann sende ich dir mal ein paar Links zu.

Otto

Hi,

ich hätte auch Interesse und so wie es aussieht gibt es bei unserer Schule auch keinen Monitor.
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

andies

Zitat von: Wuehler am 22 November 2019, 19:39:58
Scheinbar geht es bei euch nicht ohne Login.
Wäre nicht HTTPMOD ein geeignetes Device? Ich will mir das mal anschauen.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

amenomade

#54
Da waren schon erfolgreiche Einsetzungen mit HTTPMOD hier im Forum, sogar in diesem Thread https://forum.fhem.de/index.php/topic,93217.msg860265.html#msg860265
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

andies

Anscheinend wurde da wieder was geändert. Jetzt muss ich zuerst POSTen
POST /WebUntis/j_spring_security_check HTTP/1.1
Host: klio.webuntis.com
Connection: close
Content-Length: 76
Accept: application/json
X-CSRF-TOKEN: 54a22889-38bd-429b-ad88-b7fc15ea6610
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Origin: https://klio.webuntis.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://klio.webuntis.com/WebUntis/?school=Hans-Carossa-+OS
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID=117F21227BED4A73F907831FE68776A8; schoolname="_aGFucy1jYXJvc3NhLSBvcw=="

school=Hans-Carossa-%20OS&j_username=XXXXX&j_password=YYYYYY&token=

wobei Schulname fest kodiert ist, JSESSIONIS sollte immer jeweils anders sein. Die Antwort ist dann
...
{"switchUI":false,"state":"SUCCESS","switchLocale":false}
und dann kommen so etwa 15 responses, aber die Inhalte der nächste Schulstunden sind nicht darunter. Der notwendige Aufruf scheint zu sein
GET /WebUntis/api/public/timetable/weekly/data?elementType=5&elementId=3139&date=2020-10-04&formatId=3
Erst sehr weit unten stehen dann die Daten.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Otto

Bei mir läuft die Sache schon länger nicht mehr.

Ist alles zu hoch für mich, ich verfolge es trotzdem  ;)
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

enno

Moin zusammen,

hat das hier noch jemand im Betrieb? Ich wollte es bei mir einbauen aber das Rad nicht unbedingt neu erfinden.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC