It allows you to connect and control Android TV and Google TV televisions and set-top boxes (Nvidia Shield, Chromecast with Google TV, Sony, Xiaomi Mi Box, TCL, etc.) directly on your local network.
Key Features
Native Remote v2 Protocol (TLS): Secure connection on ports 6466/6467. No need to enable developer mode or ADB on the TV.
Easy Pairing with PIN Code: Guided 2-step procedure directly in the Gladys interface (PIN code displayed on the TV screen).
Real-Time Status Feedback: Instant feedback in Gladys of the on/off status, volume level, and mute status.
Multi-TV Management: Pair and control multiple televisions independently.
Media Buttons: Play, Pause, Stop, Previous, Next, Fast Forward, Rewind
Application Shortcuts (Optional): Direct launch of your favorite apps (Netflix, YouTube, Prime Video, Disney+, Spotify, Plex, Arte, Molotov, myCANAL). An option in the settings allows you to disable them if you want to clean up your device card.
Ergonomics & Usage Tips (Scenes)
Note on Dashboard Display:
Gladys Assistant currently does not have a dedicated « Remote / Media Player » widget with a visual directional pad, so the device appears as the generic « Devices » widget (vertical list of buttons).
For smooth daily use, it is highly recommended to use Gladys Scenes:
Create scenes for your key actions (« Turn on TV », « Movie Mode », « Pause », « Launch Plex »).
Place Scene cards/buttons on your Gladys dashboard to trigger these actions properly in one click.
For quick manual navigation in TV menus (browsing the Netflix catalog, typing text), the official Google TV app or the physical remote control remains the ideal companion.
Examples of Gladys Scenes
Movie Mode: Turn on the TV + set volume to 20% + dim the living room lighting.
Departure / Night Mode: Automatically turn off the TV when the house switches to away or night mode.
Automatic Pause: Pause the TV when a call or connected doorbell is detected.
Installation & Configuration
Add the external integration to your Gladys Assistant instance:
I remind you that I am not a professional developer, I trust AI because I don’t have the skills to understand everything. Don’t hesitate to tell me if something is wrong or missing … !
You can’t stop us now! Welcome to the developer side, and don’t worry in the age of AI, the only thing that matters is motivation The technique is perfectly handled by Claude
Good evening Jean, thank you for the detailed feedback!
Good news: the integration itself is not the issue.
Your logs show that the container cannot open the WebSocket to Gladys (connect ETIMEDOUT 172.30.0.2:8082) — it therefore never managed to register, hence the action failure and the toggle that resets.
An ETIMEDOUT (and not « connection refused ») means that the packets are discarded along the way: this is typically a network problem between the two containers, not a port issue.
If they do not share any network (different subnets), that is the cause: Docker isolates the bridges from each other.
Test from the integration container:
docker exec gladys-ext-guim31-gladys-integration-android-tv-remote wget -qO- --timeout=5 http://gladys:8082 || echo KO
How did you install Gladys?
The official installation runs the Gladys container in network_mode: host — this is the expected configuration for external integrations. According to your capture, your Gladys is running in bridge (IP 172.30.0.2, mapping 8082:8082): if that is the case, switching back to host network should solve the problem.
If the networks are fine, check the host/NAS firewall (ufw, firewalld…), which may block inter-container traffic.
Let me know what points 1 and 3 yield — and as soon as the connection goes through, the integration will connect on its own (it retries continuously), no need to restart it.
(if you could copy/paste logs next time, it would be easier to exploit than with screenshots )
Look at your logs: the error is no longer ETIMEDOUT but getaddrinfo ENOTFOUND gladys — the name gladys is no longer resolved.
This makes sense: before, this name was an alias for the Gladys container on the gladys-integrations network; by switching to host network, your Gladys container left this network and the alias disappeared. And the counter (« attempt 753 ») shows that the integration container has not been recreated since your switch: it is still running with the connection configuration generated for the old topology — it is frozen at the creation of the container, a restart does not regenerate it.
So:
In Gladys → Integrations → Android TV Remote → Supervision → « Force update » (this button recreates the container, that’s what we want). Failing that: uninstall/reinstall the integration.
Then check the logs: you should see either the connection being established, or at least a new target (no longer ws://gladys:8082 towards a dead name).
If it still fails, two tests to decide:
from the container: docker exec gladys-ext-guim31-gladys-integration-android-tv-remote wget -qO- --timeout=5 http://172.30.0.1:8082 (172.30.0.1 = your host seen from the bridge — this tests reachability by bypassing DNS);
on the host: ss -tlnp | grep 8082 (check that Gladys is listening on all interfaces and not just 127.0.0.1).
If the first fails while the second is good, it’s your firewall that blocks the bridge → host traffic on 8082 (with ufw: sudo ufw allow from 172.30.0.0/24 to any port 8082).
Following all your instructions, everything is now working perfectly in terms of integration: TV connected
Thanks to you, I will now play with this integration: if possible, add something to control the TV from the Gladys interface (from my smartphone/tablet in the living room) and define scenes to limit its use during the day for mini-me
Also, if I add a « TV (Power) » button to a dashboard and try to turn on the TV, the integration again starts a long series of unsuccessful connection attempts…
Hello @jean_bruder!! I’m so sorry, I didn’t see your message!
Thank you so much for these detailed feedbacks, with screenshots — that’s exactly what we need to fix it.
Good news: the three issues actually came from the same cause, and it’s fixed.
What was happening: the library that manages the Android TV protocol restarts the connection every second, indefinitely, as soon as the TV is unreachable. TV turned off = logs flooded with EHOSTUNREACH (your first screenshot) and network continuously solicited. As a bonus, it masks connection errors, so pressing « Power » from a dashboard remained stuck for long seconds before failing… and restarting the loop behind.
What changes:
When the TV is turned off, the integration calms down: it retries in the background with a delay that doubles with each failure (5 s, 10 s, 20 s… capped at 2 minutes). As soon as the TV becomes reachable again (turned back on, network wake-up), it is automatically resumed and the rhythm starts over from zero. No more flood of logs.
Pressing « Power » (or any command) with the TV turned off attempts an immediate connection and fails cleanly in 2-3 seconds with a clear message, instead of staying stuck. A quick reminder: the Remote v2 protocol can only wake up a TV in network standby — a TV completely powered off must be turned back on with the remote or via HDMI-CEC.
Removing the device in Gladys now also cuts its connection and its retries on the integration side.
Regarding the error « when deleting this device » (your second screenshot): this message comes from the core of Gladys, not from the integration. The fix removes the most likely cause, but if you see it again TV turned on after the update, don’t hesitate to let me know with the logs — it would then need to be investigated on the Gladys side.
The fix is published: update the integration to version 1.0.5 (or :latest) and restart the container.
Have a great day, and thank you again for your feedback