ArrivalTimesLive transit sign

Home Assistant & API

Connect your board

Put arrivals, detours and the display itself into Home Assistant, or read them from your own scripts.

On this page

Before you start

Everything on this page is optional. The board works the same with or without it.

You'll need an MQTT broker on your home network and Home Assistant's MQTT integration set up. Home Assistant's Mosquitto add-on is the easiest choice: the board can sign in with a Home Assistant user. Any other MQTT broker on your network works too.

Connect the board

On the board's setup page, open Advanced, then Home Assistant. Turn it on and enter your broker's address, port [1883], user name and password. Save.

The board appears in Home Assistant by itself through MQTT discovery. No YAML needed.

What you get

  • A sensor per direction. One for every direction on the panel, such as “Red Line to Howard”. Its state is the minutes to the next arrival. It also carries the next arrivals, their status (running, detour, bypassed, no service, canceled) and any alert details.
  • Detour sensor. Turns on when any of your routes is on detour, and lists which ones.
  • Display switch. Turns the panel on and off. Stays in sync with the setup page both ways.
  • Brightness. A slider for panel brightness, also synced both ways.
  • Board health. Last update, connection to the arrivals service, stale data, WiFi signal, firmware version, quiet hours and current brightness.

Entity names stay the same across updates and restarts, so your automations don't break.

Automation ideas

  • Detour alert on your phone. Notify yourself when the detour sensor turns on.
  • Off when you leave. Turn the display off when everyone's away, and back on when someone gets home.
  • Dim at bedtime. Tie brightness to your evening scene.

Example: a detour notification. Replace the bracketed names with your own.

alias: Detour on my route
triggers:
  - trigger: state
    entity_id: binary_sensor.[your_board]_detour
    to: "on"
actions:
  - action: notify.mobile_app_[your_phone]
    data:
      title: Detour on your route
      message: Check the board for details.

Local API

The board answers one request on your home network: exactly what the panel shows, as JSON. It comes from the board itself, with no cloud round trip, and doesn't affect the board's own updates.

GET http://arrivaltimes.local/api/arrivals

Or from a terminal:

curl http://arrivaltimes.local/api/arrivals
  • For each direction: route, destination, direction, line color, and whether it's on detour, canceled or has an alert.
  • For each arrival: minutes to arrival and its flags, such as delayed or scheduled.

Use it from scripts, dashboards or a Home Assistant RESTful sensor.

[Sample response: paste one from a real board]

Good to know

  • It never gets in the way. If your broker goes down, the sign keeps showing arrivals as normal.
  • It stays local. The board talks to your broker over plain MQTT on your home network. Keep your broker on your home network rather than open to the internet.
  • The setup page and API have no password. Anyone on your home network can reach them.