FoxESS and Home Assistant integration via Modbus RS485
A community maintained Home Assistant integration using local native polling of Modbus data using RS485 to enable near realtime data access, with no reliance on the FoxESS cloud portal
Connecting to your H3 inverter can be acheived by:
- Connecting to the COM port using a RS485 to USB (Approved)
⚠️ Additional hardware requires basic electronics competencies to connect the two additional wires for the RS485 interface to the inverters com connector.⚠️
This fork adds support for the
Hybrid Series H3
Tested with
✅ H3-5.0-E
✅ H3-8.0-E
✅ H3-10.0-E
Designed but not tested:
H3-6.0-E
H3-12.0-E
Please report if everything works well with these.
The origin project supports 1-phase Inverters
Hybrid Series
✅ H1-3.0-E
✅ H1-3.7-E
✅ H1-4.6-E
✅ H1-5.0-E
✅ H1-6.0-E
AC Series
✅ AC-3.0-E
✅ AC-3.7-E
✅ AC-4.6-E
✅ AC-5.0-E
✅ AC-6.0-E
AIO Series
✅ AIO-H1-3.0
✅ AIO-H1-3.7
✅ AIO-H1-4.6
✅ AIO-H1-5.0
✅ AIO-H1-6.0
For T Series - See this alternative project by assembly12
The aim of this project is to enable the full use of the Energy dashboard in Home Assistant and is a fully functional replacement of the FoxESS App for reporting needs.
- Create the directory structure /config/custom_components/HA-FoxESS-Modbus/ (use the "file editor" addon of HA)
- Copy the Required modbus file to /config/custom_components/HA-FoxESS-Modbus/modbusH3USB.yaml
- Create a full backup of your HA instance including the configuration.yaml file
- Copy the Required modbus line (USB) and following contents of the configuration.yaml file to your config file
- Check your config is valid, then Restart HA
- Map energy dashboard as per below example and enjoy configuring dashboards using near realtime data.
Step by step walkthrough of the setup
Grid Consumption
- meter_consumption_energy_daily (only when SmartMeter is connected to inverter)
- inv_load_energy_daily (inverter's output. use for island system)
Return to Grid
- meter_feed_in_energy_daily (only when SmartMeter is connected to inverter)
Solar Panels
-
pv1_daily
-
pv2_daily
As an alternative:
-
pv_energy_daily (direct cumulative PV1+PV2 from inverter)
Home Batteries
- battery_charge_energy_daily
- battery_discharge_energy_daily
Registers The H3 registers wiki has references for the 3-phase registers.
The H1 registers wiki shows the 1-phase registers.
Please read and understand before using this plugin:
This plugin has been developed as a personal project, with no connection to the official brand of FoxESS, use of this plugin is intended for use by the community without fee but has no warrenty or liability should any damage, harm or undesired results happen as a result of using this plugin. We strongly recommend that only competently trained individuals attempt to wire the additional connections required for this plugin to function. There is a risk of personal or device damage/harm. You have been warned!
If you encounter modbus reading errors:
-
Disable unneeded sensors by commenting all lines, or delete the entries. It was found that
battery_voltage
andbattery_current
are two sensors that do not respond to status requests correctly.Comment out in the modbusH3USB.yaml file
# - name: "Battery Voltage" # unique_id: foxess_inv1_battery_voltage # scan_interval: 30 # address: 31034 # state_class: measurement # unit_of_measurement: "V" # data_type: int16 # scale: 0.1 # precision: 1 # device_class: voltage # input_type: holding # - name: "Battery Current" # unique_id: foxess_inv1_battery_current # scan_interval: 30 # address: 31035 # state_class: measurement # unit_of_measurement: "A" # data_type: int16 # scale: 0.1 # precision: 1 # input_type: holding # device_class: current
- Increase the
scan_interval
for sensors that are not needed. The HA modbus integration requests every sensor register with a single call. If you have a large number of sensors here, the calls might interfere with each other.