Fhem cec Befehl ---> Kodi --> TV Aus/Einschalten

Begonnen von RunningXx, 16 September 2016, 09:46:36

Vorheriges Thema - Nächstes Thema

RunningXx

Hallo,

Ist es möglich aus Fhem raus CEC Befehle an Kodi zu senden um so den Angeschlossenen TV zu steuern?
Ich habe json-rpc auf einem pi mit fhem installiert und in Kodi auf einem pi alles passende eingestellt.
In Fhem is Ein kodi Modul abgelegt das auch soweit funktioniert.

SwordMaster

#1
Hallo,

Etwas verspätet, aber ja ich hab sowas auch gemacht.

1. KODI Plugin installieren: https://github.com/joshjowen/script.json-cec

2. Dummy in FHEM anlegen

define TVBuero dummy


3. Notifys die bei der Statusänderung (on/off) des Dummys entsprechend HTTP Requests an das Kodi Plugin aussenden
Beispiel:

define TVBueroOffNotify notify TVBuero:off { GetHttpFile("fhem:8080", "/jsonrpc?request={\"jsonrpc\":\"2.0\",\"method\":\"Addons.ExecuteAddon\",\"params\":{\"addonid\":\"script.json-cec\",\"params\":{\"command\":\"standby\"}},\"id\":1}") }


Hoffe das war das was du gesucht hast.

P.S. Leider geht nur ein/ausschalten.
Wenn du aber Kodi steuern willst, gibt es dafür andere Möglichkeiten als CEC.

Viele Grüße
Stefan

RunningXx

#2
Danke für die Antwort. Ein zuspät gibt es nicht ;)

Ich habe libreELEC auf einem PI und alles soweit installiert.
Ich habe den dummy und das Notify erstellt aber es will einfach nicht.

ich habe auch den Beispiel JSON Befehlt über den Browser ausprobiert.

http://localhost:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.json-cec","params":{"command":"activate"}},"id":1}

als Antwort kommt nur:
{"error":{"code":-32602,"message":"Invalid params."},"id":1,"jsonrpc":"2.0"}

Ich will nur das TV Auschalten bzw. Einschalten. Für alles andere nutze ich das XBMC-Modul oder Halt das Webinterface von Kodi.


EDIT: Habe das script.JSON-CEC nochmal installiert jetzt funktioniert das Einschalten aber das Auschalten bzw Standby geht immernoch nicht.
Beim Standby Befehl wird zwar die Wiedergabe pausiert aber dem TV juckt es nich der bleibt an.

EDIT2: Fehler gefunden Habe es nochmal bei meinem SamsungTV(Anynet+) da gehts einwandfrei. Der andere ist ein LG(Simplink) muss ich wohl nach einer anderen Lösung suchen.

danke gruß Lars


RunningXx

#3
Hey,

Für alle die einen LG-TV mit Simplink nutzen und diesen gerne über FHEM ein oder auch ausschalten möchten, ich nutze eine IT-433MHz Funksteckdose und binde diese in FHEM ein.

Wenn das LG-TV beim ausschalten der Steckdose eingeschaltet war, schaltet sich dieser auch beim Einschalten wieder ein. Das klappt bei meinem Samsung Model auch aber diesen kann ich ja zum Glück über CEC ausschalten.

Mein LG Model=55LB620V Wie das bei anderen Modellen Funktioniert Könnt ihr natürlich mit dem Stecker ziehen Simulieren.

Das negative bei dieser Lösung ist ,dass das TV nicht Über die TV-Remote eingeschaltet werden kann, da er ja jetzt im ausgeschalteten Zustand stromlos ist und nicht im Standby.
Negativ ist auch, das er sich auch nicht Über das Webinterface oder der Kodi App bei Wiedergabe automatisch Einschaltet.

Da ich das Ganze in einer LightScene mit einbinde und ich diese aktiviere bevor ich das TV erreiche, ist das kein problem für mich und zu not kann ich das TV auch über das FHEM Widget auf dem iPhone einschalten.

Für das Automatische einschalten Bei Wiedergabe Über das Webinterface gibt es Bestimmt eine Lösung mit FHEM, sobald ich diese gefunden habe werde diese hier ergänzen.

gruss Lars

Pr3mut05

Wenn ich die URL im Browser eingebe funktioniert es :D
Über das notify jedoch nicht :(
Ist der Befehl wirklich korrekt?! Oder woran kann es sonst noch liegen?

sn0000py

#5
Hallo ich hole den thread mal rauf, wollte es gerade testen

und soviel ich mal gelesen haben muss man nun POST und keine GET mehr machen aber auch bei POST bekomme ich zurück

http://10.0.0.109:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.json-cec","params":{"command":"activate"}},"id":1}

{
"error":{
"code": -32700,
"message": "Parse error."
},
"id": null,
"jsonrpc": "2.0"
}


Ok Kommando zurück .. bekomme nun OK, man muss das request auch in die Post Daten rein

sn0000py

aber bei meinem LG geht auch nur das activate und das standby nicht :(

gibt es da eine andere Lösung? (ohne das ich Funksteckdosen verwenden muss)