Dazu wird PS in konfigurierbaren, regelmäßigen Abständen oder zu bestimmten Events ausgeführt, prüft Eure Dreambox nach Euren Vorgaben und benachrichtigt euch per eMail über Vorgänge/Unstimmigkeiten.
Hier ein Beispiel für eine EMail-Benachrichtigung:
Subject: DM8000 PushService: Free space warning
Free disk space limit has been reached:
Path: /media/hdd/movie
Limit: 100 GB
Left: 88 GB
Provided by Dreambox Plugin PushService 0.1
C 2012 by betonme @ IHAD
Tastenbelegung im Setup:
- Grün: Speichern und schließen
- Rot/Exit: Beenden ohne zu speichern
- Blau: Neues Plugin hinzufügen
- Gelb: Plugin entfernen
- Text: Aktuelle nicht gespeicherte eMail Konfiguration testen
- Info: Testlauf ohne eine eMail zu versenden
Die Grundkonfiguration von PS wird in der E2 Config abgespeichert.
Alle Plugin-Einstellungen werden in einer XML-Datei abgelegt (Default = /etc/enigma2/pushservice.xml).
PS Grundkonfiguration:
- Enable PushService = True
- Dreambox name (Mail Subject) = Dreambox
- Config file = /etc/enigma2/pushservice.xml
- Start time (HH:MM) = 1:00 Uhr
- Period in hours (0=disabled) = 24
- Run on boot = True
- SMTP Server = smtp.server.com
- SMTP Port = 587
- SMTP SSL = True
- User name
- Password
- Mail from = [EMAIL]abc@provider.com[/EMAIL]
- Mail to or leave empty
Aktuelle Plugins mit Beispielen und Optionen:
- FreeSpace:
Kann mehrfach hinzugefügt werden, damit verschiedene Speicher geprüft werden können.
-Allow HDD wake up = False
-Where to check free space = /media/hdd/movie
-Free space limit in GB = 100GB
- DeactivatedTimers:
- Remove deactivated timer(s) after successful transmission = False (On False PS will tag them as DeactivatedTimerPushed)
- CrashLog:
-Delete crashlog(s) after successful transmission = False (On False PS will rename them to .pushed)
- RecordSummary:
-Remove finished timer(s) only after = False (On False PS will tag them as FinishedTimerPushed)
- RecordNotification:
-Send notification on record start = False
-Send notification on record end = True
- IPKGUpdateNotification:
-Start update check if not done yet = False
Weitere Plugin-Module können sehr einfach zur Laufzeit ohne Neustart hinzugefügt werden.
Wenn das Setup geöffnet wird, werden die Einstellungen und Module neu eingelesen.
Jedes Modul kann weitere Einstellungen bereitstellen, die dann automatisch in der Config eingebunden werden.
(Erklärung für Entwickler folgt)
Roadmap:
Konfiguration / Optionen übersetzen
Öffentlicher Beta-Test
Schwerkraft GIT -> Feed
Lokalisierung ist vorbereitet, somit kann jeder dazu beisteuern.
Installation:
Zip entpacken und nach /usr/lib/enigma2/python/Plugins/Extensions/PushService kopieren
Dependancies:
- python-twisted-core
- python-twisted-mail
- python-twisted-names
- python-twisted-protocols
- python-twisted-web
- python-pyopenssl
Es gibt ein Paar Rahmenbedingungen für die Module:
- Die py-Datei und der class-Namen müssen übereinstimmen
- Die class muss eine subclass der PluginBase sein
- init: Sollte die Optionen behinhalten (self.setOptions ...) Das Speichern/Laden/Setup-Eintrag wird alles von der PluginBase erledigt.
- run: Führt eure Prüfungen durch und gebt Subject, Body(optional), Attachments(optional) zurück. Wenn ihr None, False oder "" zurückgebt, wird keine eMail versendet.
- success: Callback bei erfolgreichem Versand
- error: Callback wenn ein Fehler beim Versenden auftritt
- begin: Wird aufgerufen, wenn PS gestartet wird
- end: Wird aufgerufen, wenn PS gestoppt wird
Link
Keine Kommentare:
Kommentar veröffentlichen