MrAsterisco / homebridge-hisense-tv

A Homebridge plugin to control RemoteNow-compatible HiSense TVs.
MIT License
21 stars 8 forks source link

Improve Inputs by showing installed apps #10

Closed mitch7391 closed 3 months ago

mitch7391 commented 3 years ago

Not an issue :) just wanted to reach out as I had not seen your plug-in until now. I have been sitting on and testing for months (when I had time) to implement a shell script working through homebridge-cmd4; today I only just rolled out my TV Accessory to the public. I did not have the skill set to make a proper plug-in. I have not tried to install your plug-in yet (will more than likely shift over to it), but feel free to have a look at my shell script and see if there is anything you can steal from it that could help here. Have a nice day!

MrAsterisco commented 3 years ago

Hello @mitch7391 , thanks for reaching out! I'm pretty sure there could be something we could steal from your implementation.

I have one philosophical question first, though: I see you have put all the TV apps as inputs in Home, but from my perspective they're not really input. Instead, I have only exposed the actual hardware inputs and then the user can navigate with the iOS remote if they want to.

What do you think about this? Do you think this plugin should also list all the TV apps as inputs?

mitch7391 commented 3 years ago

Personally myself I hate the apps on TVs and use the better versions of them on my Apple TV directly; but I know that is not the case for a lot of people and therefore prepared every app in case people asked for them. I had noticed on some of the bigger brand TV homebridge plug-ins people were adding the apps as input sources; so I think that is why I went down that path haha... I can almost bet on the fact people on going to ask if you can add it.

ryanshand commented 3 years ago

Personally myself I hate the apps on TVs and use the better versions of them on my Apple TV directly; but I know that is not the case for a lot of people and therefore prepared every app in case people asked for them. I had noticed on some of the bigger brand TV homebridge plug-ins people were adding the apps as input sources; so I think that is why I went down that path haha... I can almost bet on the fact people on going to ask if you can add it.

I don’t mind the idea. I have YouTube and Netflix set up direct on the TV and AppleTV, but mostly because the TV is 4K and can stream 4K Netflix content and my AppleTV isn’t. But to be honest with Homekit integration I’m happy enough to tell Siri to launch Netflix as a shortcut and have the input change to HDMI1.

I don’t think it’s a terrible idea. Maybe something that could be shown/hidden via config file? Kind of how the Ring doorbell plugin lets you hide the camera’s motion sensor from homekit or show it if yoo want to

mitch7391 commented 3 years ago

Ahhh yeah I have an Apple TV 4k, so prefer to do everything there. Good point on the Siri shortcuts though!

Maybe something that could be shown/hidden via config file?

I think that is a really good idea actually. Maybe something to consider if someone asks :)

MrAsterisco commented 3 years ago

Maybe something that could be shown/hidden via config file?

I also think this is the way to go. @mitch7391 Do you map the actually installed apps or do you just have a static list of known apps?

mitch7391 commented 3 years ago

I have a static list of the known apps. The command is of the form:

mosquitto_pub --cafile $certPath --insecure -h $ip -p 36669 -P multimqttservice -u hisenseservice -t "/remoteapp/tv/ui_service/"$pairedMAC"$normal/actions/launchapp" -m '{"name":"Plex","urlType":37,"storeType":0,"url":"http://plex.tv/web/tv/hisense"}'

The important array in the command is:

{"name":"Plex","urlType":37,"storeType":0,"url":"http://plex.tv/web/tv/hisense"}

The full list of apps you can get from:

/remoteapp/mobile/XX:XX:XX:XX:XX:XX$normal/ui_service/data/applist

And it spits out the every app on the TV:

{"url":"netflix","isunInstalled":false,"name":"Netflix","from":"","urlType":37,"storeType":0,"appId":"1"},
{"url":"youtube","isunInstalled":false,"name":"YouTube","from":"","urlType":37,"storeType":0,"appId":"3"},
{"url":"amazon","isunInstalled":false,"name":"Prime Video","from":"","urlType":37,"storeType":0,"appId":""},
{"url":"https://foxtel-go-sw.foxtelplayer.foxtel.com.au/foxtel-hisense19-300/","isunInstalled":false,"name":"Foxtel","from":"","urlType":37,"storeType":99,"appId":""},
{"url":"https://hisense.stan.app/6886/","isunInstalled":false,"name":"Stan","from":"","urlType":37,"storeType":0,"appId":"101"},
{"url":"https://ctv.iview.abc.net.au/?device=hisense","isunInstalled":false,"name":"ABC iview","from":"","urlType":37,"storeType":0,"appId":""},
{"url":"youtube_kids","isunInstalled":false,"name":"Youtube Kids","from":"","urlType":37,"storeType":0,"appId":"38"},
{"url":"http://sbsondemandctv.sbs.com.au/hisense/","isunInstalled":false,"name":"SBS ON DEMAND","from":"","urlType":37,"storeType":0,"appId":"49"},
{"url":"appstore-hisense","isunInstalled":false,"name":"AppsNow","from":"","urlType":37,"storeType":99,"appId":"183"},
{"url":"https://ctv-vidaa.kidoodle.tv","isunInstalled":false,"name":"Kidoodle.TV","from":"","urlType":37,"storeType":0,"appId":""},
{"url":"http://apps.tvgam.es/tv_games/hisense_portal/production/portal/index.html","isunInstalled":false,"name":"Game Center","from":"","urlType":37,"storeType":0,"appId":"35"},
{"url":"http://html5.toongoggles.com/","isunInstalled":false,"name":"Toon Goggles","from":"","urlType":37,"storeType":0,"appId":"36"},
{"url":"http://www.yupptv.com/hisense/index.html","isunInstalled":false,"name":"YuppTV","from":"","urlType":37,"storeType":0,"appId":"43"},
{"url":"http://plex.tv/web/tv/hisense","isunInstalled":false,"name":"Plex","from":"","urlType":37,"storeType":0,"appId":"42"},
{"url":"accuweather","isunInstalled":false,"name":"AccuWeather","from":"","urlType":37,"storeType":0,"appId":"15"},
{"url":"browser","isunInstalled":false,"name":"TV Browser","from":"","urlType":37,"storeType":0,"appId":"16"},
{"url":"http://apps.showmax.com/Kieshoh7eiz9aeph0iewii1theephe","isunInstalled":false,"name":"SHOWMAX","from":"","urlType":37,"storeType":0,"appId":"92"},
{"url":"http://globalcdn.miguvideo.com:8088/TVh5/#/hisense","isunInstalled":false,"name":"Migu TV","from":"","urlType":37,"storeType":0,"appId":""},
{"url":"http://hisense.h5.nihaotv.net","isunInstalled":false,"name":"NiHao TV","from":"","urlType":37,"storeType":0,"appId":""}

You only need name, urlType, storeType and url to execute the command. Foxtel app caught me out as it had a different storeType number which happens to affect the framing of the app in the TV.

MrAsterisco commented 3 years ago

Wow, you know your way around that software!

Alright, sounds interesting. I would go ahead with giving users the option to also list apps as input sources. I am part of the Apple TV gang, so I don't really use anything else on the TV than the HDMI inputs, however I can see a use case.

I'm not sure when this will happen, but I'll keep this issue open to keep track of it.

mitch7391 commented 3 years ago

Wow, you know your way around that software!

Yeah I suppose so lol I had been working on this for a long while!

I'm not sure when this will happen, but I'll keep this issue open to keep track of it.

Awesome, if you have any questions about any other stuff I may have got mine to do just give me a shout :)

LeLunZ commented 5 months ago

Hey @mitch7391 if you you still have your hisense tv. I released a new beta version which allows showing the apps as input.

Feel free to check it out

LeLunZ commented 3 months ago

@mitch7391 this is now available in the latest version 3.0.0 Will close this. If issues arise please create a new bug report.

mitch7391 commented 3 months ago

@LeLunZ sorry for the late reply, I have twin newborns keeping me very busy at present :) I do not have the old Hisense I had way back when but do have a newer one (their replacement warranty is amazing!), but I have never bothered to add it with my own 'sudo plug-in' method, when I get time I will try add it with this plug-in and hopefully no longer need my own!