Skip to content

Commit e803d98

Browse files
committed
docs(wiring): show the ESP32 tapping the bus, not sitting in it
The redrawn diagram still had A and B entering the module on one side and leaving on the other, which reads as "cut the run and splice the board in." RS485 is multi-drop — the monitor is one more listener on a shared bus, and the CCA-to-TAP wire is never broken. Someone following the old picture literally would cut a working cable. The run is now continuous end to end with three spur wires dropping off it, plus a note that this usually means a second wire under an existing screw terminal. Table reworded from a two-hop chain (CCA->base, base->optimizer) to three spurs. Same correction applied to the Start Here wiring step and the AtomS3R quick steps, which both said daisy-chain. Claude-Session: https://claude.ai/code/session_01RgSnMCa3JQigphGnPbazdw
1 parent 8dddadf commit e803d98

2 files changed

Lines changed: 53 additions & 35 deletions

File tree

site/src/content/docs/guides/getting-started.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,12 @@ wiring part. That's a completely reasonable call and in some places it's the law
6969

7070
### 2. Wire it in
7171

72-
Three wires: **A**, **B**, and **ground**, connecting your CCA or TAP to the
73-
RS485 base. The board sits in the middle of the existing cable run and eavesdrops.
74-
Ground is not optional — RS485 needs a shared reference to read reliably.
72+
Three short wires — **A**, **B** and **ground** — from your CCA or TAP over to the
73+
RS485 base. Nothing gets cut or unplugged: you're hanging the board off a cable
74+
that stays exactly as it is, alongside everything already connected to it.
75+
76+
Ground is not optional. RS485 needs a shared reference or the readings won't be
77+
reliable.
7578

7679
Full diagrams, terminal-by-terminal: **[Wiring guide](/esphome-tigomonitor/guides/wiring/)**.
7780

site/src/content/docs/guides/wiring.md

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ high-voltage side safe before you open anything.
2323
Your optimizers talk to your Tigo CCA (the green wall box) or TAP (the small radio
2424
box) over a **four-wire** cable — **+** and **** carrying power, **A** and **B**
2525
carrying the data. That data pair is RS485, and it's the only part we're interested
26-
in. You're splicing the ESP32 into the existing run — at the CCA's **GATEWAY**
27-
port — so it hears both sides of the conversation without joining in.
26+
in. You're tapping the ESP32 onto the existing run — at the CCA's **GATEWAY**
27+
port — so it hears both sides of the conversation without joining in. Nothing gets
28+
cut or unplugged.
2829

2930
**Tap A and B only, plus a ground.** Leave the power pair connected exactly as you
3031
found it. The terminals are marked on the port; the diagram below shows the order.
@@ -97,43 +98,57 @@ looking at — the GATEWAY port has **four** terminals, and you only touch three
9798
the common ground, which is the one you connect. **Leave `+` alone entirely**
9899
nothing on the ESP32 side goes anywhere near it.
99100

100-
Now wire it. `A` and `B` pass *through* the module, so it sits inline on the run:
101+
Now wire it. RS485 is a shared bus, so the ESP32 **hangs off** the existing cable
102+
rather than sitting in the middle of it — you are adding three short wires, not
103+
cutting anything:
101104

102105
```text
103-
Tigo CCA / TAP ESP32 + RS485 Base Optimizer bus
104-
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
105-
│ │ │ │ │ │
106-
│ A ──────────┼──────────────┤ A (Terminal) ├──────────────┼────── A │
107-
│ B ──────────┼──────────────┤ B (Terminal) ├──────────────┼────── B │
108-
│ │ │ │ │ │
109-
│ - ──────────┼──────────────┤ GND │ │ │
110-
│ + (leave) │ │ │ │ │
111-
└──────────────┘ └──────────────────┘ └──────────────┘
112-
113-
│ internal
114-
115-
┌──────────────────┐
116-
│ AtomS3R ESP32 │
117-
│ RX: GPIO5 │
118-
│ TX: GPIO6 inert │
119-
│ 38400 baud 8N1 │
120-
└──────────────────┘
106+
Tigo CCA / TAP TAP / optimizers
107+
┌──────────────┐ ┌──────────────┐
108+
│ │ │ │
109+
│ A ──────────┼─────┬──────────────────────────────────────────┼────── A │
110+
│ B ──────────┼─────┼──┬───────────────────────────────────────┼────── B │
111+
│ - ──────────┼─────┼──┼──┬────────────────────────────────────┼────── - │
112+
│ + (leave) │ │ │ │ │ + (leave) │
113+
└──────────────┘ │ │ │ └──────────────┘
114+
│ │ │ three short spur wires —
115+
│ │ │ the run itself is never cut
116+
▼ ▼ ▼
117+
┌───────────────┐
118+
│ A B GND │
119+
│ ESP32 + RS485 │
120+
└───────────────┘
121+
│ internal
122+
123+
┌──────────────────┐
124+
│ AtomS3R ESP32 │
125+
│ RX: GPIO5 │
126+
│ TX: GPIO6 inert │
127+
│ 38400 baud 8N1 │
128+
└──────────────────┘
121129
```
122130

131+
`` marks where a spur joins a wire; `` is just one line crossing another.
132+
133+
In practice this usually means landing a second wire under the same screw terminal
134+
that already holds the run, or using a wago/terminal block alongside it. The CCA
135+
keeps talking to the TAP exactly as before, whether or not the ESP32 is powered.
136+
123137
TX is wired but inert — the transceiver's driver is held disabled, so the ESP32 only listens. See [Why this is read-only](#why-this-cannot-break-your-solar-system).
124138

125139
### Wiring Table
126140

127-
| Connection | From | To |
128-
|------------|------|-----|
129-
| RS485 A | CCA/TAP **A** terminal | RS485 Base A terminal |
130-
| RS485 A | RS485 Base A terminal | Optimizer bus A |
131-
| RS485 B | CCA/TAP **B** terminal | RS485 Base B terminal |
132-
| RS485 B | RS485 Base B terminal | Optimizer bus B |
133-
| GND | CCA/TAP **** terminal | RS485 Base GND |
134-
| *(none)* | CCA/TAP **+** terminal | *Not connected — leave as found* |
141+
Three wires, each one a spur off a terminal that stays connected to whatever it
142+
was already connected to:
143+
144+
| Wire | From | To | Notes |
145+
|------|------|-----|-------|
146+
| RS485 A | CCA/TAP **A** terminal | RS485 Base **A** | Data |
147+
| RS485 B | CCA/TAP **B** terminal | RS485 Base **B** | Data |
148+
| Ground | CCA/TAP **** terminal | RS485 Base **GND** | Not optional — see below |
149+
|| CCA/TAP **+** terminal | *nothing* | Power. Leave exactly as found |
135150

136-
**Note:** RS485 A and B are daisy-chained through the ESP32 module. The ESP32 monitors traffic in both directions.
151+
**Note:** the ESP32 is one more listener on a shared bus, not a link in a chain. It sees traffic in both directions, and unplugging it changes nothing for the rest of the system.
137152

138153
**Ground reference:** RS485 needs a **common ground reference** between the ESP32 and the Tigo bus for reliable signalling — connect GND. It is not optional. (Skip it only if the ESP32 and the Tigo equipment already share a ground through another path, and even then a dedicated GND wire is the safer default.)
139154

@@ -176,8 +191,8 @@ Once the high-voltage side is safely isolated:
176191
Simplest setup – just plug together and connect RS485 terminals:
177192

178193
1. Attach AtomS3R to Atomic RS485 Base
179-
2. Connect A terminal to Tigo RS485 A (daisy-chain)
180-
3. Connect B terminal to Tigo RS485 B (daisy-chain)
194+
2. Run a spur wire from the Tigo **A** terminal to the base's A terminal
195+
3. Run a spur wire from the Tigo **B** terminal to the base's B terminal
181196
4. Power via USB-C
182197
5. Flash ESPHome configuration
183198

0 commit comments

Comments
 (0)