Standalone HACS-compatible repository for Home Assistant custom integration zagreb_transit.
custom_components/zagreb_transit/- integration source codehacs.json- HACS metadataicon.svg- placeholder repository icondocs/- usage guides and dashboard docs
- Publish this folder as its own GitHub repository.
- In Home Assistant open
HACS -> Integrations -> ⋮ -> Custom repositories. - Add repository URL and choose category
Integration. - Find and install
Zagreb Transit. - Restart Home Assistant.
- Copy
custom_components/zagreb_transitto your HA config folder:- target:
<HA_CONFIG>/custom_components/zagreb_transit
- target:
- Restart Home Assistant.
- Go to
Settings -> Devices & Services -> Add Integration. - Search for
Zagreb Transitand finish setup.
- Install integration (HACS custom repo or manual).
- Restart Home Assistant.
- Open
Settings -> Devices & Services -> Add Integration. - Add
Zagreb Transit. - Wait 30-60 seconds for initial data load.
- Check core health entities:
sensor.zagreb_transport_feed_version_activesensor.zagreb_transport_feed_sourcesensor.zagreb_transport_realtime_statussensor.zagreb_transport_watch_registry
- Open integration
Configureand add your first watch:- type:
station_query - station query: your stop name
- vehicle:
All - window:
30
- type:
- Confirm generated entity exists:
sensor.zagreb_transport_watch_<your_name_slug>
- Import a sample dashboard from:
docs/dashboards/transit_test.yaml
- If no departures appear, increase
window_minutesand relax route/direction filters.
- Route filtering fixes now use realtime departure (
dep_rt) where relevant. - Nearby and OD outputs include safer deduplication logic.
- Realtime delay data is auto-cleared after longer outage periods (stale protection).
- Static feed cache avoids unnecessary re-download/write when version is already cached.
- Old cached feed files are pruned automatically.
- Optional persistent degraded-status notifications are available in Core settings.
- Watch naming/renaming behavior is more stable for dynamic entities.
After installation:
- Open
Settings -> Devices & Services. - Click
Add Integration. - Choose
Zagreb Transit. - Wait for initial GTFS static + realtime sync.
- Verify core entities are available (feed, realtime, boards, registry).
- Integration domain:
zagreb_transit - Entity naming:
zagreb_transport_* - Core entities are available immediately after setup.
- Dynamic watch entities are optional and can be added later via integration options.
- Core option
notifications_enabledcontrols persistent warning notifications.
- Use integration without adding watches:
docs/USAGE_NO_WATCHES.md
- Watch management (add, edit, remove, types, practical usage):
docs/WATCH_MANAGEMENT.md
- Dashboards (demo, debug, testing) and how to use them:
docs/DASHBOARDS_GUIDE.md
- Dashboard import helper:
docs/IMPORT_DASHBOARDS.md
- Docs index:
docs/README.md
- Dashboard YAML samples:
docs/dashboards/transit_test.yaml- HR:
docs/dashboards/zagreb_transit_demo.yamldocs/dashboards/zagreb_transit_full.yaml
- EN:
docs/dashboards/zagreb_transit_demo_en.yamldocs/dashboards/zagreb_transit_full_en.yaml
Dashboard samples are intended to be generic and reusable. They are designed as templates and should be customized with your own entities/locations as needed.
- If integration setup fails, first check logs for entries referencing
custom_components.zagreb_transit. - Errors mentioning other integrations (for example
component.spook...) are unrelated to this integration. - If text/labels look outdated after upgrade, restart Home Assistant and hard-refresh browser cache.