Skip to content

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:

  1. The device broadcasts SSID: RS-EMON3P (or RS-EMON3P_XXXXXX based on MAC)
  2. Connect to this Wi-Fi network from your phone or laptop
  3. A captive portal appears (or navigate to 192.168.4.1)
  4. Select your Wi-Fi network and enter credentials
  5. The device connects to your network and exits AP mode
  6. 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%/

MQTT Configuration

For production deployments, use MQTT over TLS:

  1. Set port to 8883
  2. Enable TLS via console: MqttFingerprint1 <SHA256-fingerprint>
  3. 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:

TelePeriod 20

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:

  1. Go to Firmware Upgrade in Tasmota web UI
  2. Enter OTA URL or upload firmware file
  3. 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