Autor Thema: 98_DSBMobile - Modul zur Abfrage des Vertretungsplans  (Gelesen 4963 mal)

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« am: 06 Januar 2020, 20:22:44 »
Pünktlich zum Schulbeginn (zumindest für diejenigen bei denen heute noch Feiertag war  8) ) habe ich noch schnell ein Modul geschnitzt, dass den Vertretungsplan der DSBMobile-App - die an der Schule meines Sohnes verwendet wird (und wohl auch an einigen anderen Schulen zumindest in BaWü) -auszulesen.
Das Modul verwendet einige Module, die möglicherweise nicht auf eurem System vorhanden sind, die müssen ggf. über cpan installiert werden:

use IO::Compress::Gzip;   
use IO::Uncompress::Gunzip;
use MIME::Base64;
use HTML::TableExtract;


Define
define dsb DSBMobile
dann unbedingt die Attribute pflegen:
dsb_user und dsb_password sind die Logindaten der DSBMobile App
In dsb_class können die Klassen eingeschränkt werden, für die die Vertretungen abgerufen werden sollen. Ich würde das stark empfehlen, sonst werden es schnell ziemlich viele Readings. Hier kann eine Regex mitgegeben werden, zum einen um mehrere Klassen anzugeben (also sowas wie 5a|7b) aber auch, weil z.B. bei meiner Schule gerne Vertretungen (in Sport oder so) für die Klassen 5abc eingetragen werden. Das Modul würde das nicht finden, wenn als Klasse 5b gepflegt ist. Eine passende Regex könnte 5.*b lauten.

Der einzige Get-Befehl holt dann den Vertretungsplan ab. Dies ist bewusst nicht timer gesteuert, sondern sollte über ein at gemacht werden. Bei uns kommen die Updates meistens morgens um ca. 07:40 und dann nochmal nachmittags. Ich hole also einmal um 07:45 und einmal abends aktuelle Daten ab.
Über dsb_interval kann eingestellt werden, wie häufig neue Daten abgerufen werden sollen.

Das Teil legt eine Menge readings an, die nicht wirklich gut lesbar sind, daher gibt es noch eine (im ersten Schritt wirklich sehr einfach gehaltene) Funktion um einen Weblink anzulegen

define dsb_web weblink htmlCode {DSBMobile_simpleHTML("dsb")}


Ergebnis sieht dann irgendwie so aus:
Zitat
2019-12-20
08c, 5 - 6. Stunde(n) --- (---) statt WELZ (D) Entfall ---
2020-01-07
08c, 1. Stunde(n) ROLK (D) statt WELZ (D) --- ---
08c, 2. Stunde(n) HUMM (D) statt WELZ (D) --- ---

Kann man natürlich schöner machen ;-) Ich könnte mir auch vorstellen ein Mapping mit einzubauen, dass die Lehrerkürzel auf echte Namen und/oder Fächerkürzel auf Fächer mappt etc... Die App enthält auch noch andere Infos (wie z.B. News, oder auch "Info des Tages" im Vertretungsplan), die derzeit noch nicht ausgelesen werden.
Lasst mich wissen, falls ihr Interesse habt, dass das Dings aufgebohrt wird.

Update 25.01.: Mittlerweile werden auch die "Infos des Tages" abgerufen (diese können im Weblink mit einem optionalem zweitem Parameter eingeblendet werden, siehe Commandref). Ausserdem werden auch die "Aushänge" abgerufen und können mittels eines zweiten Weblinks (DSBMobile_infoHTML($name)) angezeigt werden.

Update 11.02.: In Bayern ticken die Vertretungspläne anders (und möglicherweise nicht nur da). Die Readings werden nun dynamisch aufgrund der im Vertretungsplan vorhandenen Spalten abgefragt. Das macht die Ausgabe etwas schwieriger, weil das Modul ja jetzt nicht weiß, welche Readings kommen. Daher gibt es jetzt ein Attribut "dsb_outputFormat", indem die Readings als Platzhalter eingebaut werden können. In meinem Fall sieht das so aus:
%Klasse_n_% %Stunde%. Stunde %Vertreter% (%Fach%, %Raum%) statt %_Lehrer_% (%_Fach_%, %_Raum_%) %Vertr._von% %_Le.__nach% %Vertretungs-Text%Zusätzlich gibt es auch noch das Attribut "dsb_classReading". Dieses muss gesetzt werden, falls die Spalte mit der Klassenangabe nicht "Klasse(n)" heißt (das ist aber auch in Bayern so).
Ausserdem habe ich noch ein paar kleinere Verbesserungen und Optimierungen vorgenommen:
* die "Info des Tages" jetzt auch angezeigt, wenn für den fraglichen Tag keine Vertretungen vorhanden sind
* wenn über den Get-Befehl die Daten abgeholt werden, wird nichtmehr geprüft ob neue Daten vorhanden sind, sondern es wird auf jeden Fall neu geladen, ebenso werden die Daten auf jeden Fall neu geladen (beim nächsten Timer oder manuellem Get) wenn das "dsb_class" oder "dsb_classReading" geändert wurden.
* ein/zwei Bugs ausgebaut ;-)
Update 12.02.: Kleinen Bug gefixt (Perl-Warnung im Log, wenn keine Vertretungs-Daten gefunden werden)
Update 14.02.: Noch eine Perl-Warnung gefixt, Commandref auf deutsch ergänzt und das Ganze ins SVN eingecheckt, d.h. DSBMobile steht ab morgen mit dem regulären FHEM-Update zur Verfügung.
« Letzte Änderung: 14 Februar 2020, 23:02:36 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #1 am: 09 Januar 2020, 22:47:30 »
Hallo,

ich bin an dem Modul sehr interessiert. Leider bekomme ich es nicht zum Laufen. Die Perl Module müssten per Debian Buster repo eigentlich alle installiert sein.

Beim define des Moduls bekomme ich folgende Fehlermeldung:

2020.01.09 22:42:25 1: PERL WARNING: Backslash found where operator expected at ./FHEM/98_DSBMobile.pm line 157, near "gzip \"
2020.01.09 22:42:25 1: PERL WARNING: (Do you need to predeclare gzip?)
2020.01.09 22:42:25 1: PERL WARNING: Backslash found where operator expected at ./FHEM/98_DSBMobile.pm line 192, near "gunzip \"
2020.01.09 22:42:25 1: PERL WARNING: (Do you need to predeclare gunzip?)
2020.01.09 22:42:25 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 157, near "gzip \"
syntax error at ./FHEM/98_DSBMobile.pm line 192, near "gunzip \"

2020.01.09 22:42:25 0: syntax error at ./FHEM/98_DSBMobile.pm line 157, near "gzip \"
syntax error at ./FHEM/98_DSBMobile.pm line 192, near "gunzip \"

Viellleicht hast Du einen Tip für mich.

Gruß Markus

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5293
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #2 am: 09 Januar 2020, 22:50:48 »
sudo apt install gzip ?
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #3 am: 09 Januar 2020, 22:59:55 »
Danke für Deinen Tip, aber gzip ist installiert und libio-compress-perl, libperlio-gzip-perl ebenso.

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #4 am: 10 Januar 2020, 00:18:15 »
was macht cpan install IO::Compress::Gzip?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5293
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #5 am: 10 Januar 2020, 00:22:50 »
Nw ist IO::Compress::Gzip Teil von libio-compress-perl, und das hat er installiert.
https://packages.debian.org/de/sid/libio-compress-perl

Das Problem scheint aber eher von den Backslashes zu kommen
« Letzte Änderung: 10 Januar 2020, 00:25:01 von amenomade »
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #6 am: 10 Januar 2020, 00:37:08 »
Möglicherweise war es auch ein ganz anderes Problem... Kannst du mal die am ersten Post angehängte Datei probieren?
« Letzte Änderung: 10 Januar 2020, 22:19:10 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #7 am: 10 Januar 2020, 22:22:15 »
Ich habe nochmal etwas nachgeforscht, was das "Do you need to predeclare..." verursachen könnte und predeclare gzip und gunzip jetzt. Mir ist ein Rätsel, warum das bei mir funktioniert und bei dir nicht, kann aber mit perl-Version, lib-Version und/oder Betriebssystem zusammenhängen. Auf jeden Fall wäre ich dankbar, @mvatfhem wenn du mit der Version im ersten Post nochmal testen könntest.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #8 am: 10 Januar 2020, 23:27:57 »
Schönen guten Abend,

ich habe die andere Version von KernSani probiert. Das Problem bleibt das Gleiche, ebenso die Fehlermeldung. Die benötigten Perl Module habe ich alle per apt installiert, also nicht über cpan. OS ist Debian Buster. Wenn ich die Backslashes entferne dann wird das Module geladen. Danach habe ich dsb_user und dsb_password  eingegeben. Ein get dsb timetable lässt fhem dann aber gnadenlos abstürzen.

Gruß Markus

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #9 am: 10 Januar 2020, 23:53:51 »
Hi Markus,

wenn du die backslashes entfernst, versucht gzip ein file zu öffnen, das es nicht gibt. gzip verlangt in diesem Fall zwingend eine Referenz (also mit \). Daher ist der Absturz ohne \ vorhersehbar... Hast du die Version, die im ersten Post angehängt ist probiert, oder die, die ich gestern (bzw. heute) um 00:37:08 in einem separaten Post angehängt hatte?
 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #10 am: 11 Januar 2020, 00:22:51 »
ich habe beide ausprobiert. Die Fehlermeldung von der Datei mit 11.405 Bytes.

2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Initialize redefined at ./FHEM/98_DSBMobile.pm line 48.
2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Define redefined at ./FHEM/98_DSBMobile.pm line 63.
2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Undefine redefined at ./FHEM/98_DSBMobile.pm line 85.
2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Notify redefined at ./FHEM/98_DSBMobile.pm line 91.
2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Set redefined at ./FHEM/98_DSBMobile.pm line 104.
2020.01.11 00:20:40 1: PERL WARNING: Subroutine DSBMobile_Get redefined at ./FHEM/98_DSBMobile.pm line 110.
2020.01.11 00:20:40 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 160, near "gzip \"
syntax error at ./FHEM/98_DSBMobile.pm line 195, near "gunzip \"

2020.01.11 00:20:40 0: syntax error at ./FHEM/98_DSBMobile.pm line 160, near "gzip \"
syntax error at ./FHEM/98_DSBMobile.pm line 195, near "gunzip \"

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5293
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #11 am: 11 Januar 2020, 00:50:10 »
Ich habe ein bisschen experimentiert. Es scheint, dass Perl (5.24 bei mir) ein anderes gzip nutzt (das vom system?). Warum... weiss ich (noch?) nicht.
Dieses einfache Programm bringt den gleichen Fehler:
use IO::Compress::Gzip;
use IO::Uncompress::Gunzip;
my $input = "this is my text";
my $output;
gzip \$input => \$output;
print "$output\n";
pi@pivirtual:~ $perl test.pl
Backslash found where operator expected at test.pl line 5, near "gzip \"
           (Do you need to predeclare gzip?)
Syntax error at test.pl line 5, near "gzip \"
Execution of test.pl aborted due to compilation errors.

Aber wenn man "gzip" durch "IO::Compress::Gzip::gzip" ersetzt, geht es.
Dieses Programm funktioniert:
use IO::Compress::Gzip;
use IO::Uncompress::Gunzip;
my $input = "this is my text";
my $output;
IO::Compress::Gzip::gzip \$input => \$output;
print "$output\n";

Also im Modul überall wo gzip und gunzip benutzt werden, mit entspr. Modulname explizit ergänzen, z.B.:
    gzip \$json => \$zip;eher
    IO::Compress::Gzip::gzip \$json => \$zip;Sollte als Workaround funktionieren

« Letzte Änderung: 11 Januar 2020, 01:30:15 von amenomade »
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #12 am: 11 Januar 2020, 01:00:38 »
Cool. Danke. Passe ich irgendwann am Wochenende an:D


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

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5293
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #13 am: 11 Januar 2020, 01:49:03 »
Komischerweise geht es auch bei mir mit:
use IO::Compress::Gzip qw(gzip);
use IO::Uncompress::Gunzip qw(gunzip);
my $input = "this is my text";
my $output;
gzip \$input => \$output;
print "$output\n";
gunzip \$output => \$input;
print "$input\n";
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #14 am: 11 Januar 2020, 14:03:42 »
Ich habe amenomades workaround eingebaut und ein paar kleiner Optimierungen vorgenommen.
Der HTML-Output ignoriert jetzt Tage in der Vergangenheit.
Aktuelle Version hängt am ersten Post.

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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #15 am: 11 Januar 2020, 14:21:51 »
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, ...

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #16 am: 11 Januar 2020, 17:58:53 »
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #17 am: 11 Januar 2020, 22:35:56 »
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, ...

Offline mvatfhem

  • New Member
  • *
  • Beiträge: 9
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #18 am: 13 Januar 2020, 22:02:19 »
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #19 am: 13 Januar 2020, 22:28:11 »
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, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #20 am: 13 Januar 2020, 22:29:55 »
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, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #21 am: 25 Januar 2020, 23:15:09 »
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, ...

Offline tpm88

  • Full Member
  • ***
  • Beiträge: 430
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #22 am: 09 Februar 2020, 19:57:59 »
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #23 am: 09 Februar 2020, 22:19:45 »
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, ...

Offline tpm88

  • Full Member
  • ***
  • Beiträge: 430
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #24 am: 10 Februar 2020, 17:01:27 »
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #25 am: 10 Februar 2020, 17:17:15 »
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, ...

Offline tpm88

  • Full Member
  • ***
  • Beiträge: 430
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #26 am: 10 Februar 2020, 17:49:09 »
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #27 am: 10 Februar 2020, 22:04:33 »
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...
« Letzte Änderung: 10 Februar 2020, 22:07:19 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #28 am: 11 Februar 2020, 00:00:33 »
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 :-)
« Letzte Änderung: 11 Februar 2020, 22:47:09 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #29 am: 11 Februar 2020, 22:47:43 »
Nochmals verbesserte Version (mit Ausgabeformatierung) hängt am ersten Post...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline tpm88

  • Full Member
  • ***
  • Beiträge: 430
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #30 am: 12 Februar 2020, 18:33:59 »
Hallo Oli,

vielen Dank für die neue Version - sieht gut für mich aus.

Ich habe das dsb_outputFormat wie folgt gesetzt (Bayern):
%Klasse_n_%: %Stunde%. Stunde %Art% statt %Fach% in Raum %Raum%. Text: %Text%
Ausgabe sieht dann so aus:
2020-02-12
9gelb_I: 1 - 2. Stunde Betreuung statt Sm in Raum SVNPL. Text: -
9gelb_I: 5. Stunde Betreuung statt E in Raum 311. Text: -
2020-02-13
9gelb_I: 1 - 2. Stunde Vertretung statt M in Raum 311. Text: -
9gelb_I: 5. Stunde Vertretung statt IT in Raum P12. Text: -
9gelb_I: 6. Stunde Vertretung statt IT in Raum P12. Text: -

...
* die "Info des Tages" jetzt auch angezeigt, wenn für den fraglichen Tag keine Vertretungen vorhanden sind
...

Hmm - bei mir wird keine "Info des Tages angezeigt", obwohl folgende Readings da sind:

ti0_topic

Die Bewegte Pause entfällt heute in der 2. Pause.
Die Leseinsel bleibt heute in der Mittagspause geschlossen.

2020-02-12 18:14:05

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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #31 am: 12 Februar 2020, 21:33:07 »
Das sieht ja ganz gut aus (finde ich). 

Hmm - bei mir wird keine "Info des Tages angezeigt", obwohl folgende Readings da sind:
Der simpleHtml-Funktion kann ein zweiter, optionaler Parameter übergeben werden, Wert ist egal (also z.B. "zeigeInfoDesTages" oder einfach "1"), dann wird die Info mit angezeigt.

Mir ist noch ein kleiner Bug aufgefallen, wenn keine Vertretungs-Daten vorhanden sind (gefixte Version im 1. Post).

Wenn du noch weitere Wünsche hast, immer gerne :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #32 am: 14 Februar 2020, 23:03:49 »
nochmals aktualisierte Version ins SVN eingecheckt. Steht ab morgen mit regulärem FHEM Update zur Verfügung.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #33 am: 20 Februar 2020, 14:50:50 »
Hi,

gerade dein Modul entdeckt...
Installiert ... kommt aber nix an :-)

Ich hab dir mal die html und screenshots dazu gepackt..

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #34 am: 20 Februar 2020, 17:40:53 »
Hallo,

bei mir kommt der folgende Fehler:
PERL WARNING: Subroutine DSBMobile_Set redefined at ./FHEM/98_DSBMobile.pm line 117.
2020.02.20 17:33:56 1: PERL WARNING: Subroutine DSBMobile_Get redefined at ./FHEM/98_DSBMobile.pm line 123.
2020.02.20 17:33:56 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

2020.02.20 17:33:56 0: syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.


Hab' ich ein perl-Modul vergessen? Die im ersten Post benötigten habe ich per apt installiert.....
Danke für die Hilfe

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #35 am: 20 Februar 2020, 17:44:23 »
@raiderxxl: Oh Mann, das ist schon wieder anders formatiert... Das DSB-Dingens scheint da recht flexibel zu sein. Bei dir kommen die Daten nach Klasse gruppiert, dadurch gibt es keine Spalte "Klasse(n)" auf die die regex matchen könnte. Das macht es nicht einfacher zu parsen... Heute komme ich nicht dazu, aber morgen müsste ich Zeit haben, mir das im Detail anzusehen...

Edit: Vielleicht solltest du den Screenshot (mit user etc...) entfernen.

 
« Letzte Änderung: 20 Februar 2020, 18:09:19 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #36 am: 20 Februar 2020, 17:51:02 »
Hallo,

bei mir kommt der folgende Fehler:
PERL WARNING: Subroutine DSBMobile_Set redefined at ./FHEM/98_DSBMobile.pm line 117.
2020.02.20 17:33:56 1: PERL WARNING: Subroutine DSBMobile_Get redefined at ./FHEM/98_DSBMobile.pm line 123.
2020.02.20 17:33:56 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

2020.02.20 17:33:56 0: syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.


Hab' ich ein perl-Modul vergessen? Die im ersten Post benötigten habe ich per apt installiert.....
Danke für die Hilfe
JSON sollte eigentlich default-mäßig gehen. Probier mal JSON::XS zu installieren
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #37 am: 20 Februar 2020, 18:45:07 »
Mmmmmm.....

Habe jetzt mal JSON:XS nachinstalliert und fhem neu gestartet.
Jetzt sieht es so aus:
2020.02.20 18:41:19 1: PERL WARNING: Backslash found where operator expected at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
2020.02.20 18:41:19 1: PERL WARNING: (Do you need to predeclare encode_json?)
2020.02.20 18:41:19 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

2020.02.20 18:41:19 0: syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

Geht also nicht.

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #38 am: 20 Februar 2020, 18:50:59 »
Bist du
Mmmmmm.....

Habe jetzt mal JSON:XS nachinstalliert und fhem neu gestartet.
Jetzt sieht es so aus:
2020.02.20 18:41:19 1: PERL WARNING: Backslash found where operator expected at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
2020.02.20 18:41:19 1: PERL WARNING: (Do you need to predeclare encode_json?)
2020.02.20 18:41:19 1: reload: Error:Modul 98_DSBMobile deactivated:
 syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

2020.02.20 18:41:19 0: syntax error at ./FHEM/98_DSBMobile.pm line 173, near "encode_json \"
Global symbol "$json" requires explicit package name (did you forget to declare "my $json"?) at ./FHEM/98_DSBMobile.pm line 174.

Geht also nicht.


Schreib mal im Modul ganz oben noch ein
use JSON::XS qw( encode_json decode_json );rein und probiere nochmal einen reload
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #39 am: 20 Februar 2020, 20:59:20 »
Keine Hektik  hier...  ich hab Zeit  8)

User muss ich nicht löschen der ist öffentlich bekannt... gibt nur diesen für die Schule.


Grüßle


Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #40 am: 21 Februar 2020, 01:31:44 »
Ok, done. Beide Probleme sollten mit dem morgigen Update gelöst sein.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #41 am: 21 Februar 2020, 07:21:49 »
Hallo,
danke erst einmal für den schnellen Fix. Ich probier' ihn heute abend mal aus und gebe Rückmeldung.
Grüße

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #42 am: 21 Februar 2020, 18:10:09 »
Modul geht mit dem Fix!
Danke!

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #43 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.


Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #44 am: 24 Februar 2020, 13:27:13 »
Ok, done. Beide Probleme sollten mit dem morgigen Update gelöst sein.

Funktioniert DANKE!

Grüßle
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #45 am: 24 Februar 2020, 17:40:49 »
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   ####
« Letzte Änderung: 24 Februar 2020, 17:55:35 von karpate »
# Pi3 (BBB;FB7390)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #46 am: 24 Februar 2020, 20:26:14 »
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, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #47 am: 24 Februar 2020, 22:26:41 »
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, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #48 am: 25 Februar 2020, 05:25:39 »
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)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #49 am: 25 Februar 2020, 14:13:32 »
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, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #50 am: 25 Februar 2020, 20:27:05 »
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
« Letzte Änderung: 26 Februar 2020, 10:15:53 von karpate »
# Pi3 (BBB;FB7390)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #51 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.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #52 am: 26 Februar 2020, 00:00:19 »
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...

 
« Letzte Änderung: 26 Februar 2020, 00:08:18 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #53 am: 26 Februar 2020, 10:16:32 »
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)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #54 am: 26 Februar 2020, 23:06:05 »
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 ;-)
« Letzte Änderung: 26 Februar 2020, 23:10:37 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #55 am: 27 Februar 2020, 00:41:19 »
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, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #56 am: 27 Februar 2020, 06:36:12 »
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

« Letzte Änderung: 27 Februar 2020, 06:38:27 von karpate »
# Pi3 (BBB;FB7390)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #57 am: 27 Februar 2020, 20:29:51 »
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, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #58 am: 28 Februar 2020, 08:30:43 »
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)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #59 am: 28 Februar 2020, 20:22:14 »
Oh Mann, doofer Fehler... jetzt aber :)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline karpate

  • Full Member
  • ***
  • Beiträge: 285
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #60 am: 28 Februar 2020, 21:29:50 »
Oh Mann, doofer Fehler... jetzt aber :)

Hi Oli,
cool, ich sehe die Vertretungen für den 02.03.2020.
Vielen Dank für deine Hartnäckigkeit ;)

Versendest du z.B. per Telegram die Readings?

Gruß Ingo
# Pi3 (BBB;FB7390)
# EUL TCM310: FSA12,FSB12,F4H12 (EnOcean)
# CUL V4: ESA2000 LED
# HM-CFG-LAN: KFM100S,HM-LC-SW4-PCB,HM-SEC-RHS,HM-LC-Sw1-FM,HM-LC-Bl1-FM
# JeeLink: 4xPCA301

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #61 am: 28 Februar 2020, 23:01:25 »
Versendest du z.B. per Telegram die Readings?
Nein, ich habe aktuelle Vertretungen nur neben Terminen (Google Kalender) etc... auf meiner FHEM-Startseite (auch am Wandtablet), damit übersehe ich sie eigentlich nicht, und mein Sohn schaut sowieso ständig drauf :D
Zum Versenden würde sich wahrscheinlich besser die Rückgabe der simpleHTML (oder tableHTML)-Funktion eignen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #62 am: 02 März 2020, 07:53:47 »
Mal noch ne doofe frage...
Kann das Modul auch ne zweite Seite? (Heute /Morgen) Denn bei uns enthält der Vertretungsplan immer 2 Tage?

Ich sehe zum Bleistift keine Benachrichtigung obwohl für morgen was drin steht...

Daten sind im #33 zu sehen...

Grüßle

Pascal



FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #63 am: 02 März 2020, 07:58:47 »
Mal noch ne doofe frage...
Kann das Modul auch ne zweite Seite? (Heute /Morgen) Denn bei uns enthält der Vertretungsplan immer 2 Tage?

Ich sehe zum Bleistift keine Benachrichtigung obwohl für morgen was drin steht...

Daten sind im #33 zu sehen...

Grüßle

Pascal
Guck mal meinen vorletzten Post, da hängt eine Version dran, die auch mehrere Seiten kann.


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

Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #64 am: 02 März 2020, 08:24:51 »
Hi,

gerade geladen FHEM neu gestartet... ändert aber nix

Bei mir war ja auch das Problem das es keine Zeile mit Klassen gab... da war ne extra Zeile dazwischen....

2020.03.02 08:22:26 5:  [dsb] Arguments (in json) to encode'{"OsVersion":"27 8.1.0","AppId":"15ec8374-58ca-b84f-381c-87bc9aa6aa10","PushId":"","BundleId":"de.heinekingmedia.dsbmobile","UserId":"231801","appversion":"2.5.9","Date":"2020-03-02T08:22:26.999+0100","LastUpdate":"2020-03-02T08:22:26.999+0100","UserPw":"mobileLUS","Language":"de","Device":"Nexus 4"}'

2020.03.02 08:22:26 5:  [dsb] 1st nonblocking HTTP Call starting
2020.03.02 08:22:27 5:  [dsb] 1st nonblocking HTTP Call returning
2020.03.02 08:22:27 5:  [dsb] GetData - received {"d":"H4sIAAAAAAAEAO1ZzW7bOBC+L7DvIOhcWhRN/eXWTbdAgCQI4gB7WBQFRVK2EJkyLKrZRdC32TfZF1vKtBVJplRbdQJ0ax5iY4bzw2/GnBnm+ddfLMu+50WZSZozbl9Y8F2DNpNElsWVSHLFsW3NUsS1vBKM/6WIwG3uv+GivJJ8WSjOnxXdsp71h9qyE9EWNInm4joVjy/aN+SHVGaVL0pkQTLJG6zLRZqxhvqWiZYZ912b3DC1kHJVXDgOWa0mrIgVR67zbMK4U6gDp9Qhgq3zlKWKUzgPacaLyUrM7bbG2sv3ZbH49x8x550N93kuFb/lXuUJax93S/5AJDcyajv7IlySNDMLkXlhZFzm4uHvFW/FYcu6W6e5ib4fuIFg6PXcJdTnRtT3fRzFIAxwBDBKCAhDHoIkiAIPJQH0Itp1uoUPdCdwOkEQQcuNLjzXuLnG7C7PUpk+mjX2wjcIYQdGZGL3QKlx6IFT6+2FtFoGWLXK74JWg3EEvBqeAyDWmmuY+393jEjiID+I4TRwQeRiF2DIYhBN3RCg2I89PE18z2XOIYd0BH8qJgu5zPq9HwiuDkQdYL9vy0CQdVQGAq1t1MH+1G+Df0n50ya8J4NnpZVu7jST3a9Gb87Jd06+t0i+faLJwaZze3r2E7i/IMXIC0OIEUBhwgDGQQQijCIQcBpDj+LYS/BwQUJ10sLgAqHhgnSLsPUHl5KvrXs+T3NBjHnyvytOY2HWYBwBtYbnSLi1lb27ghK64KhzXXys+kHH3S5g+LNbziGHdp44kQu+/jmvjIMQepMro03oyvfKtq+aXojsGy4XObsly01ayiqHOuPCLX+6zEsh9yJgz8gXfk2KzThWict1yV82ND0wj0Iddd8zCi3VbyTO+NA4dJepYeg8C9Wrv/SEnhsRBilAHvMA9vFUJb/PAfO9CGLKPUaTY0pPNFx6Psx+s5Z5rFLvp6g4Y9HVYByBsIZnh3JRxoX8DFUrqy70N+pLDzmqc5hjRxSa6Y9UaA6C6DUGo3MamtMQndNwdBr+gP3OtnE4Vc+z+/pitWOx8WZsNDJgYHfE/afrlzflbz5dz1S/JNN5s8s74vH6ZB3bTM0+qZgPvl//nipXeZaVYs6FPSq+xdbM6PAmJCuO6mlP9rz/kXMWE/o4hNBuzzhwErP0K4KDTgXO+zgv5RAym/8NjUKFVKrfDpLpqSC5zuffwETvGIdKZpIdD8urXpPVh1asTkeE4FlrmrJvFG5ESN0GBZRA7KnxHnrVoB9QF4ShmwBMMaQQJknshqrQfP0PY8++JZMcAAA="}
2020.03.02 08:22:27 5:  [dsb] JSON received: {
  'Resultcode' => 0,
  'StartIndex' => -1,
  'ChannelType' => 0,
  'ResultStatusInfo' => '',
  'MandantId' => '7ca04579-05fd-47c1-881f-4c40c00ffb18',
  'ResultMenuItems' => [
                         {
                           'Title' => 'Inhalte',
                           'NewCount' => 0,
                           'IconLink' => '',
                           'Childs' => [
                                         {
                                           'Title' => "Aush\x{c3}\x{a4}nge",
                                           'Index' => 1,
                                           'MethodName' => 'tiles',
                                           'Root' => {
                                                       'Id' => '',
                                                       'Tags' => '',
                                                       'Detail' => '',
                                                       'Title' => '',
                                                       'ConType' => 0,
                                                       'Index' => 0,
                                                       'Date' => '',
                                                       'Childs' => [
                                                                     {
                                                                       'Date' => '01.03.2020 19:51',
                                                                       'Childs' => [
                                                                                     {
                                                                                       'Detail' => 'https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/2c66649b-8749-42fa-88e8-f79752f7059c/news.html',
                                                                                       'ConType' => 6,
                                                                                       'Title' => 'Politik',
                                                                                       'Index' => 0,
                                                                                       'Id' => '2c66649b-8749-42fa-88e8-f79752f7059c',
                                                                                       'Tags' => '',
                                                                                       'Prio' => 0,
                                                                                       'Preview' => '267b0371-9141-40db-9318-2b6b543f651d/2c66649b-8749-42fa-88e8-f79752f7059c/preview.png',
                                                                                       'Childs' => [],
                                                                                       'Date' => '01.03.2020 19:51'
                                                                                     },
                                                                                     {
                                                                                       'Date' => '01.03.2020 19:51',
                                                                                       'Childs' => [],
                                                                                       'Preview' => '267b0371-9141-40db-9318-2b6b543f651d/2c66649b-8749-42fa-88e8-f79752f7059c/preview.png',
                                                                                       'Prio' => 0,
                                                                                       'Tags' => '',
                                                                                       'Id' => '2c66649b-8749-42fa-88e8-f79752f7059c',
                                                                                       'Index' => 0,
                                                                                       'Title' => 'Politik',
                                                                                       'Detail' => 'https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/2c66649b-8749-42fa-88e8-f79752f7059c/news.html',
                                                                                       'ConType' => 6
                                                                                     }
                                                                                   ],
                                                                       'Prio' => 0,
                                                                       'Preview' => '',
                                                                       'Id' => '2c66649b-8749-42fa-88e8-f79752f7059c',
                                                                       'Tags' => '',
                                                                       'Title' => 'Politik',
                                                                       'Detail' => '',
                                                                       'ConType' => 2,
                                                                       'Index' => 0
                                                                     },
                                                                     {
                                                                       'Childs' => [
                                                                                     {
                                                                                       'Date' => '02.03.2020 07:22',
                                                                                       'Childs' => [],
                                                                                       'Prio' => 0,
                                                                                       'Preview' => '267b0371-9141-40db-9318-2b6b543f651d/b2588042-28fd-4479-9429-7ecb05c4b5f4/preview.png',
                                                                                       'Id' => 'b2588042-28fd-4479-9429-7ecb05c4b5f4',
                                                                                       'Tags' => '',
                                                                                       'Detail' => 'https://cache2.dsbcontrol.de/Files/11111111-1111-1111-1111-111111111111/b2588042-28fd-4479-9429-7ecb05c4b5f4/weather.html',
                                                                                       'Title' => 'N24 Wetter Regional',
                                                                                       'ConType' => 6,
                                                                                       'Index' => 0
                                                                                     }
                                                                                   ],
                                                                       'Date' => '02.03.2020 07:22',
                                                                       'Prio' => 0,
                                                                       'Preview' => '',
                                                                       'Detail' => '',
                                                                       'ConType' => 2,
                                                                       'Title' => 'N24 Wetter Regional',
                                                                       'Index' => 0,
                                                                       'Id' => 'b2588042-28fd-4479-9429-7ecb05c4b5f4',
                                                                       'Tags' => ''
                                                                     }
                                                                   ],
                                                       'Prio' => 0,
                                                       'Preview' => ''
                                                     },
                                           'SaveLastState' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                                           'NewCount' => 0,
                                           'Childs' => [],
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/Tiles.png'
                                         },
                                         {
                                           'Title' => "Pl\x{c3}\x{a4}ne",
                                           'Index' => 0,
                                           'Root' => {
                                                       'Tags' => '',
                                                       'Id' => '',
                                                       'Index' => 0,
                                                       'Title' => '',
                                                       'Detail' => '',
                                                       'ConType' => 0,
                                                       'Preview' => '',
                                                       'Prio' => 0,
                                                       'Date' => '',
                                                       'Childs' => [
                                                                     {
                                                                       'Title' => 'DSB mobile',
                                                                       'Detail' => '',
                                                                       'ConType' => 2,
                                                                       'Index' => 0,
                                                                       'Id' => '8519ad0c-25d5-4643-946e-d65904ce5dcf',
                                                                       'Tags' => '',
                                                                       'Prio' => 0,
                                                                       'Preview' => '',
                                                                       'Childs' => [
                                                                                     {
                                                                                       'Preview' => '267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/preview.png',
                                                                                       'Prio' => 0,
                                                                                       'Childs' => [],
                                                                                       'Date' => '02.03.2020 07:29',
                                                                                       'Index' => 0,
                                                                                       'Detail' => 'https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/subst_001.htm',
                                                                                       'ConType' => 3,
                                                                                       'Title' => 'subst_001.htm',
                                                                                       'Tags' => '',
                                                                                       'Id' => '8519ad0c-25d5-4643-946e-d65904ce5dcf'
                                                                                     },
                                                                                     {
                                                                                       'Date' => '02.03.2020 07:29',
                                                                                       'Childs' => [],
                                                                                       'Prio' => 0,
                                                                                       'Preview' => '267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/preview.png',
                                                                                       'Id' => '8519ad0c-25d5-4643-946e-d65904ce5dcf',
                                                                                       'Tags' => '',
                                                                                       'ConType' => 3,
                                                                                       'Title' => 'subst_001.htm',
                                                                                       'Detail' => 'https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/subst_002.htm',
                                                                                       'Index' => 0
                                                                                     }
                                                                                   ],
                                                                       'Date' => '02.03.2020 07:29'
                                                                     }
                                                                   ]
                                                     },
                                           'MethodName' => 'timetable',
                                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[0]{'Childs'}[0]{'SaveLastState'},
                                           'NewCount' => 0,
                                           'Childs' => [],
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/Timetable.png'
                                         }
                                       ],
                           'Index' => 0,
                           'MethodName' => '',
                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[0]{'Childs'}[0]{'SaveLastState'}
                         },
                         {
                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[0]{'Childs'}[0]{'SaveLastState'},
                           'MethodName' => '',
                           'Childs' => [
                                         {
                                           'NewCount' => 0,
                                           'Title' => 'Einstellungen',
                                           'Childs' => [],
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/Settings.png',
                                           'Index' => 0,
                                           'MethodName' => 'settings',
                                           'SaveLastState' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
                                         },
                                         {
                                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[1]{'Childs'}[0]{'SaveLastState'},
                                           'MethodName' => 'feedback',
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/Feedback.png',
                                           'Childs' => [],
                                           'Index' => 1,
                                           'NewCount' => 0,
                                           'Title' => 'Feedback'
                                         },
                                         {
                                           'NewCount' => 0,
                                           'Title' => 'Info',
                                           'Childs' => [],
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/About.png',
                                           'Index' => 2,
                                           'MethodName' => 'about',
                                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[1]{'Childs'}[0]{'SaveLastState'}
                                         },
                                         {
                                           'SaveLastState' => $VAR1->{'ResultMenuItems'}[1]{'Childs'}[0]{'SaveLastState'},
                                           'MethodName' => 'logout',
                                           'IconLink' => 'https://app.dsbcontrol.de/static/androidicons/Logout.png',
                                           'Childs' => [],
                                           'Index' => 3,
                                           'NewCount' => 0,
                                           'Title' => 'Logout'
                                         }
                                       ],
                           'Index' => 1,
                           'IconLink' => '',
                           'NewCount' => 0,
                           'Title' => 'Sonstiges'
                         }
                       ]
}

2020.03.02 08:22:27 4:  [dsb] Extracted the url: https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/subst_001.htm
2020.03.02 08:22:27 5:  [dsb] processing page https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/subst_001.htm
2020.03.02 08:22:27 5:  [dsb] 2nd nonblocking HTTP Call starting for https://app.dsbcontrol.de/data/267b0371-9141-40db-9318-2b6b543f651d/8519ad0c-25d5-4643-946e-d65904ce5dcf/subst_001.htm
2020.03.02 08:22:27 5:  [dsb] 2nd nonblocking HTTP Call returning
2020.03.02 08:22:27 5:  [dsb] Received HTML:






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
{
font-weight: bold;
font-size: 120%;
clear: both;
margin: 0;
}

.inline_header
{
font-weight: bold;
}

table.info
{
color: #000000;
font-size: 100%;
border: 1px;
border-style:solid;
border-collapse:collapse;
padding: 8px 4px;
}

table.mon_list
{
color: #000000;
width: 100%;
font-size: 100%;
border: 1px;
border-style:solid;
border-collapse:collapse;
}

table.mon_head
{
color: #000000;
width: 100%;
font-size: 100%;
}

td.info,
th.list,
td.list,
tr.list
{
border: 1px;
border-style: solid;
border-color: black;
margin: 0px;
border-collapse:collapse;
padding: 3px;
}

tr.odd { background: #fad3a6; }
tr.even { background: #fdecd9; }









   

       
Untis 2020
       
       
           
L.-Uhland-Schule Heimsheim   D-71296, Schulstr. 19-21


            6. Plan 2019/2020 g�ltig ab 17.02.2020   Stand: 02.03.2020 07:28

       
   



2.3.2020 Montag


Nachrichten zum Tag



Porsche-Termin LUS 9a 1.Gruppe







Stunde Fach (Lehrer) Vertreter Raum Text Entfall

6b

3 M Fs HK 416

7a

2 D LH St 303

7d

5 Gk Fs Sz 306

6 --- Fs --- --- x

8b

1 Gk Fs St 208

2 G Fs Sz 208

3 - 4 M Fs BT 208

9a

1 - 2 BK Gt Gt 112

1 - 8 Bn Porsche

3 D KS KS 210

4 M HK HK 210

5 - 6 E JS JS 210

9b

1 D LH Sz 209

6 --- LH --- --- x

9c

3 D LH St 204

5 Bio LH RN 301

10c

3 EWG EK BF Sz 305

-----

2/3 BF St 9.20 Felsen Hof

6/7 Fs Br 13.05 Bus2




Periode5    (26)   Zweites Schulhalbjahr_Februar 2020


Untis Stundenplan Software





2020.03.02 08:22:27 5:  [dsb] processing page
2020.03.02 08:22:27 4:  [dsb] Starting extraction mon_list
2020.03.02 08:22:27 4:  [dsb] Starting extraction info
2020.03.02 08:22:27 5:  [dsb] Found info of the Day: '

Nachrichten zum Tag



Porsche-Termin LUS 9a 1.Gruppe




'

2020.03.02 08:22:27 4:  [dsb] Starting extraction mon_title
2020.03.02 08:22:27 5:  [dsb] Processing line #0
2020.03.02 08:22:27 5:  [dsb] Extracted Lines
2020.03.02 08:22:27 5:  [dsb] 2nd nonblocking HTTP Call parse done
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #65 am: 02 März 2020, 21:52:23 »
Hi,

gerade geladen FHEM neu gestartet... ändert aber nix

Bei mir war ja auch das Problem das es keine Zeile mit Klassen gab... da war ne extra Zeile dazwischen....
Dieses DSBMobile macht mich wahnsinnig... So viele Varianten ;)
Bei Ingo oben gab es auf der Startseite zwei (oder mehr) Unterseiten, je eine pro Tag. Bei dir gibt es auf der Startseite nur einen Link, innerhalb dessen aber zwei (oder mehr) Seiten... Daher ist die JSON-Struktur wieder anders. Dieser Fall ist nun aber auch abgedeckt.
Ich hoffe mal, dass nicht noch mehr Varianten auftauchen :D
Die neue Version ist angehängt und ich denke, ich werde sie dann auch einchecken, so dass sie mit dem regulären Update kommt.
 
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline pasp

  • Newbie
  • Beiträge: 2
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #66 am: 03 März 2020, 00:05:31 »
Kurzer Testbericht: Bei der Schule meines Sohnes haben wir 3 Links mit jeweils mehreren Seiten.
In der letzten Version werden jetzt auch Daten aus den gut versteckten Seiten gefunden.

Was noch toll wäre, wäre zur Steigerung des WAF die Möglichkeit, in dsb_outputFormat Text und Variablen nur nach bestimmten Bedingungen anzuzeigen.
ZZt habe ich
%Klasse_n_%: %Stunde%. Stunde statt %Fach% bei %Lehrer% Vertretung durch %Vertreter% in Raum %Raum%. Text: %Information%/%Verlegung%gesetzt, was dann zu solcher Ausgabe führt:
5C: 1. Stunde statt Deutsch bei PJU Vertretung durch GEI in Raum W203. Text: -/-
5C: 2. Stunde statt Deutsch bei PJU Vertretung durch GEI in Raum W203. Text: -/-
5C: 3. Stunde statt Englisch bei PJU Vertretung durch SEM in Raum S106. Text: -/-
11Q_5: 2. Stunde statt --- bei PJU Vertretung durch --- in Raum ---. Text: -/Entfall
11Q_5: 3 - 4. Stunde statt --- bei TCH Vertretung durch --- in Raum ---. Text: -/Entfall
« Letzte Änderung: 03 März 2020, 00:32:13 von pasp »

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #67 am: 04 März 2020, 07:58:47 »
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.

Ich habe mir zwischenzeitlich geholfen mit einem Hilfsmodul:
https://github.com/klein0r/fhem-abstracttable

Damit habe ich mir "meine" HTML-Ausgabe zusammengebastelt. Mit dem Hilfsmodul kann man noch viel mehr anstellen, siehe Webseite.



Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #68 am: 04 März 2020, 23:13:55 »
Ich habe mir zwischenzeitlich geholfen mit einem Hilfsmodul:
https://github.com/klein0r/fhem-abstracttable

Damit habe ich mir "meine" HTML-Ausgabe zusammengebastelt. Mit dem Hilfsmodul kann man noch viel mehr anstellen, siehe Webseite.
kannte ich garnicht... sieht nicht uninteressant aus... Vielleicht magst du dein Beispiel ja hier im raw format posten, dass andere es übernehmen können.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #69 am: 04 März 2020, 23:16:25 »
Kurzer Testbericht: Bei der Schule meines Sohnes haben wir 3 Links mit jeweils mehreren Seiten.
In der letzten Version werden jetzt auch Daten aus den gut versteckten Seiten gefunden.
Was noch toll wäre, wäre zur Steigerung des WAF die Möglichkeit, in dsb_outputFormat Text und Variablen nur nach bestimmten Bedingungen anzuzeigen.
Danke für den Testbericht :)
Wie stellst du dir die Bedingungen vor? Was ich mir vorstellen könnte, ist dem dsb_outputFormat Perl beizubringen. Wäre das die richtige Richtung?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline frankreed

  • Jr. Member
  • **
  • Beiträge: 98
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #70 am: 05 März 2020, 06:58:46 »
kannte ich garnicht... sieht nicht uninteressant aus... Vielleicht magst du dein Beispiel ja hier im raw format posten, dass andere es übernehmen können.

Mach' ich heute Abend.

Offline raiderxxl

  • Full Member
  • ***
  • Beiträge: 244
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #71 am: 05 März 2020, 09:28:41 »
Hi,

meines sieht so aus...

defmod dsb_ab abstracttable dsb
attr dsb_ab DbLogExclude .*
attr dsb_ab alias DSB Mobile
attr dsb_ab table-header Datum,Klasse,Stunde,Fach,Lehrer,Vertretung,Raum,Text,Entfällt
attr dsb_ab table-rowtemplate tt%d_sdate,tt%d_Klasse_n_,tt%d_Stunde,tt%d_Fach,tt%d__Lehrer_,tt%d_Vertreter,tt%d_Raum,tt%d_Text,tt%d_Entfall
attr dsb_ab table-startindex 0

hab nur noch ein Problem mit der Sortierung nach Datum... der Sortiert nach dem Index im Readingsnamen..

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Offline tschaedl

  • New Member
  • *
  • Beiträge: 5
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #72 am: 15 März 2020, 12:13:15 »
Hallo,

tolles Modul. Ich hätte noch einen Wunsch. Bei uns sind Aushänge oft mehrseitig. Momentan bekomme ich nur die erste Seite. Gibt es da Möglichkeiten, was zu ändern?

Danke,
Thomas

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3174
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #73 am: 20 März 2020, 00:41:25 »
Hallo,

tolles Modul. Ich hätte noch einen Wunsch. Bei uns sind Aushänge oft mehrseitig. Momentan bekomme ich nur die erste Seite. Gibt es da Möglichkeiten, was zu ändern?

Danke,
Thomas
Hi Thomas,

zur Zeit ist das Modul (bzw. die App) vermutlich eher sinnlos :-S. Ich habe eine Vermutung, wie die Multipage-Aushänge funktionieren und habe das mal angepasst. Falls angehängte Version nicht funktioniert, kannst du mir deine Zugangsdaten per PN schicken?

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

Offline tschaedl

  • New Member
  • *
  • Beiträge: 5
Antw:98_DSBMobile - Modul zur Abfrage des Vertretungsplans
« Antwort #74 am: 21 März 2020, 12:59:01 »
Hi Thomas,

zur Zeit ist das Modul (bzw. die App) vermutlich eher sinnlos :-S. Ich habe eine Vermutung, wie die Multipage-Aushänge funktionieren und habe das mal angepasst. Falls angehängte Version nicht funktioniert, kannst du mir deine Zugangsdaten per PN schicken?

Hi,

wie du schon richtig sagst, zur Zeit kann man da wenig machen. Sobald wieder Normalität herrscht und es mehrseitige Aushänge gibt, probiere ich es aus und melde mich. Trotzdem schonmal ein grosses Dankeschön an dich.

Gruss Thomas

 

decade-submarginal