Tasmota IoT Setup¶
The RS-EMON3P includes an ESP32-C3 microcontroller running Tasmota firmware (custom RACKSYNC IIoT build) that bridges the SDM630MCT-RC meter's Modbus RTU interface to Wi-Fi/MQTT for cloud and smart home integration.
Hardware¶
- MCU: ESP32-C3 (RISC-V single-core, 160MHz, 400KB SRAM)
- GPIO6: Modbus RX (connected to meter RS485 D+)
- GPIO7: Modbus TX (connected to meter RS485 D-)
- Firmware: IIoT FW 15.3.0 (tasmota32) by RACKSYNC
First Boot — AP Mode¶
On first boot (or after factory reset), the ESP32-C3 creates a Wi-Fi access point:
- The device broadcasts SSID: RS-EMON3P (or RS-EMON3P_XXXXXX based on MAC)
- Connect to this Wi-Fi network from your phone or laptop
- A captive portal appears (or navigate to 192.168.4.1)
- Select your Wi-Fi network and enter credentials
- The device connects to your network and exits AP mode
- The device's IP address is displayed on the captive portal page
Wi-Fi Configuration¶
After initial setup, access the Tasmota web UI:
- mDNS:
http://<hostname>.local/(e.g.,http://rs-emon3p.local/) - IP address: Check your router's DHCP client list
MQTT Configuration¶
MQTT is the primary data transport for telemetry and control.
Basic MQTT Settings¶
Configure via Tasmota web UI → Configuration → Configure MQTT:
| Setting | Value |
|---|---|
| Host | Your MQTT broker address |
| Port | 1883 (plain) or 8883 (TLS) |
| Client | RS-EMON3P_%06X (auto-generated from MAC) |
| User | Your MQTT username |
| Password | Your MQTT password |
| Topic | RS-EMON3P_%06X |
| Full Topic | %prefix%/%topic%/ |

TLS Configuration (Recommended)¶
For production deployments, use MQTT over TLS:
- Set port to 8883
- Enable TLS via console:
MqttFingerprint1 <SHA256-fingerprint> - Or use CA certificate validation (enterprise deployments)
See TLS Security for detailed TLS setup instructions.
Telemetry¶
Telemetry Period¶
Default telemetry period is 20 seconds. Configure via:
Range: 10–3600 seconds.
MQTT Topic Structure¶
Telemetry data is published to:
tele/RS-EMON3P_XXXXXX/SENSOR {"ENERGY":{"TotalStartTime":"2026-01-01T00:00:00","Total":12345.67,"Yesterday":100.23,"Today":50.12,"Period":12,"Power":4500,"ApparentPower":4800,"ReactivePower":1200,"Factor":0.94,"Voltage":231.5,"Current":20.6,"Frequency":50.0}}
Status data:
tele/RS-EMON3P_XXXXXX/STATE {"Time":"2026-03-31T12:00:00","Uptime":"0T12:30:00","UptimeSec":45000,"Heap":98,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"YourNetwork","BSSId":"AA:BB:CC:DD:EE:FF","Channel":6,"Mode":"11n","RSSI":62,"Signal":-68,"LinkCount":1,"Downtime":"0T00:00:03"}}
Home Assistant Integration¶
The firmware includes automatic Home Assistant discovery.
Auto-Discovery Configuration¶
| Setting | Command | Value |
|---|---|---|
| HAutoDiscovery | SetOption19 0 | Use custom discovery |
| HASSdevicename | SetOption129 1 | Enable device registry |
| Devicename | SetOption72 1 | Show device name |
Discovery prefix: homeassistant
Discovered Entities¶
Home Assistant will automatically discover:
- Sensor: Total energy (kWh)
- Sensor: Today's energy (kWh)
- Sensor: Yesterday's energy (kWh)
- Sensor: Power (W)
- Sensor: Apparent power (VA)
- Sensor: Reactive power (VAr)
- Sensor: Voltage (V)
- Sensor: Current (A)
- Sensor: Power factor
- Sensor: Frequency (Hz)
OTA Firmware Updates¶
Update firmware over-the-air:
- Go to Firmware Upgrade in Tasmota web UI
- Enter OTA URL or upload firmware file
- Device reboots with new firmware
Security: Use HTTPS OTA URLs only in production.
Power Management¶
| Setting | Command | Default |
|---|---|---|
| Sleep | Sleep 50 |
50 (dynamic) |
| Wi-Fi power save | Automatic | — |
| Modbus polling interval | TelePeriod |
20s |