KiddyTimer V1.3

  • Enigma2 muss neuer sein als 2009/09/25, da hier eine neue Standby- Erkennung ins Image eingeflossen ist !!!


    Wenn eine Version mal hier nicht aktuell sein sollte, weil ich nicht dazu gekommen bin, ein Paket zu packen, dann findet Ihr die aktuellste Version immer hier. Hier gibt es automatisch jeden Tag ein neues Paket, auch wenn ich nicht jeden Tag was ändere, einfach das neuste nehmen. Ob Ihr unter dm8000 oder dm800 oder dm7025 schaut ist dabei egal, da mein Plugin da keine Unterscheidung macht.


    If a version in this thread does not have the most current version from the title. then I was not able to build the IPKG. You then can always find the most current version here. There is an automatically updated version every day, even when I do not change anything. Just use the one with the most recent date. Whether you look at dm7025, dm800 or dm8000 on this page does not matter, as it always is the same package.


    Meine Tochter darf jeden Tag eine halbe Stunde Fernsehen, am Wochenende eine Stunde. Bisher starten wir dann einen Wecker, und wenn der klingelt, macht Sie den Fernseher aus. Ich wollte Ihr (und uns) das aber erleichtern, deshalb habe ich dieses Plugin entwickelt.


    FEATURES
    Das Plugin startet (sofern in der Plugin- Konfiguration aktiviert) beim Start von Enigma automatisch mit, und legt sich während des Standbys wieder schlafen.
    Es blendet rechts oben eine grüne "Eieruhr" (oder wahlweise einen Smiley) ein, die nach und nach rot wird.
    Die verbleibende Fernsehzeit für den aktuellen Tag wird ebenfalls eingeblendet.


    Die Zeiten sind in der Konfiguration (aus der Pluginliste) pro Wochentag einstellbar.
    Hier kann man auch die Position der Uhr anpassen sowie den Timer für den aktuellen Tag zurücksetzen.


    Ist die Zeit abgelaufen, dann stoppt das Plugin den aktuell laufenden Service (unabhängig davon, ob Live- Fernsehen geschaut wird, oder eine Aufnahme geschaut wird). Der Service kann erst wieder gestartet werden, wenn ein neuer Tag angebrochen ist, oder wenn das Plugin über die Konfiguration beendet wird.


    NEU: Der Setup- Bildschirm ist per PIN geschützt. Standard PIN: 1111 (kann im Plugin geändert werden)


    NEU: Es gibt einen neuen Menupunkt im Setup: Man kann eintragen, ab welcher Uhrzeit der Kiddytimer nicht mehr nervt. Wenn Ihr die Box nach dieser Uhrzeit einschaltet, dann wird der Timer nicht mehr aktiviert.


    KNOWS RESTRICTIONS
    Wird das Plugin deaktiviert, muss man einmal umschalten, um den Service wieder zu starten.
    Änderungen Version 1.3
    - Neue Möglichkeit im Setup, die Uhrzeit ohne Bild anzuzeigen (nimmt weniger Platz)
    Änderungen Version 1.2
    - Die Kids sind einfach zu Clever: Da hatten sie doch glatt wieder nen Workaround gefunden, den Timer zu umgehen... Den gibts jetzt nicht mehr.
    Änderungen Version 1.1
    - Neues Feature: Schaltet man die Dreambox vor der überwachten Uhrzeit an, dann startet Sie ohne Timer (wie schon immer). NEU: Sobald die Startzeit der Überwachung erreicht ist, startet sich das Plugin automatisch neu.
    Änderungen Version 1.0e
    - Bugfix: keymap.xml jetzt korrekt im plugin drin: Kein Fehler mehr beim verschieben des Timers wenn AudioSync nicht installiert ist
    Änderungen Version 1.0d
    - Bugfix: Fix bug, dass das Plugin sich nicht selbst deaktiviert, wenn man über die Grenze am Abend rausschaut. thanx isteric2005 for reporting
    Änderungen Version 1.0c
    - Bugfix: Fix crash nach setzen der Tagseszeit auf 00:00, danke werner.k1 fürs reporten
    Änderungen Version 1.0b
    - Bugfix: Nach komplettem Ausschalten der Box per Netzschalter startete das Plugin zu früh, so dass die Uhrzeit noch nicht gesetzt war. Thanx to isteric2005 for reporting
    Änderungen Version 1.0a
    - Kleiner Bugfix: Plugin startete nicht in jeder Situation zuverlässig
    Änderungen Version 1.0
    - Neues Feature "Cheat- detection": Wenn die Kids versuchen, schlauer zu sein als die Eltern und die Box per Netzschalter oder Kabel ausschalten, dann wird die Zeit im Plugin SOFORT auf 0 zurückgesetzt. Ausserdem erscheint eine Messagebox, die den Kids zeigt: Ich habs gemerkt... ;-)
    Das Plugin lässt sich also nicht mehr austricksen!!!
    - Completter Code- Redo. (irrelevant für Benutzer aber gut für den Programmierer zwecks Wartbarkeit)
    Änderungen Version 0.9
    - Neues Setup- Feature: "Don't monitor TV started before": Damit kann man eine frühste Uhrzeit angeben, zu der das Plugin gestartet wird. Damit wird das Plugin nicht gestartet, wenn z.B. EPG Refresh mitten in der Nacht die Box aus dem Standby holt.
    Änderungen Version 0.8c
    - Bugfix für Crash, wenn man beim öffnen des Setup- Screens 3x eine falsche Pin eingibt
    Änderungen Version 0.8b
    - Bugfix für Crash, wenn man den Setup- Bildschirm öffnet, wenn das Plugin vorher nicht gestartet (=deaktiviert) war
    Änderungen Version 0.8a
    - Bugfix für Crash beim Einsetz der neuen Funktion "Aktivieren für x Minuten" unter bestimmten Umständen.
    - Bugfix Übersetzungen: Jetzt sollten alle Texte übersetzt werden...
    Änderungen Version 0.8
    - Erweiterung des Extension- Menus um 2 Optionen:
    * Direktes setzen einer Restzeit (zusätzlich zu Increase und Decrease gibt es jetzt ein Set. Das Plugin wird auf die angegebene Zeit gesetzt, die unter Setup eingetragenen Zeiten werden dadurch nicht geändert
    * Direktes Aktivieren des Plugins für x minuten (auch wenn es deaktiviert ist: Für Eltern, die normalerweise das Fernsehverhalten nicht überwachen wollen, aber dafür sorgen wollen, dass nach der abgemachten Zeit nicht "vergessen" wird, dass man ja den Fernseher ausschalten wollte. ACHTUNG: War das Plugin vorher deaktiviert, dann ist es das nachher auch wieder. Das heisst: Der gewitzte Nachwuchs muss nur die Dreambox in Standby schicken und wieder aufwecken, um mit dem Fernsehen fortzufahren...
    Änderungen Version 0.7
    - Bugfix: Plugin kann nicht mehr überlistet werden, indem man den Setup- Bildschirm aufruft und die PIN- Eingabe einfach abbricht
    Änderungen Version 0.6
    - Die Positions- Änderung versteht jetzt auch die Tasten 1 - 9: 1 = Links oben, 3 = Rechts oben, 7 = Links unten... usw.
    - Es gibt einen neuen Plugin- Eintrag im Extensions- Menu (Blau bzw. lang blau in Gemini) mit folgenden Funktionen:
    * Direktes deaktivieren des Plugins für eine Session (PIN- geschützt)
    * Direktes aktivieren des Plugins, wenn beim starten "nein" ausgewählt wurde
    * Komplettes aktivieren / deaktivieren (PIN) des Plugins (je nach Stand)
    * Verlängern / Verkürzen der verbleibenden Zeit (wenn ausnahmsweise die
    Tageszeit mal um 5 Minuten verlängert wird, Verlängern ist PIN- geschützt, verkürzen nicht)


    Änderungen Version 0.5
    - Das Plugin blendet nun bei jedem Start für 5 Sekunden eine Abfrage ein, ob der Timer jetzt gestartet werden soll. Bei "Nein" ist das Plugin bis zum nächsten Start (Standby, Setup- Screen, Reboot) deaktiviert. Allerdings muss bei "Nein" der im Plugin hinterlegte PIN- Code eingegeben werden (die Kids sollen das ja nicht selbst ausschalten können)


    Änderungen Version 0.4
    - Neue Einstellmöglichkeit für den Screen: Die Option "Uhr" ist der bisherige timer, die Option "Smiley" ist ein Plasma- freundlicherer Screen mit viel Transparenz, der das einbrennen verhindern sollte...


    Änderungen Version 0.3
    - Zuverlässigerer Start des Plugins aus allen Situationen
    - Änderung der Schrittweite für das verschieben im Plugin- Setup


    Sprachen
    Ich habe -wie Ihr sicher gesehen habt- die pot hier angehängt. Wenn jemand die schon in andere Sprachen übersetzt hat... nur her damit (am besten in diesen Post, damit jeder sieht, welche Sprachen schon übersetzt sind), ich spiele die dann ein. Momentan übersetzt sind:
    ENGLISH
    GERMAN
    ITALIAN (Thanx Spaeleus)


    So, jetzt erst mal viel Spass beim testen.


    Tode

  • Ich hab zwar keine Verwendung dafür, aber trotzdem, ich finde es eine coole Idee:)

  • Jetzt lacht Ihr noch, aber ...


    Irgendwann wird vieleicht sky dann das wertkarten/Flex abo auch so wie die Mobilfunkbetreiber machen - wenn deine bezahlte X Stunden um sind ist es dunkel, egal was du in der zeit geschaut hast :-)


    Dafür wäre das Plugin dann ideal um zu wissen wann es duster wird ...

  • lol GuteMine... aber jetzt wo Du das sagst: ich hätte das Plugin besser "BigBrother" nennen sollen... Aber leider fallen mir nie so coole Namen ein wie Dir...


    Gruss
    Tode

  • so, jetzt könnt Ihr testen... Wenn mir nun noch jemand sagen kann, wie ich den Setup- bildschirm per Pin schütze (habs versucht, das beim ParentalControl.py abzuschauen, aber das war mir zu hoch), dann ist das Ding vorläufig fertig...

  • Danke für dieses super Plugin!Werde aber erst später testen können:D


    Kannst du dein Plugin nicht unter Menü/Einstellungen/Jugendschutz verstecken? Dann ist es schon geschützt :)

    Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Ryu's Frau : Heute, 11:25.

    IF YOU LIKE MY WORK, PLEASE BUY ME A CURRYWURST MIT POMMES UND KETCHUP!!

  • das ist eine Idee.... eigentlich müsste ich über WHERE_MENU dahin kommen...


    Das werde ich doch gleich heute Abend mal probieren


    Gruss
    Tode

  • Quote

    Original von Tode
    so, jetzt könnt Ihr testen... Wenn mir nun noch jemand sagen kann, wie ich den Setup- bildschirm per Pin schütze (habs versucht, das beim ParentalControl.py abzuschauen, aber das war mir zu hoch), dann ist das Ding vorläufig fertig...


    Schau dir mal mein aktuelles ZapHistoryBrowser Plugin an (bei schwerkraft zu finden). Dort wird das auch so gemacht. Sind nur paar Zeilen Code.

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Super, Danke... Bei Dir schaue ich gerne ab... Irgendwann, wenn ich gross bin, will ich das ganze auch so gut durchblicken wie Du.... ;-)


    sag mal: Sehe ich das richtig, dass man ganz einfach den ProtectedScreen importiert, seine Klasse davon erben lässt und die beiden Methoden isProtected und PinEntered überschreibt ? So einfach ist das ?


    Gruss
    Tode


    P.S.: Im Prinzip ist das ganze Plugin dann bei Dir geklaut... Die Grundlage bildet Dein Permanent- Clock- Plugin, die Screen- Protection kommt aus Deinem ZapHistoryBrowser, und die Angepasste MultiPixmap ist auch aus Deinem tipp.. da hättest Du das Ding ja gleich selbst schreiben können :)

    Edited 2 times, last by Tode ().

  • Gut (und auch schlecht) klauen ist auch eine Kunst - und irgendwann bedient man sich dann bei seinem 'eigenen' Code/Plugins wenn man es lange genug gemacht hat :-)


    Und nachdem man an Beispielen das meiste lernt ist es auch die gescheiteste Methode anzufangen, weil etwas das funktioniert zu modifizieren ist um ecken einfacher als ein Plugin vom scratch weg schreiben - ich könnte das nicht, und wozu auch, die Zeit wo es kaum Plugins zur Inspiration gab ist eim enigma2 längst vorbei.


    LG
    gutemine

  • Erstmal vielen Dank, das kann ich gut gebrauchen. :D


    Aber ein Problem habe ich festgestellt. Folgendes habe ich gemacht:


    • Plug aktiviert
    • Position der Anzeige verändert
    • Zeiten geändert auf 0:45/Tag
    • Plug deaktiviert/aktiviert/e2 neugestartet


    Leider läuft der immer noch bei 0:52 usw. rum.


    Ich habe zwar nicht in den Code geschaut, aber erstmal scheint der Timer beim deaktivieren nicht zurückgesetzt zu werden, was er ja eigentlich sollte, und zweitens übernimmt er deswegen vermutlich auch die neuen Zeiten nicht.


    Kann mich irren, aber nur so wäre das Verhalten zu erklären.


    EDITH: Nochmal überlegt, Du scheinst es immer pro Tag zu machen. Egal ob es mal deaktiviert wird oder nicht. Ich finde das irgendwie zu "endgültig". Besteht die Möglichkeit, es beim deaktivieren auch für den Tag zurückzusetzen? Das wäre m.E. irgendwie eleganter.

    Edited once, last by Frittenschmied ().

  • super gedanke , so ein plugin - worauf einige user kommen - bin begeistert :tongue:

  • Quote

    Original von nillebor
    super gedanke , so ein plugin - worauf einige user kommen - bin begeistert :tongue:


    Was willst du damit sagen??


    Ich finde das Plugin einfach genial :D

    Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Ryu's Frau : Heute, 11:25.

    IF YOU LIKE MY WORK, PLEASE BUY ME A CURRYWURST MIT POMMES UND KETCHUP!!

    Edited once, last by Ryu ().

  • Quote

    Original von Tode
    sag mal: Sehe ich das richtig, dass man ganz einfach den ProtectedScreen importiert, seine Klasse davon erben lässt und die beiden Methoden isProtected und PinEntered überschreibt ? So einfach ist das ?


    Yepp, so einfach hat uns das DMM gemacht ;)
    Es macht einen Spass, bei solch einem toll-durchdachten System wie enigma2 etwas zu basteln. Mir jedenfalls eine Menge. Ohne viel Zauberei etwas auf die Beine stellen. Was will man mehr :-)

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • ja fürs Klauen und cut & paste ist enigma2 und python in der zwischenzeit wirklich recht brauchbar - ich mag die sprache zwar nicht, aber was man damit anfangen kann ist schon OK. Insofern bist du ja auch ein gutes beispiel - es funktioniert und du weist nichtmal ganz warum bzw. was du gemacht hast :-)


    LG
    gutemine

  • Quote

    Original von Ryu


    Was willst du damit sagen??


    Ich finde das Plugin einfach genial :D


    steht doch da - bin begeistert, finde es toll, super!!!


    was verstehst du denn daran nicht???? bin immer wieder überrascht!

  • Danke für die Blumen erst mal. Jetzt aber zu den Fragen:


    Ja, ich nehme das ganze erst mal als "Absolut pro Tag".


    Folgendes Szenario:


    Morgens, 10:00: Die Kids wollen Fernsehen, schauen bis 10:25 und schalten denn den Fernseher aus.


    Mittags, 14:00: Formel 1- Zeit: Ich setze mich vor den Fernseher, deaktiviere das Plugin und schaue unbehelligt.


    Nachmittags, 17:00: Die Kids sind wieder dran. Weil ich nach der Formel 1 das Plugin reaktiviert habe, haben die Kids Ihre restlichen 35 Minuten um zu schauen.



    Zu Deinem Fall: Du hast im Plugin- Bildschirm aber schon die Beschriftung des gelben Buttons gelesen, oder ?


    Der macht genau das, was Du willst: Den Timer auf die für den heutigen Tag eingestellte Zeit zurückzusetzen.


    Aber ein "Bug" ist hier tatsächlich noch vorhanden: Wenn Du den heutigen Tag auf eine Zeit < verbleibende Zeit setzt, dann sollte ich eigentlich den Timer zurücksetzen. Das muss ich wohl noch anpassen.


    Weitere Features, die bei Gelegenheit dazukommen:


    - Definition einer Start- und Endzeit für den Timer: Ausserhalb dieser Zeiten wird der Timer nicht aufgerufen
    - PIN- Schutz der Timer- Settings, dass die Kids das Ding nicht einfach ausschalten können
    - ?


    Gruss
    Tode

    Edited once, last by Tode ().

  • zur Info: Wenn man auf seiner Box noch nie einen Jugendschutzpin eingegeben hat, dann kommt beim starten des Plugin- Menus die Fehlermeldung


    Einige Plugins nicht verfügbar:
    Extensions/KiddyTimer (ConfigPIN default must be an integer)


    Da muss ich "nacharbeiten". Wenn Ihr trotzdem testen wollt: Einfach mal einen Jugendschutzpin setzen. Der muss nicht aktiivert sein, es reicht, wenn in der Konfiguration einer steht.


    Danke für den Hinweis an ChickenRun


    Gruss
    Tode

  • so... Bugs behoben und 2 neue Funktionen eingebaut. Neue Version im ersten Post...


    Viel Spass

  • das artet ja hier zum Selbstgespräch aus... 28 Downloads und keiner hat gemerkt (oder keinen hats interessiert), dass das Plugin nicht immer zuverlässig am nächsten Tag wieder startet...


    Neue Version 0.3 im ersten Post. Jetzt sollte das Plugin -wenn es aktiviert ist- in jeder Situation starten (wenn es nicht später ist als die im Plugin eingestellte Uhrzeit)


    Gruss
    Tode