Boblight Batch muss mit XBMC starten... Nur wie?

  • Hallo zusammen, ich hab mich jetzt mit boblight auseinander gesetzt und es funktioniert. Ist auch nicht das Thema heute sondern wie ich den server dazu starte. Dieser steckt aus vielerlei Gründen in einer Batch datei. Diese muss jetzt bei systemstart ausgeführt werden.
    Xbmc startet bei mir und warscheinlich bei vielen von euch auch als benutzerdefinierte oberfläche um das booten des desktops zu verhindern. Somit fällt der autostart ordner aber flach dieser startet erst nach dem explorer.

    Gibts eine windows lösung? Werden dienste immer gestartet? Kann man die batch als dienst deklarieren?

    Alternativ die batch von xbmc starten lassen, mit advancend launcher funktioniert das ja auch wunderbar. Nur ist es umständlich und sicher nicht das non plus ultra. Kann man das automatisieren? Bei systemstart oder bei hotkey von der harmony?

    Ist ja ne normale batch das problem hatten bestimmt schon ein paar von euch ;)

    Danke ;)

  • Hab mal versucht mit google und meinen begrenzten Fähigkeiten mir eine autoexec.py zu schreiben.
    Leider ohne Erfolg (Scriptfehler).

    Ich vermute ihr seht den Fehler sofort :P

    Code
    import xbmc xbmc.executebuiltin('XBMC.SystemExec(C:\Boblightd\start.bat)')


    Da der Code ja recht simple ist habe ich vermutlich einfach den falschen Befehl benutzt. (XBMC.SystemExec) Der Wiki Beitrag dazu ist leider auch keine Hilfe für mich.

  • Tut leider auch nicht, Scriptfehler kommt keiner mehr aber die Batch-Datei wird nicht geöffnet... Habe auch mit verschiedenen schreibweisen des Pfades herumgespielt ohne Erfolg.


    An was es jetzt genau liegt finde ich nur im [definition='1','3']Debug[/definition] Modus raus, richtig?

    E/ Kommt es vllt auch drauf an was in der .bat selbst steht? Wenn ich sie händisch ausführe funktioniert sie zwar, aber vllt spielt da XBMC nicht mit. Die Datei selbst ist auch nur ein Workaround wegen verschiedener Versionsfehler von Boblight, es startet die alte Version zuerst und anschließend die neuere. Aber eigentlich auch ziemlich anspruchslos.

    Code
    start "boblightd" /MIN C:\boblightd\launchfirst_Boblight_1_3\boblightd.exe -c C:\boblightd\launchfirst_Boblight_1_3\boblight.conf -f
    TIMEOUT /T 1
    taskkill /im boblightd.exe 
    TIMEOUT /T 1
    start "boblightd" /MIN C:\boblightd\boblightd.exe -c c:\boblightd\boblight.conf -f




    E/² Alternativ hab ich das hier gerade gefunden

    http://forum.xbmc.org/showthread.php?tid=165133 //5 Post von Angelscry
    hört sich auch machbar an vor allem da ich den Favorit schon so erstellt habe. Hab so verstanden den Favorit Link kopieren und an anderer stelle einfügen sodass er mit ausgeführt wird bei start. in dem beispiel hier geht es eben ums herunterfahren. Sowas in der Art hast du oben auch schon vorgeschlagen 4lb3rtO, oder?

    E/³ Hab mir deinen Post von oben nochmal angesehn:

    Code
    <window id="0">	<defaultcontrol always="true">9000</defaultcontrol>	<allowoverlay>no</allowoverlay>	<onload condition="Window.Previous(startup)+Skin.HasSetting(customstartupfocus)">Control.Move(9000,$INFO[Skin.String(CustomFocusOffset)])</onload>	<onload condition="!Skin.HasSetting(HomeMenuNoDocuButton)">XBMC.RunScript(script.randomandlastitems,limit=10,method=Last,playlist=special://skin/playlists/Doku.xsp,menu=Menu1)</onload>	<onload condition="!Skin.HasSetting(HomeMenuNoHDMoviesButton)">XBMC.RunScript(script.randomandlastitems,limit=10,method=Last,playlist=special://skin/playlists/HDMovies.xsp,menu=Menu2)</onload>	<onload condition="!Skin.HasSetting(HomeMenuNo3DMoviesButton)">XBMC.RunScript(script.randomandlastitems,limit=10,method=Last,playlist=special://skin/playlists/3DMovies.xsp,menu=Menu3)</onload>	<onload condition="!Skin.HasSetting(HomeMenuNoMusicvideosButton)">XBMC.RunScript(script.randomandlastitems,limit=10,method=Last,playlist=special://skin/playlists/Musicvideos.xsp,menu=Menu4)</onload>	<onload condition="!Skin.HasSetting(HomeMenuNoConcertsButton)">XBMC.RunScript(script.randomandlastitems,limit=10,method=Last,playlist=special://skin/playlists/Concerts.xsp,menu=Menu5)</onload>	<onunload condition="Container(9000).Hasfocus(10) | Container(9000).Hasfocus(11) | ControlGroup(9010).HasFocus | ControlGroup(9016).HasFocus | ControlGroup(9017).HasFocus">SetProperty(VideosDirectLink,True)</onunload>	<onunload condition="Control.HasFocus(9000) + Container(9000).Hasfocus(2)">ClearProperty(VideosDirectLink)</onunload>	<onload condition="Window.Previous(Startup)">XBMC.SystemExec(C:\boblightd\start.bat)</onload>	<controls>		<include>CommonBackground</include>		<control type="image">			<posx>0</posx>			<posy>90r</posy>			<width>1280</width>			<height>90</height>			<texture>floor.png</texture>			<animation effect="fade" time="250" condition="Window.Previous(Home)">WindowOpen</animation>			<animation effect="fade" time="250" condition="Window.Next(Home)">WindowClose</animation>			<visible>!Skin.HasSetting(NoFloor)</visible>		</control>


    soweit bin ich jetzt, die .bat startet immer noch nicht, aber erzeugt auch keinen Crash beim start, soweit so gut. Hab ich es den an der richtigen stelle eingefügt? Ist in der Home.xml

  • Sollte eigentlich laufen... Ist der Pfad und der Dateiname der Batch korrekt?
    Was sagt das xbmc-log, nachdem du XBMC gestartet hast?

    EDIT:
    Hab den Fehler gefunden... Anstelle von SystemExec muss es System.Exec heißen und es sind doppelte Backslashes für die Pfade notwendig...
    Du musst in dem Script ggf. noch den Pfad und/oder den Dateinamen anpassen...

  • Nochmal tausend dank, es funktioniert ;)

    jetzt lande ich beim starten aber auf XBMC, dann sehe ich ein schwarzes bild mit dem Batch das durchläuft und lande dann wieder in XBMC, kann man die Batch nicht minimiert (o.Ä.) starten lassen?

    E/ geht wohl mit ner .exe wenn ich die Batch umwandle. Nur scheint dein script sie dann nicht mehr zu mögen. Oder sollte es auch .exe files öffnen?

  • Eigentlich sollte es auch mit .exe-files klarkommen... Die Tatsache, das sich XBMC minimiert, liegt an dem System.Exec Befehl... Im Core ist diese Funktion so implementiert, das sich sich XBMC minimiert und den Befehl ausführt... Du könntest allerdings noch mit subprocess in Python experimentieren... Man muss nur aufpassen, das die zu startende Anwendung XBMC nicht den Fokus entwendet...

  • Okay, hab jetzt mit .exe'n rum experimentiert, aber alles ohne erfolg liegt aber wohl an Win8 dass es die konvertierten .exe files nicht starten will. Unter win 7 laufen sie. Ist auch egal wenn es an dem befehl liegt kann ich da selbst nicht viel dran drehen, ich lebe so damit ;) für mich nur ein kleiner schönheits fehler. Muss mich wohl erst selbst ein wenig in das coden mit xbmc einlesen. Dann hätte ich auch das Hintergrundwissen ;)

  • ok,
    lieg ich dann richtig das ich mit der batch Datei die exe(Also boblight mir Parameter) starten muss oder?
    bzw wie sollte die Datei Aussehen
    Ich glaube das ich genau da meinen Fehler habe den ich kenn mich da leider nicht aus aber will das es so funktioniert

Jetzt mitmachen!

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