Skip to main content

ETS Edmonton smart home integration, free and open source

ETS Edmonton integration for Gladys Assistant

Next Edmonton Transit (ETS) bus departures in real time, LRT timetable and line status.

The next ETS departures (bus in real time, LRT timetable) and the status of the LRT lines near your home, in Gladys.

This integration is not affiliated with Edmonton Transit Service nor the City of Edmonton.

Get started in 3 steps​

No technical knowledge is needed, and no account: there is nothing to create, no key.

  1. Check the address of your house in Gladys: Settings → Houses. The house must have a position on the map. The integration uses it to find the stops near you. The position stays in your Gladys.
  2. Install the integration from the integration catalog, and accept the access to the house location. Open its configuration page and press Save, without filling anything in.
  3. Open the Discover tab of the integration. The 3 stops closest to your home are offered there, with their name and the direction of their routes, e.g. "ETS – 100 Street & 102 Avenue (411 → Downtown | Macewan, 523 → Downtown)", as well as the ETS – LRT device. Press Add on each one you want.

That's it. You now get the next departures at each stop and the status of the LRT lines.

The message at the top of the configuration page always tells you what to do next. For example: "Ready: 3 stops and the lines to add. Open the Discover tab…".

Device names start with ETS –, so they are easy to find in the device list of Gladys. You can rename them freely in Gladys.

Showing the departures on the dashboard​

  1. Open the dashboard, then press Edit.
  2. Add a widget and choose ETS departures.
  3. Choose the stop, then save.

The ETS line status widget is added the same way.

Departures tracked in real time are green. Scheduled times carry a ~ and are grey: "~12 min" means "scheduled in 12 minutes".

Where the departures come from​

  • Buses: the ETS real-time predictions, read every minute for all your stops at once.
  • LRT (Capital, Metro and Valley lines): ETS publishes no prediction for them. Their platforms show the timetable, through Transitous, a free community service, read every 2 minutes. An LRT platform is a stop of its own, one per direction ("Churchill Station" has two).

Watching other stops (work, school…)​

For a stop far from home:

  1. At the bottom of the configuration page, press Find a stop. Type a street, a station or the stop number, e.g. "Churchill" or "100 Street 102 Avenue".
  2. The answer lists the stops with their number and the direction of their routes, e.g. 1321 — 100 Street & 102 Avenue (411 → Downtown | Macewan, 523 → Downtown).
  3. Copy the number (1321) in Stops, save, then add the stop in the Discover tab.

The number is the one written on every ETS stop sign.

Going further​

The Stops field accepts several numbers separated by commas, a route filter after @ and a name after :.

EntryMeaning
1321every route calling at stop 1321
1321@523route 523 only
1321@523|411routes 523 and 411
1321@523:Bus to workroute 523, displayed as "Bus to work"
18761@Capitalthe Capital Line at Churchill, one way

What each device holds​

Stop:

  • Next departure, Departure 2…: the minutes to wait. 999 means no departure is coming.
  • Next departure route…: the route ("9", "523", "Capital" for the LRT).
  • Next departures: a summary, e.g. 523 3 min · 411 11 min.

LRT: for each line (Capital, Metro, Valley), a status (Normal, Disrupted, Notice or Unknown) and the message of the ETS alert. No service, reduced service or major delays are a disruption; a detour or any other announcement is a notice. Elevators and escalators, and the alerts about a single station, do not change the status of a line.

Scenes​

Triggers:

  • Departure approaching: a departure gets under 1, 2, 3, 5, 10 or 15 minutes. Example: "when the 523 is 5 minutes away, turn the hall light on".
  • Line status changed: a line is disrupted, gets back to normal, or receives a notice. Example: "if the Capital Line is disrupted, send me a message".

Actions:

  • Read the next departures: e.g. a message every morning "Your 523 comes in {{minutes}} minutes".
  • Read a line status: returns the status, the ETS message and normal (true or false).

Troubleshooting​

Message or symptomWhat to do
"set the address of your house"Settings → Houses: place the house on the map, then save the configuration of the integration again.
"Gladys did not share the location of your house"Reinstall the integration and accept the location access, or type stop numbers.
Nothing in the Discover tabRead the message of the configuration page: it says what is missing.
"Stop … is not in the ETS stop list"Check the number on the sign. A brand new stop comes with the next version of the integration.
A stop stays at 999No departure coming (at night), or a route filter matching no route of the stop.
An LRT platform shows "~" timesNormal: ETS publishes no real time for the LRT, the timetable is shown.

Privacy, data and licences​

  • The house location is only used to look the nearby stops up, in the stop list shipped with the integration: it is sent nowhere.
  • Stop list, real time and alerts: ETS data, City of Edmonton open data, under the City of Edmonton Open Data Terms of Use (the stop list is updated with every version).
  • LRT timetable and directions: Transitous, a free community service, from the ETS data.
  • Integration code: Apache 2.0 licence.

Configuration settings​

These are the settings ETS Edmonton asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Get started in 2 minutessectionNo1. Check that your house has an address in Gladys (Settings → Houses). 2. Save this page. 3. Open the “Discover” tab of this integration and press “Add” on the stops near your home. That's it: you get the next departures right away. The ETS real time and the line status come with it, without any key.
Near my homesectionNoHow many of the closest stops (within 600 m) are proposed in the “Discover” tab. 0 turns the suggestion off.
Stops near my homenumberNo
LinessectionNoThe status of the Capital, Metro and Valley LRT lines, from the ETS service alerts.
Watch the linesbooleanNoCreates a "ETS – LRT" device with the status of the Capital, Metro and Valley LRT lines.
Other stops (optional)sectionNoTo watch a stop that is not near your home (work, school…): type its number, written on the stop sign, or find it with the “Find a stop” button at the bottom of this page.
StopsstringNoStop numbers. Optional route filter after @ and custom name after : — e.g. "18761, 1321@523:Bus to work".
AdvancedsectionNoThe defaults suit almost everyone. One read of the real-time feed serves every stop.
Departures refresh interval (s)numberNoHow often the departures are refreshed, in seconds.
Lines refresh interval (s)numberNoHow often the line status is refreshed, in seconds.
Departures per stopnumberNoHow many upcoming departures each stop device exposes as features.
Language of the valuesselectNoLanguage of the feature names and of the texts published.

How to install ETS Edmonton in Gladys​

  1. In Gladys, open Integrations: ETS Edmonton appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/lm1lc3n7/gladys-edmonton-transit:0.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-edmonton-transit.

ETS Edmonton requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

ETS Edmonton is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂