Skip to content

A Home Assistant integration to track your load schedding schedule.

License

Notifications You must be signed in to change notification settings

ashabala/ha.integration.load_shedding

 
 

Repository files navigation

Load Shedding hacs_badge

A Home Assistant integration to track your load schedding schedule.

img_11.png

ℹ️ 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.

HACS Install

  1. Go to HACS Integrations on your Home Assitant instance
  2. Select "+ Explore & Download Repositories" and search for "Load Shedding"
  3. Select "Load Shedding" and "Download this repository with HACS" image
  4. Once downloaded, click the "My Integrations" button to configure the integration.
    Open your Home Assistant instance and start setting up a new integration.
  5. Setup cards and automations
  6. Support

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.

Buy me a coffee

Buy Me A Coffee

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.

Bitcoin

3EGnQKKbF6AijqW9unyBuW8YeEscY5wMSE
Bitcoin address: 3EGnQKKbF6AijqW9unyBuW8YeEscY5wMSE

Manual Install

Instructions
  1. Download and unzip to your Home Assistant config/custom_components folder.
Screenshot

image

  1. Restart Home Assistant.
  2. Go to Settings > Devices & Services > + Add Integration

Open your Home Assistant instance and start setting up a new integration.

  1. Search for 'Load Shedding' and follow the config flow.
Screenshot

img_7.png

  1. If you're coming from a previous version of this integration, you may need to delete the .json files in /config/.cache.
Screenshot

image

Sensor

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.

Screenshot

| img_5.png | img_4.png |

img_6.png

Cards

I created these cards with the help the following

Card 1

Code
img.png

Card 2

Code
img_1.png

Card 3

Code
img_2.png

Card 4 - Mushroom Chips and Atomic Calendar Revive

Code
img_10.png img_11.png img_12.png

Automation Ideas

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.

15 minutes warning on speaker and telegram before load shedding starts.

2 hour warning on speaker

Update your Slack status

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

About

A Home Assistant integration to track your load schedding schedule.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%