AndroidTV Binding [3.2.0.0;4.2.0.0)

Unfortunately that’s not something we control on this side. We can only read what’s presented to us by the protocol. We haven’t yet seen anything in the stack that would give us play status. On this side.

THAT SAID, there may be other options. I haven’t tried but you could look at other bindings like the upnp binding, maybe the chromecast binding, the adb binding, or maybe even something like the plex binding to see what the state of the player is and then act based on that. Just because googletv/shiledtv doesn’t give us status doesn’t mean we can’t get status from another source. We opted to not pull those protocols into this binding as it would have been duplicative to the existing ones.

Just picked up a Formuler Z12 Ultra and am having issues connecting to the Android TV binding. The unit is discovered and in Pin Process Incomplete status. When I try sending the REQUEST for code, nothing happens.

2025-10-05 15:32:10.479 [INFO ] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Error opening SSL connection to 192.168.30.124:6467 Connection timed out

This is DEBUG

2025-10-05 15:38:20.155 [DEBUG] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Device Health - Online: true - Logged In: false - Mode: NORMAL
2025-10-05 15:38:20.707 [DEBUG] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Command received: pincode
2025-10-05 15:38:20.707 [DEBUG] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Command received: pincode
2025-10-05 15:38:25.157 [DEBUG] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Device Health - Online: true - Logged In: false - Mode: NORMAL
2025-10-05 15:38:30.158 [DEBUG] [l.googletv.GoogleTVConnectionManager] - 9C1221816BF6 - Device Health - Online: true - Logged In: false - Mode: NORMAL

Binding has worked on the Formuler Z11, and there isn’t a huge difference between the two units.

I’m on 5.1.0.M1

This is my first time using this binding since a week ago for my shield TV. I found that whenever I restarted the OH or even temporarily disable the thing will cause it go offline forever. Then I have to remove the /var/lib/openhab/androidtv folder, and reinstall the binding, do the PIN process again. Then it just last for a while until next time which could be quite random.

The error I’m seeing in the thing configuration is: GoogleTV: Online | ShieldTV: Error initializing keystore.

Reading this thread I’m guessing this could be caused by recent Shield TV Pro firmware update if I’m the only one experiencing this. Any way, I’ve opened an issue #20340 in the repo.

Updates: With the help with AI, I dove deeper into the problem, and found that the binding couldn’t intercept the private key from shield TV, and assumed some old format. Along with it is they’re using Protobuf which is not considered. I’ve fixed the code locally and it started to working now. I’m not familiar with openHAB contributing process and only have a weekend time on this. so I’ll try to submit a PR and hopefully the maintainer can review and cherry-pick my changes.

Definitely open a PR for this so we can review. That code has worked for years so it concerns me that it failed. I just used it days ago without issue as well at home. I want to understand root cause before committing anything as I dont want to cause unexpected issues. The crypto is very deliberately written as it is so if something changed we need to fully understand why. Please tag me on the PR. Thank you for the help!

Thanks for the quick response! I’ve submitted the PR and uploaded the trace log in the issue. As I said I never used this binding before so I don’t know if this will break other’s flow, so the issue may only happen to me who upgraded Shield TV Pro version to 9.2.4(33.2.0.400) not long ago.

Am on OH 5.2.0-SNAPSHOT #5309.

Use “MagentaTV One” boxes with this binding and have the following question: am looking for the appropriate remote control commands for “EPG” (Electronic Program Guide) and “REC” (record). Did anybody manage this already? Took many other commands successfully from the binding docs.