Hey everyone,
I've built Fire2MQTT, a Home Assistant integration for Fire TV Sticks that skips the usual ADB-polling approach. A small sideloaded app watches the stick's playback/app/screen/volume state and pushes changes over MQTT the instant they happen, so HA gets a real media_player, sensors, a remote, and app-launch controls with sub-100ms latency.
Setup is one HACS config flow, point it at your Fire TV's IP and MQTT broker, and it installs the APK and wires everything up for you.
This is still early-stage, it works well on the devices I've tested, but hasn't been run across the full range of Fire TV models/OS versions yet. If you try it, bug reports, PRs, and testing on hardware I don't have are all very welcome.
Thank you for your contribution to Home Assistant!
I just finished installing and testing it on an old Toshiba Fire TV (Fire OS 7.7.1.3). Here are a few of my initial observations.
The installer selected one of several User accounts I have for accessing the MQTT Broker. I changed it to a new account I created specifically for Fire2MQTT but, after trying for 12 seconds, the installation failed with "Unknown error". I tried again but this time I allowed it to use the account it had automatically selected and it succeeded immediately. I used MQTT Explorer to test the new account and confirmed it was functional because MQTT Explorer was able to login to the Broker. I don't know why Fire2MQTT's installer was unable to succeed with the same account.
Responsiveness is excellent; it quickly reports changes in the TV's UI. However, after an app is selected it does not report information about the selected media content. None of the apps I tested (Prime Video, Netflix, Plex, Apple TV, etc) show information for Artist/Title/Playing.
When the TV is turned on and displays the Home screen, the reported Current App is "System UI". After navigating in and out of apps and returning to the Home screen, the Current App is always "KFTV Launcher". Not sure if this is expected behavior.
After starting Apple TV, it correctly reports Current App is "Apple TV", but after starting to play media content, it changes Current App to "QuickSettingsApplication". It stays this way until you exit Apple TV and return to the Home screen ("KFTV launcher").
After watching YouTube content for awhile (using an app named TizenTube), I noticed Fire2MQTT eventually reported the Current App is "System UI" (even though it was still in TizenTube and not back in the Home screen).
Let me know if you need more information.
EDIT
Also spotted this in Logs:
Logger: homeassistant.components.media_player.const
Source: helpers/deprecation.py:272
Integration: Media player (documentation, issues)
First occurred: 14:35:16 (1 occurrence)
Last logged: 14:35:16
The deprecated enum member MediaPlayerState.STANDBY was used from fire2mqtt. It will be removed in HA Core 2026.8.0. Use MediaPlayerState.OFF or MediaPlayerState.IDLE instead, please report it to the author of the 'fire2mqtt' custom integration
Thanks for the report and sorry for the late reply I just noticed the message.
Can I ask you which version you used? Yesterday I posted a fix about a similar bug it was related to a permissions issue.
In any case is also true that some app is not publishing the media content so in that case there is nothing that I can do.
I understand now; what each app reports (or does not report) is beyond your control.
Does version 0.4.4 fix the following issue? Or is an unavoidable quirk with the Apple TV app?
After starting Apple TV, it correctly reports Current App is "Apple TV", but after starting to play media content, it changes Current App to "QuickSettingsApplication". It stays this way until you exit Apple TV and return to the Home screen ("KFTV launcher").
Nice! Unfortunately, at this time, it will only work on older models. The newer models don't use Android anymore, as they use Amazon's locked-down Vega OS (a variant of Linux), and they don't have a developer mode you can access from within the device itself and there's no way to side-load apps.
0.4.4 only fixes the missing title/artist issue (that was a notification-listener binding bug introduced by an in-place reinstall, you were on 0.4.3, so that tracks).
The QuickSettingsApplication/System UI misreporting during playback is a separate, still-open bug on our side: the accessibility service that detects the foreground app doesn't filter out transient system overlay windows, so something Apple TV's player pops (captions/audio panel) gets mistaken for an app switch. I will fix it it in a future release.
Thanks for the detailed report I really appreaciate it!
The newer models don't use Android anymore, as they use Amazon's locked-down Vega OS
Yep, that's right but I still feels worth building though: there's a huge installed base of Fire OS (Android-based) sticks and cubes out there, and they're not going away overnight. And since the APK and the HA integration only talk to each other over MQTT, porting to plain Android TV / Google TV later should actually be easier than Fire OS was.