Skip to content

holt die Vertretungspläne vom Schulserver und verschickt diese, sollten Aktualisierungen vorliegen, dann per Mail an beliebige BCC´s

Notifications You must be signed in to change notification settings

Hubobel/mpgScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mpgScanner

holt die Vertretungspläne vom Schulserver und verschickt diese, sollten Aktualisierungen vorliegen, dann per Mail und/oder Telegram-Messenger an beliebige viele Empfänger (via Blindcopy, BCC),in Abhänigkeit davon, ob gerade Ferien oder ein Feiertag sind. Für Nutzer der Hausautomation "Homematic": Es wird eine Systemvariable "Ferien" automatisch auf "True" bzw "False" gesetzt, wenn man dies möchte. Zusätzlich werden einmal pro Tag ein "Zitat des Tages" angegeben. Beim Versand der PDF werden die jeweils aktuelle Temperatur,Luftfeuchte und der Wolkenstatus mitangegeben. Ein zufällig ausgewählter "Chuck-Norris-Fact" runden das ganze dann ab.

Installation

Das File downloaden und in einen beliebigen Ordner, in welchem man natürlich Schreibrechte besitzen muss, stecken. Nach dem ersten Start wird automatisch eine Datei pass.json im gleichen Verzeichniss erstellt und die Anwendung beendet sich selbst. Nun müssen folgende Angaben innerhalb dieser 'pass.json' gemacht werden:

  • "gmail_pass":Passwort für den eigenen G-Mail Account (wird zum Versenden der PDF´s benötigt)
  • "gmail_user":eigene Emailadresse des für die versendung zuständigen Accounts
  • "Land":Europäisches Kürzel für den eignen Wohnort (z.Bsp. RP für RheinlandPfalz)
  • "TOKEN":der Usertoken des Telegrammessengers (optional)
  • "Chat_ID":Chat_ID des Telegrammessengers (optional)
  • "ccu_ip":IP der CCU-Zentrale der Hausautomation 'Homematic' (optional)
  • "wetter_API": der API-Key von wunderground.com
  • "wetter_Ort": die ID der verwendeten Wetterstation

Weiterhin muss auf dem ausführenden System die Pythonbiliothek "pyTelegramBotAPI" installiert sein (wenn man Telegram nutzen möchte, sonst wird diese Funktion automatisch deaktiviert:

  • sollte pip noch nicht installiert sein: "sudo apt-get installe python3-pip"
  • pip3 install pyTelegramBotAPI

Bsp. für eine leere pass.json, wie sie automatisch nach dem ersten Start angelegt wird:

{ "Chat_ID": "", "Land": "rp", "TOKEN": "", "ccu_ip": "", "gmail_pass": "", "gmail_user": "", "mpg_pass": "", "mpg_user": "" }

Benutzung

Das Programm wird am besten über einen Cronjob periodisch aufgerufen, z.Bsp. Stündlich, immer zur halben Stunde, im Zeitraum von 7 bis 15 Uhr, an den Werk(Schul-)tagen Montag bis Freitag. Eintrag in der crontab sollte dann in etwa so ausschauen (Pfad zum Script bitte anpassen):

30 7-15 * * 1-5 python3 /home/carsten/Scripts/mpgScanner.py

Disclaimer

Diese Software benutz den Zugang zum Schulserver des Max-Planck-Gymnasiums in Ludwigshafen (http://www.mpglu.de/aktuelles/vertretungsplan.html), um dort die Vertretungspläne für den aktuellen und den darauf folgenden Schultag zu laden. Für die Feier- und Ferientagsdaten wird die API von smartnoob.de (https://robin.meis.space/2014/04/15/ferien-feiertag-api-fuer-deutschland/) benutz. Vielen Dank für die Bereitstellung der Daten. Für das "Zitat des Tages Feature" nutze ich die API von https://taeglicheszit.at Um die aktuelle Temperatur/Luftfeuchtigkeit und "Bedeckung" anzuzeigen, greife ich auf die API von http://www.wunderground.com zurück. Der Chuck-Norris-Fact wird von meiner eigenen API (api.hubobel.de/facts) bereitgestellt.

paypal

About

holt die Vertretungspläne vom Schulserver und verschickt diese, sollten Aktualisierungen vorliegen, dann per Mail an beliebige BCC´s

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages