Home Assistant integration for EPG (Electronic Program Guide) sensors, using the open-epg.com EPG guide. This integration provides real-time program guide data as sensors within Home Assistant, allowing you to display current and upcoming TV programming.
The integration now uses open-epg.com as its EPG data source. This change was implemented because bevy.be, the previous provider, has transitioned their services. This update is seamless for users and requires no configuration changes.
- Retrieve EPG data from open-epg.com to create program guide sensors in Home Assistant.
- Supports creating custom EPG files with specific channels for personalized tracking.
- Easy integration with Home Assistant's Lovelace UI to display TV programming data.
- Home Assistant: Ensure you have Home Assistant installed.
- HACS: Home Assistant Community Store (recommended for easy installation).
- open-epg.com Account: Required if using custom EPG files.
- Open HACS in your Home Assistant dashboard.
- Until this repository is part of HACS by default, you need to add it as a custom repository.
- Go to Integrations > Add custom repository and enter:
https://github.com/yohaybn/HomeAssistant-EPG
- Once added, search for "HomeAssistant-EPG" in HACS and install it.
- Download the repository.
- Copy the
custom_components/EPG
folder into your Home Assistant configuration directory undercustom_components
.
The integration now uses Home Assistant's UI configuration flow, making it easier to set up and manage. Follow these steps to configure:
-
Go to Settings > Devices & Services in Home Assistant.
-
Click Add Integration and search for "EPG".
-
Follow the prompts:
-
Select the channels you want to track from the dynamically fetched list.
-
Complete the setup to create sensors for the selected channels.
open-epg.com allows the creation of custom EPG files with selected channels. To create a custom file:
- Register for a free account at open-epg.com.
- Select channels to include in your custom EPG file.
- Once generated (updated daily), use the unique file ID (e.g., 122DjgdtAA), visible in the generated URL.
The following services are implemented by the component:
update_channels
- Force update Guide fileservice: epg.handle_update_channels data: entry_id: a9dcc3edcdd1e421c62ea735a9747cd6
Use the following example to display today’s programming on a Lovelace card:
type: markdown
content: |
{% for time in states.sensor.epg_an_hui_wei_shi.attributes.today -%}
{% set program=states.sensor.epg_an_hui_wei_shi.attributes.today[time] %}
<details>
<summary>{{time}}: {{ program.title}}</summary>
{{ program.desc}}
</details>
{%- endfor %}.
title: today
- Full Schedule Error: If using full_schedule: true, you may encounter size limit issues in Home Assistant’s database. If so, set full_schedule: false.
- Missing Channels: Ensure you’re using the correct file ID, especially for custom files.
If you encounter any problems or need assistance, you can open an issue on the GitHub repository. To help us debug the issue, please enable debug logging for the integration and provide relevant logs:
-
Enable debug in the UI or add the following to your
configuration.yaml
file:logger: default: warning logs: custom_components.epg: debug
-
Restart Home Assistant to apply the changes.
-
Reproduce the issue and check the logs in Settings > System > Logs or the
home-assistant.log
file in your configuration directory.
When opening an issue, include:
-
A detailed description of the problem.
-
Steps to reproduce the issue.
-
Relevant logs from Home Assistant with debug mode enabled for the integration.
If you find it helpful or interesting, consider supporting me by buying me a coffee or starring the project on GitHub! ☕⭐ Your support helps me improve and maintain this project while keeping me motivated. Thank you! ❤️