2 Profiles - Script starten?

  • Hi,

    ich nutze seit längerem XBMC, aber erst seit kurzem 2 verschiedene Profile.
    Das ganze hat den Hintergrund, daß ich verschiedene Audiosettings habe, einmal optisch SPDIF für die TV Soundbar, und einmal HDMI über AV Receiver mit allen Tonformaten.

    Das funktioniert soweit alles, aber bei einem Profile möchte ich beim Start einen Art "Script" (Power ON Befehl über Net für den AV Receiver) senden.

    Das "Script" hab ich schon fertig, ist recht einfach gestrickt..

    Bisher muss immer händisch den Receiver einschalten.

    Hat jemand ne Idee wo ich diesen Befehl einfügen oder ein Script beim Laden eines Profiles aufrufen kann?

    Und natürlich beim beenden wieder einen Befehl an den AV Receiver senden (Power OFF).

    Danke im voraus.

    /Wello

  • Danke erstmal...

    Hmm, verschiedene Skins... Gute Idee, aber dann ist der WAF weg.

    Die Frage aber falls ich das doch mit verschiedenen Skins mache, wie bekomme ich dann diese "onload" Funktion eingebaut?

    Für WOL gibts ja sowas, zumindest die grobe Richtung.
    "RunScript("script.advanced.wol",ActivateWindow(MyVideoLibrary),True)"

    Nur bräuchte ich sowas eben um einen Befehl abzusetzen beim laden vom Homescreen für das 2. Profil...

    Wenn noch jemand ne Idee hat, her damit...

  • Du könntest dein Skript auch in ein kleines Service Addon umwandeln... Diese werden automatisch beim xbmc Start ausgeführt und man kann hierbei den Startzeitpunkt festlegen... Hier könntest du dann beide Aktionen ausführen lassen...

    Gesendet mit einem C-3PO

  • So, ich habs jetzt mal als autoexec.py in das HD Profile, welches den AV Receiver einschalten soll, gelegt.

    Das funktioniert auch soweit, ABER, nachdem das Profile aufgerufen wurde, bin ich im Fenstermodus und nicht mehr im Fullsreen Modus... Blöd.

    Ich hab das mit dem Service Addon schon gelesen, aber irgendwie steig ich da nicht durch.

    Ich häng hier mal mein Script, bzw. die Autoexec.py an, vielleicht kann mir hier jemand weiterhelfen mit dem Service Addon:

    Python
    import xbmc
    
    
    class StartBatch():
        def __init__(self):
          xbmc.executebuiltin('System.Exec("C:\PioAV_NET.exe 10.0.0.131 PO")')
    
    
    SB = StartBatch()
    del SB

    Im Endeffekt ist das PioAV_NET ein AutoIT Script, welches eine Telnet zum Pioneer AV Receiver öffnet, die 2 Parameter die ich mitgebe, sind die IP vom AV-R und dem Befehl, hier PO für PowerON.

    Ausschalten geht über Eventghost.

    Ich switche somit vom DVBViewer zu XBMC, wähle hier die verschiedenen Profile, und verwende ebenfalls die gleiche Taste auf der FB um wieder zurück zum DVBViewer zu kommen.

  • Danke erstmal dafür, das funktioniert soweit, nur mir stellt sich die Frage, wie ich das "addon" für den einen user aktivieren und für den anderen user deaktivieren kann...

    Wenn ich es in einem Profil deaktiviere ist es bei beiden deaktiviert. ;(

    Kann ich das bei einem User nicht auf enable oder disable setzen? Geht sowas?

  • Danke erstmal dafür, das funktioniert soweit, nur mir stellt sich die Frage, wie ich das "addon" für den einen user aktivieren und für den anderen user deaktivieren kann...

    Die ursprüngliche Frage war ja auch wie man auf EIN Profil reagieren kann... Wenn du auf mehrere Profile ragieren willst, müsstest du noch ein wenig an der defalut.py und der settings.xml schrauben... In der dafault.py könntest du z.B. abfragen, welche User derzeit in den Einstellungen aktiv sind...
    (Für den Fall, das der Quelltext durch die Forensoftware umformatiert wird => "if ((addon.getSetting('user1_enabled') == 'true') and...." alles in eine Zeile schreiben und die Einrückung beachten)


    [daten]
    if __name__ == '__main__':
    if addon.getSetting('service_enabled') == 'true':
    if ((addon.getSetting('user1_enabled') == 'true') and (xbmc.getInfoLabel('System.ProfileName') == addon.getSetting('username1')) or ((addon.getSetting('user2_enabled') == 'true') and (xbmc.getInfoLabel('System.ProfileName') == addon.getSetting('username2')):
    if addon.getSetting('startup_notification') == 'true':
    xbmc.executebuiltin('Notification(AVR, Service gestartet)')

    AVR = MyAVR()

    if addon.getSetting('startup_notification') == 'true':
    xbmc.executebuiltin('Notification(AVR, Service beendet)')

    sys.modules.clear()
    del AVR
    [/daten]


    und die settings.xml nach dem Schema...
    [daten]
    <setting id="user1_enabled" type="bool" label="3200x" default="false" />
    <setting id="username1" type="text" label="3200x" default="" enable="eq(-1,true)" />
    [/daten]

    ... für die einzelnen User bearbeiten... Ggf muss auch noch die strings.xml angepasst werden...

Jetzt mitmachen!

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