The keyword watch system lets you search across all configured EPG sources simultaneously. Some ideas:
- ⚽ Lost the match live and want to see? Set a watch for
"LaLiga","Champions","Libertadores", or"Premier League"— you'll get notified before the replay airs, without any spoilers in the notification - 🎬 Looking for a classic you can never find? Try
Funny games,"The Apartment",Rope,"Casablanca","Blade Runner","The Godfather"or"2001"— old films rotate on cable channels more often than you'd think - 📺 Never miss your favourite show: Set
"Jeopardy","MasterChef","Survivor"or"Who Wants to Be a Millionaire"and get alerted before it starts - 🎤 Music fan? Search
Eminem,"Glastonbury","Eurovision"or your favourite artist's name - 🌍 Documentary hunter? Try
"Planet Earth","Cosmos"or"Ken Burns"— they rerun constantly on documentary channels - 🏎️ Sports in general:
ATP1000,"Formula 1","La vuelta","NBA"— works across all your configured countries simultaneously - 🦈 The ultimate channel surfing trap: Set
"Jaws"— it's been airing every summer weekend since 1975 and somehow always catches you off guard - 🎄 Tired of missing the annual TV tradition? Set a watch for
"Home Alone"— because it airs every Christmas on at least 12 channels simultaneously, and somehow you always miss it.
The Word match mode finds
"Friends"but not"Girlfriends"or"Unfriendly". The Contains mode is broader. Use Exact only for very specific titles.
A worldwide EPG (Electronic Programme Guide) integration for Home Assistant. Turns any XMLTV-compatible TV guide source into HA sensors — one sensor per channel, updated automatically.
Highly recommended companions:
- 📺 What's On TV — EPG Card — visual TV guide card for Lovelace
A Lovelace card for searching your EPG and setting up automatic notifications when a programme appears in the guide. Works alongside the What's On TV Integration and pairs perfectly with the EPG Card.
Requires: What's On TV Integration
Pair with: What's On TV — EPG Card for the full experience
- Search across all your EPG channels for any programme title (current and future — no past results)
- Send an instant notification for any result via any HA notify service
- Saved searches (Watches) — add a keyword + notification service + advance window; get notified automatically when the programme appears
- Watches stored in HA Storage via the
whatson_tvintegration — synced across all browsers and devices - Supports Telegram (text + photo via
telegram_bot.send_photowithentity_id), mobile_app (with image), and any other HA notify service - Configurable default notification service — your preferred service appears first
- Dark and light themes, accent colour, 49 languages
This card is distributed as a private repository. Once you have been granted access:
- Open HACS → Frontend → ⋮ → Custom repositories
- Add the private repository URL — category Dashboard
- Search for What's On TV Search & Notify Card and install
- Copy
whatsontv-notify-card.jstoconfig/www/ - In Home Assistant go to Settings → Dashboards → ⋮ → Resources → + Add Resource
- Set URL to
/local/whatsontv-notify-card.jsand type to JavaScript module
Tip: Add
?v=1.0.0to the URL to force browsers to reload after updates — e.g./local/whatsontv-notify-card.js?v=3.24.1
type: custom:whatsontv-notify-card
title: What's On TV Notify
theme: dark
accent: "#e8872a"
default_service: "notify.telegram_mybot"The card sends channel artwork via telegram_bot.send_photo using entity_id — no chat ID configuration needed. Simply select your Telegram notify entity as the default service and photos will be sent automatically when available.
type: custom:whatsontv-notify-card
default_service: "notify.telegram_myname"The card detects all available notify services automatically:
- HA 2024+ entities (Telegram bots, etc.) — called via
notify.send_messagewithentity_idtarget - Legacy services (mobile_app, etc.) — called directly
- Filtered out automatically:
send_message,persistent_notification,notify,reload
- Go to the Saved tab
- Enter a keyword (e.g.
Champions,Dune,Formula 1) - Select match mode: Word (recommended), Contains or Exact
- Select your notification service and how far in advance to alert (30 min to 48 h)
- Click Save search
Watches are stored in HA Storage via the whatson_tv integration — not in the browser. They appear on any device and work even when the card is not open.
alias: "EPG — Champions League alert"
trigger:
- platform: time_pattern
minutes: "/5"
condition:
- condition: template
value_template: >
{% set keyword = "champions" %}
{% set hours_before = 2 %}
{% set found = namespace(value=false) %}
{% for state in states.sensor %}
{% if state.attributes.channel_id is defined %}
{% for prog in state.attributes.schedule | default([]) %}
{% set start = prog.start | as_datetime %}
{% set diff_h = ((start - now()).total_seconds() / 3600) %}
{% if keyword in prog.title | lower and diff_h >= 0 and diff_h <= hours_before %}
{% set found.value = true %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{{ found.value }}
action:
- action: notify.send_message
target:
entity_id: notify.telegram_mybot
data:
message: "📺 Champions League found in the guide!"| Option | Type | Default | Description |
|---|---|---|---|
title |
string | What's On TV Notify |
Card title |
theme |
dark / light |
dark |
Visual theme |
accent |
string | #e8872a |
Accent colour |
default_service |
string | (first available) | Preferred notification service |
What's On TV Integration>— required for sensors and watch storage
If this integration is useful to you, consider giving it a ⭐ on GitHub. Or consider supporting development!
Proprietary — maybe access granted to supporters only. Redistribution or public sharing of this code is not permitted.


