[ESPHome component] FCHAO off-grid inverters

Hey everyone,

I’ve been reverse-engineering the RS485 protocol used by my FCHAO off-grid inverter and put together an ESPHome external component to monitor it and control power ON/OFF.

ESPHome external component - FCHAO off-grid inverter

:backhand_index_pointing_right: GitHub - christian-dascoli00/ESPHome-FCHAO-inverter · GitHub

Tested on the 3000W 24V model

What it does:

  • Reads output power, AC voltage , DC/battery voltage, and internal temperature over RS485 (RJ-45 port)

  • Can run either as a replacement for the inverter’s native external display, or passively alongside it on the same bus

  • ON/OFF switch support (requires a transistor, or you can just use the inverter’s physical button and skip that part)

Requirements:

  • ESP32/ESP8266 with a MAX485 module wired to the inverter’s RS485 port

Example config:

external_components:
  - source:
      type: git
      url: https://github.com/christian-dascoli00/ESPHome-FCHAO-inverter.git
      ref: main
    components: [fchao_inverter]

uart:
  tx_pin: GPIO25    # Your choice
  rx_pin: GPIO26    # Your choice
  baud_rate: 9600


fchao_inverter:
  - id: inverter1
    update_interval: 1s         # Your choice
    flow_control_pin: GPIO27    # Your choice

sensor:
  - platform: fchao_inverter
    ac_voltage:
      name: "Inverter AC Voltage"
    power:
      name: "Inverter Power"
    dc_voltage:
      name: "Inverter DC Voltage"
    temperature:
      name: "Inverter Temperature"

switch:
  - platform: gpio
    pin: GPIO13     # Your choice
    name: "Inverter"

Full setup instructions, wiring diagram and example are in the repo README.

It’s MIT licensed and provided as-is. This was built entirely through reverse engineering.

If anyone has a different FCHAO variant and the request packet doesn’t match, or just wants to contribute, I’d love to hear from you.

Happy to answer questions or help if anyone’s got one of these inverters sitting around!

1 Like