Bug 1: Radar tile server is never registered (404 on /api/rain_warner/tile/{z}/{x}/{y})
Description
tile_server.py defines RadarTileView and the helper async_register_tile_server(hass) to serve RADOLAN radar data as standard XYZ map tiles, but async_register_tile_server() is never called anywhere. __init__.py only calls async_register_proxy(hass) for the WMS proxy — the tile server registration call is missing entirely.
As a result, any request to /api/rain_warner/tile/{z}/{x}/{y}.png returns a 404, even though the view is fully implemented and requires_auth = False. This makes it impossible to embed a live radar map (e.g. via a Leaflet-based Lovelace card) using the built-in tile endpoint — only the static camera snapshot (camera.py) currently works.
Fix
In __init__.py, import the helper and register it the same way the WMS proxy is registered (once per HA instance):
from .tile_server import async_register_tile_server
# Register radar tile server (once per HA instance)
if not hass.data[DOMAIN].get("_tile_server_registered"):
async_register_tile_server(hass)
hass.data[DOMAIN]["_tile_server_registered"] = True
placed right after the existing WMS proxy registration block in async_setup_entry.
Found and fixed both issues locally with the help of an AI assistant (Claude) while debugging why the radar map wasn't rendering and why the dashboard showed conflicting rain state. Happy to open a PR with both changes if that's preferred over a patch here — just let me know.
Bug 1: Radar tile server is never registered (404 on /api/rain_warner/tile/{z}/{x}/{y})
Description
tile_server.pydefinesRadarTileViewand the helperasync_register_tile_server(hass)to serve RADOLAN radar data as standard XYZ map tiles, butasync_register_tile_server()is never called anywhere.__init__.pyonly callsasync_register_proxy(hass)for the WMS proxy — the tile server registration call is missing entirely.As a result, any request to
/api/rain_warner/tile/{z}/{x}/{y}.pngreturns a 404, even though the view is fully implemented andrequires_auth = False. This makes it impossible to embed a live radar map (e.g. via a Leaflet-based Lovelace card) using the built-in tile endpoint — only the static camera snapshot (camera.py) currently works.Fix
In
__init__.py, import the helper and register it the same way the WMS proxy is registered (once per HA instance):placed right after the existing WMS proxy registration block in
async_setup_entry.Found and fixed both issues locally with the help of an AI assistant (Claude) while debugging why the radar map wasn't rendering and why the dashboard showed conflicting rain state. Happy to open a PR with both changes if that's preferred over a patch here — just let me know.