Callbacks: Scripte/Programme beim Start von Ereignissen im XBMC aktivieren

  • pilluli aus dem xbmc.org hat ein Service-Addon geschrieben, welches auf Ereignisse im XBMC reagiert.
    Aktuell sind folgende "Auslöser" vorhanden:

    • XBMC starts
    • Player starts / stops
    • Player pauses / resumes
    • Screensaver starts / stops

    Man gibt einfach in den Settings des Scripts an, was bei diesen Events ausgeführt werden soll. Scripte, EXE-Dateien, Batch-Files ...

    Externer Inhalt farm9.staticflickr.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Interessant für alle Automatisierer da draußen. Ich könnte mir ein Home-Automations-System vorstellen, dass Licht dimmt etc.
    Aber ... ich schweife ab :)
    Zum Test habe ich die Deamon-Tools beim aktivieren des XBMC eingetragen. Funktioniert.

    Hier der Link

  • sensationell...ich liebe solche dinger.
    Danke viel mal für den hinweis. :thumbup:

    Damit ich auch noch abschwiefe :rolleyes: .
    Aktuell habe ich es dank dem Skirpt von AddonScriptorDE über die [definition='3','0']keymap[/definition]
    so eingerichtet, das bei Pause diverse Lichter angehen....
    (Zudem ist noch praktisch, dass play dann als workaround geht, falls man das link anbehalten möchte oder es zb nicht funktioniert. Hatte ich aber noch nie :))
    Keymapping: Internetseite aufrufen

  • da ich in einer Mietwohnung wohne, verwende ich gezwungener massen 'nur' fertige sachen...obwohl ich natürlich nichts gegen ein KNX-Haus hätte ;)
    ich verwende FS20 und intertechno zusammen mit dem Lightmanager und der Harmony(Extender).
    Das ganze funktioniert sehr gut und hat mich auch nicht soviel gekostet, da ich mal günstig zu einer ganzen Kiste voller sender/empfänger gekommen bin.

    Der lightmanager hat auch ein webserver, wodurch man per internet oder app seine lampen steuern kann.
    fs20 ist halt noch toll, da man dort zb den prozentualen Dimmwert angeben kann...zb auf 20% gedimmt.
    Im Schlafzimmer dimmt die lampe am morgen innerhalb 1min von 0-100% hoch...ist super zum langsam aufzustehen.

    Hier noch ein paar links:
    Internechnos http://beta.brack.ch/telefon-elektr…em-intertechno/
    Lightmanager http://cms.jbmedia.de/index.php?opti…d=128&Itemid=74

    Hast du auch einiges automatisiert?

  • Hast du auch einiges automatisiert?

    Im Bereich der Licht- und Heizungssteuerung noch nicht. Ich habe eher Dinge in XBMC integriert, wie z.B. die Steuerung des AVR's über dessen Lan Anschluss mit der Harmony, das Abschalten mehrerer Geräte (TV, Nas, AVR usw.) per Knopfdruck oder per Timer... Lichtsteuerung und Co. (auch aus XBMC heraus) wäre natürlich eine weitere nette Spielerei... Deshalb halte ich immer die Augen nach bezahlbaren Lösungen offen. Bislang waren viele Dinge entweder nicht gut geeignet oder waren mir einfach zu teuer...
    Danke für die Links. Werde mir das auf jeden Fall auch noch mal genauer anschauen. Gerade die Steuerung der Lichter bei "Pause" ist natürlich sehr geil :thumbup:

  • ja genau, an den ideen mangelt es ja nicht :D
    ich hätte so gern eine Rolladensteuerung 8)

    Finde den Lightmanager schon genial, aber ist auch recht teuer und damit man den webserver verwenden kann, muss er an einem PC angeschlossen sein. (Oder man kauft sich nochmals ein zusatzgerät wlan Bridge)
    Was ich zb auch toll finde, sind Abhängigkeiten....Wenn ich bei der Harmony Aktivität Film habe, werden LEDs fürs Ambiente eingeschaltet. Im LM habe ich aber definiert, dass als Vorbedingung die 'Abenddämmerung' erreicht sein muss,
    somit schalten die LEDs erst ein wenn dies zutrifft. Also auch nachdem starten bzw während die Aktivität läuft.
    Als Abenddämmerung, wird übrigens Googlemapps angezogen und dadurch die Uhrzeit für morgen- & abenddämmerung definiert. So hat man auch keine Probleme bei Sommerzeitumstellung usw.


    ... Ich habe eher Dinge in XBMC integriert, wie z.B. die Steuerung des AVR's über dessen Lan Anschluss mit der Harmony,...


    wie machst du das, über ein Script bzw was meinst du genau damit?

  • wie machst du das, über ein Script bzw was meinst du genau damit?

    Genau... Zuerst hatte ich das über ein Python Skript gelöst. Python war jedoch von der Ausführungsgeschwindigkeit und von der Stabilität/Zuverlässigkeit nicht gut genug. Dann hatte ich mir ein Programm in Delphi geschrieben. Hierbei ist die Geschwindigkeit und Zuverlässigkeit schon wesentlich höher. An dieses Programm kann man entesprechende Parameter übergeben (wie z.B. VolumeUp, ToggleMute, TogglePower usw.) oder es per GUI steuern. In XBMC habe ich dann diese Befehle auf eine Taste gemappt und in der Harmony Software hinterlegt. Das Problem an der Sache war das XBMC. Wenn man versucht per System.Exec-Befehl eine Anwendung aufzurufen, minimiert sich XBMC, führt den Konsolenbefehl aus und kehrt im Anschluss wieder zu sich zurück. Dies ließe sich nur mit einer eigenen XBMC-Kompilierung mit einer kleinen Änderung im XBMC-Quelltext ändern. Das war mir die Sache allerdings nicht wert, da man sonst XBMC erneut einrichten müsste... Als Notlösung ruft nun die Harmony bzw. die Keyboard.xml ein kleines Python Skript auf, welches dann die Anwendung mit den entsprechenden Parametern aufruft. So lässt dich der Yammi ganz bequem über die Harmony im XBMC-Profil ansteuern (z.B. Lauter/Leiser usw.).
    Hier hatte ich mal ein Shutdown-Skript gepostet, welches Timer-gesteuert verschiedene Geräte ausschaltet. Über dieses wird dann auch der AVR abgeschaltet...

  • hagi:
    Ich hab' mal die o.g. Spielerei mal ein wenig erweitert. Jetzt lässt sich die Lautstärke des AVRs auch aus der Yatse Remote heraus steuern... Ist zwar alles noch recht experimentell, funktioniert aber im großen und ganzen schon recht gut... Ich kann ja zu gegebener Zeit mal ein Video machen...
    Ich liebe XBMC :love: Einfach der Hammer :thumbup:


    Edit:
    Wie versprochen: Hier noch ein kurzer Video-Schnipsel
    https://www.dropbox.com/s/d8agwmrevrxo8ny/YatseToAVR.mkv

  • Hallo,

    ich heute mal versucht, mit den Callbacks zu testen. Ich habe ein Windows 7, habe dann python installiert und Script geschrieben. Wenn ich das Script per Doppelklick ausführe, dann funktioniert das Skript. Wenn ich es über die Callbacks laufen lasse, dann passiert nix. Kene Fehlermeldung nix.
    Hat jemand von euch das unter Win laufen mit python Skripten?

  • Hallo,

    habe jetzt nochmal das Python und das Script neu installiert. Jetzt erhalte ich folgende Fehlermeldung:

    13:35:56 T:4828 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
    Error Type: <type 'exceptions.WindowsError'>
    Error Contents: [Error 193] %1 ist keine zul�ssige Win32-Anwendung
    Traceback (most recent call last):
    File "C:\Users\media\AppData\Roaming\XBMC\addons\service.xbmc.callbacks-0.2\default.py", line 186, in <module>
    Main()
    File "C:\Users\media\AppData\Roaming\XBMC\addons\service.xbmc.callbacks-0.2\default.py", line 53, in __init__
    subprocess.Popen([script_xbmc_starts])
    File "C:\Program Files (x86)\XBMC\system\python\Lib\subprocess.py", line 623, in __init__
    errread, errwrite)
    File "C:\Program Files (x86)\XBMC\system\python\Lib\subprocess.py", line 833, in _execute_child
    startupinfo)
    WindowsError: [Error 193] %1 ist keine zul�ssige Win32-Anwendung
    -->End of Python script error report<-

    Mein Script, welches bei einem einfachen Doppelklick ohne Probleme funktioniert:

    EDIT: Ich habe mir jetzt mal eine exe aus dem Script mit py2exe gebaut. Wenn ich die Exe über den Explorer starte, dann funktioniert das Script. Wenn ich es jetzt wieder in callback einbaue, dann sehe ich kurz ein Konsolenfenster ohne Fehlermeldung, aber es passiert nix.

    Mache ich da irgendwas falsch?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!