Install the integration
Add the custom repository to HACS, download Brighton Bus Times and restart Home Assistant.
Independent travel information
Put upcoming Brighton bus departures on your Home Assistant dashboard and use them in templates, notifications and automations.
Return to the bus mapThe Brighton Bus Times custom integration requests departure information from this website’s API. It does not need access to your Home Assistant installation, and it cannot control any of your devices.
Brighton Bus Times is a custom Home Assistant integration. It creates a device and a next-departure sensor for every selected stop, with the full departure board available as sensor attributes for dashboards, templates, announcements and automations.
Add the custom repository to HACS, download Brighton Bus Times and restart Home Assistant.
Search by stop name or enter NaPTAN stop IDs during the normal Home Assistant setup flow.
Each stop gets its own next-departure sensor and detailed departure-board attributes.
Where a recent vehicle has been matched reliably, a departure may include a live prediction. Otherwise, the published scheduled time is returned.
HACS is the recommended installation method because it can notify you when an updated version is available.
https://github.com/MrSleeps/Brighton-Bus-Times-Home-Assistant-Custom-Component.This is a custom integration and is not included in Home Assistant Core or the default HACS catalogue.
If you do not use HACS, download the integration from GitHub and copy the integration folder to:
/config/custom_components/brighton_bus_times/
The folder should directly contain files such as manifest.json, config_flow.py and sensor.py. Restart Home Assistant after copying the files.
https://brightonbustimes.co.uk.
Select a stop on the bus map to see its identifier. For example, Brighton Station (stop B2) is 149000006929. The integration validates selected stops before completing setup.
Enter at least two characters.
Open Settings → Devices & services → Brighton Bus Times and select Configure. You can add or remove stops and choose a refresh interval from 15 to 300 seconds. The default is 30 seconds, please do not go below that (it's pointless due to BODS only updating every 30 seconds).
The integration creates one Home Assistant device and one numeric Next departure sensor for each selected stop. The sensor state is the number of minutes until the next bus; 0 means the bus is due.
Sensor attributes provide the rest of the departure-board information, including:
departures list;The numeric state works in ordinary entity cards, gauges, templates and automations. The detailed attributes can be used to build richer departure-board cards or announcements.
The service is free to use for personal Home Assistant installations, but the API is rate-limited to keep the live bus service responsive for everyone.
| Guidance | What to do |
|---|---|
| Refresh interval | The integration permits 15–300 seconds and defaults to 30 seconds. The live source normally changes around this cadence, so faster updates provide little benefit. |
| Stops per installation | A maximum of 10 stops can be requested. The integration combines them into one API request rather than polling each stop separately. |
| Current allowance | The response rate-limit headers are authoritative. Limits may be adjusted as traffic and capacity change. |
| Limit exceeded | The API returns 429 Too Many Requests. Home Assistant should wait for its next normal polling interval rather than retrying immediately. |
| Caching | Responses may be served from a short-lived cache. Repeated requests do not force fresh operator data. |
API responses may include headers describing the current request limit, remaining allowance and reset time. These are more reliable than copying a fixed number into an automation because the server policy can change.
This is an independent service and is not affiliated with Home Assistant, Brighton & Hove Buses, Metrobus, the Department for Transport or the Bus Open Data Service. Departure predictions are provided on a best-effort basis and should not be treated as a guarantee.