Skąd pochodzą adresy rejestrów?
Dokument wydany przez FoxESS Co., Ltd. Opisuje wyłącznie nowy spec rejestrów stosowany w falownikach z serii H3-PRO i H3-SMART (przestrzeń adresowa 36xxx / 37xxx / 38xxx / 39xxx / 46xxx / 49xxx).
Nie obejmuje: H1, H3, KH — te modele nie mają oficjalnego dokumentu Modbus od FoxESS.
Ograniczenie: brak oficjalnego potwierdzenia FoxESS. Adresy mogą się różnić między wersjami firmware.
# wg oficjalnego PDF (#27).
entity_descriptions.py z projektu nathanmarlor/foxess_modbus. Są zweryfikowane przez dziesiątki tysięcy użytkowników w praktyce, ale nie mają oficjalnego dokumentu FoxESS jako źródła. Traktuj je jako sprawdzone empirycznie, nie jako dane z fabrycznej dokumentacji.
Dwie drogi — która dla kogo?
HA czyta rejestry samodzielnie przez wbudowaną integrację Modbus.
Łatwa rozbudowa — nowe sensory bez reflashowania ESP
Pełna kontrola nad rejestrami z poziomu HA
Wymaga konfiguracji integracji Modbus w HA
Zależność od działania serwera Modbus w HA
Zero konfiguracji Modbus w HA
Sensory od razu widoczne po dodaniu urządzenia ESPHome
Działa offline — HA może restartować, ESP zbiera dane dalej
Nowy sensor = edycja YAML + reflash ESP
Trzeba znać adresy rejestrów dla swojego modelu
Hardware — co potrzebujesz
Menu -> Ustawienia -> Hasło -> Komunikacja -> RS485 -> Device ID
Domyślna wartość to 247. Użyj jej w polu
address: w konfiguracji ESPHome.
Struktura konfiguracji ESPHome
modbus: który łączy UART z silnikiem Modbus, następnie modbus_controller: — definicja konkretnego urządzenia slave — i na końcu lista sensorów.
uart:
id: uart_modbus
rx_pin: GPIO16
tx_pin: GPIO17
baud_rate: 9600
stop_bits: 1
modbus:
id: modbus_foxess
uart_id: uart_modbus
send_wait_time: 200ms # przerwa między zapytaniami — ważna dla stabilności
modbus_controller:
- id: foxess_inverter
modbus_id: modbus_foxess
address: 0xF7 # 0xF7 = 247 — domyślny Device ID FoxESS
setup_priority: -10
update_interval: 10s # częstotliwość odpytywania — możesz zmniejszyć do 5s
register_type — używamy holding dla nowszych modeli (H1-G2, H3, KH-133, H3-PRO). Dla bardzo starych H1-G1 i KH przez AUX z firmware pre-1.19 — input.
Sensory — YAML dla każdego modelu
modbus_controller:. Każdy sensor zawiera pełny adres, typ rejestru, skalę i jednostkę.
H3-PRO / H3-SMART
H1-G1 / AC1 / AIO-H1
H1-G2 / H1-LAN / AC-G2
KH 1.19–1.33 / KH 1.33+
KH pre-1.19 (INPUT)
Który blok YAML wybrać dla swojego modelu?
sensor:
# PV1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 31000
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 31001
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 31002
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# PV2
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 31003
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 31004
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 31005
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# BATERIA
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: holding
address: 31038
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: holding
address: 31034
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: holding
address: 31035
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD # signed — ujemny = ładowanie
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: holding
address: 31036
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD # signed — ujemny = ładowanie
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura"
register_type: holding
address: 31037
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ — napięcia faz R/S/T
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza R"
register_type: holding
address: 31006
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza S"
register_type: holding
address: 31007
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza T"
register_type: holding
address: 31008
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
# SIEĆ — prądy faz
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza R"
register_type: holding
address: 31009
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza S"
register_type: holding
address: 31010
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza T"
register_type: holding
address: 31011
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ — moc faz (+ = eksport, - = import)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza R"
register_type: holding
address: 31012
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza S"
register_type: holding
address: 31013
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza T"
register_type: holding
address: 31014
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# Grid CT — wysyłka/pobór z sieci
# + = eksport do sieci, - = import z sieci
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 31015
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# OBCIĄŻENIE — moc łączna i per faza
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Łączna"
register_type: holding
address: 31016 # nota: H3 load_total jest na 31016, nie 31015 jak w H1
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza R"
register_type: holding
address: 31017
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza S"
register_type: holding
address: 31018
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza T"
register_type: holding
address: 31019
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# STEROWANIE — tryb pracy
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
# 0=Self Use, 1=Feed-in First, 2=Backup
value_type: S_DWORD_R.Tryb pracy (rejestr 49203): 1=Self Use, 2=Feed-in First, 3=Backup, 4=Peak Shaving, 6=Force Charge, 7=Force Discharge.
Bateria BMS: rejestry 37xxx = BMS1 (pierwsza bateria), 38xxx = BMS2 (druga). Przy jednym banku używaj tylko BMS1.
sensor:
# PV1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 39070 # oficjalny PDF V1.05 #139, I16, V, gain=10
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 39071 # oficjalny PDF V1.05 #140, I16, A, gain=100
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01 # inna skala niż H3! gain=100 -> 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 39279 # oficjalny PDF V1.05 #231, I32, W
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R # 32-bit: 39279+39280
filters:
- multiply: 0.001
# PV2
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 39072
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 39073
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 39281 # oficjalny PDF V1.05 #232
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# BATERIA — BMS1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria BMS1 SoC"
register_type: holding
address: 37612 # oficjalny PDF V1.05 #27
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria BMS1 Napięcie"
register_type: holding
address: 37609 # oficjalny PDF V1.05 #24, gain=10
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria BMS1 Prąd"
register_type: holding
address: 37610 # oficjalny PDF V1.05 #25, gain=10
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc Łączna"
register_type: holding
address: 39237 # oficjalny PDF V1.05 #207, I32, W
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria BMS1 Temperatura"
register_type: holding
address: 37611 # oficjalny PDF V1.05 #26
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# BMS2 — tylko przy dwóch bankach baterii
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria BMS2 SoC"
register_type: holding
address: 38310 # oficjalny PDF V1.05 #56
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
# SIEĆ — napięcia faz R/S/T
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza R"
register_type: holding
address: 39123 # oficjalny PDF V1.05 #151, I16, V, gain=10
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza S"
register_type: holding
address: 39124
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie Faza T"
register_type: holding
address: 39125
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
# SIEĆ — prądy faz (32-bit)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza R"
register_type: holding
address: 39126 # oficjalny PDF V1.05 #154, I32, A, gain=1000
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza S"
register_type: holding
address: 39128
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd Faza T"
register_type: holding
address: 39130
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# SIEĆ — moc faz (32-bit)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza R"
register_type: holding
address: 39248 # oficjalny PDF V1.05 #214, I32, W
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza S"
register_type: holding
address: 39250
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Moc Faza T"
register_type: holding
address: 39252
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# Grid CT — wysyłka/pobór z sieci
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 39168 # oficjalny PDF V1.05 #181, I32, W, +eksport/-import
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# OBCIĄŻENIE
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Łączna"
register_type: holding
address: 39225 # oficjalny PDF V1.05 #200, I32, W
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza R"
register_type: holding
address: 39219 # oficjalny PDF V1.05 #197
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza S"
register_type: holding
address: 39221
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc Faza T"
register_type: holding
address: 39223
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# PRODUKCJA PV łącznie / dziś
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Produkcja PV Dziś"
register_type: holding
address: 39604 # oficjalny PDF V1.05 (U32, kWh, gain=10)
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
value_type: U_DWORD_R
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Produkcja PV Łącznie"
register_type: holding
address: 39602 # oficjalny PDF V1.05 (U32, kWh)
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
value_type: U_DWORD_R
filters:
- multiply: 0.1
# STEROWANIE
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 49203 # oficjalny PDF V1.05 #362
min_value: 1 # 1=Self Use, 2=Feed-in First, 3=Backup
max_value: 7 # 4=Peak Shaving, 6=Force Charge, 7=Force Discharge
step: 1
mode: box
register_type: read). Przez LAN i nowszy FW: HOLDING (31xxx). Poniższy YAML to wersja HOLDING.
sensor:
# PV1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 31000
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 31001
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 31002
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# PV2
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 31003
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 31004
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 31005
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# BATERIA
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: holding
address: 31024
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: holding
address: 31020
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: holding
address: 31021
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: holding
address: 31022
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura BMS"
register_type: holding
address: 31025
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie"
register_type: holding
address: 31006
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd"
register_type: holding
address: 31009
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Moc Falownika"
register_type: holding
address: 31008
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# Grid CT — wysyłka/pobór z sieci
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 31014
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# OBCIĄŻENIE
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc"
register_type: holding
address: 31016
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Temperatura falownika"
register_type: holding
address: 31018
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# STEROWANIE
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
# 0=Self Use, 1=Feed-in First, 2=Backup
sensor:
# PV1 — nowe adresy 39xxx
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 39070
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 39071
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01 # inna skala niż G1!
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 39280 # tylko dolne 16 bitów — H1-G2 nie pisze górnego słowa
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD # 16-bit (nie 32-bit jak H3-PRO!)
filters:
- multiply: 0.001
# PV2
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 39072
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 39073
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 39282
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# BATERIA — te same adresy co H1-G1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: holding
address: 31024
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: holding
address: 31020
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: holding
address: 31021
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: holding
address: 31022
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura BMS"
register_type: holding
address: 31025
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ — te same adresy co H1-G1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie"
register_type: holding
address: 31006
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Prąd"
register_type: holding
address: 31009
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Moc Falownika"
register_type: holding
address: 31008
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 31014
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc"
register_type: holding
address: 31016
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# STEROWANIE
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
- multiply: 0.1 jest konieczne.Grid CT normalny znak w 1.33+. Dla pre-1.33 i pre-1.19 dodaj
- multiply: -1.PV moc i Grid CT są 32-bitowe — użyj
S_DWORD_R. KH ma 4 stringi PV (PV1–PV4).
sensor:
# PV1–PV4 (KH ma 4 stringi)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 39070
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 39071
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 39280 # 32-bit w KH 1.33+
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 39072
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 39073
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 39282
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Napięcie"
register_type: holding
address: 39074
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Prąd"
register_type: holding
address: 39075
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Moc"
register_type: holding
address: 39284
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Napięcie"
register_type: holding
address: 39076
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Prąd"
register_type: holding
address: 39077
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Moc"
register_type: holding
address: 39286
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# BATERIA
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: holding
address: 31024
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1 # KH 1.33+ — skala 0.1% (promile), usuń dla pre-1.33!
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: holding
address: 31020
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: holding
address: 31021
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: holding
address: 31022
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura BMS"
register_type: holding
address: 31025
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie"
register_type: holding
address: 31006
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Moc Falownika"
register_type: holding
address: 31008
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# Grid CT — wysyłka/pobór z sieci
# KH 1.33+: 32-bit, normalny znak (+ eksport, - import)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 39169 # 32-bit w KH 1.33+
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# Dla KH pre-1.19 i pre-1.33 -> adres 11021/31050, odwrócony znak:
# - multiply: -1
# OBCIĄŻENIE
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc"
register_type: holding
address: 31016
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# STEROWANIE
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
- multiply: -1 do filtrów Grid CT.Rejestry mocy są 32-bitowe:
S_DWORD_R. PV ma 4 stringi, adresy w przestrzeni 31039–31044.SoC nie ma skali 0.1 (bez
multiply: 0.1).
sensor:
# PV1–PV4 (KH ma 4 stringi PV)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: holding
address: 31000
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: holding
address: 31001
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: holding
address: 31002
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: holding
address: 31003
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: holding
address: 31004
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: holding
address: 31005
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Napięcie"
register_type: holding
address: 31039
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Prąd"
register_type: holding
address: 31040
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Moc"
register_type: holding
address: 31041
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Napięcie"
register_type: holding
address: 31042
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Prąd"
register_type: holding
address: 31043
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Moc"
register_type: holding
address: 31044
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# BATERIA
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: holding
address: 31024
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
# Brak multiply: 0.1 — pre-1.33 zwraca procenty bezpośrednio
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: holding
address: 31020
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: holding
address: 31021
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: holding
address: 31022
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura BMS"
register_type: holding
address: 31025
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ (32-bit)
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Moc Falownika"
register_type: holding
address: 31046 # 32-bit
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# Grid CT — ODWRÓCONY ZNAK w pre-1.33
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: holding
address: 31050 # 32-bit
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
- multiply: -1 # odwrócony znak! Usuń dla KH 1.33+
# OBCIĄŻENIE
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc"
register_type: holding
address: 31054 # 32-bit
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_DWORD_R
filters:
- multiply: 0.001
# STEROWANIE
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
Grid CT — odwrócony znak! Dodaj
- multiply: -1.Sterowanie przez 41000 może nie działać — wiele starych falowników nie obsługuje zapisu przez RS485. Zalecana aktualizacja firmware.
sensor:
# PV1–PV4
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Napięcie"
register_type: read # INPUT (FC04) — nie holding!
address: 11000
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Prąd"
register_type: read
address: 11001
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV1 Moc"
register_type: read
address: 11002
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Napięcie"
register_type: read
address: 11003
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Prąd"
register_type: read
address: 11004
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV2 Moc"
register_type: read
address: 11005
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Napięcie"
register_type: read
address: 11096
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Prąd"
register_type: read
address: 11097
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV3 Moc"
register_type: read
address: 11098
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Napięcie"
register_type: read
address: 11099
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Prąd"
register_type: read
address: 11100
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "PV4 Moc"
register_type: read
address: 11101
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.001
# BATERIA
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria SoC"
register_type: read
address: 11036
unit_of_measurement: "%"
device_class: battery
state_class: measurement
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Napięcie"
register_type: read
address: 11034
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Prąd"
register_type: read
address: 11035
unit_of_measurement: "A"
device_class: current
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Moc"
register_type: read
address: 11038
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Bateria Temperatura BMS"
register_type: read
address: 11037
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# SIEĆ
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Sieć Napięcie"
register_type: read
address: 11009
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Moc Falownika"
register_type: read
address: 11011
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
# Grid CT — ODWRÓCONY ZNAK
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Grid CT Moc"
register_type: read
address: 11021
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- multiply: -1 # odwrócony znak w KH pre-1.19!
# OBCIĄŻENIE
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Obciążenie Moc"
register_type: read
address: 11023
unit_of_measurement: "kW"
device_class: power
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.001
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Temperatura falownika"
register_type: read
address: 11024
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_type: S_WORD
filters:
- multiply: 0.1
# STEROWANIE
# KH pre-1.19: zapis przez FC06 do 41000 (INPUT)
# ESPHome: próba przez holding — może nie działać w tej wersji FW
number:
- platform: modbus_controller
modbus_controller_id: foxess_inverter
name: "Tryb Pracy"
register_type: holding
address: 41000
min_value: 0
max_value: 2
step: 1
mode: box
value_type — co oznaczają poszczególne typy
Kompletny YAML — nagłówek i konfiguracja ESP32
esphome:
name: foxess-modbus
friendly_name: "FoxESS Modbus"
esp32:
board: esp32dev
framework:
type: arduino # arduino jest prostszy dla modbus_controller
logger:
level: WARN # WARN na produkcji, DEBUG przy diagnostyce
api:
encryption:
key: "TWOJ_KLUCZ_API"
ota:
- platform: esphome
password: "TWOJE_HASLO_OTA"
wifi:
ssid: "TWOJA_SIEC"
password: "TWOJE_HASLO_WIFI"
manual_ip:
static_ip: 192.168.1.XXX
gateway: 192.168.1.1
subnet: 255.255.255.0
ap:
ssid: "FoxESS Fallback AP"
password: "fallback123"
captive_portal:
# UART — fizyczny interfejs RS485
uart:
id: uart_modbus
rx_pin: GPIO16
tx_pin: GPIO17
baud_rate: 9600
stop_bits: 1
# MODBUS
modbus:
id: modbus_foxess
uart_id: uart_modbus
send_wait_time: 200ms
# FALOWNIK — urządzenie Modbus slave
modbus_controller:
- id: foxess_inverter
modbus_id: modbus_foxess
address: 0xF7 # 247 — domyślny Device ID FoxESS
setup_priority: -10
update_interval: 10s
# SENSORY — wklej tu blok dla swojego modelu
Najczęstsze problemy i jak je rozwiązać
update_interval: 10s odczekaj co najmniej 30 sekund. Sprawdź logi ESPHome — szukaj linii zawierających Modbus response lub timeout.2. Upewnij się że konwerter ma auto flow control.
3. Sprawdź Device ID falownika — menu falownika -> Komunikacja -> RS485.
4. Zwiększ
send_wait_time do 300ms.value_type: S_DWORD_R. Przy U_WORD czytasz tylko połowę 32-bitowej liczby.- multiply: 0.1 do filtrów sensora SoC.- multiply: -1 na końcu filtrów sensora Grid CT.number z ESPHome jest od razu dostępna w HA jako number.foxess_modbus_tryb_pracy. Możesz ją ustawiać serwisem number.set_value.
Wartości dla H1/H3/KH (rejestr 41000): 0=Self Use, 1=Feed-in First, 2=Backup.
Wartości dla H3-PRO/H3-SMART (rejestr 49203): 1=Self Use, 2=Feed-in First, 3=Backup, 4=Peak Shaving, 6=Force Charge, 7=Force Discharge.
Źródło: oficjalny dokument FoxESS V1.05.03.00, pozycja #362.
device_class: power z state_class: measurement są od razu widoczne w Energy Dashboard Home Assistant jako źródła zasilania i poboru.
W kolejnym artykule pokażę jak skonfigurować automatyzacje do przełączania trybu pracy falownika w oparciu o prognozę Solcast — dokładnie tak jak zrobiłem to u siebie.
Źródła i dokumentacja
github.com/wimb0/home-assistant-nextenergy-battery-modbus -> PDF
deepwiki.com/nathanmarlor/foxess_modbus/10.3-modbus-register-map
