98_DSBMobile - Modul zur Abfrage des Vertretungsplans

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

Vorheriges Thema - Nächstes Thema

KernSani

Habe gerade noch ein PERL-Warning entdeckt und gefixt... Der eine Downloader der Version von vorhin, bitte nochmal downloaden. Sorry  :-[
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

mvatfhem

so, jetzt klappt es :)

Allerdings musste ich noch das use strict; kommentieren, da sonst folgende Meldung kam.


Bareword "UUID::Random::generate" not allowed while "strict subs" in use at ./FHEM/98_DSBMobile.pm line 135.


Über ein "Aufbohren" Deines tollen Modules wäre ich auch sehr erfreut  :D

Gruß Markus

KernSani

Freut mich, dass es klappt :)

Irgendwas ist bei dir aberkomisch ;-) Welche Perl-Version nutzt du denn?

Ich habe UUID::Random::generate mal weggeworfen und die Funktionalität im Modul selbst implementiert (ist von überschaubarer Komplexität).

Was würde dich denn interessieren (bez. "aufbohren"), wo könnte das Modul noch verbessert werden?

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

mvatfhem

Hallo  KernSani,

ich benutze die Perl Version von Debian 10 alias Buster, in Version 5.28.

Momentan bin ich schon super zufrieden  :) Wenn Du mal Zeit hast, könntest Du noch die Info des Tages integrieren und einen weblink für FTUI einbauen.

VG Markus

KernSani

Hi Markus,

Hmm, bei mir Perl 5.28 auf raspbian Buster... sollte eigentlich keinen großen Unterschied machen :-S (mal abgesehen von 64 vs. 32 bit)

Rein interessehalber: Was steht denn bei der in der Info des Tages drin? Bei mir steht da meistens sowas wie "Blockierte Räume: 101,104" oder "Abwesende Klassen: 8c"

FTUI habe ich leider keine Ahnung, aber lese ich mich vielleicht mal ein...

Grüße,

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

KernSani

Achso: Ich habe gerade ein Version bei mir im Testbetrieb, die dann doch regelmäßig (z.B. einmal pro Stunde) abfragt ob es was Neues gibt und nur dann synchronisiert... Kommt dann demnächst...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Zitat von: mvatfhem am 13 Januar 2020, 22:02:19
Momentan bin ich schon super zufrieden  :) Wenn Du mal Zeit hast, könntest Du noch die Info des Tages integrieren
Erledigt... ausserdem Aushänge, performance Verbesserungen, meta-Json, englische Commandref... neue Version im ersten Post
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

tpm88

Hallo KernSani,

danke für das DSB Modul. Funktioniert bei mir auf Anhieb - allerdings sind die Spalten teacherNew und teacherOld offenbar genau vertauscht??
Wahrscheinlich gehen hier in Bayern nicht nur die Uhren anders...

fhem> list dsb
Internals:
   CFGFN
   FUUID      5e404f57-f33f-7f16-7a73-5e800fe6ee54db2a
   FVERSION   98_DSBMobile.pm:v0.0.4-s000002/2020-01-04 TESTING
   NAME       dsb
   NR         1038
   STATE      ok
   TYPE       DSBMobile
   OLDREADINGS:
   READINGS:
     2020-02-09 19:37:06   lastCheck       2020-02-09 19:37
     2020-02-09 19:37:06   lastSync        2020-02-09 19:37
     2020-02-09 19:37:06   lastTTUpdate    2020-02-07 11:23
     2020-02-09 19:37:06   state           ok
     2020-02-09 19:37:06   ti0_sdate       2020-02-07
     2020-02-09 19:37:06   ti0_topic       Die Leseinsel bleibt heute in der 2. Pause geschlossen!!!
     2020-02-09 19:37:06   tt0_class       9gelb_I
     2020-02-09 19:37:06   tt0_comment     -
     2020-02-09 19:37:06   tt0_hour        1
     2020-02-09 19:37:06   tt0_roomNew     -
     2020-02-09 19:37:06   tt0_roomOld     -
     2020-02-09 19:37:06   tt0_sdate       2020-02-07
     2020-02-09 19:37:06   tt0_substof     -
     2020-02-09 19:37:06   tt0_substto     -
     2020-02-09 19:37:06   tt0_teacherNew  M
     2020-02-09 19:37:06   tt0_teacherOld  Vertretung
     2020-02-09 19:37:06   tt0_topicNew    311
     2020-02-09 19:37:06   tt0_topicOld    -
     2020-02-09 19:37:06   tt1_class       9gelb_I
     2020-02-09 19:37:06   tt1_comment     -
     2020-02-09 19:37:06   tt1_hour        2
     2020-02-09 19:37:06   tt1_roomNew     -
     2020-02-09 19:37:06   tt1_roomOld     -
     2020-02-09 19:37:06   tt1_sdate       2020-02-07
     2020-02-09 19:37:06   tt1_substof     -
     2020-02-09 19:37:06   tt1_substto     -
     2020-02-09 19:37:06   tt1_teacherNew  M
     2020-02-09 19:37:06   tt1_teacherOld  Vertretung
     2020-02-09 19:37:06   tt1_topicNew    311
     2020-02-09 19:37:06   tt1_topicOld    -
     2020-02-09 19:37:06   tt2_class       9gelb_I
     2020-02-09 19:37:06   tt2_comment     -
     2020-02-09 19:37:06   tt2_hour        4
     2020-02-09 19:37:06   tt2_roomNew     -
     2020-02-09 19:37:06   tt2_roomOld     -
     2020-02-09 19:37:06   tt2_sdate       2020-02-07
     2020-02-09 19:37:06   tt2_substof     -
     2020-02-09 19:37:06   tt2_substto     -
     2020-02-09 19:37:06   tt2_teacherNew  E
     2020-02-09 19:37:06   tt2_teacherOld  Betreuung
     2020-02-09 19:37:06   tt2_topicNew    311
     2020-02-09 19:37:06   tt2_topicOld    -
     2020-02-09 19:37:06   tt3_class       9gelb_I, 9orange, 9rot?9gelb_I, 9rot
     2020-02-09 19:37:06   tt3_comment     -
     2020-02-09 19:37:06   tt3_hour        5 - 6
     2020-02-09 19:37:06   tt3_roomNew     -
     2020-02-09 19:37:06   tt3_roomOld     -
     2020-02-09 19:37:06   tt3_sdate       2020-02-07
     2020-02-09 19:37:06   tt3_substof     -
     2020-02-09 19:37:06   tt3_substto     -
     2020-02-09 19:37:06   tt3_teacherNew  EvR
     2020-02-09 19:37:06   tt3_teacherOld  Betreuung
     2020-02-09 19:37:06   tt3_topicNew    307?302
     2020-02-09 19:37:06   tt3_topicOld    -
     2020-02-09 19:37:06   tt4_class       9gelb_I
     2020-02-09 19:37:06   tt4_comment     -
     2020-02-09 19:37:06   tt4_hour        2
     2020-02-09 19:37:06   tt4_roomNew     -
     2020-02-09 19:37:06   tt4_roomOld     -
     2020-02-09 19:37:06   tt4_sdate       2020-02-10
     2020-02-09 19:37:06   tt4_substof     -
     2020-02-09 19:37:06   tt4_substto     -
     2020-02-09 19:37:06   tt4_teacherNew  M
     2020-02-09 19:37:06   tt4_teacherOld  Statt-Vertretung
     2020-02-09 19:37:06   tt4_topicNew    311
     2020-02-09 19:37:06   tt4_topicOld    -
     2020-02-09 19:37:06   tt5_class       9gelb_I
     2020-02-09 19:37:06   tt5_comment     -
     2020-02-09 19:37:06   tt5_hour        3 - 4
     2020-02-09 19:37:06   tt5_roomNew     -
     2020-02-09 19:37:06   tt5_roomOld     -
     2020-02-09 19:37:06   tt5_sdate       2020-02-10
     2020-02-09 19:37:06   tt5_substof     -
     2020-02-09 19:37:06   tt5_substto     -
     2020-02-09 19:37:06   tt5_teacherNew  D
     2020-02-09 19:37:06   tt5_teacherOld  Betreuung
     2020-02-09 19:37:06   tt5_topicNew    311
     2020-02-09 19:37:06   tt5_topicOld    -
Attributes:
   dsb_class  9gelb
   dsb_password xxxxxxx
   dsb_user   yyyyyy
   room       DSB


Gruß
Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

KernSani

Hi Tobias,

kannst du mir den HTML-Quelltext des Vertretungsplanes anhängen? Dann kann ich mal schauen, was da anders ist, als bei mir... Bei mir läuft übrigens eine erweiterte Version der App, die auch die Aushänge ausliest und bez. Stabilität und Perfomance optimiert ist. Werde ich in den nächsten Tagen mal im ersten Post austauschen.

Danke,

Grüße,

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

tpm88

Hallo Oli,

ich habe die Vertretungsplan-Seite im Firefox via Speichern unter - Webseite komplett gespeichert und hier angehangen. Ist es das, was Du brauchst?

Danke & Gruß
Tobi
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

KernSani

Hi Tobi,

das hat leider nicht ganz das gewünschte Ergebnis gebracht:
1.) DSBMobile im Browser öffnen
2.) Auf den Vertretungsplan gehen
3.) Click mit rechter Maustaste auf den Vertretungsplan und "Frame-Quelltext anzeigen" (so heisst es in Chrome, FF sollte ähnlich sein)
4.) Das sollte den HTML-Quelltext anzeigen, der so beginnt:

<html><head><meta http-equiv="Content-Type" content="text/html;"><style type="text/css">

body { margin-top: 0px; margin-left: 20px; margin-right: 20px;
background: #fff; color: #272727; font: 80% Arial, Helvetica, sans-serif; }

h1 { color: #ee7f00; font-size: 150%; font-weight: normal;}
h1 strong { font-size: 200%; font-weight: normal; }
h2 { font-size: 125%;}

h1, h2 { margin: 0; padding: 0;}

th { background: #000; color: #fff; }
table.mon_list th, td { padding: 8px 4px;}


.mon_title
{

5.) Den gesamten Text markieren und in ein Textfile kopieren.

Alternativ kannst du auch das DSB Device in FHEM auf "verbose 5" stellen, eine Abfrage durchführen und mir anschließend das FHEM-Log schicken.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

tpm88

Hallo Oli!

Voila (siehe Anhang).

Danke & Gruß
Tobi
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

KernSani

#27
Zitat von: tpm88 am 10 Februar 2020, 17:49:09
Hallo Oli!

Voila (siehe Anhang).

Danke & Gruß
Tobi

Das ist ja interessant... Zum einen stelle ich fest, dass ihr die 2020er Version habt, ich habe noch die 2013er. Zum anderen ist der Spaltenaufbau komplett anders als bei uns... Ihr habt wesentlich weniger Spalten. Überrascht mich, dass da überhaupt noch was leidlich sinnvolles rauskommt.  Ich baue mal ein Attribut ein, mit dem man das flexibel gestalten kann... das wird aber vor dem Wochenende vermutlich nix.

Grüße,

Oli

Edit: Ich brauche ja garkein Attribut, ich muss nur die Spaltenüberschriften auslesen und daraus die readingnamen generieren... Die Frage ist, wie ich dann eine sinnvolle Ausgabe produziere...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

#28
Ich habe dann doch noch eine neue Version gebastelt... Die Readings werden nun dynamisch erzeugt, allerdings grüble ich noch, wie ich da eine vernünftige Ausgabe im weblink hinbekomme. Ideen sind willkommen :-)

Testversion im Anhang (diese enthält auch die oben angesprochenen Verbesserungen bez. Stabilität und liest auch die Aushänge)

Danke für's Testen :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Nochmals verbesserte Version (mit Ausgabeformatierung) hängt am ersten Post...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...