DSC-BRAIN USER GUIDE · HOW IT WORKS

Connections: how the brain reaches devices

The brain connects to every device itself. No other home automation app sits in between. This page lists each connection, what it carries and what the screens show when it is healthy or not.

●  Running on our test kit: 9.10.0 · kit firmware 9.0.0.0 · last report 22 Oct 2026

Status: Live. The brain owns every connection.

On this page
  1. The connections
  2. The Pi’s own Wi-Fi
  3. Keys belong to each card
  4. Who may change things
  5. Where to see them
  6. ESPHome devices
  7. Zigbee
  8. Bluetooth
  9. Tuya
  10. What every connection owes you

The connections

Connection Carries How the brain reaches it
ESPHome over Wi-Fi The DSC hub, the pot nodes and the Sonoff plugs running DSC firmware The brain holds an ESPHome native API session to each one. It also builds and flashes their firmware, on the Pi.
Zigbee Zigbee sensors and plugs A Zigbee radio on the Pi, through Zigbee2MQTT, over the local MQTT broker. The radio is optional.
Bluetooth LE Thermometers, CO2 monitors and plant sensors The Pi’s own Bluetooth radio, decoded by a gateway that publishes to the MQTT broker. The sensors are read-only.
Tuya (SmartLife) over Wi-Fi Tuya plugs and sensors The local network protocol, one connection per device. The brain does not contact Tuya’s cloud.

Wi-Fi carries ESPHome and Tuya. MQTT carries Zigbee and Bluetooth. All of it is on your own network.

The Pi’s own Wi-Fi

The Pi makes its own Wi-Fi network, named DSC-Brain-XXXX (XXXX is unique to your card; setup shows the full name. Cards made before 9.9.0 use DSC-Brain). DSC devices join it by themselves, at fixed addresses. You never type your home Wi-Fi into a device. The network stays up beside Ethernet. It is skipped only if you gave the Pi a Wi-Fi client of its own in Raspberry Pi Imager, because the radio cannot do both.

Each card makes its own password for this network the first time it starts, so no two cards share one. It is shown once, right after you set the owner PIN. Write it down. The owner can show it again from the Setup page, under “Pi Wi-Fi password”, with the button “Show the AP password again”.

Keys belong to each card

Each card also makes its own device keys the first time it starts. The public image carries none. The keys stay on the Pi. If the brain holds no key for a DSC device, the device reads as offline and an Issue says the device key is missing, instead of leaving you to guess a dead device or a weak signal.

Who may change things

Looking at the dashboard never needs a PIN. A fresh card refuses every change that comes in through the dashboard until its owner sets a PIN, and then shows the setup Wi-Fi password once. A kit that was already running keeps working and shows a banner, “No owner PIN set”, until a PIN is set. This guard covers requests from browsers. The brain’s own connections to your devices are not gated by it.

The PIN is set from the first card of the first-run guide, from the dialog that opens on your first change, or in Settings, under Network, in Write access.

Where to see them

In Settings, open Devices. It has five tabs: Inventory, Assignment, “Zigbee · Tuya · BLE”, Cameras and Firmware. Each connection’s status chips are on the tab where it lives.

ESPHome devices

These are your DSC devices. They join the Pi’s Wi-Fi, then the brain reads them over the native API. A device that has never answered is not held in a session. The brain checks for it now and then, backing off up to five minutes, and opens its session at its first answer. Inventory lists them. The Firmware tab shows the build toolchain, the queued jobs, and over-the-air update results. The Setup wizard builds device firmware on your Pi. The first build downloads its tools and takes tens of minutes, so the Pi needs a wired internet connection for it. A new kit’s firmware is not built until its time zone is confirmed (see Site profile). See Flash the SD image and first boot and Flashing devices over USB.

Zigbee

To add a Zigbee device, choose “Permit join (~4 min)”. While it is open, a chip says “JOIN OPEN”. A chip reading “MQTT OFFLINE” means the brain cannot reach the broker that carries the Zigbee radio. The dongle is optional and the brain finds it by itself. Without one, the health note reads “No Zigbee dongle detected: zigbee2mqtt is not running”. That is a note, not a fault. See Zigbee: pairing and binding roles and Zigbee radio down or pairing fails.

Bluetooth

There is nothing to pair. A supported sensor appears within a minute of being in range. Sensors that are not yours can show up too, so check the reading against the sensor’s own screen before you bind it. A chip shows “GATEWAY ONLINE”, “GATEWAY OFFLINE” or “NO GATEWAY”. Binding a Bluetooth sensor never switches anything.

Tuya

The brain talks to the device on your network. It does not use Tuya’s cloud except while you are in the key wizard, which fetches each device’s key once. The keys stay on the Pi. Each device has a link state and a write state.

State What it means
LIVE The device reported recently.
STALE Its last report is older than that.
OFFLINE The connection is down or the device cannot be reached.
KEY CHANGED Its messages no longer decrypt. Import its key again.
pending The brain has sent a command and is waiting for the device to echo it.
synced The device matches the command.
differs The device reports something other than what the brain commanded. Someone may have toggled it in the app.
failed The command failed.

What every connection owes you

  • A write is judged by the device’s own reading. Screens say Applied, Not applied or Unconfirmed from what the brain then reads. A command alone proves nothing.
  • A device that is not reporting says so. It is never drawn as off or zero.
  • When the brain is down, the hub keeps running its fans and lamps, and each Sonoff plug switches itself off after its own wait. A Tuya plug or a Zigbee plug holds its last state. See When the brain stops: the hub and the plugs.