I tried every contacts and inverts 1/2 and 7/8 with a short list of sensors, they still appears unknowned.
Configuration :
substitutions:
name: growatt-spf-5000es
device_name: growatt #name for all sensors in Home assistant
device_description: "Esphome for growatt"
modbus_controller_id: controller1
modbus_update_interval: 15s #normal update
skip_updates_slow: "6" #how many times to skip normal update for slow updating sensors
update_fast: 15s
update_slow: 60s
esphome:
name: ${name}
friendly_name: Growatt-spf-5000es
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "BTdytLiSzeFUJVSApEK1nPXcWP/xpNbUslT8ItpZkjg="
ota:
- platform: esphome
password: "d154aaa014917281620313b967a50e6b"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: ${name}
password: "Su2cyKVUVtzv"
captive_portal:
web_server:
port: 80
uart:
id: mod_bus
tx_pin: 17
rx_pin: 16
baud_rate: 9600
stop_bits: 1
modbus:
id: modbus1
flow_control_pin: 4 #for use when you use a rs485 board without auto flow control. Like the rs485 max board.
modbus_controller:
- id: ${modbus_controller_id}
address: 0x1
modbus_id: modbus1
setup_priority: -10
update_interval: ${modbus_update_interval}
# CAPTEURS
sensor:
- platform: modbus_controller
name: ${device_name} status_code
skip_updates: $skip_updates_slow
address: 0
register_type: "read"
internal: true
accuracy_decimals: 0
id: status
- platform: modbus_controller
name: "${device_name} PV1 voltage"
address: 01
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 0
filters:
- multiply: 0.1
- platform: modbus_controller
name: "${device_name} PV1 current"
address: 07
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "${device_name} PV1 power"
id: pv1_power
address: 03
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 0
filters:
- multiply: 0.1
LOGS :
Logs growatt-spf-5000es.yaml
INFO ESPHome 2025.12.3
INFO Reading configuration /config/esphome/growatt-spf-5000es.yaml...
INFO Starting log output from 192.168.1.52 using esphome API
INFO Successfully resolved growatt-spf-5000es @ 192.168.1.52 in 0.000s
INFO Successfully connected to growatt-spf-5000es @ 192.168.1.52 in 2.161s
INFO Successful handshake with growatt-spf-5000es @ 192.168.1.52 in 0.683s
[16:49:53.822][I][app:194]: ESPHome version 2025.12.2 compiled on Dec 31 2025, 16:23:43
[16:49:53.823][C][logger:261]: Logger:
[16:49:53.823][C][logger:261]: Max Level: DEBUG
[16:49:53.823][C][logger:261]: Initial Level: DEBUG
[16:49:53.823][C][logger:267]: Log Baud Rate: 115200
[16:49:53.823][C][logger:267]: Hardware UART: UART0
[16:49:53.823][C][logger:274]: Task Log Buffer Size: 768
[16:49:53.823][C][uart.idf:238]: UART Bus 1:
[16:49:53.823][C][uart.idf:239]: TX Pin: GPIO17
[16:49:53.824][C][uart.idf:240]: RX Pin: GPIO16
[16:49:53.826][C][uart.idf:243]: RX Buffer Size: 256
[16:49:53.826][C][uart.idf:243]: RX Full Threshold: 8
[16:49:53.826][C][uart.idf:243]: RX Timeout: 2
[16:49:53.842][C][uart.idf:249]: Baud Rate: 9600 baud
[16:49:53.842][C][uart.idf:249]: Data Bits: 8
[16:49:53.842][C][uart.idf:249]: Parity: NONE
[16:49:53.842][C][uart.idf:249]: Stop bits: 1
[16:49:53.851][C][modbus:196]: Modbus:
[16:49:53.863][C][modbus:197]: Flow Control Pin: GPIO4
[16:49:53.863][C][modbus:198]: Send Wait Time: 250 ms
[16:49:53.863][C][modbus:198]: CRC Disabled: NO
[16:49:53.863][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'growatt status_code'
[16:49:53.863]modbus_controller.sensor State Class: ''
[16:49:53.863]modbus_controller.sensor Unit of Measurement: ''
[16:49:53.863]modbus_controller.sensor Accuracy Decimals: 0
[16:49:53.883][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'growatt PV1 voltage'
[16:49:53.883]modbus_controller.sensor State Class: ''
[16:49:53.883]modbus_controller.sensor Unit of Measurement: 'V'
[16:49:53.883]modbus_controller.sensor Accuracy Decimals: 0
[16:49:53.883][C][modbus_controller.sensor:027]: modbus_controller.sensor Device Class: 'voltage'
[16:49:53.891][C][modbus_controller.sensor:031]: modbus_controller.sensor Icon: 'mdi:flash'
[16:49:53.927][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'growatt PV1 current'
[16:49:53.927]modbus_controller.sensor State Class: ''
[16:49:53.927]modbus_controller.sensor Unit of Measurement: 'A'
[16:49:53.927]modbus_controller.sensor Accuracy Decimals: 1
[16:49:53.944][C][modbus_controller.sensor:027]: modbus_controller.sensor Device Class: 'current'
[16:49:53.944][C][modbus_controller.sensor:031]: modbus_controller.sensor Icon: 'mdi:flash'
[16:49:53.944][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'growatt PV1 power'
[16:49:53.944]modbus_controller.sensor State Class: ''
[16:49:53.944]modbus_controller.sensor Unit of Measurement: 'W'
[16:49:53.944]modbus_controller.sensor Accuracy Decimals: 0
[16:49:53.963][C][modbus_controller.sensor:027]: modbus_controller.sensor Device Class: 'power'
[16:49:53.984][C][modbus_controller.sensor:031]: modbus_controller.sensor Icon: 'mdi:flash'
[16:49:54.002][C][captive_portal:118]: Captive Portal:
[16:49:54.007][C][wifi:1132]: WiFi:
[16:49:54.007][C][wifi:1132]: Connected: YES
[16:49:54.008][C][wifi:897]: Local MAC: EC:E3:34:45:EA:78
[16:49:54.025][C][wifi:904]: IP Address: 192.168.1.52
[16:49:54.026][C][wifi:908]: SSID: [redacted]
[16:49:54.026][C][wifi:908]: BSSID: [redacted]
[16:49:54.026][C][wifi:908]: Hostname: 'growatt-spf-5000es'
[16:49:54.026][C][wifi:908]: Signal strength: -19 dB ▂▄▆█
[16:49:54.026][C][wifi:908]: Channel: 11
[16:49:54.026][C][wifi:908]: Subnet: 255.255.255.0
[16:49:54.026][C][wifi:908]: Gateway: 192.168.1.254
[16:49:54.026][C][wifi:908]: DNS1: 192.168.1.254
[16:49:54.026][C][wifi:908]: DNS2: 0.0.0.0
[16:49:54.028][C][web_server:335]: Web Server:
[16:49:54.028][C][web_server:335]: Address: growatt-spf-5000es.local:80
[16:49:54.045][C][esphome.ota:092]: Over-The-Air updates:
[16:49:54.045][C][esphome.ota:092]: Address: growatt-spf-5000es.local:3232
[16:49:54.045][C][esphome.ota:092]: Version: 2
[16:49:54.046][C][esphome.ota:099]: Password configured
[16:49:54.063][C][safe_mode:018]: Safe Mode:
[16:49:54.063][C][safe_mode:018]: Successful after: 60s
[16:49:54.063][C][safe_mode:018]: Invoke after: 10 attempts
[16:49:54.063][C][safe_mode:018]: Duration: 300s
[16:49:54.086][C][web_server.ota:241]: Web Server OTA
[16:49:54.088][C][api:211]: Server:
[16:49:54.088][C][api:211]: Address: growatt-spf-5000es.local:6053
[16:49:54.088][C][api:211]: Listen backlog: 4
[16:49:54.088][C][api:211]: Max connections: 8
[16:49:54.089][C][api:218]: Noise encryption: YES
[16:49:54.104][C][mdns:177]: mDNS:
[16:49:54.104][C][mdns:177]: Hostname: growatt-spf-5000es
[16:49:54.108][C][modbus_controller:448]: ModbusController:
[16:49:54.108][C][modbus_controller:448]: Address: 0x01
[16:49:54.108][C][modbus_controller:448]: Max Command Retries: 4
[16:49:54.108][C][modbus_controller:448]: Offline Skip Updates: 0
[16:49:54.108][C][modbus_controller:448]: Server Courtesy Response:
[16:49:54.108][C][modbus_controller:448]: Enabled: false
[16:49:54.108][C][modbus_controller:448]: Register Last Address: 0xFFFF
[16:49:54.108][C][modbus_controller:448]: Register Value: 0
[16:50:05.074][D][modbus_controller:039]: Modbus command to device=1 register=0x03 no response received - removed from send queue
[16:50:06.416][D][modbus_controller:039]: Modbus command to device=1 register=0x07 no response received - removed from send queue
