Skip to main content

TTC Toronto smart home integration, free and open source

TTC Toronto integration for Gladys Assistant

Next TTC departures in real time, subway and LRT status, Bike Share Toronto stations.

The next TTC departures (bus, streetcar, subway, LRT), the subway and LRT line status and the Bike Share Toronto bikes near your home, in Gladys.

This integration is not affiliated with the TTC, the City of Toronto nor Bike Share Toronto.

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 and 2 Bike Share stations closest to your home are offered there, with their name and the direction of their routes, e.g. "TTC – Union Station (509 → Exhibition)", as well as the TTC – Subway and LRT device. Press Add on each one you want.

That's it. You now get the next departures at each stop, the status of the lines, and the bikes and free docks of each Bike Share station.

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

Device names start with TTC – or Bike Share –, so they are easy to tell apart 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 TTC departures.
  3. Choose the stop, then save.

The TTC line status and Bike Share station widgets are 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 and streetcars: the TTC real-time predictions, the same as the stop signs and the TTC apps, read every minute.
  • Subway and LRT (Lines 1, 2, 4, 5 and 6): the TTC publishes no prediction for them. Their platforms show the timetable, through Transitous, a free community service, read every 2 minutes. A subway platform is a stop of its own, one per direction: "Union Station - Northbound Platform Towards Finch".

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. "Union Station" or "Bay Front".
  2. The answer lists the stops with their number and the direction of their routes, e.g. 247 — Bay St at Front St West - Union Station (114 → Union Station, 202 → Union Station via Distillery).
  3. Copy the number (247) in Stops, save, then add the stop in the Discover tab.

The number is the one written on every TTC stop sign (the one texted to 898882).

For Bike Share stations, the Find a Bike Share station button works the same way.

Going further​

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

EntryMeaning
247every route calling at stop 247
10935@509route 509 only
10935@509|510routes 509 and 510
10935@509:Car to workroute 509, displayed as "Car to work"
13816Line 1 at Union Station, towards Finch

What each device holds​

Stop:

  • Next departure, Departure 2…: the minutes to wait. 999 means no departure is coming.
  • Next departure route…: the route ("504", "96").
  • Next departures: a summary, e.g. 504 3 min · 504 11 min.

Subway and LRT: for each line, a status (Normal, Disrupted, Notice or Unknown) and the message of the TTC alert. A closure or a major delay is a disruption; a standing slow zone ("trains will move slower than usual") or the announcement of a coming closure is a notice. Elevators and escalators do not change the status of a line.

Bike Share station: the bikes (e-bikes included), the e-bikes, the free docks and the state of the station.

A station that leaves the network shows 0 bikes, 0 docks and the state "Removed from the Bike Share Toronto network (seasonal?)", with an orange dot on the device. It resumes by itself when it comes back.

Scenes​

Triggers:

  • Departure approaching: a departure gets under 1, 2, 3, 5, 10 or 15 minutes. Example: "when the 504 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 Line 1 is disrupted, send me a message".
  • Bike Share station changed: the station runs out of bikes or docks, or gets some back.

Actions:

  • Read the next departures: e.g. a message every morning "Your 504 comes in {{minutes}} minutes".
  • Read a line status: returns the status, the TTC 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 TTC stop list"Check the number on the sign. A brand new stop comes with the next version of the integration.
Station "Removed from the Bike Share network"The station left the network: it will come back by itself.
A stop stays at 999No departure coming (at night), or a route filter matching no route of the stop.
A subway platform shows "~" timesNormal: the TTC publishes no real time for the subway, 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: TTC Routes and Schedules, City of Toronto open data, under the Open Government Licence – Toronto (updated with every version).
  • Real time and alerts: TTC data, © Toronto Transit Commission.
  • Subway and LRT timetable: Transitous, a free community service, from the TTC data.
  • Bikes: public GBFS feed of Bike Share Toronto.
  • Integration code: Apache 2.0 licence.

Configuration settings​

These are the settings TTC Toronto 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 and Bike Share stations near your home. That's it: you get the next departures and the Bike Share bikes right away. The TTC real time and the line status come with it, without any key.
Near my homesectionNoHow many of the closest stops (within 600 m) and Bike Share stations (within 1 km) are proposed in the “Discover” tab. 0 turns the suggestion off.
Stops near my homenumberNo
Bike Share stations near my homenumberNo
LinessectionNoThe status of the subway lines 1, 2 and 4 and the LRT lines 5 and 6, from the TTC service alerts.
Watch the linesbooleanNoCreates a "TTC – Subway and LRT" device with the status of the subway lines 1, 2 and 4 and the LRT lines 5 and 6.
Other stops and stations (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. "13816, 10935@509:Bus to work".
Bike Share stationsstringNoBike Share station ids, with an optional custom name after : — e.g. "7033:Station at home".
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.
Bike Share refresh interval (s)numberNoHow often the Bike Share stations are 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 TTC Toronto in Gladys​

  1. In Gladys, open Integrations: TTC Toronto 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-ttc: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-ttc.

TTC Toronto 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​

TTC Toronto 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 🙂