Module für XBMC

Begonnen von Dennis B., 06 Januar 2013, 22:32:24

Vorheriges Thema - Nächstes Thema

betateilchen

JSON funktioniert auf dem Raspi aber ohne diese Klimmzüge.

Wie hast Du denn versucht, JSON zu installieren? Am einfachsten geht das mit "apt-get install libjson-perl"

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AK-868

Ich hab nur die JSON.pm kopiert ;)

Vllt. war das der Fehler.

Danke.

Ich hab kein normales Wheezy drauf. Sondern raspbmc.

Ich weiß nicht wie weit das abgespeckt ist. Mein Ziel war es XBMC und FHEM auf dem Pi laufen zu lassen.

Kennst du dich mit dem 70_XBMC Modul aus?

Mich interessiert ob ich eine Datei direkt aufrufen kann. In der beschreibung steht ich kann nur Stop Play Pause volume shutdown etc.

Wenn das XBMC-Modul richtig läuft dann werd ich mal einiges versuchen.

Im sourcecode hab ich was gefunden, was evtl. direkt aufrufen könnte. Bin mir aber nicht sicher. Kopiere gleich mal den code raus.

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


betateilchen

Das XBMC Modul kenne ich nicht, aber die Installation von JSON sollte auch bei raspbmc identisch funktionieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AK-868

Hallo Betateilchen,

ich weiß das du dich mit dem Modul nicht auskennst, aber ich weiß das du mir sagen kannst ob es das tut was es soll.

;)
Laut definition http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v4#Player.GoTo

kann ich damit doch direkt eine Position in der Playlist anspringen richtig? Ausschnitt aus der XBMC.pm


sub XBMC_Set_Goto($$$)
{
  my ($hash,$direction,$player) = @_;
  my $obj = {
    'method'  => 'Player.GoTo',
    'params' => {
      'to' => $direction,
      'playerid' => -1 #will be replaced with the active player
    }
  };
  return XBMC_PlayerCommand($hash,$obj,$player);



Edit meint.

Ich sollte mich noch für die hilfe mit JSON bedanken.
Das hat geklappt. Kein Kompilierungsfehler mehr.
DANKE

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


AK-868

Hallo zusammen,

ich hab jetzt fast alles laufen.

RASPBMC und FHEM auf dem PI,

Kommunikation zwischen PI und XBMC läuft.

Ich kann Bilder weiter und zurückblättern.

Mit Goto komme ich noch nicht weiter...

Was für einen Befehl muss ich dafür absetzen? Aus dem Quellcode werde ich nur so halb schlau.

Probieren brachte mich bisher nicht zum Erfolg.

Kann mir evtl. jemand einen Hinweis geben?

set XBMC Goto

Welche Parameter muss ich mitgeben?

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


CicakDOS

Player.GoTo -> Parameter: Next, Previous, Nummer des Liedes (Musik)
Info: JSON-RPC_API

AK-868

Next und Prev funktioniert auch bei Bildern.

So bei mir ist das mit XBMC defined.

set XBMC Goto picture 8
set XBMC Goto picture8
set XBMC Goto 8
set XBMC Goto8
set XBMC 8 Goto picture

funktioniert z.B. alles nicht.

Obowohl es in der XBMC.pm Goto gibt.



Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


CicakDOS

Okay, mein Fehler - dieses Modul unterstützt kein "Springe zur Position in der Wiedergabeliste".

Kannst einfach in der Subroutine XBMC_Set:

nach:
 
  elsif($cmd eq 'prev') {
    return XBMC_Set_Goto($hash,'previous', @args);
  }
  elsif($cmd eq 'next') {
    return XBMC_Set_Goto($hash,'next', @args);
  }


einfügen:


  elsif($cmd eq 'goto') {
    return XBMC_Set_Goto($hash, $args[0] - 1, $args[1]);
  }


mit folgenden Aufruf:

set <name> goto 8

springt XBMC bei der Musikwiedergabe direkt zur Position 8 in der Wiedergabeliste.

Grüßle

AK-868

Hi, hast du das getestet?

Erstmal danke.

Ich hab leider keine Musik. Ich versuche gerade noch vergebens eine Smartplaylist mit Videos einzurichten. Leider bin ich anscheinend zu blöd.
Das Problem liegt darin das die Daten nicht lokal liegen sondern auf einem Nas. Vorallem sind das Bilder zu einem Video konvertiert. Ergo Sie entsprechen auch keinem Genre. Grml.

Bei Bildern klappt das leider nicht mit Goto. Hätte ja klappen können ;) So wie prev und next.

Gruß Andre
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


CicakDOS

Hallo,

ich bin mir nicht sicher, ob ich Dich folgen kann.
Du möchtest mit dem Befehl was tun ?
Auf ein bestimmtes Bild zugreifen ?

Grüßle

AK-868

Ganz genau das ist mein Plan.

Ich möchte einen Ordner mit Bildern in einer Diashow wiedergeben.

Wenn Event X eintritt soll z.b. Bild 8 in der Playlist "angesprungen" werden.

Mit Videos funktioniert der neue Befehl goto. Danke dafür ;)

Jetzt war meine Überlegung für jedes Bild ein 5sec. Video zu machen. Geht aber nicht weil, die Ladezeit echt lang ist.

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


CicakDOS

Ich glaube laut Definition Thema Playlist und Bilder schließen sich gegenseitig aus.
Praktisch lässt sich über JSON-RPC Slideshow eines vorgegebenen Verzeichnisses starten (inkl. Random, Repeat usw.), aber nur die Befehle Prev/Next sind zulässig.

Hier wäre Beispiel für die Anzeige eines Bildes:

nach dem Code:

  elsif($cmd eq 'stop') {
    return XBMC_Set_Stop($hash, @args);
  }


einfügen:

  elsif($cmd eq 'picture') {
    return XBMC_Set_Picture($hash, @args);
  }


paar Zeile später vor dem Aufruf:

sub XBMC_Set_Message($@)


neue Routine einfügen:

sub XBMC_Set_Picture($@)
{
  my ($hash,$url,$filename) = @_;
  $url      = $1 if ($url =~ /^['"](.*)['"]$/);
  $filename = $1 if ($filename =~ /^['"](.*)['"]$/);
  my $obj = {
    'method' => 'Player.Open',
    'params' => {
      'item' => {
        'file' => $url . $filename
      }
    }
  };
  return XBMC_Call($hash,$obj);
}


Jetzt kannst Du einzelnes Bild anzeigen mit:

set <name> picture url dateiname
z.B. set wzXBMC picture 'Benutzer:Passwort@smb://192.168.1.11/fotos/FHEM' '001.JPG'


Hoffe soweit geholfen zu haben.

Grüßle

AK-868

Sorry das ich mich jetzt erst melde. Bissel viel um die Ohren. Ich werde das versuchen.

1000000 Dank für deine Hilfe!!
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


AK-868

Ich hab das nun eingebaut. Leider scheint mit dem Pfadaufruf was nicht zu stimmen, oder es wird falsch übergeben. Leider hab ich kein Log was ich einsehen kann.

Er macht ein schwarzes Bild, was ja schonmal drauf hindeutet das er den Befehl so halb annimmt.

Vermute er kann das Bild von dem Pfad nicht lesen.

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


AK-868

Hast du das mal Probiert? Ich bekomme es nicht hin. Ich habe jetzt 2 Quellen genommen, bei beiden kommt nur ein schwarzes Bild. Einmal eine linux Quelle und einmal eine windows Quelle. Leider in einer Domäne.


Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder