A Home Assistant integration to track your load schedding schedule.
๐กThis integration uses the Eskom SePush API.
๐จRead the EskomSePush API Licence Agreement.
๐Get a Free (50 requests per day) API Key from Eskom Se Push. You can pay for a higher limit.
โ ๏ธ Do not use more than one API key from the same IP. Your key will be blocked.
- Go to HACS Integrations on your Home Assitant instance
- Select "+ Explore & Download Repositories" and search for "Load Shedding"
- Select Load Shedding: A Home assistant integration to track your load shedding schedule. and Download this repository with HACS
- Once downloaded, click the My Integrations button to configure the integration.
- Setup cards and automations
- Please support my work
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.
Thanks to @ribeirompl for this contribution
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.
Announce Load Shedding stage changes on speakers and push notifications.
Do stuff when load shedding starts, e.g. update your slack status, turn off lights, etc.
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
15 minutes warning on speaker and telegram before load shedding starts.
2 hour warning on smart speaker
Reload the integration every night. This is a workaround for Issue #70/#71