rhythm.lighting docs
Search docs… ⌘K

Network requirements

What the LightHub needs from your network — and what it doesn't.

The LightHub is happy on most home networks without configuration. This page is for when something more complicated is in the way.

The short version

  • 2.4 GHz Wi-Fi, or Ethernet if the unit has a port
  • Phone and hub on the same network segment for discovery
  • mDNS / Bonjour allowed on that segment
  • Outbound HTTPS, only if you want remote access and automatic updates

Ports and discovery

The hub serves its entire API — the same one the app uses — over a single HTTP port on your LAN:

HTTP API      TCP 54448   (the app talks to this)
Discovery     mDNS / _http._tcp on the local subnet

The app finds the hub by browsing for an mDNS service advertised as _http._tcp with a rhythm-… instance name. That's the only "magic" step, and it's the one most likely to be blocked by a segmented network (see below). If discovery fails you can still reach the hub directly at http://<hub-ip>:54448.

What it reaches out to

Everything that runs your lights is local. The hub only makes outbound connections for three optional things:

  • Time sync — NTP, so the sun math is correct (a wrong clock means a wrong curve).
  • Firmware updates — it checks dl.rhythm.lighting for new builds. See Firmware updates.
  • Remote access — when you're away, the app relays through api.rhythm.lighting.

Block all three and the hub keeps running your lights locally — you just lose updates, remote control, and automatic clock correction.

VLANs and guest networks

Most common gotcha mDNS doesn't cross VLANs or most "guest network" isolation by default. If your phone is on a different segment from the hub, discovery will silently find nothing.

Fixes, in the order that usually works:

  • Put the phone and hub on the same Wi-Fi network for pairing
  • Enable an mDNS repeater / "Bonjour reflector" between the segments
  • Wire the hub to Ethernet to rule out 2.4 GHz signal issues
  • As a last resort, reach the hub by IP and skip discovery entirely