Manchmal würde man gerne automatisiert eine App auf dem Samsung TV starten ohne sich durch das Menü durch zu navigieren – und so geht’s.
Wenn man z.B. automatisiert eine Scene ablaufen lassen möchte, die für den Kino-Abend das Licht herunterdimmt oder weitere indirekte Beleuchtung einschaltet und auf dem Samsung TV Netflix startet sind die ersten beiden Punkte mit dem Licht kein Problem. Doch wie startet man die App auf dem Fernseher? Entweder man macht das manuell oder automatisert die Fernbedienung und lässt die Tasten MENU -> HOCH -> LINKS -> LINKS -> ENTER jeweils mit einer gewissen Wartezeit zwischen den Tasten ablaufen. Das führt aber oft zu Problemen. Es kann passieren, dass bei einem Update die Menüstruktur verändert wird und die App an eine andere Position rutscht. Anstatt Netflix startet man dann YouTube, was ja nicht gewollt ist. Ein anderes Problem kann auftauchen, wenn die einprogrammierte Wartezeit zwischen den Tasten etwas zu kurz ausfällt, weil der Fernseher mal etwas langsamer ist als sonst. Dann wird eine Taste mal verschluckt und es ist absolute Glückssache was passiert.
Aber es geht viel einfacher. Ich bin auf eine Interessante Schnittstelle gestoßen, die es erlaubt Apps zu starten und zu sehen ob eine bestimmte App läuft. Für welche Samsung TV’s das Prinzip funktioniert kann ich nicht sagen. Falls es bei euch funktioniert oder oben nicht, hinterlasst doch ein Kommentar.
Samsung TV Schnittstelle
Jetzt zur Schnittstelle: Habt ihr die IP-Adresse eures Fernsehers ist der Rest ein klacks. Um eine App zu starten sendet einen POST-Request an die URL:
http://IP-ADRESSE:8080/ws/app/APP-NAME
Ich nutze das für die Apps von Netflix, Amazon und YouTube, also:
http://IP-ADRESSE:8080/ws/app/Netflix http://IP-ADRESSE:8080/ws/app/Amazon http://IP-ADRESSE:8080/ws/app/YouTube
Man muss hier jedoch bedenken, dass die App-Namen korrekt geschrieben sind.
Möchte man herausfinden ob eine App läuft kann man das über die selbe URL jedoch als GET-Request.
Home-Assistant
Ich habe mir für Home-Assistant ein kleines Script geschrieben:
# configuration.yaml rest_command: livingroom_tv_app_netflix: method: POST url: 'http://192.168.178.10:8080/ws/app/Netflix' livingroom_tv_app_amazon: method: POST url: 'http://192.168.178.10:8080/ws/app/Amazon' livingroom_tv_app_youtube: method: POST url: 'http://192.168.178.10:8080/ws/app/YouTube'
# scripts.yaml livingroom_tv_app_netflix: sequence: - service: rest_command.livingroom_tv_app_netflix livingroom_tv_app_amazon: sequence: - service: rest_command.livingroom_tv_app_amazon livingroom_tv_app_youtube: sequence: - service: rest_command.livingroom_tv_app_youtube
Das wars auch schon. Hoffentlich hilft der Beitrag dem ein oder anderen von euch.
„livingroom_tv_app_netflix:“
Does the livingroom_tv part need to be the name of the tv?
You can choose any name. It does not matter how you call the script.
Also how did you find the app names?
I analyzed the network traffic to see what happens when the YouTube or Netflix apps on my Android-Smartphone starts the app on TV. The rest was a bit try and error.
How and what app did you use to analyze this? I’m using Samsung Smart View and would want to analyze how it can start every my apps on my tv.
Plex didn’t work and also have some Swedish local apps that didn’t work out of the box.
I also used the Samsung Smart View App and analyzed the network with Wireshark.
https://github.com/Ape/samsungctl/issues/75#issuecomment-404941201
Everyone seems to be having issue getting this to work. Did you have been luck then them? Could you get plex going?
No, I’m sorry. I have an old Samsung TV without Tizen. But did you try to start Plex with the SmartView smartphone app and analyze the network traffic with Wireshark to get the app ID?
sehr cool, klappt. Danke!
Samsung UE65JU7090
Works great!! Samsung qe65q8fna
Hy klappt nur bis auf amazon nicht habs mit primevideo getestet geht leider auch nicht vielleicht kann mir wer weiterhelfen!
Bei mir klappte AmazonInstantVideo
War try and Error bei meinem Nu8009
Hi there, new to home assistant.
I get a python error, because the variable is not global. Any idea where I can define that?
I get this error now: Failed to call service rest_command/livingroom_tv_app_netflix. local variable ‚request‘ referenced before assignment
What version of home-assistant do you use?
Hi there, I get an error, please help:
Failed to call service rest_command/livingroom_tv_app_netflix. local variable ‚request‘ referenced before assignment
Falls das starten nicht gehen sollte probiert es mal mit
curl -X POST -i ‚http://:8001/ws/apps/Netflix‘
Hallo,
hat es jemand geschafft „Live TV“ und den „HDMI Eingang“ auszuwählen?
Hallo zusammen,
DisneyPlus funktioniert bei mir nicht obwohl ich bei GET einen response bekommen…das krieg ich aber sicher noch raus.
Meine Frage an alle: Weiss jemand wie die SKY Q app angesprochen wird, spirch was ist ihr name für den post?