Antworten
Jan 27, 2023 - 13:16
Was besitzt Du denn für eine Lizenz im NEO AIO CREATOR bzw. welche NEO Plugins besitzt Du denn zur Zeit?
Das so wie in Deinem Ansatz zu machen bzw. anzusteuern, bist Du tagelang wenn nicht wochenlang beschäftigt, um nur ansatzweise vollständig Kodi aus NEO steuern zu können.
Einfacher ist es über ein NEO Plugin einfach Kodi im Gerätemanager des AIO NEO Creator zu importieren, das spart Dir jede Menge Zeit und viel basteln beim einrichten, vor allem kannst Du dann auch alles einfach einem Button oder Slider zuweisen.
Ich selber nutzte zur Ansteuerung von Kodi IP-Symcon, das an NEO über ein NEO Plugin angebunden ist, da musst Du dann nichts umständlich selber basteln. Für die Kodi Ansteuerung nutzte ich die Kodi Library für IP-Symcon, da muss ich mir selber keinerlei Arbeit machen und mich mit der Kodi API auseinander setzten und kann alle Befehle für Kodi aus NEO nutzten, nachdem diese einfach im Gerätemanager importiert wurden
Sieht für Lautstärke dann bei mir einfach so aus
Status Lautstärke
Zuordnung Lautstärke zum Slider
Das so wie in Deinem Ansatz zu machen bzw. anzusteuern, bist Du tagelang wenn nicht wochenlang beschäftigt, um nur ansatzweise vollständig Kodi aus NEO steuern zu können.
Einfacher ist es über ein NEO Plugin einfach Kodi im Gerätemanager des AIO NEO Creator zu importieren, das spart Dir jede Menge Zeit und viel basteln beim einrichten, vor allem kannst Du dann auch alles einfach einem Button oder Slider zuweisen.
Ich selber nutzte zur Ansteuerung von Kodi IP-Symcon, das an NEO über ein NEO Plugin angebunden ist, da musst Du dann nichts umständlich selber basteln. Für die Kodi Ansteuerung nutzte ich die Kodi Library für IP-Symcon, da muss ich mir selber keinerlei Arbeit machen und mich mit der Kodi API auseinander setzten und kann alle Befehle für Kodi aus NEO nutzten, nachdem diese einfach im Gerätemanager importiert wurden
Sieht für Lautstärke dann bei mir einfach so aus
Status Lautstärke
Zuordnung Lautstärke zum Slider
Jan 27, 2023 - 13:48
Hallo!
evtl könnte man alternativ das Kodi Webinterface als ganzes einbinden.
Ich verfolge diese Richtung für die Einbindung des Logitech Media Servers LMS mit dem material plugin.
Schöne Grüße, Martin
evtl könnte man alternativ das Kodi Webinterface als ganzes einbinden.
Ich verfolge diese Richtung für die Einbindung des Logitech Media Servers LMS mit dem material plugin.
Schöne Grüße, Martin
Jan 27, 2023 - 14:25
Ich weis nicht ob Mona da wirklich im Detail helfen kann bzw. sich da im Detail mit der Kodi API wirklich auskennt, zumindest hatte sie mal einen Blog bei mediola dazu verfasst.
KODI: Anzeige und Steuerung über HTTP-Requests
Meine ganz persönliche Meinung dazu ist, dass dieser gewählte Ansatz im Blog viel zu kompliziert und zu zeitaufwendig ist, um damit eine komplette Steuerung von Kodi einzurichten, aber am Schluss soll da ja jeder den Weg wählen, den er für sich am besten hält.
KODI: Anzeige und Steuerung über HTTP-Requests
Meine ganz persönliche Meinung dazu ist, dass dieser gewählte Ansatz im Blog viel zu kompliziert und zu zeitaufwendig ist, um damit eine komplette Steuerung von Kodi einzurichten, aber am Schluss soll da ja jeder den Weg wählen, den er für sich am besten hält.
Jan 29, 2023 - 23:56
Grundsätzlich ist es mit der Technik in NEO auch möglich einen Slider zu nutzten um die Position anzuzeigen und anzuspringen, sowie eben alle Informationen auszulesen, die die API von Kodi zur Verfügung stellt. In dem von Dir gewählten Ansatz ist es halt nur sehr mühsam.
Eine Ansicht sieht bei mir in NEO z.B. so aus
Eine Ansicht sieht bei mir in NEO z.B. so aus
Feb 01, 2023 - 11:02
Die URL, wie das Cover über die Kodi API abgerufen wird, kenne ich leider auch nicht auswendig, da ich mir wie gesagt nicht die Zeit genommen habe bzw. mir das zu zeitaufwendig und umständlich ist, für jeden gewünschten Datenpunkt das nachzuschlagen zu müssen und dann aus NEO ein HTTP Request abzusetzen.
Ich selber nutzte wie gesagt die Kodi Library für IP-Symcon um alle Daten von Kodi abzurufen und dann über ein NEO Plugin in NEO anzuzeigen.
Die Kodi API liefert alle Cover und der Kodi Player liest diese auch aus, Du kannst ja mal im Quellcode schauen, was dort genau an Kodi gesendet wird.
Wenn man sämtliche Cover inclusive Fanart, Banner usw. weiter haben und in NEO darstellen will, muss man diese einzeln einer Variable zuweisen, um diese dann in NEO als Status zuweisen zu können.
Ich nutzte dazu die Methode
KODIPLAYER_GetItem(integer $InstanzeID);
des Kodi Players des Kodi Moduls von IP-Symcon.
Diese Methode gibt ein Array zurück, die Werte schreibe ich in Variablen, die dann NEO nach einem Import über den Gerätemanager zur Verfügung stehen.
Der Array für die Cover sieht beispielsweise bei dem Film so aus
Wie Du siehst liefert die Kodi API also alle Cover als URL zurück, wahrscheinlich musst Du für die URL noch ein rawurldecode durchführen auch wenn Du das mit dem NEO Server ausliest, damit diese dann auch für NEO nutzbar ist und das image:// zu Beginn der Zeichenkette entfernen.
Ich lese also die Werte aus dem Array aus und schreibe den Wert dann für NEO in eine Variable eines Geräts.
Im NEO Creator muss ich dann nur noch einem Webseitenelement den Status des Geräts zuweisen
und im HTML Grundgerüst den Status an der passenden Stelle ergänzen
Ich selber nutzte wie gesagt die Kodi Library für IP-Symcon um alle Daten von Kodi abzurufen und dann über ein NEO Plugin in NEO anzuzeigen.
Die Kodi API liefert alle Cover und der Kodi Player liest diese auch aus, Du kannst ja mal im Quellcode schauen, was dort genau an Kodi gesendet wird.
Wenn man sämtliche Cover inclusive Fanart, Banner usw. weiter haben und in NEO darstellen will, muss man diese einzeln einer Variable zuweisen, um diese dann in NEO als Status zuweisen zu können.
Ich nutzte dazu die Methode
KODIPLAYER_GetItem(integer $InstanzeID);
des Kodi Players des Kodi Moduls von IP-Symcon.
Diese Methode gibt ein Array zurück, die Werte schreibe ich in Variablen, die dann NEO nach einem Import über den Gerätemanager zur Verfügung stehen.
Der Array für die Cover sieht beispielsweise bei dem Film so aus
array(9) {
["banner"]=>
string(105) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmoviebanne
r%2fcoco-5a01bd626a94b.jpg/"
["clearart"]=>
string(109) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fhdmoviecle
arart%2fcoco-5a01e6ebbeda6.png/"
["clearlogo"]=>
string(105) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fhdmovielog
o%2fcoco-58c67b9219c45.png/"
["discart"]=>
string(103) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmoviedisc%
2fcoco-5a800fd675b2f.png/"
["fanart"]=>
string(109) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmoviebackg
round%2fcoco-5cb5f938d4a77.jpg/"
["icon"]=>
string(25) "image://DefaultVideo.png/"
["keyart"]=>
string(105) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmovieposte
r%2fcoco-5a01bc49d8d8f.jpg/"
["landscape"]=>
string(104) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmoviethumb
%2fcoco-5a01bd86ee340.jpg/"
["poster"]=>
string(105) "image://https%3a%2f%2fassets.fanart.tv%2ffanart%2fmovies%2f354912%2fmovieposte
r%2fcoco-5a4dea88c4bda.jpg/"
}
Wie Du siehst liefert die Kodi API also alle Cover als URL zurück, wahrscheinlich musst Du für die URL noch ein rawurldecode durchführen auch wenn Du das mit dem NEO Server ausliest, damit diese dann auch für NEO nutzbar ist und das image:// zu Beginn der Zeichenkette entfernen.
Ich lese also die Werte aus dem Array aus und schreibe den Wert dann für NEO in eine Variable eines Geräts.
$items = KODIPLAYER_GetItem(18704);
$art = $items['art'];
// var_dump($art);
$banner = $art['banner'];
$url_banner = rtrim(str_replace("image://", "", rawurldecode($banner)), "/");
$clearart = $art['clearart'];
$url_clearart = rtrim(str_replace("image://", "", rawurldecode($clearart)), "/");
$clearlogo = $art['clearlogo'];
$url_clearlogo = rtrim(str_replace("image://", "", rawurldecode($clearlogo)), "/");
$discart = $art['discart'];
$url_discart = rtrim(str_replace("image://", "", rawurldecode($discart)), "/");
$fanart = $art['fanart'];
$url_fanart = rtrim(str_replace("image://", "", rawurldecode($fanart)), "/");
$icon = $art['icon'];
$url_icon = rtrim(str_replace("image://", "", rawurldecode($icon)), "/");
$keyart = $art['keyart'];
$url_keyart = rtrim(str_replace("image://", "", rawurldecode($keyart)), "/");
$landscape = $art['landscape'];
$url_landscape = rtrim(str_replace("image://", "", rawurldecode($landscape)), "/");
$poster = $art['poster'];
$url_poster = rtrim(str_replace("image://", "", rawurldecode($poster)), "/");
//var_dump($url_poster);
SetValue(28832, $url_banner);
SetValue(21995, $url_clearart);
SetValue(45148, $url_clearlogo);
SetValue(51666, $url_discart);
SetValue(30504, $url_fanart);
SetValue(44306, $url_icon);
SetValue(52836, $url_keyart);
SetValue(32400, $url_landscape);
SetValue(49340, $url_poster);
Im NEO Creator muss ich dann nur noch einem Webseitenelement den Status des Geräts zuweisen
und im HTML Grundgerüst den Status an der passenden Stelle ergänzen
Von
Hallo Fonzo,
ich besitze eine Ultimate-Lizenz. IP-Symcon ist für mich aber keine Option. Das ist mir zu kompliziert. Und außerdem entstehen da doch Zusatzkosten, oder?
>Einfacher ist es über ein NEO Plugin einfach Kodi im Gerätemanager des AIO NEO Creator zu importieren
Das habe ich noch nicht verstanden. Über welches Plugin soll ich Kodi im Gerätemanager importieren?
Oder meinst Du damit IP Symcon?
Von
Aus meiner persönlichen Sicht ist es zumindest einfacher Dinge einfach aus externen Systemen im Gerätemanager vom AIO NEO Creator über ein NEO Plugin zu importieren und dann das Gerät ganz normal wie jedes andere Gerät auch einem Element zuordnen zu können als sich selber die Mühe zu machen und umständlich für jeden Button oder Slider einen HTTP Request abzusetzen und dann auch noch die JSON Antwort auswerten zu müssen.
Dein gewählter Ansatz ist auf alle Fälle deutlich komplizierter und auch deutlich zeitaufwendiger um zu einem Ergebnis zu kommen um Kodi mit allen Befehlen ansteuern zu können.
Egal wie, entweder setzt Du Dich eben am Schluss mit einem externen System auseinander, in das man sich auch ein wenig einarbeiten muss, hast dafür aber nicht die ganze Arbeit die ganze Kodi API selber in NEO einzubinden oder Du machst das eben auch mit dem komplizierten Ansatz, den Du jetzt gewählt hast, selber.
Eine einfache Lösung jetzt nur für die Lautstärke wäre doch auch diese einfach über den Verstärker aus NEO einzustellen und nicht den Weg über Kodi zu gehen.
IP-Symcon kostest in der Basic Lizenz zur Zeit 149 €, dafür kannst Du dann aber nicht nur Kodi sondern eben auch noch ganz andere Systeme mit NEO nutzten, und außerdem langfristig einfach Daten aufzeichnen. Du kannst das aber auch kostenlos erst mal testen mit einer Demo Version.
Ich importiere die Geräte bzw. Systeme, dazu gehört auch Kodi über das NEO Plugin IP-Symcon im Gerätemanager vom AIO CREATOR NEO.
Wenn Du eine Ultimate Lizenz hast könntest Du auch den Weg über openHAB gehen
https://www.openhab.org/addons/bindings/kodi/
Das wäre zumindest auf Seite von openHAB kostenlos. Inwiefern das mit NEO aber zuverlässig funktioniert bzw. überhaupt sinnvoll nutzbar ist, kann ich Dir persönlich nicht sagen, da ich das so nicht in der Kombination nutzte.
Neuen Kommentar hinzufügen