This repository contains a Home Assistant integration for ESB Networks PowerCheck display notable service interruptions for a given location, within a configured proximity. The integration relies upon a connection to ESB Network's PowerCheck API.
You will need HACS installed in your Home Assistant server. Install the integration by installing this repository as a Custom Respository (working on adding this to the default HACS integration set). Then, navigate to Integrations, Add an Integration and select ESB Faults. You will then be asked to enter:
- Latitude: Your location latitude
- Longitude: Your location longitude
- Proximity: Filters alerts to within
Xkilometers of your lat/lon. - API Key: I won't include this here, but you can find it by inspecting requests on the PowerCheck website. Look for the
Api-Subscription-Keykey.
The integration reads data 5 minutes. It exposes one entity, sensor.esb_faults_sensor. The State of the sensor is a numeric value, indiciating how many total faults (be they Planned Outages, Recent Restorations or Current Unplanned Faults) are present nearby. The attributes for the sensor include a an outages array, which contains details of individual outages present. Fields for these individual outages include:
| Outage Field | Description |
|---|---|
| outageType | Outage type (e.g. 'Planned', 'Fault', 'Restored') |
| location | Outage location |
| plannerGroup | Region |
| numCustAffected | Number of customers affected |
| startTime | Outage start time |
| estRestoreTime | Estimated restoration time |
| statusMessage | Status Message |
| restoreTime | Restoration time (only for outages of outageType Restored) |
| numCustAffected | Number of customers affected |
alias: ESB Outage Notifications
description: ""
trigger:
- platform: state
entity_id:
- sensor.esb_faults_sensor
attribute: outages
condition: []
action:
- service: notify.notify
data:
title: ⚡ ESB Outage Notification ⚡
message: >-
Type: {{state_attr('sensor.esb_faults_sensor', 'outages')[0].type}},
Location: {{state_attr('sensor.esb_faults_sensor',
'outages')[0].location}}, Distance:
{{state_attr('sensor.esb_faults_sensor', 'outages')[0].distance}} KM,
Estimated Restore: {{state_attr('sensor.esb_faults_sensor',
'outages')[0].estRestoreTime}}
mode: single