Canal and River Trust Notices for Home Assistant

I’ve built a custom integration for Canal and River Trust navigation notices. It pulls live notices from the public CRT API and turns them into Home Assistant entities so you can track stoppages, restrictions, and closures affecting your route or chosen waterways.

GitHub: usersaynoso/Canal-and-River-Trust-Notices-for-Home-Assistant

What it does

The integration polls the public Canal and River Trust notices API. No API key, no scraping login-protected pages, and no cloud account required.

It supports two setup modes:

  • GPS Proximity (Dynamic) or Home Assistant home coordinates: track a device_tracker and match notices within a chosen radius in miles. If no tracker is selected, or the tracker is unavailable, it falls back to Home Assistant’s home coordinates.
  • Manual Canal Selection (Static): choose one or more waterways from the embedded CRT waterway list and match notices by waterway name.

It creates:

  • a binary sensor showing whether any active navigation-blocking or restrictive notice is currently matched
  • a nearest stoppage sensor
  • a notice count sensor
  • a last updated sensor
  • one sensor per active matching notice

Notice handling

The integration understands the CRT GeoJSON format, including notices with multiple map points and notices with no geometry at all.

For GPS mode it calculates the distance to the nearest point in the notice geometry and filters by your configured radius.

For manual mode it uses substring matching on waterway names, which helps with CRT naming where branches and sections are often written as variations of the main canal name.

Only notices with CRT state Published are treated as active. Completed and cancelled notices are excluded.

Installation

Available as a custom integration via HACS.

  1. Open HACS.
  2. Go to Integrations.
  3. Open Custom repositories.
  4. Add the GitHub repository as an Integration.
  5. Install Canal and River Trust Notices.
  6. Restart Home Assistant.
  7. Go to Settings > Devices & Services and add the integration.

Configuration options

After setup, you can adjust:

  • search radius in GPS mode
  • tracked device
  • selected waterways in manual mode
  • lookahead days for notice queries
  • update interval

Looking for testers

I’d particularly like feedback from people using it on real cruising setups with different tracker arrangements and waterways, especially:

  • GPS mode with live boat location updates
  • manual mode across multiple connected waterways
  • cases where CRT notices have odd geometry or no coordinates
  • any waterways that should match but do not

If you try it, useful feedback would be:

  • your setup mode
  • whether the matched notices are correct
  • whether distances look sensible
  • any missing or stale entities
  • any config flow or options issues

License: GPL v3

Stating the area of coverage somewhere in the text might be a good idea.
My guess is your code does not work in US or Holland.