Exit zum Einhängen eigener Funktionalität

  • Hallo,


    ich suche nach einer Möglichkeit, in einer Art Exit der dann aufgerufen wird, wenn
    die Dreambox in einen Zustand wechselt, an der sie ein Bild über DVI ausgibt, bzw.
    wenn sie das DVI Signal abschaltet !!


    Also:
    Standby => ON (Exit wird durchlaufen)
    ON => Standby (Exit wird durchlaufen)


    Hier müsste im Exit erkennbar sein, von wo nach wo er wechselt. Oder man baut 2 Exits ...


    Geht sowas ? Gibt's sowas vielleicht schon ? Wie könnte man das machen ??


    Gruß
    ThommyTheKid

  • Das kann man per Plugin erreichen.... Die entwickelt man in Python. Und da kann man dann erkennen, wenn die Box aus dem Standby kommt und wenn sie in Standby geht und entsprechend darauf reagieren...

  • script to exit from all menus

    Bash
    #!/bin/sh
    # MartiniB
    #
    
    
    for RcCMD in 174 174 174 174 174 174 174 174 174 174; do
    	wget -O /dev/null -q  http://dreambox/web/remotecontrol?command=$RcCMD
    done


    but from where to call?!
    Enigma1 had /etc>enigma_enter_standby.sh and /etc>enigma_leave_standby.sh, but Enigma2 ...

  • dafür gibt es ein nettes Plugin (z.Zt. nur für OE2.0). Einfach mal "enigma2-plugin-extensions-executeonpowerevent" googeln. damit kann man ein (php) script ausführen lassen, wenn die Box den in/von Standby wechselt.



    alternativ man auch ohne plugin bzw. Webinterface mit cron/script in intervallen den Box Status prüfen:


    Code
    cat/proc/stb/avs/0/input


    ist das Ergebnis "aux" ist die Box im Standby (neu: idle mode), wird "enconder" ausgegeben, ist die Box aktiv

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • In der Standby.py findest du eigentlich die Klassen die das Umschalten der entsprechenden Stati machen. Wenn du die Klassen importierst, einwickelst und die Original überschreibst kannst du da alles machen was du möchtest. Ob und wie sinnvoll das ist da blöde x mal Exit zu senden wäre schon wieder eine andere Sache, und schon gar nicht über die WebIF RC Befehle.

  • da bin ich ja baff !!
    Alle eure Tips haben auf Anhieb funktioniert !
    Aus der Standby.py heraus ein shellscript aufrufen klappte nach ein bissel rumspielen einwandfrei !
    Danke !

  • die Standby.py wird u.U. bei einem Update überschrieben, das obig genannte Plugin macht im Prinzip das selbe und ist "update sicher", man muss nur im Plugin angeben, dass die scripte ausgeführt werden sollen


    das Plugin findest du übrigens im Merlin Board

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Hi,


    ich hab das Ganze mit dem ExecuteonPowerevent Plugin getestet und es hat im wesentlichen geklappt.


    Nur ein Problem gab es, aber dazu zunächst etwas Hintergrundinfos:


    Ich teste seit einiger Zeit mit meiner DM8000 den HDMI-CEC-USB Adapter von Pulse Eight, den man
    z.B. bei Amazon UK bestellen kann. Ziel ist es, in der DM8000 eine HDMI-CEC Funktionalität zu implementieren
    und letztendlich das gesamte System mit der DM8000 Fernbedienung bedienen zu können.
    Dazu gehört ein automatisches EIN/Ausschalten des TV beim Einschalten der Box sowie letztendlich
    dann noch das VOLUP/VOLDOWN per HDMI-CEC an einen AMP (Soundbar) weiterzugeben.


    Was ich bereits hinbekommen habe, ist das Senden der HDMI CEC Befehle. Dann habe ich das beschriebene
    ExecuteOnPowerWEvent Plugin benutzt und eine entsprechendes Exit Script gebaut, dass die entsprechenden
    Befehle über die CEC Library sendet, je nach Event (In diesem Falle nur PowerON/OFF)


    Nun habe ich "nur" noch das Problem, dass das Elektro-Powewrsave Plugin, welches ich nutze, um den
    Stromkonsum der Dm8000 wenigstens Nachts auf nahe 0 zu senken, morgens beim Anfahren aus dem
    Deep Standby kurz den TV einschaltet, für 30 sec fragt "in den Standby gehen ?" und dann alles wieder
    ausschaltet. Es wird also im Falle des Startens aus dem Deep Standby auch der Exit des ExecuteOnPowerEvent
    Plugins durchlaufen. Man muss also eine Unterscheidung machen können zwischen "normalem" Einschalten,
    wenn die box zuvor im Standby war und erstmaligem Hochfahren morgens".


    Meine laienhafte Lösungsidee war, das Elektro Plugin so zu manipulieren, dass es in /usr/script
    ein File touched (nennen wir es ELEKTRO_DEEP_STANDBY) und das Script, welches beim Exit des ExecuteOnPowerEvents
    aufgerufen wird, zuerst schaut, ob dieses FILE vorhanden ist. Die Aktion "TV einschalten" würde dann nur ausgeführt,
    wenn das FILE nicht da ist, wenn es da ist, wird es gelöscht.


    @gutemine, wäre das OK für dich ? Kann/darf ich sowas machen und die Lösung im Forum posten ? Hab keine Ahnung, wie das ist mit dem
    manipulieren der Software anderer hier im Board... will nur erst mal nachfragen... Oder habt Ihr eine andere/bessere Idee ?


    Gruß
    ThommyTheKid

  • Sorry das ich mich hier anhänge.
    Gibt es auch eine Möglichkeit per Script zu prüfen wann denn die Box fertig gestartet ist? Aktuell schau ich einfach auf die epg.dat + sleep 8 aber das ist etwas schwammig meiner Meinung.


    Grüße

    --
    openwrt + minicom + screen = 24/7 Bootlog

    Einmal editiert, zuletzt von Schnello ()