I wasn’t using the streaming service buttons and hadn’t realized that they no longer work. I should definitely fix that. Logging a bug and going to work on it now.
Fixed!
BUT I wasn’t able to get the correct activities or test many of the new default sources. If you or anyone else knows the correct ones for the ones that don’t work please let me know so I can fix them.
Yup, I referenced it in the v1.3.2 release notes and used your collection of deep links as a basis for the expanded list of default sources (here in android-tv-card.js
). The big ones I want to fix are Hulu and Max, as I use those two regularly but wasn’t able to find their deep links within their AndroidManifest.xml
files. None of Hulu’s possible options worked and Max had hex codes instead of human readable strings.
That is just awesome! Looks great even the include svg icons. I have tested Netflix, Disney+, Youtube and Prime video and all work like a charm. Thanks man. I’ll surely keep on testing and let you know if I find anything that doesn’t work.
Three buttons do not work on my Nvidia Shield but that could just be my Shield or the integration acting up but thats opening the menu, settings and button mode. According to the Android TV Remote docs it’s BUTTON_MODE, SETTINGS or MENU but not even manually calling a service with those commands work.
Yeah unfortunately I think some of the buttons not working is a limitation of the underlying library that the integration uses or the protocol itself. I was asking about alphabetical buttons in this thread and the author of the Android TV Remote Protocol V2 Python package @tronikos said it hadn’t been reversed engineered yet. Still there is a workaround for sending text using ADB with this integration. Maybe it’ll work for your buttons too?
Thanks for the suggestion! I will deff try it out.
I was fiddling around with the buttons and there is a typo (underscore) in the play button
play: { key: 'MEDIA_PLAY_', icon: 'mdi:play' },
In version 1.3.3 somehow the buttons for the navigation_row are wrong aligned.
vs 1.3.2
Sorry about that! I broke the navigation row buttons when I was refactoring in v1.3.3. Fixed in v.1.3.4.
Just found this very promising bit of code.
I am wondering how difficult it would be to adapt this code for other media players like Kodi and Apple TV. I would assume many people would be interested in that?
I want to program very similar swipe gestures/touchpad remotes for all me HT gear, as I have in the current environment that I am migrating from at some point (iRule)
Any comments appreciated. Many thanks!
You should be able to use the custom_keys
and custom_sources
input options to do so without any code change. But feel free to fork it to make a version that works with other stream boxes natively! This project is already a fork of a fork haha. See this part of the README.. Custom keys and sources was actually already a feature in the project forked this from (although it didn’t work with swipe commands then), and a more rudimentary version existed in the card that was forked from.
Thanks @Nerwyn . Appreciated!
I will definitely experiment with this over the coming months. It looks like a very good base to start from for a modern swipe-based GUI in HA. Many thanks!
Hello,
I am so far unable to get this working with my Apple TV and Kodi Box.
Also unable to find examples for how and where to use custom_keys
Any chance of a short bit of example code to show intended possible use, to try to get going?
Many thanks regardless.
It’s right there in the README. I don’t have an Apple TV so I can’t test it, but based on the Apple TV Home Assistant integration page I imagine that it should look something like this:
type: custom:android-tv-card
remote_id: remote.apple_tv
_row_1:
- power
- play
- pause
- menu
navigation_row: touchpad
custom_keys:
up:
icon: mdi:chevron-up
key: up
down:
icon: mdi:chevron-down
key: down
left:
icon: mdi:chevron-left
key: left
right:
icon: mdi:chevron-right
key: right
center:
icon: mdi:checkbox-blank-circle
key: select
power:
icon: mdi:power
key: suspend # or wakeup? idk I'm an Android user.
play:
icon: mdi:play
key: play
pause:
icon: mdi:pause
key: pause
menu:
icon: mdi:menu
key: menu
Nope. I tried Kodi a few times but it never played well with my setup. I used to use a combination of AutoHotKey and Rainmeter to launch Windows streaming apps straight to fullscreen but it was janky since most Windows streaming apps don’t play well with direction key controls and it confused people who thought the whole setup would behave like a regular smart TV. Tried a couple of third party app launchers but then bit the bullet and got a Google TV for my home theater when the new Home Assistant Android TV remote integration was released. For streaming personal media I use Plex. Got a lifetime pass on sale a while ago and it’s easy for less technically savvy family and friends to use.
Thanks for the info. Long time Kodi user here and these days on Raspi 4 with 4K, HDR and Atmos
Very happy with it. Does it all for any user with a clean GUI IMHO. Ah well.
I now have two cards working with this touchpad card for an Apple TV and a Sony Bravia TV.
Will continue to try to build two more touchpads and custom keys for Kodi and a Marantz receiver.
Those two are trickier, at least to me.
Any hints appreciated on those two would be very much appreciated.
Your touchpad code makes it very possible. Many, many thanks again!
FYI: You can now send text to your Android TV using this card via the Android Debug Bridge integration. Entering the ADB media_player
entity ID into the card config via the adb_id
option and then creating and clicking on a keyboard
button opens a browser prompt, which you can enter text into which will be sent to your Android TV via ADB. Make sure to also create delete
and enter
buttons so you can easily remove and search for the text you enter.
In the future I hope to change this to use a keypress event listener to send key events via ADB instead. I was initially working on that but I found that it would be much easier and faster to implement this method for now. Before I can use keypress events instead I’ll have to map all of the possible JS key codes to ADB key codes.
Dear @Nerwyn
Thanks again for this great bit of code.
Just wondering if you would care to comment on an issue I have with getting Kodi to work with this
touch pad? As an example ( the down arrow for navigation) how would you in your view suggest doing this code so that it works for a button in HA used in the settings for your touchpad settings?
I have so far been unable to get it to work with this card? Many thanks regardless!
Try this:
custom_keys:
down:
icon: mdi:chevron-down
service: kodi.call_method
service_data:
entity_id: media_player.marantz_sr7013_2
method: Input.Down
Edit:
Just to confirm: this is working on Kodi. Fab!