Skip to content

Home Assistant integration for ABC Emergency (Australian Broadcasting Corporation) incident data - Real-time Australian emergency alerts for bushfires, floods, storms, and more

License

Notifications You must be signed in to change notification settings

troykelly/homeassistant-abcemergency

Repository files navigation

ABC Emergency Logo

ABC Emergency for Home Assistant

Real-time Australian emergency alerts in your smart home

GitHub Release GitHub Activity License HACS

Home Assistant Python CI Polygon Mapping

Quick StartInstallation GuideAutomationsMap CardTroubleshooting

Add to HACS Add Integration


Important: This integration is NOT authorised, endorsed, or affiliated with the Australian Broadcasting Corporation (ABC). This is an independent community project that uses publicly available data from ABC Emergency to help Australians stay informed during emergencies.


Why ABC Emergency for Home Assistant?

When bushfires, floods, or storms threaten your home, every minute counts. This integration brings Australia's most comprehensive emergency information service directly into your smart home, enabling:

  • Instant mobile alerts when emergencies occur near your home
  • Tiered notifications based on Australian Warning System levels
  • Family safety monitoring - track alerts near loved ones as they travel
  • Smart home automation - trigger lights, sirens, or announcements during emergencies
  • Multi-location awareness - monitor your home, workplace, and holiday house simultaneously

Key Features

Three Monitoring Modes

Mode Best For How It Works
State Mode Overview of all emergencies Monitors every incident in a state/territory
Zone Mode Protecting fixed locations Alerts within configurable radius of your home, office, etc.
Person Mode Family safety Follows a person's location as they move

Australian Warning System Integration

This integration uses the official Australian Warning System levels:

Level Color Meaning Your Action
Emergency Warning Red You may be in danger Act immediately to protect yourself
Watch and Act Orange Conditions changing Take action now to prepare
Advice Yellow Incident occurring Stay informed and monitor conditions

Comprehensive Incident Coverage

  • Bushfires and grass fires
  • Floods and storms
  • Severe weather and cyclones
  • Earthquakes
  • Extreme heat and heatwaves
  • Structure fires
  • And more...

Smart Alerting

  • Per-incident events - Get notified for each new incident as it appears
  • Per-incident-type radius - Bushfires alert at 50km, structure fires at 10km
  • Nearest incident tracking - Know exactly how far away the closest threat is
  • Binary sensors - Simple on/off triggers for each warning level
  • Geo-location entities - See all incidents on your Home Assistant map

Point-in-Polygon Containment Detection

Know when you're not just near an emergency, but inside the actual warning zone:

  • Containment vs Proximity - Being inside an emergency zone is fundamentally different from being nearby
  • Polygon boundary detection - Uses actual emergency polygon boundaries, not just distance
  • Enter/exit events - Get notified when you enter or leave an emergency zone
  • Severity change events - Get alerted when an emergency escalates (e.g., Advice → Emergency Warning) while you're inside
  • Per-alert-level containment - Know if you're inside an Emergency Warning, Watch and Act, or Advice zone

Advanced Polygon Mapping

This integration exposes incident polygon boundaries as GeoJSON, enabling advanced map visualizations:

  • Polygon geometry data - Full boundary coordinates available on geo-location entities
  • Entity discovery - Sensors expose entity_ids for dynamic geo-location entity filtering
  • Companion map card - See the ABC Emergency Map Card for polygon rendering

Companion Projects

ABC Emergency Map Card

For advanced dashboard mapping with polygon rendering, use the companion ABC Emergency Map Card:

Feature Native Map Card ABC Emergency Map Card
Incident markers Yes Yes
Polygon boundaries No Yes
Filter by sensor No Yes
Custom styling Limited Yes

The native Home Assistant map card shows incidents as points only. The ABC Emergency Map Card renders actual emergency zone boundaries using the GeoJSON data exposed by this integration.

# Example: Show bushfire polygons on map
type: custom:abc-emergency-map-card
geo_location_sources:
  - sensor.abc_emergency_home_bushfires

See Dashboard Maps for configuration details.


Quick Start

1. Install via HACS

Add Repository to HACS

Click the button above to add this repository to HACS, or manually:

  1. Open HACS in Home Assistant
  2. Click the three dots menu → Custom repositories
  3. Add: https://github.com/troykelly/homeassistant-abcemergency
  4. Select category: Integration
  5. Click Install
  6. Restart Home Assistant

2. Add the Integration

Add ABC Emergency Integration

Click the button above to add the integration, or manually:

  1. Go to SettingsDevices & Services
  2. Click Add Integration
  3. Search for ABC Emergency
  4. Follow the setup wizard

3. Create Your First Automation

automation:
  - alias: "Emergency Warning Alert"
    trigger:
      - platform: state
        entity_id: binary_sensor.abc_emergency_home_emergency_warning
        to: "on"
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "EMERGENCY WARNING"
          message: >
            {{ state_attr('sensor.abc_emergency_home_nearest_incident', 'headline') }}
            is {{ states('sensor.abc_emergency_home_nearest_incident') }}km away
          data:
            priority: high
            channel: emergency

That's it! You'll now receive critical alerts when emergencies threaten your home.


Documentation

Guide Description
Getting Started Detailed installation and first-time setup
Configuration All configuration options explained
Entities Reference Complete list of sensors and their attributes
Automations Ready-to-use automation examples
Containment Safety Guide Critical: Alerts when inside emergency zones
Events Event-based per-incident alerting
Notifications Mobile alerts, critical notifications, TTS
Scripts Emergency briefings, evacuation checklists
Troubleshooting Common issues and solutions
FAQ Frequently asked questions
Glossary Term definitions
Changelog Version history
Advanced Usage Templates, Node-RED, AppDaemon

Example Automations

Tiered Notifications by Warning Level

automation:
  # Advice level - informational notification
  - alias: "ABC Emergency - Advice Notification"
    trigger:
      - platform: state
        entity_id: binary_sensor.abc_emergency_home_advice
        to: "on"
    condition:
      - condition: state
        entity_id: binary_sensor.abc_emergency_home_watch_and_act
        state: "off"
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "Emergency Advice"
          message: >
            {{ state_attr('sensor.abc_emergency_home_nearest_incident', 'headline') }}
            ({{ states('sensor.abc_emergency_home_nearest_incident') }}km away)

  # Watch and Act - more urgent
  - alias: "ABC Emergency - Watch and Act"
    trigger:
      - platform: state
        entity_id: binary_sensor.abc_emergency_home_watch_and_act
        to: "on"
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "WATCH AND ACT"
          message: >
            Take action now! {{ state_attr('sensor.abc_emergency_home_nearest_incident', 'headline') }}
            is {{ states('sensor.abc_emergency_home_nearest_incident') }}km away
          data:
            priority: high

  # Emergency Warning - critical
  - alias: "ABC Emergency - Emergency Warning"
    trigger:
      - platform: state
        entity_id: binary_sensor.abc_emergency_home_emergency_warning
        to: "on"
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "EMERGENCY WARNING"
          message: >
            Act immediately! {{ state_attr('sensor.abc_emergency_home_nearest_incident', 'headline') }}
            is {{ states('sensor.abc_emergency_home_nearest_incident') }}km away
          data:
            priority: critical
            channel: alarm

Family Member Safety Alert

automation:
  - alias: "Family Member Near Emergency"
    trigger:
      - platform: state
        entity_id: binary_sensor.abc_emergency_dad_active_alert
        to: "on"
    action:
      - service: notify.family_group
        data:
          title: "Emergency Near Dad"
          message: >
            There's an active emergency near Dad's location.
            Distance: {{ states('sensor.abc_emergency_dad_nearest_incident') }}km
            Type: {{ state_attr('sensor.abc_emergency_dad_nearest_incident', 'event_type') }}

New Incident Event Alert

Get notified for each new incident as it appears:

automation:
  - alias: "New Emergency Incident"
    trigger:
      - platform: event
        event_type: abc_emergency_new_incident
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "{{ trigger.event.data.event_type }}: {{ trigger.event.data.alert_text }}"
          message: >
            {{ trigger.event.data.headline }}
            {% if trigger.event.data.distance_km %}
            ({{ trigger.event.data.distance_km | round(1) }}km {{ trigger.event.data.direction }})
            {% endif %}

See Automations Guide for more examples including TTS announcements, smart light alerts, event-based alerting, and quiet hours handling.


Entities Created

Each instance creates a device with these entities:

Sensors

Entity Description
sensor.abc_emergency_*_incidents_total Total active incidents
sensor.abc_emergency_*_incidents_nearby Incidents within your configured radii
sensor.abc_emergency_*_nearest_incident Distance (km) to nearest incident
sensor.abc_emergency_*_highest_alert_level Highest warning level active
sensor.abc_emergency_*_bushfires Active bushfire count
sensor.abc_emergency_*_floods Active flood count
sensor.abc_emergency_*_storms Active storm count

Binary Sensors

Entity Meaning
binary_sensor.abc_emergency_*_active_alert Any alert active
binary_sensor.abc_emergency_*_emergency_warning Red level (highest)
binary_sensor.abc_emergency_*_watch_and_act Orange level or higher
binary_sensor.abc_emergency_*_advice Yellow level or higher

Containment Binary Sensors (Zone/Person Mode)

Entity ON When
binary_sensor.abc_emergency_*_inside_polygon Inside ANY emergency polygon
binary_sensor.abc_emergency_*_inside_emergency_warning Inside Emergency Warning (red) polygon
binary_sensor.abc_emergency_*_inside_watch_and_act Inside Watch and Act (orange+) polygon
binary_sensor.abc_emergency_*_inside_advice Inside Advice (yellow+) polygon

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

This project follows:

  • Test-Driven Development (TDD)
  • Issue-Driven Development (all changes require a linked GitHub issue)
  • Strict type safety (no Any types)

The Story Behind This Integration

This integration was created in early December 2025 when bushfires broke out near a friend's house in Woy Woy, NSW. We needed a way to easily add alerting to our chosen family group so everyone could stay informed and safe.

What started as a quick hack to help friends became a full-featured integration that we hope helps other Australians protect their homes and loved ones.


Acknowledgment of Country

This code was written on the land of the Gadigal and Wangal peoples of the Eora Nation. We pay our respects to Elders past, present, and emerging, and acknowledge that sovereignty was never ceded.

In the spirit of this integration's purpose - helping communities stay safe during emergencies - we acknowledge the tens of thousands of years of land management by First Nations peoples, including the use of cultural burning practices that helped maintain the health of Country.


Data Source & Disclaimer

This integration uses publicly available data from ABC Emergency, which aggregates emergency information from state and territory emergency services across Australia.

This is NOT an official ABC product. The ABC Emergency website states:

The information displayed on this page is assembled from multiple data sources and may not reflect the most up-to-date information available. For emergency information, contact your local emergency services.

Always follow official emergency service instructions. This integration is a convenience tool and should not be your only source of emergency information. In a life-threatening emergency, call 000.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with care for the Australian community

About

Home Assistant integration for ABC Emergency (Australian Broadcasting Corporation) incident data - Real-time Australian emergency alerts for bushfires, floods, storms, and more

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •