Control your Juntek DPM8650 50A Buck Converter using its RS485 Modbus interface. This setup integrates seamlessly with Home Assistant, Node-RED, or a simple web control interface using ESPHome YAML configuration
New: Use your DPM8650 as a powerful MPPT Solar Charge controller
Wiring for the ESP32 to RS485 connection:
- TX Pin (ESP) → TX Pin (TTL to RS485 Board)
- RX Pin (ESP) → RX Pin (TTL to RS485 Board)
Ensure the TX and RX pins are connected as described:

For detailed ESPHome configuration, refer to the DPM8650 Controller YAML.
To set up your Juntek DPM8650, follow these steps:
-
Long-press the SET button on your DPM8650 to enter the configuration menu.
-
Adjust the following settings:
Depending on your use case, you can enable different interfaces in the DPM8650 Controller YAML.
-
Home Assistant API:
- Keep the
api:
block if you're using Home Assistant integration.
- Keep the
-
MQTT for Node-RED:
- Retain the
mqtt:
block if you're using MQTT for integration with Node-RED or other MQTT clients.
- Retain the
-
Web Interface:
- Use the
web_server:
block if you prefer controlling the DPM8650 via a simple web interface.
- Use the
Here's a screenshot of how the DPM8650 sensors and controls appear in Home Assistant:
You can also control the DPM8650 via a built-in web tool which you can find on your network at http://dpm8650_controller.local/
-
MQTT Text Sensor 'CCCV Output State Label'
- State Topic:
dpm8650_controller/sensor/cccv_output_state_label/state
- State Topic:
-
MQTT Sensor 'MAX Output Voltage'
- State Topic:
dpm8650_controller/sensor/max_output_voltage/state
- State Topic:
-
MQTT Sensor 'MAX Output Current'
- State Topic:
dpm8650_controller/sensor/max_output_current/state
- State Topic:
-
MQTT Sensor 'Output Voltage'
- State Topic:
dpm8650_controller/sensor/output_voltage/state
- State Topic:
-
MQTT Sensor 'Output Current'
- State Topic:
dpm8650_controller/sensor/output_current/state
- State Topic:
-
MQTT Sensor 'Temperature'
- State Topic:
dpm8650_controller/sensor/temperature/state
- State Topic:
-
MQTT Number 'Set MAX Voltage'
- State Topic:
dpm8650_controller/number/set_max_voltage/state
- State Topic:
-
MQTT Number 'Set MAX Current'
- State Topic:
dpm8650_controller/number/set_max_current/state
- State Topic:
-
MQTT Switch 'Output Control'
- State Topic:
dpm8650_controller/switch/output_control/state
- Command Topic:
dpm8650_controller/switch/output_control/command
Message payload string
on
todpm8650_controller/switch/output_control/command
enables Converter outputMessage payload string
off
todpm8650_controller/switch/output_control/command
disables converter output - State Topic:
-
MQTT Binary Sensor 'CCCV Output State'
- State Topic:
dpm8650_controller/binary_sensor/cccv_output_state/state
- State Topic:
-
MQTT Subscribe Text Sensor 'MQTT Voltage Command'
- Topic:
home/commands/voltage
(The converter subscribes to this topic. Publish a number (e.g., 12.3) to set the voltage to 12.3V)
- Topic:
-
MQTT Subscribe Text Sensor 'MQTT Current Command'
- Topic:
home/commands/current
(The converter subscribes to this topic. Publish a number (e.g., 12.3) to set the current to 12.3A)
- Topic: