[App][Pro] Tautulli

I really missed Plex streaming info in Homey. I was already using Tautulli -which is awesome- but that was not available for Homey. So, I’ve been working on an app…

The App is available from the Homey Pro App store

What this app does

This app connects Homey to Tautulli, the monitoring and statistics tool for Plex Media Server. Once paired, your Tautulli instance appears as a device in Homey. Homey polls it every 15 seconds to track active streams and periodically for play statistics.

You can use this to:

  • Send notifications when specific users start a stream or finish watching something
  • Display live “now playing” information and play statistics on your Homey dashboard
  • Drive Insights charts for daily and weekly Plex usage

Multiple Tautulli servers are supported — pair each one as a separate Homey device.

Requirements

  • Tautulli v2.x running on your local network, reachable from Homey
  • Plex Media Server connected to Tautulli
  • Homey Pro (local platform required)

Tautulli does not need to be exposed to the internet. A local IP address is fine.

Installation & pairing

  1. In Tautulli, go to **Settings → Web Interface** and copy your **API key**.
  2. In Homey, go to **Devices → Add device → Tautulli**.
  3. Enter the full URL including port, for example: `http://192.168.1.100:8181`
  4. Use `https://` if your Tautulli is behind a reverse proxy with TLS (Include a path if Tautulli is hosted under a subpath: `http://192.168.1.100:8181/tautulli\`)
  5. Paste your API key.
  6. Press **Test connection**. A green confirmation appears on success.
  7. Press **Next****Add device**.

DEVICE CARD

The device shows the active stream count directly on its tile in the Homey devices overview — no need to tap into it. All values update on every poll.

  • Active Streams
    • Number of currently active Plex sessions (Shown on tile)
  • Plex Active
    • “Active” when streams are playing, “Idle” when not
  • Transcoding Streams
    • Number of sessions being transcoded in real time
  • Plays Today
    • Total plays recorded by Tautulli for today
  • Plays This Week
    • Total plays for the last 7 days

DEVICE SETTINGS

Connection

Polling

  • Poll interval How often Homey checks Tautulli (default 15 s, range 5-300 s)

Notifications

Each can be toggled on/off and are on by default

  • Notify when a stream starts
  • Notify when a stream ends
  • Notify when a watch session completes

Changes to Host URL or API Key take effect immediately without repairing.

INSIGHTS

Homey Insights records a value every time a capability changes and stores it as a time-series chart. The following capabilities feed Insights automatically:

  • Plex Active - Every transition between idle and active.
    • Shows “Plex became active” / “Plex became idle” as text labels.
  • Active Streams - Stream count each time it changes.
    • Displayed as a step chart (0 > 1 > 2 > 1 > 0 over time).
  • Transcoding Streams - Transcoding count each time it changes.
  • Plays Today - Today’s total play count, updated every poll.
    Plays This Week -7-day total play count, updated every poll.

To view: open the Homey app, tap your Tautulli device, tap any capability value, then tap the graph icon.

What the charts show:

Plex Active gives a binary on/off timeline with text labels — useful for seeing when your household watches Plex during the day or week.

Active Streams shows the exact count over time as a step chart. Each step up or down corresponds to a stream starting or ending. This is the visual equivalent of “Active streams are now 2”.

Transcoding Streams lets you spot when your server is under transcoding load.

Plays Today resets at midnight and climbs through the day. Each step is one completed play.

Plays This Week climbs over the week on a rolling 7-day window.

Note on text labels: The “Plex became active / idle” labels are specific to boolean capabilities. Numeric capabilities show as charts with exact values, not text labels. For text-form event descriptions including usernames, see Notifications below.

Note on backfill: Homey Insights only records data from the moment the device is first paired. Historical Tautulli data cannot be imported retroactively. Past history is surfaced through the Recently Played and Top Stats dashboard widgets, which query Tautulli directly.

NOTIFICATIONS / TIMELINE

The app posts to Homey’s Timeline (the notification bell) for key stream events.

Stream started > John – Breaking Bad - Pilot . Tautulli (192.168.2.58)
Stream ended | John – Breaking Bad - Pilot (65%) . Tautulli (192.168.2.58)
Watch completed v John completed Breaking Bad - Pilot (98%) . Tautulli (192.168.2.58)

The device name is appended to each message so you can distinguish events from multiple paired servers. Each notification type can be toggled independently in the device settings.

FLOW CARDS

TRIGGERS

All stream triggers fire for every user by default. To filter by a specific user, add a Logic condition “Text tag [User] is equal to [name]” after the trigger.

A stream started

Fires when a new Plex session appears.
Tokens: User, Title, Media type, Player, Transcoding (yes/no),
Season, Episode number, Track number

A stream ended

Fires when a Plex session disappears.
Tokens: User, Title, Media type, Progress (%),
Season, Episode number, Track number

A stream was paused / A stream was resumed

Fires when a session changes between playing and paused.
Tokens: User, Title, Media type, Player,
Season, Episode number, Track number

A watch session completed

Fires when Tautulli records a completed play in its history.
Different from “stream ended” — only fires once the session is fully logged.
On startup, the last 25 history records are pre-loaded silently so old items
do not re-fire. Records from the last 5 minutes before a restart do re-fire.
Tokens: User, Title, Media type, Progress (%), Duration (s),
Season, Episode number, Track number
Tip: use Progress (%) >= 80 as a condition to filter for content actually watched through.

Active stream count changed

Fires whenever the total stream count changes in either direction.
Tokens: Active streams (new count), Previous count

TOKEN NOTES — Season, Episode number, Track number:
Season Season number for TV episodes. 0 for movies and music.
Episode number Episode number for TV. 0 for movies and music.
Track number Track number for music. 0 for movies and TV.

CONDITIONS

Active streams is/is not above [N]

Checks the current stream count against a threshold.
Example: “Turn off lights AND active streams is not above 0” ensures lights
only go off when nobody is watching anywhere in the house.

DASHBOARD WIDGETS

NOW PLAYING

Shows every active Plex stream in real time. Refreshes every 15 seconds.
Each stream card shows: user avatar, username, media type badge, state icon
(playing/paused/buffering), full title, and a progress bar.

Optional sections (each toggleable in settings):

  • Client
    • Product (e.g. Plex Web) and Player (e.g. Chrome)
  • Stream
    • Quality, stream decision (Direct Play / Transcode), container
  • Media
    • Video codec path, audio codec path, subtitle
  • Network Location (LAN/WAN + IP), bandwidth (off by default)

Settings: show poster, show widget title, show/hide each section

RECENTLY PLAYED

A list of the last N items played across movies, TV and music, grouped by day.
Refreshes every 60 seconds. Shows media type badge, title, username, completion %.

Settings: number of items (1-25), group by day, show widget title

TOP STATS

Ranked leaderboards with a poster/avatar/icon for the number 1 item.
Refreshes every 5 minutes.

Sections:

  • Most Watched Movies - Portrait poster
  • Most Watched TV Shows - Portrait poster
  • Most Played Artists - Cover art
  • Most Active Users - Circular avatar
  • Most Active Platforms - Platform icon

Settings: time range (7/30/90 days), items per section (3-10),
show poster for #1, show/hide each section

Tip: creating one widget per category is just as efficient as one combined widget
— results are cached on the device for 60 seconds so multiple widgets share
a single Tautulli API call.

TROUBLESHOOTING

Device shows “unavailable”
Homey cannot reach Tautulli. Check the Host URL and that Tautulli is running.
The full URL including port is required (e.g. http://192.168.1.100:8181).

Flow triggers do not fire
Confirm the device is available (green in Homey). Triggers only fire after the
first successful poll — nothing fires on startup to avoid false events.

“A watch session completed” fires for old items after restart
By design, items completed in the last 5 minutes before a restart are re-fired.
Older items are silently ignored. Make flow actions idempotent to avoid duplicates
(e.g. “turn on light” rather than “toggle light”).

Widgets show a placeholder for images
Normal on first load — images are fetched and cached server-side. They appear
within a few seconds. If they never appear, check that Tautulli is reachable.

Platform icons do not load
If Tautulli has web authentication enabled, Homey falls back to the Tautulli
GitHub repository. This requires Homey to have internet access. If both fail,
the icon column shows a grey placeholder.

Plays Today / Plays This Week show 0
Populated from get_plays_by_date. If Tautulli has no history for the current
period (e.g. freshly installed), values are 0 until plays are recorded.

No notifications appearing in the Timeline
Check the device settings — each notification type can be toggled individually.
All three are on by default.

TAUTULLI

I am not affiliated with Tautulli. You can find this product and it’s documentation on: