That’s the Google Home app, not the Google TV app. I suspect that the Home app uses the Cast API, since that’s already in place for older Chromecasts and Nest devices. Maybe the Chromecast binding would give some clues as to how volume is controlled in Android TV?
The volume controls in the Google TV app show up as buttons when you go into the “TV Remote” screen.
I’m pretty sure that’s the cast API. I have considered pulling it in as well for media control but haven’t for a few reasons. Yes, GTV is encrypted. However there is actually a MITM proxy built into the binding we can use to decrypt the stream if we need. If you want to be more certain, you can Wireshark and see what ports it’s running on.
If I recall correctly, the Home app was designed specifically for Chromecasts, so it has always used that API to interact with Android TVs (seeing them purely as Cast devices).
I’m fairly certain that the Chromecast binding is still using v2 of the Cast API. Since it continued to work, no one has put time into implementing v3 (which was released in 2017).
So…I guess if you wanted to go deeper down the rabbit hole, you could turn this into a replacement for the Chromecast binding as well.
But I’m not actually requesting that, because you’ve already put in a ton of effort for which we’re grateful!
Just checking in with everyone. With the exception of the issue on some of the DirecTV boxes, is anyone having any kind of issues or instability? Mine have been online for weeks with no issues here so I’m really hoping we’ve hit a good stable point.
I sometimes see that the binding is reconnecting to the TV for some reason
18:58:18 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from ONLINE to OFFLINE: GoogleTV: reconnecting
18:58:18 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: reconnecting to OFFLINE: GoogleTV: I/O Error
18:58:50 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: I/O Error to OFFLINE: GoogleTV: Initializing
18:58:50 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: Initializing to OFFLINE: GoogleTV: reconnecting
18:58:50 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: reconnecting to OFFLINE: GoogleTV: I/O Error
18:58:50 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: I/O Error to OFFLINE: GoogleTV: Initializing
18:58:53 (15. 04.) Multimedia_Wohnzimmer_Fernseher - Login Successful
18:58:53 (15. 04.) Thing 'androidtv:googletv:Multimedia_Wohnzimmer_Fernseher' changed from OFFLINE: GoogleTV: Initializing to ONLINE
but besides that the connection and features are rock solid and work fine. . See all fernseher.log (22.2 KB) if you want to see how often this happens.
The only thing I’d love to see is absolute volume control… but thats a known issue ^^
That’s interesting. Any chance of a network issue? IO Error generally implies that it can’t connect to the device. Just to confirm, you’re on the most recent version posted correct? Is the device wired or wireless?
No concerns for me, but I do have a question: will app control be possible with Google TV, or will that remain read-only?
I’m not too concerned about it, which is why I haven’t asked before. Sorry if I’ve missed seeing a previous post addressing it. This thread has gotten a bit long.
I’ve posted an updated jar v0.10 (5eb0a06). This is likely the last jar prior to the binding being merged into 4.0. It should be completely stable. It includes the commits from the review, please report any regressions.
@rpwong my apologies I didn’t see this message. The problem is simply that I don’t have any frame of reference for what the commands needs to be to do that. The protocol stack supports it. If I can figure out what the commands are, it’s a very trivial amount of code to add to the binding.
No worries. Maybe add it to the wish list and we can talk about it in the future? Like I said, I’m not too concerned, but if it’s possible we might as well look into it. I’ll help you as much as I can.
Unfortunately, it’s two different protocols entirely. The same problem holds true with the Sony TVs.
That said, given that we have the structure already to handle multiple protocols (like Shield), I have considered adding specific thing types for those with that separate protocol channel to handle the stuff GoogleTV doesn’t. I’ve been holding off on that until we merge in as I really don’t want to introduce any additional complexity to the binding before it’s merged. Given that the other bindings do exist though, I don’t have a reason to not pull (part of) them in at a later time to handle the specific things that we can’t do today. It would be one at a time obviously as we slowly integrate them.
First I need to commend you on this binding. Looks great and hope I can get it working on my side.
Having some issues with the pin as it does not appear on my tv as expected. I have a Xiaomi Mi Android TV stick (year: 2022, model: MiTV-AYFR0)
Steps I followed:
Updated .thing file to include googletv and updated to my IP address.
Added the Google_TV items to my .items file.
Installed the AndroidTV binding from the Main UI menu.
Discover the things. 2 Things appear namely GoogleTV and Mi TV Stick.
Both Things are offline at this stage.
Send the following through the CLI: openhab:send GoogleTV_PINCODE REQUEST.
Below the openhab.log file.
@jabez01 Thank you for giving it a try! I have a few thoughts
Please confirm you have GoogleTV installed on the device. The link is on the main thread. When we see “Online: false” that means that we are having an issue opening a basic connection to the device.
Hi!
Thank you very much for the awesome binding and for sharing your hardwork. I really apreciate it.
Here goes my feedback, Everything works perfect and as expected in my Nvidia Shield except for one thing. I realize that for most people using openhab and this binding the intended use case is to exclusively use a mobile device as their remote controler. For me however that is not the case I use openhab to have an API and do some automations but I still use my Harmony remote control and some time the nvidia remote controler.
The problem is that when I do a search in my Shield it no longer lets me use the on screen keyboard. It keeps telling me to use my device’s keyboard. This only happens if and when openhab is using this binding. Is there any way you could think I could fix this?
However, 2 Things were discovered namely GoogleTV and Mi TV Stick (10381F3B73C5). I also tried to connect with both running (as per the openhab.log I posted) or either one of them disabled.