Skip to content

Releases: dirkjanfaber/node-red-contrib-eskomsepush

v0.1.1 — Documentation fixes

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 11 Jun 19:00

Documentation updates only — no functional changes.

  • Update curl example to use the v3 API URL
  • Add note on the short area ID format required by v3 (eskmo-15, not eskmo-15-ballitokwadukuzakwazulunatal)
  • Correct fetch interval description (dynamic based on remaining allowance, not fixed hourly)
  • Update API docs link to developer.sepush.co.za/business/3.0/
  • Fix two malformed HTML id attributes in the inline Node-RED help

v0.1.0 — API v3 migration + TypeScript rewrite

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 11 Jun 18:10

⚠️ Action required: update your area ID

The EskomSePush API v2 is being retired on 1 September 2026. This release migrates to API v3.

If your area ID looks like eskde-10-fourways, update it to eskde-10 (keep only the first two dash-separated parts). The node will auto-migrate old IDs and keep working, but will log a warning until you update the configuration.

What's new

  • API v3: All endpoints now use https://developer.sepush.co.za/business/3.0/
  • Area ID migration: Old v2-style IDs are detected and converted automatically. A node.warn() message appears in the debug tab to remind you to update the node config.

Bug fixes

  • Per-instance state: When multiple EskomSePush nodes existed in the same flow they silently shared data, causing incorrect readings. Each node now maintains its own state.
  • Status display: The node status bar incorrectly prepended a weekday name to nearly every time string due to a day-of-week vs. day-of-month comparison bug.
  • Event note crash: The node crashed if an event note did not contain a "Stage N" pattern.

Under the hood

  • Rewritten in TypeScript
  • Jest test suite added (29 tests covering the load shedding calculation and API client)
  • Dependencies updated: axios 1.17, TypeScript 6, Node.js ≥ 18 required

v0.0.18

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 23 May 11:23
  • Fixes a crash of the node when there is no loadshedding going on (issue #12)

Full Changelog: v0.0.17...v0.0.18

v0.0.17

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 19 Sep 09:26
  • Fix in brackets (issue #11) Thanks again @nicopret1
  • Reduce the sleeptime (minimum 10 minutes, maximum 60 minutes)

v0.0.15

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 18 Sep 18:08
  • Fixes issue #10 ("TypeError: dates.stages[(EskomSePushInfo.calc.stage - 1)] is not iterable")
  • Adds API allowance limit to keep API calls from being used by the node

Thanks @nicopret1 for the fixes and suggestions.

v0.0.14

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 11 Sep 14:18
  • Add calc.next.isHigherStage (issue #7 )

v0.0.13

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 12 Jul 07:17

Fixing an issue:

  • "TypeError: dates.stages[EskomSePushInfo.calc.stage] is not iterable" (issue #5)

v0.0.12

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 16 Jun 09:14

Fixing some issues:

  • When a schedule end time is on the next day, it was ignored. That is no longer the case.
  • As the API resets at 2AM instead of midnight, the calculation until then is used instead for determining the sleep time between calls. Also added a check that the sleep time cannot be smaller than 10 minutes.

New feature

  • Added an input to overrule some of the current behavior. Inserting a timestamp will output the data directly. Inserting of of the strings allowance, area or stage will cause the node to fetch the requested part.

v0.0.11

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 14 Jun 10:01

Quite a big rewrite of a lot of the main functions, allowing for easier debugging of the code.

Also some new functionality added:

  • Depending on the amount of API calls left for the day, the sleep time between calls is either increased or decreased.
  • There now is a msg.payload.calc field, containing extra information like the seconds to the next state change and the start and end time (as javascript new Date(), so in milliseconds after the epoch), duration in seconds and more.

v0.0.8

Choose a tag to compare

@dirkjanfaber dirkjanfaber released this 10 May 08:55
  • Fix in checking when events are active or not.
  • Moved updating status to own function
  • More typError checking
  • Improved documentation