# SPM/SDM Modbus TCP Map - ESP32-8685

{% hint style="info" %}
**Status:** Draft| **Applies to:** SPM/SDM Open WiFi (ESP32-8685)  | **Firmware:** 5.1.11+ | **Updated:** 2026-05-25
{% endhint %}

### 1. Overview

This page documents the Modbus TCP over Wi-Fi interface for the Bituo SPM/SDM series smart meters. It covers connection requirements and the full register map.

***

### 2. Applied Product Models

This page documents the **Modbus TCP over Wi-Fi** interface for the Bituo SPM/SDM series smart meters. It covers connection requirements and the full register map.

<details>

<summary><strong>Single-Phase (SPM01-xxEW)</strong></summary>

<table><thead><tr><th width="64">#</th><th width="220">Ordering Number</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td><strong>SPM01-D2EW</strong></td><td>SPM01 1PN FLEX/63A Wi-Fi (ESP32-8685)</td></tr><tr><td>2</td><td><strong>SPM01-D1EW</strong></td><td>SPM01 1PN MCBM-DM/63A Wi-Fi (ESP32-8685)</td></tr><tr><td>3</td><td><strong>SPM01-U1EW</strong></td><td>SPM01 1PN MCBM-UM/63A Wi-Fi (ESP32-8685)</td></tr></tbody></table>

</details>

<details>

<summary><strong>Split-Phase (SDM02-EW-*)</strong></summary>

<table><thead><tr><th width="64">#</th><th width="220">Ordering Number</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td><strong>SDM02-EW-12</strong></td><td>SDM02 Split-Phase SCTA-2×120A/Φ16 Wi-Fi (ESP32-8685)</td></tr><tr><td>2</td><td><strong>SDM02-EW-20</strong></td><td>SDM02 Split-Phase SCTA-2×200A/Φ20 Wi-Fi (ESP32-8685)</td></tr><tr><td>3</td><td><strong>SDM02-EW-10U</strong></td><td>SDM02 Split-Phase SCTA-2×100A/Φ12 Wi-Fi(ESP32-8685)</td></tr></tbody></table>

</details>

<details>

<summary><strong>Three-Phase (SPM02-xxEW / SDM01-EWM-*)</strong></summary>

<table><thead><tr><th width="64">#</th><th width="220">Ordering Number</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td><strong>SPM02-D2EW</strong></td><td>SPM02 3PN FLEX/63A Wi-Fi (ESP32-8685)</td></tr><tr><td>2</td><td><strong>SPM02-D1EW</strong></td><td>SPM02 3PN MCBM-DM/63A Wi-Fi (ESP32-8685)</td></tr><tr><td>3</td><td><strong>SPM02-U1EW</strong></td><td>SPM02 3PN MCBM-UM/63A Wi-Fi (ESP32-8685)</td></tr><tr><td>4</td><td><strong>SDM01-EWM-12</strong></td><td>SDM01 SCTA-3×120A/Φ16 Wi-Fi (ESP32-8685) + RS485</td></tr><tr><td>5</td><td><strong>SDM01-EWM-20</strong></td><td>SDM01 SCTA-3×200A/Φ20 Wi-Fi (ESP32-8685) + RS485</td></tr></tbody></table>

</details>

***

### 3. Connection & Protocol Notes

> **💡 Default Connection Parameters:** **Protocol:** Modbus TCP | **Port:** 502 | **Slave ID:** `1` | **Byte Order:** Big-Endian (ABCD)

{% hint style="warning" %}
**Critical: Single-Connection Limitation** The device firmware supports **only ONE concurrent TCP connection**\*\* and actively resets the socket after each read request.

**Integration Requirement:** Open a new TCP connection before each read operation and close it immediately afterward. A minimum delay of **150ms** between consecutive reads is recommended to prevent device overload.
{% endhint %}

**Supported Function Codes:**

* `0x03` — Read Holding Registers
* `0x04` — Read Input Registers *(Both function codes return identical data on this device.)*
* `0x06` — Write Single Register (Used for Control Commands only. )

***

### 4. Register Map

#### 4.1 Product Identification (Base Address: 978)

*This section is identical across all Single-Phase, Split-Phase, and Three-Phase devices.*

*Note: String fields are encoded as continuous UTF-8 byte streams. Register count = `Bytes ÷ 2`.*

<table><thead><tr><th width="110">Address (DEC)</th><th width="115">Address (HEX)</th><th width="160">Description</th><th width="90">Func Code</th><th width="80">R/W</th><th width="80">Bytes</th><th width="90">Registers</th><th width="110">Data Type</th><th width="240">Notes</th></tr></thead><tbody><tr><td>978</td><td><code>0x03D2</code></td><td>RSSI</td><td>03, 04</td><td>R</td><td>2</td><td>1</td><td>INT16</td><td>Wi-Fi signal strength (dBm). Typical range: -30 ~ -90.</td></tr><tr><td>979</td><td><code>0x03D3</code></td><td>System Time</td><td>03, 04</td><td>R</td><td>4</td><td>2</td><td>UINT32</td><td>Unix timestamp (seconds since 1970-01-01).</td></tr><tr><td>981</td><td><code>0x03D5</code></td><td>Firmware Version</td><td>03, 04</td><td>R</td><td>6</td><td>3</td><td>UTF-8 String</td><td>Format: "x.x.x"</td></tr><tr><td>984</td><td><code>0x03D8</code></td><td>MAC Address</td><td>03, 04</td><td>R</td><td>12</td><td>6</td><td>UTF-8 String</td><td>Device Wi-Fi MAC address.</td></tr><tr><td>990</td><td><code>0x03DE</code></td><td>Model</td><td>03, 04</td><td>R</td><td>10</td><td>5</td><td>UTF-8 String</td><td>e.g., "SDM01_3PN"</td></tr><tr><td>995</td><td><code>0x03E3</code></td><td>MCU Version</td><td>03, 04</td><td>R</td><td>10</td><td>5</td><td>UTF-8 String</td><td>e.g., "5.1.11"</td></tr></tbody></table>

#### 4.2 Basic Metering Data (Base Address: 1000)

*All FLOAT32 values occupy 2 Modbus registers (4 bytes). Byte order: Big-Endian (ABCD). Please select the tab corresponding to your device type.*

{% tabs %}
{% tab title="Single-Phase" %}

<table><thead><tr><th width="110">Address (DEC)</th><th width="115">Address (HEX)</th><th width="230">Description</th><th width="90">Func Code</th><th width="55">R/W</th><th width="100">Data Type</th><th width="130">Range</th><th>Unit</th></tr></thead><tbody><tr><td>1000</td><td><code>0x03E8</code></td><td>Voltage</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1002</td><td><code>0x03EA</code></td><td>Current</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1004</td><td><code>0x03EC</code></td><td>Active Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1006</td><td><code>0x03EE</code></td><td>Reactive Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1008</td><td><code>0x03F0</code></td><td>Apparent Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1010</td><td><code>0x03F2</code></td><td>Power Factor</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1012</td><td><code>0x03F4</code></td><td>Frequency</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>Hz</td></tr><tr><td>1014</td><td><code>0x03F6</code></td><td>Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1016</td><td><code>0x03F8</code></td><td>Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1018</td><td><code>0x03FA</code></td><td>Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr></tbody></table>
{% endtab %}

{% tab title="Split-Phase" %}

<table><thead><tr><th width="110">Address (DEC)</th><th width="115">Address (HEX)</th><th width="230">Description</th><th width="90">Func Code</th><th width="55">R/W</th><th width="100">Data Type</th><th width="130">Range</th><th>Unit</th></tr></thead><tbody><tr><td><strong>Phase A</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>1000</td><td><code>0x03E8</code></td><td>Voltage A-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1002</td><td><code>0x03EA</code></td><td>Current A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1004</td><td><code>0x03EC</code></td><td>Active Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1006</td><td><code>0x03EE</code></td><td>Reactive Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1008</td><td><code>0x03F0</code></td><td>Apparent Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1010</td><td><code>0x03F2</code></td><td>Power Factor A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td><strong>Phase B</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>1012</td><td><code>0x03F4</code></td><td>Voltage B-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1014</td><td><code>0x03F6</code></td><td>Current B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1016</td><td><code>0x03F8</code></td><td>Active Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1018</td><td><code>0x03FA</code></td><td>Reactive Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1020</td><td><code>0x03FC</code></td><td>Apparent Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1022</td><td><code>0x03FE</code></td><td>Power Factor B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td><strong>Totals &#x26; Energy</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>1024</td><td><code>0x0400</code></td><td>Total Active Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-2000 – 2000</td><td>kW</td></tr><tr><td>1026</td><td><code>0x0402</code></td><td>Total Reactive Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-2000 – 2000</td><td>kVAR</td></tr><tr><td>1028</td><td><code>0x0404</code></td><td>Total Apparent Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-2000 – 2000</td><td>kVA</td></tr><tr><td>1030</td><td><code>0x0406</code></td><td>Total Power Factor</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1032</td><td><code>0x0408</code></td><td>Frequency</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>Hz</td></tr><tr><td>1034</td><td><code>0x040A</code></td><td>Total Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1036</td><td><code>0x040C</code></td><td>Total Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1038</td><td><code>0x040E</code></td><td>Total Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1040</td><td><code>0x0410</code></td><td>Phase A Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1042</td><td><code>0x0412</code></td><td>Phase A Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1044</td><td><code>0x0414</code></td><td>Phase A Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1046</td><td><code>0x0416</code></td><td>Phase B Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1048</td><td><code>0x0418</code></td><td>Phase B Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1050</td><td><code>0x041A</code></td><td>Phase B Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr></tbody></table>
{% endtab %}

{% tab title="Three-Phase" %}

<table><thead><tr><th width="110">Address (DEC)</th><th width="115">Address (HEX)</th><th width="240">Description</th><th width="90">Func Code</th><th width="55">R/W</th><th width="100">Data Type</th><th width="130">Range</th><th>Unit</th></tr></thead><tbody><tr><td>1000</td><td><code>0x03E8</code></td><td>Voltage A-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1002</td><td><code>0x03EA</code></td><td>Voltage B-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1004</td><td><code>0x03EC</code></td><td>Voltage C-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1006</td><td><code>0x03EE</code></td><td>Current A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1008</td><td><code>0x03F0</code></td><td>Current B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1010</td><td><code>0x03F2</code></td><td>Current C</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1012</td><td><code>0x03F4</code></td><td>Active Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1014</td><td><code>0x03F6</code></td><td>Active Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1016</td><td><code>0x03F8</code></td><td>Active Power C</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kW</td></tr><tr><td>1018</td><td><code>0x03FA</code></td><td>Reactive Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1020</td><td><code>0x03FC</code></td><td>Reactive Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1022</td><td><code>0x03FE</code></td><td>Reactive Power C</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVAR</td></tr><tr><td>1024</td><td><code>0x0400</code></td><td>Apparent Power A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1026</td><td><code>0x0402</code></td><td>Apparent Power B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1028</td><td><code>0x0404</code></td><td>Apparent Power C</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1000 – 1000</td><td>kVA</td></tr><tr><td>1030</td><td><code>0x0406</code></td><td>Power Factor A</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1032</td><td><code>0x0408</code></td><td>Power Factor B</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1034</td><td><code>0x040A</code></td><td>Power Factor C</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1036</td><td><code>0x040C</code></td><td>Average Voltage L-N</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>V</td></tr><tr><td>1038</td><td><code>0x040E</code></td><td>Average Line Current</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>A</td></tr><tr><td>1040</td><td><code>0x0410</code></td><td>Unbalanced Line Currents</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-300 – 300</td><td>%</td></tr><tr><td>1042</td><td><code>0x0412</code></td><td>Total Line Currents</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 3000</td><td>A</td></tr><tr><td>1044</td><td><code>0x0414</code></td><td>Total Active Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-3000 – 3000</td><td>kW</td></tr><tr><td>1046</td><td><code>0x0416</code></td><td>Total Reactive Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-3000 – 3000</td><td>kVAR</td></tr><tr><td>1048</td><td><code>0x0418</code></td><td>Total Apparent Power</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-3000 – 3000</td><td>kVA</td></tr><tr><td>1050</td><td><code>0x041A</code></td><td>Total Power Factor</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>-1.0 – 1.0</td><td>—</td></tr><tr><td>1052</td><td><code>0x041C</code></td><td>Frequency</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>0 – 1000</td><td>Hz</td></tr><tr><td>1054</td><td><code>0x041E</code></td><td>Total Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1056</td><td><code>0x0420</code></td><td>Total Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1058</td><td><code>0x0422</code></td><td>Total Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1060</td><td><code>0x0424</code></td><td>Phase A Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1062</td><td><code>0x0426</code></td><td>Phase A Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1064</td><td><code>0x0428</code></td><td>Phase A Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1066</td><td><code>0x042A</code></td><td>Phase B Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1068</td><td><code>0x042C</code></td><td>Phase B Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1070</td><td><code>0x042E</code></td><td>Phase B Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1072</td><td><code>0x0430</code></td><td>Phase C Import Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1074</td><td><code>0x0432</code></td><td>Phase C Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr><tr><td>1076</td><td><code>0x0434</code></td><td>Phase C Import &#x26; Export Active Energy</td><td>03, 04</td><td>R</td><td>FLOAT32</td><td>±1,999,999,999</td><td>kWh</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

### 5. Control Commands (Unicast)

Send these commands to a specific device's IP address using Modbus TCP with the target **Slave ID**.

{% hint style="warning" %}
**Write-Only Commands:** These registers are write-only and use Function Code \`0x06\` (Write Single Register). They are not readable. Sending an incorrect write value will have no effect.
{% endhint %}

<table><thead><tr><th width="101">Address (DEC)</th><th width="111">Address (HEX)</th><th width="240">Description</th><th width="98">Func Code</th><th width="89">R/W</th><th width="100">Data Type</th><th>Write Value</th></tr></thead><tbody><tr><td>10000</td><td><code>0x2710</code></td><td>Trigger LED Blinking (Device Locating)</td><td>06</td><td>W</td><td>UINT16</td><td><code>0x5055</code> (20565)</td></tr><tr><td>10001</td><td><code>0x2711</code></td><td>Reset Energy Accumulators</td><td>06</td><td>W</td><td>UINT16</td><td><code>0x51AA</code> (20906)</td></tr></tbody></table>

> 🔍 **Feature: Device Locating via LED** When multiple meters are installed in a dense electrical panel, send `0x5055` to a specific device's Slave ID. The target meter's **LED will blink rapidly for 15 seconds**, allowing field engineers to visually identify the physical device corresponding to that IP/Slave ID.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bituo-technik.com/device-api/spm-sdm-modbus-tcp-map-esp32-8685.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
