A Home Assistant integration to track your load schedding schedule.
ℹ️ NOTE: Prior to v1.0.0 this integration made use of this Python library which only supports schedules for Eskom Direct customers. If you can find your schedule on https://loadshedding.eskom.co.za/ then you'll have schedule info available.
If you are not an Eskom Direct customer, then a work-around is to find an Eskom Direct schedule which matches yours and use that instead. There are no immediate plans to add other municipalities, but Merge Requests on the library to expand support are welcome.
v1.0.0 uses the Eskom SePush API. Get a Free (50 requests per day) API Key from Eskom Se Push. You can also pay to get a higher request limit.
- Go to HACS Integrations on your Home Assitant instance
- Select "+ Explore & Download Repositories" and search for "Load Shedding"
- Select "Load Shedding" and "Download this repository with HACS"
- Once downloaded, click the "My Integrations" button to configure the integration.
- Setup cards and automations
- Support
If you find this integration useful, please consider supporting my work by buying me a coffee or making a donation in the form of Bitcoin.
Sign-up for a free Luno wallet using this invite link or enter the code X48WY in the Rewards section and we can both earn R 25.00 free BTC after investing our first R 500.
3EGnQKKbF6AijqW9unyBuW8YeEscY5wMSE
Instructions
- Download and unzip to your Home Assistant
config/custom_components
folder.
- Restart Home Assistant.
- Go to Settings > Devices & Services > + Add Integration
- Search for 'Load Shedding' and follow the config flow.
- If you're coming from a previous version of this integration, you may need to delete the
.json
files in/config/.cache
.
The load shedding sensor State will always reflect the current load shedding stage.
i.e When load shedding is suspended, it will show No Load Shedding. When Stage 2 is active, it will show Stage 2.
I created these cards with the help the following
Card 1
Card 2
Card 3
Card 4 - Mushroom Chips and Atomic Calendar Revive
These are just some automations I've got set up. They are not perfect and will require some tweaking on your end.
Replace sensor.load_shedding_south_africa_stage
, sensor.load_shedding_milnerton_14
and other entity_id
with your own.
Setup a REST Command and two automations to set your Slack status when Load Shedding starts and ends.
Example
secrets.yaml
slack_token: Bearer xoxp-XXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
configuration.yaml
rest_command:
slack_status:
url: https://slack.com/api/users.profile.set
method: POST
headers:
authorization: !secret slack_token
accept: "application/json, text/html"
payload: '{"profile":{"status_text": "{{ status }}","status_emoji": "{{ emoji }}"}}'
content_type: "application/json; charset=utf-8"
verify_ssl: true