[Modul] Kodi

Hallo Michael,

verstehe ich es richtig das ich mit deinem Modul das auf IPS (Pi) läuft, Kodi das abenfalls auf einem Pi laufen soll (LAN) und mit dem TV über HDMI verbunden ist, steuern kann, damit ich auf meinem LG WebOS TV Serien, zb: als Favoriten (genau sowas suche ich für meine Frau/Kids) ablegen kann und natürlich per Button abspielen (von einer Synology NAS)?

Das wäre nämlich megacool!

Wenn ja, was brauche ich dazu (für KODI), nen Pi3 mit 8GB SD Karte?

DANKE

Du kannst Kodi komplett fernsteuern.
Aber was Kodi von sich aus nicht kann, kann auch mein Modul nicht.
Außerdem habe ich viele Funktionen zum Verwalten von Favoriten, Datenbanken und Files nicht eingebaut. Der Aufwand rechtfertigt nicht den nutzen. Da es doch sehr spezielle Funktionen sind, welche sich nicht gut fernsteuern lassen.
Das aufrufen (Wiedergabe) von Favoriten funktioniert aber.
Anlegen von Favoriten und Dateien kopieren aber nicht.
Hier ist ein Überblick welche Instanz welchen Funktionsumfang hat:
GitHub - Nall-chan/IPSKodi: IP-Symcon Modul für Kodi
Michael

Hallo Michael,

ich schätze deine Arbeit und dein Können voll! Ich nutze auch dein Kodi Modul schon lange, aber was ich nicht gefunden habe und per „Hand“ lösen musste war die Umschaltung des Audio Outputs :smiley: ZB. von HDMI auf Digital:Out über Toslink, wenn man Hifiberry eingebaut hat :slight_smile:

Aber sehe es mehr als Scherz an, dein Modul kann wirklich „fast“ alles :stuck_out_tongue:

lg
hagi

Danke :smiley:
Wenn diese Umschaltung mit einem addon realisiert ist, dann geht das bestimmt auch.
Gibt ja u.a. KODIADDONS_ExecuteAddon*

Da ich aber Kodi nur auf Windows und Android(TV) nutze; keine Ahnung wie das im Detail funktioniert [emoji14]
Michael

Hier zB. das Kommando für Audio Ausgang HDMI vom PI. Vielleicht bbraucht es wer.

IP wäre anzupassen und ist hier frei erfunden.


//Audio Output HDMI
$Ausgabe = Sys_GetURLContent("http://10.10.1.13:8080/jsonrpc?request={%22jsonrpc%22:%222.0%22,%22method%22:%22Settings.SetSettingValue%22,%22params%22:{%22setting%22:%22audiooutput.audiodevice%22,%22value%22:%22PI:HDMI%22},%22id%22:%221%22}");

lg
hagi

Ah, direkt in den Einstellungen. Okay, da könnte man zumindest ein paar nette Funktionen für anbieten.
So dass ‚nur‘ der Name und der Wert selbst ermittelt werden muss.
Michael (gut das ich morgen eine Tüte Zeit habe :smiley: )

Na dann, nutze die Zeit :smiley:

Das wär Passthrough an/aus:

//Passthrough funktioniert so
If($pass)
{
$pass = "true";    
}
else
{
$pass = "false"; 
}
$Ausgabe_passthrough_ein = Sys_GetURLContent("http://10.10.1.10:8080/jsonrpc?request={%22jsonrpc%22:%222.0%22,%22method%22:%22Settings.SetSettingValue%22,%22params%22:{%22setting%22:%22audiooutput.passthrough%22,%22value%22:".$pass."},%22id%22:%221%22}");

:cool:

@hagi01
Musste erst aufräumen (sowohl im Keller als auch das Modul ^_^) somit kommen neue Features leider erst am Wochenende.

Vorher:

Neue Beta Version:
Diese Version ist abwärtskompatibel, im Fehlerfall wieder aus stable/master wechseln.

(Ab Version 3.0 werden die Scripte für das Design der HTML-Box in die Instanzkonfiguration überführt, ein downgrade ist später nicht mehr möglich!)

Version 2.90:

Neu: Discovery kann auch mit Hostnamen umgehen.
Fix: Links zur Dokumentation korrigiert.
Neu: Testcenter ergänzt.
Neu: Neue Statusvariablen nutzen englische Namen.
Neu: Übersetzungen der Statusvariablen.
Neu: Profile nutzen englische Namen.
Neu: Übersetzungen der Profile.
Fix: Fehlende Übersetzungen der Konfiguration ergänzt.
Neu: Übersetzungen der Fehlermeldungen.
Neu: Konfigurationsformulare optisch angepasst.
Fix: Config-Scripte werden nur beim erzeugen initial versteckt.
Fix: Diverse Schreibfehler korrigiert
Neu: Alle Webhooks der HTML-Tabellen werden mit einem Hash abgesichert.

Michael

Nächste Version kommt vermutlich morgen.
Dann gibt es eine Neue Instanz ‚Kodi Einstellungen‘.
Damit stehen PHP-Befehle zur Verfügung um Einstellungen in Kodi zu ändern (fertig).
Außerdem ist es möglich, für bestimmte Typen von Einstellungen, entsprechende Statusvariablen zu erzeugen und diese direkt aus dem WebFront zu bedienen bzw. per RequestAction zu steuern.
Da die API keine Notifications für Einstellungen anbietet, müssen diese Statusvariablen leider aktiv abgefragt werden.


Michael

[b]Version 2.95:

  • Neu: KodiDeviceSettings Instanz. [/b]

Ab sofort im Modul Store verfügbar.
Über die Konfiguration der Instanz können auch bei Bedarf einige Einstellungen als Statusvariablen in Symcon angelegt werden.

array KODISETTINGS_GetSettings(integer $InstanzeID);
Liefert alle Einstellungen als Array.

bool|integer|string|array KODISETTINGS_GetSettingValue(integer $InstanzeID, string $Setting);
Liefert den Wert einer, in Setting übergeben, Einstellung.
Es muss die id der Einstellung z.B. services.devicename übergeben werden.

array KODISETTINGS_ResetSettingValue(integer $InstanzeID, string $Setting);
Setzen eine Einstellung auf die Werkseinstellung zurück.
Es muss die id der Einstellung z.B. services.devicename übergeben werden.

array KODISETTINGS_SetSettingValueBoolean(integer $InstanzeID, string $Setting, boolean $Value);
Schreibt den in $Value übergeben Wert in die in $Settings angegebene Einstellung.
Es muss die id der Einstellung z.B. services.esenabled übergeben werden.

array KODISETTINGS_SetSettingValueInteger(integer $InstanzeID, string $Setting, integer $Value);
Schreibt den in $Value übergeben Wert in die in $Settings angegebene Einstellung.
Es muss die id der Einstellung z.B. services.webserverport übergeben werden.

array KODISETTINGS_SetSettingValueString(integer $InstanzeID, string $Setting, string $Value);
Schreibt den in $Value übergeben Wert in die in $Settings angegebene Einstellung.
Es muss die id der Einstellung z.B. services.devicename übergeben werden.

Michael

Version 2.97:

  • Fix: ClientSocket wollte immer Änderungen übernehmen, auch wenn keine da waren.
  • Fix: Verbindungtimout beim prüfen der Verfügbarkeit von Kodi erhöht auf 2000ms.
  • Fix: Änderungen des Host im ClientSocket wurden nicht erkannt.
  • Fix: Fehlermeldung beim Verbindungsaufbau, wenn Kodi nicht geantwortet hat.
    Michael

Danke Nallchang!

Ich habe soeben einen Pi4 bestellt und werde dort librelec und Kodi raufspielen um meine Filme auf der NAS für die Kinder bereitstellen zu können!!!

Toll, freue mich schon aufs installieren.

Muss ich irgendetwas wichtiges im Vorhinein beachten?

lg

Läuft hier so fast perfekt, habe da noch TVheadend drauf und schaue damit an mehreren TV’s SatTV und Filme vom NAS.
Einen Fehler habe ich noch, wenn Kodi an ist und IPS neu gestartet wird stimmt was mit dem Client Socket nicht, dann muss ich im Splitter Öffnen ausschalten -speichern - einschalten - speichern. Dann ist wieder alles gut. Michael konnte das bis jetzt nicht nachvollziehen.
Libreelec ist schon genial auf dem PI4 (ich habe da die kleine 2GB Version), und die Steuerung am TV im Wohnzimmer ist viel schneller als am TV selber(Ist ein 4 Jahre alter Sony). Im meinem Bastelbüro nutze ich einen PC Monitor mit PI4 und als FB nehme ich die Kodi APP am Handy, perfekt. In IPS schaue ich da gerne auf die TV Listen am PC, was läuft jetzt und gleich.
Und wenn ich mal bei meiner Tochter im Wlan bin, kann ich auch da über eine App(TvhClient) den TV Stream über VPN von hier sehen.

Hallo zusammen,

Bei dem folgenden Befehl bekomme ich eine Fehlermeldung.

$test = KODIVIDEOLIB_GetMovieDetails(57745, 1);
print_r($test);

Notice: Error (-32602): Missing parameter in KodiDeviceVideoLibrary in /var/lib/symcon/modules/.store/de.nall.chan.kodi/libs/KodiClass.php on line 528

Ist das Ein Fehler, oder mache ich irgendwas falsch?

Vielen Dank und viele Grüße
Markus

Kodi möchte da wohl ein Parameter welcher nicht übertragen wurde.
Bitte öffne einmal den Debug Reiter der Instanz und dort den request Eintrag kopieren und hier Posten, wenn du den Befehl ausführst.
Dann kann ich prüfen welcher Parameter dort fehlt.
Welche Kodi Version?
Michael

Kodi 18.9.0

TXT: 12.12.2020, 20:18:29 |       Send Direct | {"jsonrpc":"2.0","method":"VideoLibrary.GetEpisodeDetails","params":{"movieid":1,"properties":["title","genre","year","rating","director","trailer","tagline","plot","plotoutline","originaltitle","lastplayed","playcount","writer","studio","mpaa","cast","country","imdbnumber","runtime","set","showlink","streamdetails","top250","votes","fanart","thumbnail","file","sorttitle","resume","setid","dateadded","tag","art"]},"id":4733}
TXT: 12.12.2020, 20:18:29 |       Receive Direct | {"error":{"code":-32602,"data":{"method":"VideoLibrary.GetEpisodeDetails","stack":{"message":"Missing parameter","name":"episodeid","type":"integer"}},"message":"Invalid params."},"id":4733,"jsonrpc":"2.0"}
TXT: 12.12.2020, 20:18:29 |       Receive Direct | Missing parameter

Cooler Fund. Fix kommt morgen in die Beta.
Danke.
Michael

Version 2.98:

  • Fix: KODIVIDEOLIB_GetMovieDetails war defekt.
  • Fix: Verhalten des Splitters bei Verbindungsauf/abbau und Konfigurationsänderungen verbessert.

Update als Beta im Store.
Wenn keine Fehler gemeldet werden, wird diese Version zum 18.12. als stable eingereicht.
Michael

Das scheint auf den ersten Blick (Test) zu gehen, Danke Michael.:slight_smile:

Hi Michael,

funktioniert…

Danke für die schnelle Behebung !!

Viele Grüße
Markus