A Node-RED node that polls the Zenbus real-time API and outputs next bus ETA for a configured stop.
Built on the zenbus client library — no scraping, no browser.
From your Node-RED user directory (typically ~/.node-red):
npm install @gautric/node-red-zenbusRestart Node-RED and the zenbus node will appear in the palette under the transport category.
| Property | Description | Required |
|---|---|---|
| Name | Display name for the node | no |
| Alias | Network alias (e.g. gpso) |
yes |
| Itinerary | Itinerary ID | yes |
| Stop | Stop ID | yes |
| Interval | Poll interval in seconds (default: 10, minimum: 5) | no |
The node sends a msg.payload object on each poll cycle:
| Property | Type | Description |
|---|---|---|
payload.stop |
string | Stop name |
payload.line |
string | Line code |
payload.timestamp |
string | ISO 8601 poll timestamp |
payload.now |
string | Current time as HhMM |
payload.first |
object | null | First bus info |
payload.first.eta |
number | ETA in minutes |
payload.first.distance |
number | Remaining distance in metres |
payload.first.estimatedArrival |
string | Estimated arrival (ISO 8601) |
payload.first.scheduledTime |
string | null | Scheduled time (ISO 8601) or null |
payload.first.isLive |
boolean | true if live-tracked |
payload.next |
object | null | Second bus (same shape as first) |
When a field is unavailable, it defaults to '-' (or false for isLive).
- 🟢 Green dot — live ETA with minutes and arrival time
- 🟡 Yellow dot — scheduled data (not live-tracked)
- 🟡 Yellow ring — initializing
- 🟢 Green ring — connected, waiting for first poll
- ⚪ Grey ring — no bus found
- 🔴 Red ring — error or init failure
Ready-to-use examples are bundled with the package.
In Node-RED: Menu → Import → Examples → zenbus-next-bus
| Example | Stop | Line | File |
|---|---|---|---|
| debug-next-bus | default | default | examples/debug-next-bus.json |
| debug-parchamp | Parchamp | SUBN | examples/debug-parchamp.json |
Open your stop on zenbus.net. The URL contains the values you need:
https://zenbus.net/publicapp/web/{alias}?line=...&stop={stop}&itinerary={itinerary}
| Package | Version |
|---|---|
| zenbus | ^2.1.0 |