98_DSBMobile - Modul zur Abfrage des Vertretungsplans

Begonnen von KernSani, 06 Januar 2020, 20:22:44

Vorheriges Thema - Nächstes Thema

karpate

#45
Hallo,
ich konnte dsb erfolgreich definieren. Aber bei mir funktionieren zwei Dinge nicht:
1. das dsb_interval ist auf 3600 gesetzt. Doch leider wird keine Aktualisierung vorgenommen. Ein manuelles get timetable funktioniert dagegen einwandfrei.
2. ggf. liegt es dsb_class Attribute, aber es wird für den 2.3. die Einträge der 5c nicht abgeholt, obwohl vorhanden (siehe Screenshot)

Vielleicht hat mir jemanden einen Tipp...
Danke und Gruß


Internals:
   CFGFN     
   FUUID      5e50232a-f33f-c7cb-14bf-40e167e428a70437
   FVERSION   98_DSBMobile.pm:v0.0.4-s21240/2020-02-21 TESTING
   NAME       dsb
   NR         1334
   STATE      ok
   TYPE       DSBMobile
   OLDREADINGS:
   READINGS:
     2020-02-24 17:31:18   columnNames     Klasse_n_,Stunde,_Fach_,Fach,Raum,Text
     2020-02-24 17:31:16   i0_date         17.02.2020 07:10
     2020-02-24 17:31:16   i0_title        DSB-Aushang Spiele-AG
     2020-02-24 17:31:16   i0_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/1ab893c0-0886-4694-aa22-c51cd6a8be00/1ab893c0-0886-4694-aa22-c51cd6a8be00_000.png
     2020-02-24 17:31:16   i1_date         23.01.2020 11:48
     2020-02-24 17:31:16   i1_title        Teilnehmerliste Musicalausfahrt
     2020-02-24 17:31:16   i1_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/f2424a86-3ad3-4a00-a0fd-9ad9ed837d97/f2424a86-3ad3-4a00-a0fd-9ad9ed837d97_000.jpg
     2020-02-24 17:31:16   i2_date         23.01.2020 11:48
     2020-02-24 17:31:16   i2_title        Ankündigungsplakatx
     2020-02-24 17:31:16   i2_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/928a58cd-5a5c-4633-96bb-f49d0b99f2e9/928a58cd-5a5c-4633-96bb-f49d0b99f2e9_000.png
     2020-02-24 17:31:16   i3_date         20.02.2020 15:56
     2020-02-24 17:31:16   i3_title        7bx
     2020-02-24 17:31:16   i3_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/2b4307e4-d1f2-411b-a2bd-a9146334ce44/2b4307e4-d1f2-411b-a2bd-a9146334ce44_000.png
     2020-02-24 17:31:16   i4_date         20.02.2020 15:56
     2020-02-24 17:31:16   i4_title        Dok1x
     2020-02-24 17:31:16   i4_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/67ca3539-efef-4141-81b0-55499ea137ee/67ca3539-efef-4141-81b0-55499ea137ee_000.png
     2020-02-24 17:31:16   i5_date         20.02.2020 15:56
     2020-02-24 17:31:16   i5_title        Israelx
     2020-02-24 17:31:16   i5_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/488510ad-618f-4031-991a-23dd4a0ed628/488510ad-618f-4031-991a-23dd4a0ed628_000.png
     2020-02-24 17:31:16   lastCheck       2020-02-24 17:31
     2020-02-24 17:31:18   lastSync        2020-02-24 17:31
     2020-02-24 17:31:16   lastTTUpdate    2020-02-20 15:57
     2020-02-24 17:31:18   state           ok
     2020-02-24 17:31:18   ti0_sdate       2020-02-20
     2020-02-24 17:31:18   ti0_topic       Ethik Klasse 8: 1.+2. Std. in 313

   helper:
Attributes:
   dsb_class  5.*c
   dsb_interval 3600
   dsb_password ####
   dsb_user   ####
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

Hi Karpate,
zu 1.: Beim regelmäßigen Check holt das Modul nur neue Daten, wenn sich das Aktualisierungsdatum auf Serverseite geändert hat, d.h wenn es tatsächlich Änderungen gibt.
zu 2.: Miss ich mir später mal genauer anschauen. Auf den ersten Blick sollte das passen... Hast du mal nur mit ,,5c" im Attribut probiert?

Grüße,

Oli


Gesendet von iPhone mit Tapatalk
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Hi Karpate,
ich hab mir das Ganze nochmal angesehen und ein ähnliches Szenario bei mir durchgespielt. Kann keine Probleme entdecken... Kannst du den HTML Quelltext (so wie hier beschrieben: https://forum.fhem.de/index.php/topic,107104.msg1022923.html#msg1022923) anhängen?
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

karpate

Hi Oli,

1. Danke.
2. Ja versucht, auch mit "5c" werden keine Einträge angezeigt.
Habe dir den HTML Quelltext angehängt...

Danke und Gruß
Ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

Hi Ingo,

komischerweise werden bei mir auch mit deinem HTML-Quelltext die "5c" Einträge (egal ob als 5c oder 5.*c) korrekt extrahiert.
tt0_Fach --- 2020-02-25 14:06:44
tt0_Klasse_n_ 5c 2020-02-25 14:06:44
tt0_Raum --- 2020-02-25 14:06:44
tt0_Stunde 1 2020-02-25 14:06:44
tt0_Text - 2020-02-25 14:06:44
tt0__Fach_ E 2020-02-25 14:06:44
tt0_sdate 2020-03-02 2020-02-25 14:06:44
tt1_Fach LB 2020-02-25 14:06:44
tt1_Klasse_n_ 5c 2020-02-25 14:06:44
tt1_Raum 413 2020-02-25 14:06:44
tt1_Stunde 2 2020-02-25 14:06:44
tt1_Text Lernbox 2020-02-25 14:06:44
tt1__Fach_ D 2020-02-25 14:06:44
tt1_sdate 2020-03-02 2020-02-25 14:06:44
tt2_Fach E 2020-02-25 14:06:44
tt2_Klasse_n_ 5c 2020-02-25 14:06:44
tt2_Raum 413 2020-02-25 14:06:44
tt2_Stunde 3 2020-02-25 14:06:44
tt2_Text - 2020-02-25 14:06:44
tt2__Fach_ D 2020-02-25 14:06:44
tt2_sdate 2020-03-02 2020-02-25 14:06:44


Kannst du dein DSB Device auf verbose 4 setzen, get timetetable machen und die zugehörigen Logeinträge posten (wenn das nichts hilft müssen wir auf verbose 5 gehen, das möchte ich uns aber vorerst ersparen :D)

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

karpate

#50
Hi Oli,
Danke für deine Hilfe. Ich habe gleich mal ein Verbose 5 angehängt

Gruß Ingo

Edit: ups, sorry da hat der tag
gefehlt...ich habe es dir angehängt
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

Hmmm... da fehlt der interessante Teil. hat der Editor da evtl. was abgeschnitten? Vielleicht kannst du es als Textfile anhängen.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

#52
Zitat von: frankreed am 24 Februar 2020, 11:41:27
Hi,
Modul funktioniert wunderbar.
Eine kleine Anregung für die einfache HTML-Ausgabe:

Könnte man die Überschriften, die ich mit mit dem Attribut "dsb_OutputFormat" festgelegt habe, als Überschrift bei den einzelnen Tagen noch mit anzeigen lassen?
Und die einzelnen Spalten mit einem Tab etwas mehr "auseinanderziehen"? Momentan ist alles sehr gedrängt.

Sorry meine HTML-Kenntnisse sind sehr rudimentär....

Danke!

PS: Ob man das statt der HTML-Ausgabe auch als Readingsgroup hinbekommen würde bin ich mir sicher, aber das haut bei mir nicht hin.


Mit dem morgigen update steht eine weiter Funktion für den Weblink zur Verfügung, die eine "echte" Tabelle, mit Überschriften erzeugt.
Funktioniert genauso wie simpleHTML:

defmod dsb_web weblink htmlCode {DSBMobile_tableHTML("dsb",1)}

Unschön ist noch, dass die Überschriften den Reading-Namen entsprechen. Da lass ich mir noch was einfallen (z.B., dass die Original-Spaltenbezeichnungen übernommen werden)

Edit: Habe mir gerade deinen Post nochmal genauer durchgelesen... wahrscheinlich ist das jetzt nicht ganz das, was du willst... Schau's dir mal an und gib Feedback...

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

karpate

Zitat von: KernSani am 25 Februar 2020, 21:49:34
Hmmm... da fehlt der interessante Teil. hat der Editor da evtl. was abgeschnitten? Vielleicht kannst du es als Textfile anhängen.

Hi Oli,

siehe Datei in meinem vorherigen Post.

Danke
Ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

#54
Zitat von: karpate am 26 Februar 2020, 10:16:32
Hi Oli,

siehe Datei in meinem vorherigen Post.

Danke
Ingo

Oh, da habe ich deine Änderung verpasst... Dieses DSBMobile wird ja immer interessanter... Bei Dir gibt es pro Tag ein separate Seite? Bisher war ich davon ausgegangen, dass der Vertretungsplan für alle Tage auf einer Seite kommt... Da muss ich dann wohl noch einen Loop einbauen... Das könnte heute eng werden ;-) Aber ich hoffe ich kriege es hin, bevor die Ferien vorbei sind.

P.S.: Es hätte gereicht nur das DSB Device auf verbose 5 zu setzen ;-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Zitat von: KernSani am 26 Februar 2020, 23:06:05
Das könnte heute eng werden ;-) Aber ich hoffe ich kriege es hin, bevor die Ferien vorbei sind.
War dann doch nicht so komplex ;) Bitte mal angehängte Version probieren. In meinen konstruierten Tests hat es funktioniert, aber ich hätte gerne einen echten Test bevor ich die Version einchecke.
Danke,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

karpate

#56
Zitat von: KernSani am 27 Februar 2020, 00:41:19
War dann doch nicht so komplex ;) Bitte mal angehängte Version probieren. In meinen konstruierten Tests hat es funktioniert, aber ich hätte gerne einen echten Test bevor ich die Version einchecke.
Danke,

Oli

Hallo Oli,
war mir nicht bewußt das es nicht "normal" ist für jeden Tag eine eigene Seite zu haben ;)
Danke für die Testversion. Habe diese ausprobiert. Nach get timetable steht im Log jetzt eine Perlmeldung, die "zweite Seite" wird nicht angezeigt.
2020.02.27 06:28:30 1: PERL WARNING: Use of uninitialized value $ttpage in concatenation (.) or string at ./FHEM/98_DSBMobile.pm line 321.

Habe dir gleich ein Verbose des Devices noch angehängt  8)

Danke und Gruß Ingo

# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

Zitat von: karpate am 27 Februar 2020, 06:36:12
Hallo Oli,
war mir nicht bewußt das es nicht "normal" ist für jeden Tag eine eigene Seite zu haben ;)
Tja, dieses DSBMobile scheint sehr flexibel konfigurierbar sein... Die angehängte Version sollte jetzt auch die zweite (oder weitere) Seiten vernünftig extrahieren.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

karpate

Hallo Oli,

habe deine neue Version gerade getestet. Ich konnte keine Änderungen in den Readings festestellen.

Ein List und Verbose 5 habe ich angehängt.
Gruß Ingo

Internals:
   FUUID      5e50232a-f33f-c7cb-14bf-40e167e428a70437
   FVERSION   98_DSBMobile.pm:v0.0.4-s21278/2020-02-25 TESTING
   NAME       dsb
   NR         1254
   STATE      ok
   TYPE       DSBMobile
   OLDREADINGS:
   READINGS:
     2020-02-28 08:25:27   columnNames     Klasse_n_,Stunde,_Fach_,Fach,Raum,Text
     2020-02-27 15:57:29   error           https://www.dsbmobile.de/JsonHandler.ashx/GetData: Can't connect(2) to https://www.dsbmobile.de:443:  SSL wants a read first
     2020-02-28 08:25:24   i0_date         17.02.2020 07:10
     2020-02-28 08:25:24   i0_title        DSB-Aushang Spiele-AG
     2020-02-28 08:25:24   i0_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/1ab893c0-0886-4694-aa22-c51cd6a8be00/1ab893c0-0886-4694-aa22-c51cd6a8be00_000.png
     2020-02-28 08:25:24   i1_date         23.01.2020 11:48
     2020-02-28 08:25:24   i1_title        Teilnehmerliste Musicalausfahrt
     2020-02-28 08:25:24   i1_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/f2424a86-3ad3-4a00-a0fd-9ad9ed837d97/f2424a86-3ad3-4a00-a0fd-9ad9ed837d97_000.jpg
     2020-02-28 08:25:24   i2_date         23.01.2020 11:48
     2020-02-28 08:25:24   i2_title        Ankündigungsplakatx
     2020-02-28 08:25:24   i2_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/928a58cd-5a5c-4633-96bb-f49d0b99f2e9/928a58cd-5a5c-4633-96bb-f49d0b99f2e9_000.png
     2020-02-28 08:25:24   i3_date         20.02.2020 15:56
     2020-02-28 08:25:24   i3_title        7bx
     2020-02-28 08:25:24   i3_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/2b4307e4-d1f2-411b-a2bd-a9146334ce44/2b4307e4-d1f2-411b-a2bd-a9146334ce44_000.png
     2020-02-28 08:25:24   i4_date         20.02.2020 15:56
     2020-02-28 08:25:24   i4_title        Dok1x
     2020-02-28 08:25:24   i4_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/67ca3539-efef-4141-81b0-55499ea137ee/67ca3539-efef-4141-81b0-55499ea137ee_000.png
     2020-02-28 08:25:24   i5_date         20.02.2020 15:56
     2020-02-28 08:25:24   i5_title        Israelx
     2020-02-28 08:25:24   i5_url          https://app.dsbcontrol.de/data/2f655f00-f85f-4019-88f7-c80db0f84a18/488510ad-618f-4031-991a-23dd4a0ed628/488510ad-618f-4031-991a-23dd4a0ed628_000.png
     2020-02-28 08:25:24   lastCheck       2020-02-28 08:25
     2020-02-28 08:25:27   lastSync        2020-02-28 08:25
     2020-02-28 08:25:24   lastTTUpdate    2020-02-20 15:57
     2020-02-28 08:25:27   state           ok
     2020-02-28 08:25:27   ti0_sdate       2020-02-20
     2020-02-28 08:25:27   ti0_topic       Ethik Klasse 8: 1.+2. Std. in 313

   helper:
Attributes:
   dsb_class  5.*c
   dsb_interval 600
   dsb_password aagy
   dsb_user   163962
   group      Steuerung
   room       999_Status
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...