AndroidTV Binding [3.2.0;4.2.0)

The marketplace makes this all very easy. It should just be button clicks. It manages the jars for you.

just saw it on the marketplace. But I have this jar file. Can I just delete it
and install from the marketplace?

Yes. Only thing I’ve really seen when migrating is the old jar not uninstalling when the new one shows up. You may have to go on to the karaf console and do bundle:uninstall first

Thanks, I’ll try the next days. Good night!

Had a problem. Could be related to unplugging the power after watching at night and TV may have lost link? Anyway I was on the March 25 version and everything had been working. The next night the UI showed flashing offline/initializing and the log was filled with this.

2023-04-09 20:36:52.599 [WARN ] [tocol.googletv.GoogleTVMessageParser] - E89EB43854BA - GoogleTV Error Message: 1a47080312430a41087e123d0a08534d2d4739393855120773616d73756e671801220231332a19636f6d2e676f6f676c652e616e64726f69642e766964656f733207342e33382e3138
2023-04-09 20:36:52.700 [WARN ] [tocol.googletv.GoogleTVMessageParser] - E89EB43854BA - GoogleTV Error Message: 1a47080312430a41087e123d0a08534d2d4739393855120773616d73756e671801220231332a19636f6d2e676f6f676c652e616e64726f69642e766964656f733207342e33382e3138
2023-04-09 20:36:52.797 [WARN ] [tocol.googletv.GoogleTVMessageParser] - E89EB43854BA - GoogleTV Error Message: 1a47080312430a41087e123d0a08534d2d4739393855120773616d73756e671801220231332a19636f6d2e676f6f676c652e616e64726f69642e766964656f733207342e33382e3138
2023-04-09 20:36:52.917 [WARN ] [tocol.googletv.GoogleTVMessageParser] - E89EB43854BA - GoogleTV Error Message: 1a47080312430a41087e123d0a08534d2d4739393855120773616d73756e671801220231332a19636f6d2e676f6f676c652e616e64726f69642e766964656f733207342e33382e3138

First tried to delete the thing (TV) and rediscover. Same problem.
Second deleted the device and binding and rediscovered binding (Now April 5 version). Device again was discovered and still the same warn/errors.

Any idea? I was thinking to ignore the discovered version and do manual, but thought I would ask for insight first. :wink:

That’s the same error @Knut_Petersen was seeing. I’m wondering if an app updated somewhere.

So to be clear, you’re now running version 0.09.2 (6403d26) and still seeing that message (and only that message)?

What kind of device do you have?

If it’s still doing it, please put the binding into trace log and DM me what comes out. That should show me what it’s doing and why this is happening.

  • yes (that is what is showing under “resources” and yes.

Sony XBR-65X850E

Will revert with log in a few hours (It is a little tricky since my Pi bogs down with those messages every few ms) It ran up to 5MB before I deleted the thing. (and yes it is just the one warn repeated)

Thanks! I’m very eager to see why this is happening. I haven’t caught it yet on my Shield so I’m wondering what updated. Don’t worry about reverting, being on 0.09.2 is the best one for this (I updated logs recently to make it cleaner). Please make sure to send the full log when in trace, even the stuff that doesn’t seem relevant. I want to try to trace the entire flow.

Along the lines of a watched pot never boils… I restarted OH because I made changes to have a separate androidtv log. Set the binding in TRACE accepted the thing from the scan (it had appeared two days ago when I updated the binding, but had not accepted into OH because of the problem noted above). Anyway, no problem today. Plugged in the TV waited a bit, turned on the TV waited a bit, unplugged the tv waited a bit and repeated. No warnings. Will have to see if it happens again and try to catch logs.
androidtv.log (175.1 KB)

Did you find the command yet?
As I can see in the Google Home App there is a absolute volume control (that works), so there has to be a way

That’s in the GoogleTV app??? That has to be new, I have never seen it before. How did you get to it? If I can duplicate here I can easily add to the binding.

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.

Do the commands get encrypted before being sent? If not I might be able to dump the command via Wireshark :thinking:


So this might no be the same API the AndroidTV binding is using…?

As @rpwong correctly identified this is the Google Home App. However I just searched the Google Play Store for “Google TV” and installed this app.

Is this the correct one?
It is also able to control the volume absolutely:

However this also looks like the cast API to me


(Still thinking about whether we might be able to see the command in a Wireshark dump)

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).

image

Yep, that’s the Cast API.

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. :wink:

But I’m not actually requesting that, because you’ve already put in a ton of effort for which we’re grateful!

1 Like

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.

Nope. It’s been running very stable for weeks.

Thanks!

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.:+1: . 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 ^^