Modul für Kodi (ehemals 70_XBMC)

Begonnen von vbs, 02 Februar 2017, 23:11:10

Vorheriges Thema - Nächstes Thema

Sidey

Zitat von: vbs am 23 Dezember 2018, 00:52:24
   DEF        libreelec:8080 tcp xxxx yyyy

Ich denke, der Port ist nicht korrekt. Der muss 9090 sein. Das ist der Default. Du kannst das ":8080" einfach weglassen.

Du hast recht, obwohl ich in Kodi den Port umgestellt habe auf 8080, aber das greift wohl nicht für diese Schnittstelle.

Danke für den Tip.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

vbs


reppmic

Hallo,

ich brauche mal etwas Hilfe - Kodi 18 nimmt keine http GET request mehr an .. nur noch POST befehle.
ich gehe jetzt über dieses Kodi AddIn und generiere mir über FHEM ein HTTP snipped wie zb :

http://192.168.178.50:8083/fhem?cmd.kkremote=set%20kkremote%20back  für back

nun hat das Addin nicht alle Befehle - wie zb EPG aufrufen, soundkarte switches, passthroughs schalten etc.. - ich kann dies aber mit dem jsonraw Befehl aufrufen...
wie bekomme ich den Befehl:

set KK jsonraw {"jsonrpc":"2.0","method":"GUI.ActivateWindow","id":1,"params":{"window":"tvguide"}}

auf einen eigenen button gemappt welcher per http angesteuert werden kann?

freue mich über Hilfe




vbs

Weiß nicht, ob ich die Frage richtig verstanden habe, aber guck dir mal alias an:
https://fhem.de/commandref.html#cmdalias

reppmic

Danke, aber nicht ganz

ich versuche es mal so :
ich möchte einen button in FHEM erstellen der folgenden befehlt absetzt :

set KK jsonraw {"jsonrpc":"2.0","method":"GUI.ActivateWindow","id":1,"params":{"window":"tvguide"}}

RaspiLED

Hi

Sind das nicht die Attribute Webcmd und eventmap ?

Oder ein ganzes dummy Device mit notify?

Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

reppmic

mhhh, bin ziemlich neu bei FHEM
möchte einfach einen Button der einen http alias für den befehl absetzt

vielleicht so :

wie bekomme ich:
{"jsonrpc":"2.0","method":"GUI.ActivateWindow","id":1,"params":{"window":"tvguide"}}
als
http://fhem:8083/fhem?cmd.kkremote=set%20kkremote%20BTVGUIDE????????????


vbs

Ist ja eigentlich mehr eine FHEMWEB-Frage, aber du könntest probieren, was Arnd vorgeschlagen hat:
Ein dummy anlegen (https://wiki.fhem.de/wiki/Dummy) und im dummy ein set definieren (z.B. set tvguide). Dann legst du ein notify der auf das set-tvguide von dummy reagiert und dann einen Wunschbefehl ausführt. Geht auch bestimmt irgendwie eleganter mit DOIF oder so.

reppmic

Hi Habs jetzt so gemacht - geht aber leider nicht

jemand eine Idee?


MadMax-FHEM

Zitat von: reppmic am 27 Januar 2019, 14:26:25
Hi Habs jetzt so gemacht - geht aber leider nicht

Ist klar, weil die Hälfte fehlt...


Zitat von: reppmic am 27 Januar 2019, 14:26:25
jemand eine Idee?

Ja:

- wie bereits vorgeschlagen: neuer Thread weil es hiermit nichts zu tun hat!

- In fhem Grundlagen einlesen!!!!

Trotz OT noch kurz (sollte das auch nicht "fruchten", dann wirklich neuer Thread!!):


define dmSchalter dummy
attr dmSchalter setList tvGuide
attr dmSchalter webCmd tvGuide



define nTVGuide notify dmSchalter:tvGuide set KK jsonraw {"jsonrpc":"2.0","method":"GUI.ActivateWindow","id":1,"params":{"window":"tvguide"}}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

FSausF

Hallo KODI/fhem-Community,

ich hab' da wahrscheinlich ein Anfänger-Problem und stehe im dunklen Teil des Waldes, wo ich möglicherweise die Hand vor Augen nicht sehe:
Ich habe KODI (Krypton / LibreELEC 8.2.5) auf einem Raspi laufen, fhem auf einem anderen.
Beide sprechen miteinander. Zum Beispiel schaltet fhem KODI ein und startet einen Stream. Feine Sache!

Am KODI hängen zwei Audio-Devices (HDMI und analog). HDMI befeuert den Fernseher und Soundbar, analog den Stereo-Verstärker.
Auf KODI läuft ein Plugin, Audio Profiles, das bei der Wiedergabe von Filmen die Ausgabe auf die Soundbar und bei Wiedergabe von Musik auf den analogen Anschluß schaltet. Das funktioniert nicht 100%, aber einigermaßen.

Aber: Wird der Audio-Stream nicht über das KODI-GUI, sondern über fhem gestartet, funktioniert diese Schaltung nicht.

Also will ich sie vor dem Starten des Streams durch fhem auslösen.
Im AddOn wird - soweit ich das bisher herausfinden konnte - die Profilnummer (also in meinem Fall 1) benötigt.

Wie kriege ich das hin?

Ich sehe zwei Möglichkeiten:
1.) set KODI addon script.audio.profiles 1
2.) set KODI jsonraw {"jsonrpc":"2.0","method":"Addons.ExecuteAddon","id":1,"params":"script.audio.profiles","params":"1"}

1.) macht im Log genau garnix.
2.) gibt mir im Log einen Fehler "KODI_Read: Received error message: {"error":{"code":-32600,"message":"Invalid request."},"id":1,"jsonrpc":"2.0"}"

Ich folgere aus diesem Fehlerbild, dass der jsonraw schon bei KODI ankommt, der aber nix damit anfangen kann.

Meine Fragen:
a.) Bin ich mit dem richtigen Addon-Namen unterwegs (gilt für 1 und 2)? Wie finde ich den raus?
b.) Was muß ich in Alternative 2 schicken, um den in Foren zum Addon für die (Keymap) Definition einer Fernbedienung in KODI zu findenden "RunScript(script.audio.profiles,1)" zu senden?
c.) Was muß ich in Alternative 1 schreiben um das Addon anzusteuern und ihm die "1" zu übergeben?
Ich will dabei bitte keine Fernbedienung in KODI bauen.

Sicher ein Anfängerproblem, aber ich steh' grad' voll im Dunkeln...

Habt Ihr eine Idee für mich?

Danke und schönen Sonntag!

vbs

Versuch mal das hier:
set KODI jsonraw {"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.audio.profiles","params": ["1"]},"id":1}

FSausF

Zitat von: vbs am 03 Februar 2019, 12:56:35
Versuch mal das hier:
set KODI jsonraw {"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.audio.profiles","params": ["1"]},"id":1}

PERFEKT!!
Das rockt genau so!
Danke!
Den ersten Cappuccino mit dem Frühstückradio trinke ich morgen früh im Gedenken an Dich (vorausgesetzt, es hat im etwas zickigen DOIF auch gerockt)!
Super!

Sauseklaus

#163
Liebe FHEM und Kodi Fans,

nach der Aktualisierung meiner Kodi-Installationen unter LibreElec auf Raspberry Pi von 16.1/Krypton/7.0.2 auf 18.1/Leia/9.0.1 musste ich feststellen, dass bisher verwendete gethttpfile-Aufrufe zur Steuerung von Kodi nicht mehr funktionierten. Das hat mich dann dazu gebracht etwas intensiver in das Kodi-Modul zu schauen, um dann festzustellen, dass es eh die bessere Lösung für die meisten meiner Anwendungsfälle ist.

Herzlichen Dank schon mal für die Entwicklung und den Support des Kodi-Moduls!

Ich konnte auch alle verwendeten Steuerungsbefehle erfolgreich auf das Kodi-Modul umstellen. Jedoch sind noch zwei Punkte offen, die ich gerne hier einmal ansprechen möchte. Vielleicht könnt Ihr mir ja helfen und Licht in das Dunkel bringen.

1. Ich verwende einen http-Request zum Umstellen des Audio-Ausgangs. Mit gethttpfile hat das einwandfrei und zuverlässig funktioniert. Bei Verwendung des jsonraw Befehls im Kodi-Modul wurde die Umstellung des Audio-Ausgangs in Kodi auch durchgeführt, jedoch stürzte dann FHEM komplett ab. Die Fehlermeldung im Log-File lautete: Not a HASH reference at ./FHEM/70_KODI.pm line 777
Es scheint mir so zu sein, dass die von Kodi zurückgegebene ID nicht zugeordnet werden kann und FHEM zum Absturz gebracht hat.
Zur Info: ich verwende vermutlich eine nicht aktuelle Version von FHEM bzw. 70_KODI.pm. Es ist im Kopf der 70_KODI.pm das Datum 2017-10-30 angegeben.

Das Umschalten der Audio-Quelle führe ich mittlerweile mit dem Audio Profile Addon und dem jsonraw-Befehl aus dem Beitrag vor diesem Post erfolgreich durch.

Dennoch interessiert mich was FHEM hier zum Absturz gebracht hat? Habt Ihr eine Idee?

2. Das Starten von intelligenten Playlisten per open- bzw. opendir-Befehl des KODI-Moduls ist mir nicht gelungen, es gibt aber auch hier eine auf mehreren jsonraw-Befehlen basierende Lösung, die auch dann gut funktioniert. Hier habe ich es aber nicht geschafft einen Dateinamen, der Leerzeichen enthält, für die Playliste als Parameter für den jsonraw-Befehl zu übergeben. FHEM sendet immer den Dateinamen ohne Leerzeichen, sodass dann natürlich Kodi die Datei nicht findet und nicht öffnen kann. Hier wäre ich für Hinweise, wie der Befehl in FHEM aussehen muss, damit auch Leerzeichen korrekt an Kodi übergeben werden, sehr dankbar.

Der jsonraw-Aufruf, bei dem keine Leerzeichen übergeben werden, sieht derzeit wie folgt aus:

fhem('set RasPi_HZ jsonraw {"jsonrpc":"2.0","method":"Playlist.Add","id":437776768,"params":{"playlistid":0,"item":{"directory":"special://profile/playlists/music/Liste mit Songs.xsp"}}}');

Laut Log-Datei geht dann der jsonrpc-Befehl mit 'ListemitSongs.xsp' an Kodi, also ohne die Leerzeichen.

Aktuell habe ich eine Kopie der Datei ohne Leerzeichen unter gleichem Pfad abgelegt, die mit dem o.g. Befehl ohne Probleme geöffnet wird.

Wäre prima, wenn Ihr mir hier weiterhelfen könntet.
VG

vbs

Klingt interessant! Könntest du bitte mal verbose auf 5 setzen und dann die Aktionen nochmal durchführen? Dann bitte die Logs posten und dazu schreiben, was du genau gemacht hast.

Zu den Leerzeichen:
Generell müssen bestimmte Sonderzeichen in URLs gesondert kodiert werden. Leerzeichen z.B. als "%20":
https://www.tutorialspoint.com/de/html/html_url_encoding.htm

Evtl. ist das schon dein Problem.