FoxESS + ESPHome Modbus — YAML dla H1, H3, KH | MarkLabs

Mark
Autor
FoxESS + ESPHome Modbus — YAML dla H1, H3, KH | MarkLabs

Podoba Ci się ten artykuł?

Tworzenie poradników zajmuje dużo czasu, a na stronie nie chce reklam. Jeśli pomogłem i masz na to ochotę — postaw mi kawę . To motywuje do dalszego pisania!

W poprzednim artykule pokazałem, jak podłączyć falownik FoxESS do Home Assistant przez mostek Modbus TCP <-> RTU na ESP32. Tym razem idziemy o krok dalej — ESP32 sam czyta rejestry Modbus i od razu publikuje sensory bezpośrednio do Home Assistant przez ESPHome. Żadnego dodatkowego mostu, żadnej integracji Modbus w HA. Zero konfiguracji po stronie HA — wszystko dzieje się w pliku YAML ESPHome.
Metoda ma swoje wady i zalety — omówię je szczerze. Ale jeśli chcesz mieć falownik w HA bez żadnych zależności od integracji zewnętrznych, to jest to najprostsze możliwe rozwiązanie.

Skąd pochodzą adresy rejestrów?

Rejestry Modbus dla falowników FoxESS nie są publicznie udostępniane przez producenta jako kompletna dokumentacja dla wszystkich modeli. Adresy użyte w tym artykule pochodzą z dwóch różnych źródeł — o różnym stopniu wiarygodności. Uważam że każdy artykuł techniczny powinien to jasno komunikować.
Oficjalny dokument FoxESS
FOX Inverter Modbus definition V1.05.03.00 (2025-01-15)
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).
Obejmuje modele: H3-PRO, H3-SMART i pochodne.
Nie obejmuje: H1, H3, KH — te modele nie mają oficjalnego dokumentu Modbus od FoxESS.

Reverse engineering przez społeczność
nathanmarlor/foxess_modbus — integracja Home Assistant z ponad 260 gwiazdkami na GitHubie. Adresy rejestrów dla H1-G1, H1-G2, H3, KH zostały zmapowane empirycznie przez społeczność na przestrzeni kilku lat.
Obejmuje modele: H1-G1, H1-G2, H1-LAN, KH (wszystkie wersje FW), H3, H3-PRO, H3-SMART.
Ograniczenie: brak oficjalnego potwierdzenia FoxESS. Adresy mogą się różnić między wersjami firmware.

Dla H3-PRO i H3-SMART: wszystkie adresy w tym artykule zostały zweryfikowane bezpośrednio z oficjalnym dokumentem FoxESS V1.05.03.00. Przy każdym rejestrze w YAML umieściłem numer pozycji z dokumentu, np. # wg oficjalnego PDF (#27).
Dla H1, H3, KH: adresy opierają się na 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?

Mostek TCP<->RTU
ESP32 tylko przekazuje ramki Modbus przez sieć.
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

ESPHome bezpośredni odczyt
ESP32 sam odpytuje falownik i wysyła gotowe sensory do HA przez API ESPHome.

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

Schemat podłączenia jest dokładnie taki sam jak przy mostku — te same piny ESP32, ten sam konwerter RS485->TTL. Jeśli już masz działającą wersję z mostkiem, możesz przepisać firmware bez ruszania okablowania.
ESP32 DevKitC V4
Dowolna płytka ESP32, sprawdzony pin-out: RX=GPIO16, TX=GPIO17

Konwerter RS485->TTL (Auto)
Konieczna wersja z automatyczną kontrolą kierunku transmisji (auto flow control)

Kabel 3-żyłowy A/B/GND
Skrętka, długość zależna od odległości. Przy braku komunikacji — zamień A<->B.

Device ID falownika — sprawdź w menu falownika:
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

Konfiguracja składa się z kilku bloków. Najpierw deklarujemy UART (fizyczny interfejs szeregowy ESP32), potem blok 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
send_wait_time — falowniki FoxESS są wolniejsze od typowych urządzeń Modbus. Zbyt krótki czas powoduje błędy i timeouty. Zacznij od 200 ms, w razie problemów zwiększ do 250–300 ms.

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

Poniżej gotowe bloki sensorów dla poszczególnych rodzin falowników. Skopiuj blok pasujący do Twojego modelu i wklej go pod sekcją modbus_controller:. Każdy sensor zawiera pełny adres, typ rejestru, skalę i jednostkę.

H3 / AC3 / AIO-H3
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?

FoxESS sprzedaje falowniki pod wieloma nazwami — własnymi i przez OEM. Poniższa tabela pokazuje, który blok YAML pasuje do Twojego modelu. Kryterium jest architektura rejestrów Modbus, nie nazwa handlowa.

Twój model falownika
Użyj bloku YAML ->

H1-3.0/3.7/4.6/5.0/6.0-E (G1)
H1-G1
AC1-3.0/3.7/4.6/5.0/6.0-E
H1-G1 (bez sekcji bateria)
AIO-H1-3.0/3.7/4.6/5.0/6.0
H1-G1 (podset H1, wszystkie rejestry dostępne)
H1-x.x-E-G2, AC-G2
H1-G2 / H1-LAN
H3-5.0/6.0/8.0/10.0/12.0-E
H3
AC3-x.x-E, AIO-H3
H3 (bez sekcji bateria)
KH-5.0/6.5/8.0/10.0-E (Manager < 1.19)
KH pre-1.19 (INPUT, adresy 11xxx)
KH-x.x-E (Manager 1.19 – 1.32)
KH (pre-1.33, odwrócony znak CT)
KH-x.x-E (Manager 1.33+)
KH 1.33+
H3 PRO, H3 SMART
H3-PRO / H3-SMART
Kuara H3, Sonnenkraft SK-HWR, Solavita SP, a-TroniX AX, Enpal, 1KOMMA5
H3 lub H3-PRO (OEM — zależy od generacji sprzętu)
P3-x.x-SH, F5000, T-series
Nie obsługiwane (inne rejestry, brak mapy)

Jak sprawdzić wersję firmware Manager? Menu falownika -> Informacje -> wersja Manager (ARM). To ona decyduje o zestawie rejestrów, nie data zakupu ani moc falownika.



FoxESS H3 (trójfazowy, rejestry 31xxx)
H3-5.0-E, H3-6.0-E, H3-8.0-E, H3-10.0-E, H3-12.0-E — połączenie przez AUX RS485
Dotyczy również: AC3-x.x-E i AIO-H3 — te same rejestry, identyczny YAML. Jedyna różnica: pomiń sekcję Bateria, bo AC3/AIO-H3 nie mają możliwości podłączenia akumulatora.
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
Wszystkie dostępne rejestry — FoxESS H3 (42 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
31000
PV1 Napięcie
H
V
0.1
RO
31001
PV1 Prąd
H
A
0.1
RO
31002
PV1 Moc
H
kW
0.001
RO
31003
PV2 Napięcie
H
V
0.1
RO
31004
PV2 Prąd
H
A
0.1
RO
31005
PV2 Moc
H
kW
0.001
RO
31006
Sieć Napięcie Faza R
H
V
0.1
RO
31007
Sieć Napięcie Faza S
H
V
0.1
RO
31008
Sieć Napięcie Faza T
H
V
0.1
RO
31009
Sieć Prąd Faza R
H
A
0.1
RO
31010
Sieć Prąd Faza S
H
A
0.1
RO
31011
Sieć Prąd Faza T
H
A
0.1
RO
31012
Sieć Moc Faza R (+eksp)
H
kW
0.001
RO
31013
Sieć Moc Faza S (+eksp)
H
kW
0.001
RO
31014
Sieć Moc Faza T (+eksp)
H
kW
0.001
RO
31015
Grid CT Moc (feed_in+)
H
kW
0.001
RO
31016
Obciążenie Faza R
H
kW
0.001
RO
31017
Obciążenie Faza S
H
kW
0.001
RO
31018
Obciążenie Faza T
H
kW
0.001
RO
31022
EPS Napięcie Faza R
H
V
0.1
RO
31023
EPS Napięcie Faza S
H
V
0.1
RO
31024
EPS Napięcie Faza T
H
V
0.1
RO
31025
EPS Częstotliwość
H
Hz
0.01
RO
31026
EPS Prąd Faza R
H
A
0.1
RO
31027
EPS Prąd Faza S
H
A
0.1
RO
31028
EPS Prąd Faza T
H
A
0.1
RO
31029
EPS Moc Faza R
H
kW
0.001
RO
31030
EPS Moc Faza S
H
kW
0.001
RO
31031
EPS Moc Faza T
H
kW
0.001
RO
31032
Temperatura falownika
H
°C
0.1
RO
31033
Temperatura otoczenia
H
°C
0.1
RO
31034
Bateria Napięcie
H
V
0.1
RO
31035
Bateria Prąd
H
A
0.1
RO
31036
Bateria Moc
H
kW
0.001
RO
31037
Bateria Temperatura
H
°C
0.1
RO
31038
Bateria SoC
H
%
1
RO
31041
Kod stanu (state_code)
H
—
1
RO
31042
Status BMS (połącz.)
H
—
1
RO
31044
Kod błędu falownika 32b
H
—
1
RO
32005
Energia ładow. dziś
H
kWh
0.1
RO
32022
Moc obciąż. łączna kWh 32b
H
kWh
0.1
RO
41000
Tryb pracy
H
—
1
RW



FoxESS H3-PRO / H3-SMART (rejestry 39xxx / 46xxx / 49xxx)
Nowszy spec — adresy zweryfikowane z oficjalnym dokumentem FoxESS V1.05.03.00 (styczeń 2025)
Rejestry mocy PV i sieci są 32-bitowe — używamy 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
Wszystkie dostępne rejestry — FoxESS H3-PRO / H3-SMART (86 rejestrów)
Źródło: oficjalny dokument FoxESS V1.05.03.00 · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
36001
Wersja Master FW (#4)
H
—
1
RO
36002
Wersja Slave FW (#5)
H
—
1
RO
36003
Wersja Manager FW (#6)
H
—
1
RO
37002
BMS1 Status połączenia (#15)
H
—
1
RO
37609
BMS1 Napięcie (#24), gain=10
H
V
0.1
RO
37610
BMS1 Prąd (#25), gain=10
H
A
0.1
RO
37611
BMS1 Temp. otoczenia (#26)
H
°C
0.1
RO
37612
BMS1 SoC (#27), %
H
%
1
RO
37617
BMS1 Temp max ogniwa (#28)
H
°C
0.1
RO
37618
BMS1 Temp min ogniwa (#29)
H
°C
0.1
RO
37619
BMS1 Nap. max ogniwa (#30)
H
mV
1
RO
37620
BMS1 Nap. min ogniwa (#31)
H
mV
1
RO
37624
BMS1 SOH — stan zdrowia (#32)
H
%
1
RO
37626
BMS1 Fault1 (#33) — bitmap
H
—
1
RO
37627
BMS1 Fault2 (#34) — bitmap
H
—
1
RO
37628
BMS1 Fault3 (#35) — bitmap
H
—
1
RO
37632
BMS1 Energia pozostała (#39)
H
Wh
0.1
RO
38307
BMS2 Napięcie (#53), gain=10
H
V
0.1
RO
38308
BMS2 Prąd (#54), gain=10
H
A
0.1
RO
38309
BMS2 Temp. otoczenia (#55)
H
°C
0.1
RO
38310
BMS2 SoC (#56), %
H
%
1
RO
38315
BMS2 Temp max ogniwa (#57)
H
°C
0.1
RO
38316
BMS2 Temp min ogniwa (#58)
H
°C
0.1
RO
38317
BMS2 Nap. max ogniwa (#59)
H
mV
1
RO
38318
BMS2 Nap. min ogniwa (#60)
H
mV
1
RO
38322
BMS2 SOH (#61), %
H
%
1
RO
38330
BMS2 Energia pozostała (#68)
H
Wh
0.1
RO
39063
Stan falownika (#133), bitfield 32b
H
—
1
RO
39067
Alarm 1 (#136), bitfield
H
—
1
RO
39068
Alarm 2 (#137), bitfield
H
—
1
RO
39069
Alarm 3 (#138), bitfield
H
—
1
RO
39070
PV1 Napięcie (#139), V, gain=10
H
V
0.1
RO
39071
PV1 Prąd (#140), A, gain=100
H
A
0.01
RO
39072
PV2 Napięcie (#141), V
H
V
0.1
RO
39073
PV2 Prąd (#142), A, gain=100
H
A
0.01
RO
39074
PV3 Napięcie (#143), V
H
V
0.1
RO
39075
PV3 Prąd (#144), A, gain=100
H
A
0.01
RO
39076
PV4 Napięcie (#145), V
H
V
0.1
RO
39077
PV4 Prąd (#146), A, gain=100
H
A
0.01
RO
39078
PV5 Napięcie, V
H
V
0.1
RO
39079
PV5 Prąd, A, gain=100
H
A
0.01
RO
39080
PV6 Napięcie, V
H
V
0.1
RO
39081
PV6 Prąd, A, gain=100
H
A
0.01
RO
39123
Sieć Nap. Faza R (#151), V
H
V
0.1
RO
39124
Sieć Nap. Faza S (#152), V
H
V
0.1
RO
39125
Sieć Nap. Faza T (#153), V
H
V
0.1
RO
39126
Sieć Prąd Faza R (#154), 32b 32b
H
A
0.001
RO
39128
Sieć Prąd Faza S (#155), 32b 32b
H
A
0.001
RO
39130
Sieć Prąd Faza T (#156), 32b 32b
H
A
0.001
RO
39134
Falownik Moc Aktywna (#158), 32b 32b
H
kW
0.001
RO
39136
Falownik Moc Reaktywna (#159) 32b
H
kvar
0.001
RO
39138
Współczynnik mocy (#160)
H
—
0.001
RO
39139
Częstotliwość sieci (#161)
H
Hz
0.01
RO
39141
Temperatura falownika (#163)
H
°C
0.1
RO
39149
Produkcja PV Dziś (#169), 32b 32b
H
kWh
0.01
RO
39151
Produkcja PV Łącznie (#170), 32b 32b
H
kWh
0.01
RO
39168
Grid CT Moc (#181), 32b, W 32b
H
kW
0.001
RO
39219
Obciążenie Moc Faza R (#197) 32b
H
kW
0.001
RO
39221
Obciążenie Moc Faza S (#198) 32b
H
kW
0.001
RO
39223
Obciążenie Moc Faza T (#199) 32b
H
kW
0.001
RO
39225
Obciążenie Moc Łączna (#200), 32b 32b
H
kW
0.001
RO
39237
Bateria Moc Łączna (#207), 32b 32b
H
kW
0.001
RO
39248
Sieć Moc Faza R (#214), 32b 32b
H
kW
0.001
RO
39250
Sieć Moc Faza S (#215), 32b 32b
H
kW
0.001
RO
39252
Sieć Moc Faza T (#216), 32b 32b
H
kW
0.001
RO
39279
PV1 Moc (#231), I32, W 32b
H
kW
0.001
RO
39281
PV2 Moc (#232), I32, W 32b
H
kW
0.001
RO
39283
PV3 Moc (#233), I32, W 32b
H
kW
0.001
RO
39285
PV4 Moc (#234), I32, W 32b
H
kW
0.001
RO
39287
PV5 Moc, I32, W 32b
H
kW
0.001
RO
39289
PV6 Moc, I32, W 32b
H
kW
0.001
RO
39423
System SoC łączny (#244), %
H
%
1
RO
39602
Energia ładow. bat. łącznie 32b
H
kWh
0.1
RO
39604
Energia ładow. bat. dziś 32b
H
kWh
0.1
RO
39606
Energia rozładow. bat. łącznie 32b
H
kWh
0.1
RO
39608
Energia rozładow. bat. dziś 32b
H
kWh
0.1
RO
39610
Eksport łącznie 32b
H
kWh
0.1
RO
39612
Eksport dziś 32b
H
kWh
0.1
RO
39614
Import łącznie 32b
H
kWh
0.1
RO
39616
Import dziś 32b
H
kWh
0.1
RO
46607
Maks. prąd ładow. bat. (A)
H
A
0.1
RW
46608
Maks. prąd rozładow. bat.
H
A
0.1
RW
46609
Min. SoC (%)
H
%
1
RW
46610
Maks. SoC (%)
H
%
1
RW
46611
Min. SoC w trybie sieciowym
H
%
1
RW
49203
Tryb pracy (#362): 1=SelfUse 2=FeedIn 3=Backup 4=PeakShave 6=ForceCharge 7=ForceDischarge
H
—
1
RW



FoxESS H1-G1 (jednofazowy, oryginalna generacja)
H1-3.0/3.7/4.6/5.0/6.0-E (G1), AC1, AIO-H1 — przez AUX RS485 (holding) lub LAN
Dotyczy również: AC1-x.x-E i AIO-H1 — identyczne rejestry. Dla AC1 pomiń sekcję Bateria.
H1-G1 przez AUX z firmware <1.19: rejestry INPUT (adresy 11xxx, 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
Wszystkie dostępne rejestry — FoxESS H1-G1 (82 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
11000
PV1 Napięcie (FW<1.19)
I
V
0.1
RO
11001
PV1 Prąd (FW<1.19)
I
A
0.1
RO
11002
PV1 Moc (FW<1.19)
I
kW
0.001
RO
11003
PV2 Napięcie (FW<1.19)
I
V
0.1
RO
11004
PV2 Prąd (FW<1.19)
I
A
0.1
RO
11005
PV2 Moc (FW<1.19)
I
kW
0.001
RO
11009
Sieć Napięcie (FW<1.19)
I
V
0.1
RO
11010
Sieć Prąd (FW<1.19)
I
A
0.1
RO
11011
Moc falownika (FW<1.19)
I
kW
0.001
RO
11012
Moc reaktywna (FW<1.19)
I
kvar
0.001
RO
11013
Moc pozorna (FW<1.19)
I
kVA
0.001
RO
11014
Częstotliwość (FW<1.19)
I
Hz
0.01
RO
11015
EPS Napięcie (FW<1.19)
I
V
0.1
RO
11016
EPS Prąd (FW<1.19)
I
A
0.1
RO
11017
EPS Moc (FW<1.19)
I
kW
0.001
RO
11020
EPS Częstotliwość (FW<1.19)
I
Hz
0.01
RO
11021
Grid CT Moc (FW<1.19)
I
kW
0.001
RO
11022
CT2 Moc (FW<1.19)
I
kW
0.001
RO
11023
Obciążenie (FW<1.19)
I
kW
0.001
RO
11024
Temp. falownika (FW<1.19)
I
°C
0.1
RO
11025
Temp. otoczenia (FW<1.19)
I
°C
0.1
RO
11034
Bateria Napięcie (FW<1.19)
I
V
0.1
RO
11035
Bateria Prąd (FW<1.19)
I
A
0.1
RO
11036
Bateria SoC (FW<1.19)
I
%
1
RO
11037
Bateria Temperatura (FW<1.19)
I
°C
0.1
RO
11038
Bateria Moc (FW<1.19)
I
kW
0.001
RO
11041
BMS Maks. prąd ładow.
I
A
0.1
RO
11042
BMS Maks. prąd rozładow.
I
A
0.1
RO
11048
BMS Liczba cykli
I
—
1
RO
11049
BMS Energia łącznie
I
kWh
0.001
RO
11070
Produkcja PV łącznie 32b
I
kWh
0.1
RO
11071
Produkcja PV dziś
I
kWh
0.1
RO
11073
Energia ładowania łącznie 32b
I
kWh
0.1
RO
11074
Energia ładowania dziś
I
kWh
0.1
RO
11076
Energia rozładow. łącznie 32b
I
kWh
0.1
RO
11077
Energia rozładow. dziś
I
kWh
0.1
RO
11079
Eksport do sieci łącznie 32b
I
kWh
0.1
RO
11080
Eksport do sieci dziś
I
kWh
0.1
RO
11082
Import z sieci łącznie 32b
I
kWh
0.1
RO
11083
Import z sieci dziś
I
kWh
0.1
RO
11085
Produkcja łącznie 32b
I
kWh
0.1
RO
11086
Produkcja dziś
I
kWh
0.1
RO
11088
Energia PV łącznie 32b
I
kWh
0.1
RO
11089
Energia PV dziś
I
kWh
0.1
RO
11092
Energia obciążenia dziś
I
kWh
0.1
RO
30016
Wersja firmware Master
H
—
1
RO
30017
Wersja firmware Slave
H
—
1
RO
30018
Wersja firmware Manager
H
—
1
RO
31000
PV1 Napięcie
H
V
0.1
RO
31001
PV1 Prąd
H
A
0.1
RO
31002
PV1 Moc
H
kW
0.001
RO
31003
PV2 Napięcie
H
V
0.1
RO
31004
PV2 Prąd
H
A
0.1
RO
31005
PV2 Moc
H
kW
0.001
RO
31006
Sieć Napięcie
H
V
0.1
RO
31008
Moc falownika
H
kW
0.001
RO
31009
Moc reaktywna
H
kvar
0.001
RO
31010
Moc pozorna
H
kVA
0.001
RO
31011
Częstotliwość sieci
H
Hz
0.01
RO
31012
EPS Moc
H
kW
0.001
RO
31014
Grid CT Moc
H
kW
0.001
RO
31015
CT2 Moc
H
kW
0.001
RO
31016
Obciążenie Moc
H
kW
0.001
RO
31018
Temperatura falownika
H
°C
0.1
RO
31019
Temperatura otoczenia
H
°C
0.1
RO
31020
Bateria Napięcie
H
V
0.1
RO
31021
Bateria Prąd
H
A
0.1
RO
31022
Bateria Moc
H
kW
0.001
RO
31023
Bateria Moc ładowania
H
kW
0.001
RO
31024
Bateria SoC
H
%
1
RO
31025
Bateria Temperatura
H
°C
0.1
RO
31026
BMS Maks. prąd ładow.
H
A
0.1
RO
31027
Stan falownika
H
—
1
RO
31029
BMS Status połączenia
H
—
1
RO
32005
Energia ładowania dziś
H
kWh
0.1
RO
32022
Moc obciąż. łączna 32b
H
kWh
0.1
RO
41000
Tryb pracy
H
—
1
RW
41007
Maks. prąd ładowania
I
A
0.1
RW
41008
Maks. prąd rozładow.
I
A
0.1
RW
41009
Min. SoC (%)
I
%
1
RW
41010
Maks. SoC (%)
I
%
1
RW
41011
Min. SoC sieć (%)
I
%
1
RW



FoxESS H1-G2 / H1-LAN (jednofazowy, 2. generacja)
H1-x.x-E-G2, AC-G2 — PV w przestrzeni 39xxx, bateria i sieć nadal na 31xxx
Prąd PV skala 0.01 A (nie 0.1 jak G1). Moc PV jest 16-bitowa na G2 (adres 39280/39282 — tylko dolne słowo jest zapisywane). Bateria i sieć — te same adresy co H1-G1.
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
Wszystkie dostępne rejestry — FoxESS H1-G2 (33 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
36001
Wersja firmware Master
H
—
1
RO
36002
Wersja firmware Slave
H
—
1
RO
36003
Wersja firmware Manager
H
—
1
RO
39070
PV1 Napięcie
H
V
0.1
RO
39071
PV1 Prąd
H
A
0.01
RO
39280
PV1 Moc (16-bit)
H
kW
0.001
RO
39072
PV2 Napięcie
H
V
0.1
RO
39073
PV2 Prąd
H
A
0.01
RO
39282
PV2 Moc (16-bit)
H
kW
0.001
RO
31006
Sieć Napięcie
H
V
0.1
RO
31008
Moc falownika
H
kW
0.001
RO
31012
EPS Moc
H
kW
0.001
RO
31014
Grid CT Moc
H
kW
0.001
RO
31015
CT2 Moc
H
kW
0.001
RO
31016
Obciążenie Moc
H
kW
0.001
RO
31020
Bateria Napięcie
H
V
0.1
RO
31021
Bateria Prąd
H
A
0.1
RO
31022
Bateria Moc
H
kW
0.001
RO
31024
Bateria SoC
H
%
1
RO
31025
Bateria Temperatura
H
°C
0.1
RO
31028
BMS Status połączenia
H
—
1
RO
32005
Energia ładowania dziś
H
kWh
0.1
RO
32022
Moc obciąż. łączna 32b
H
kWh
0.1
RO
37609
BMS1 Napięcie
H
V
0.1
RO
37610
BMS1 Prąd
H
A
0.1
RO
37617
BMS1 Temp max ogniwa
H
°C
0.1
RO
37618
BMS1 Temp min ogniwa
H
°C
0.1
RO
37619
BMS1 Napięcie max ogniwa
H
mV
1
RO
37620
BMS1 Napięcie min ogniwa
H
mV
1
RO
37624
BMS1 SOH
H
%
1
RO
37632
BMS1 Energia pozostała
H
Wh
0.1
RO
39063
Stan falownika (bitfield) 32b
H
—
1
RO
41000
Tryb pracy
H
—
1
RW



FoxESS KH — Manager 1.33+ (trójstringowy, jednofazowy)
KH-5.0/6.5/8.0/10.0-E z firmware Manager 1.33 lub nowszym
SoC skala 0.1 — rejestr 31024 zwraca promile zamiast procenty. - 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
Wszystkie dostępne rejestry — FoxESS KH 1.33+ (44 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
36001
Wersja firmware Master
H
—
1
RO
36002
Wersja firmware Slave
H
—
1
RO
36003
Wersja firmware Manager
H
—
1
RO
39070
PV1 Napięcie
H
V
0.1
RO
39071
PV1 Prąd
H
A
0.01
RO
39280
PV1 Moc (32-bit) 32b
H
kW
0.001
RO
39072
PV2 Napięcie
H
V
0.1
RO
39073
PV2 Prąd
H
A
0.01
RO
39282
PV2 Moc (32-bit) 32b
H
kW
0.001
RO
39074
PV3 Napięcie
H
V
0.1
RO
39075
PV3 Prąd
H
A
0.01
RO
39284
PV3 Moc (32-bit) 32b
H
kW
0.001
RO
39076
PV4 Napięcie
H
V
0.1
RO
39077
PV4 Prąd
H
A
0.01
RO
39286
PV4 Moc (32-bit) 32b
H
kW
0.001
RO
31006
Sieć Napięcie
H
V
0.1
RO
31008
Moc falownika
H
kW
0.001
RO
31012
EPS Moc
H
kW
0.001
RO
31015
CT2 Moc
H
kW
0.001
RO
31016
Obciążenie Moc
H
kW
0.001
RO
39169
Grid CT Moc (32-bit) 32b
H
kW
0.001
RO
31020
Bateria Napięcie
H
V
0.1
RO
31021
Bateria Prąd
H
A
0.1
RO
31022
Bateria Moc
H
kW
0.001
RO
31024
Bateria SoC (×0.1 = %)
H
%
0.1
RO
31025
Bateria Temperatura
H
°C
0.1
RO
31027
Stan falownika
H
—
1
RO
37002
BMS1 Status połączenia
H
—
1
RO
37617
BMS1 Temp max ogniwa
H
°C
0.1
RO
37618
BMS1 Temp min ogniwa
H
°C
0.1
RO
37619
BMS1 Napięcie max ogniwa
H
mV
1
RO
37620
BMS1 Napięcie min ogniwa
H
mV
1
RO
37624
BMS1 SOH
H
%
1
RO
37632
BMS1 Energia pozostała
H
Wh
0.1
RO
32005
Energia ładowania dziś
H
kWh
0.1
RO
32022
Moc obciąż. łączna 32b
H
kWh
0.1
RO
46502
Limit importu (W) 32-bit 32b
H
W
1
RW
46617
Limit eksportu (W) 32-bit 32b
H
W
1
RW
41000
Tryb pracy
H
—
1
RW
41007
Maks. prąd ładowania
H
A
0.1
RW
41008
Maks. prąd rozładow.
H
A
0.1
RW
41009
Min. SoC (%)
H
%
1
RW
41010
Maks. SoC (%)
H
%
1
RW
41011
Min. SoC sieć (%)
H
%
1
RW



FoxESS KH — Manager 1.19–1.32 (pre-1.33)
KH z firmware Manager w zakresie 1.19–1.32
Grid CT — odwrócony znak! Oddawanie do sieci = wartość ujemna. Dodaj - 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
Wszystkie dostępne rejestry — FoxESS KH pre-1.33 (FW 1.19–1.32) (30 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
30016
Wersja Master FW
H
—
1
RO
30017
Wersja Slave FW
H
—
1
RO
30018
Wersja Manager FW
H
—
1
RO
31000
PV1 Napięcie
H
V
0.1
RO
31001
PV1 Prąd
H
A
0.1
RO
31002
PV1 Moc
H
kW
0.001
RO
31003
PV2 Napięcie
H
V
0.1
RO
31004
PV2 Prąd
H
A
0.1
RO
31005
PV2 Moc
H
kW
0.001
RO
31039
PV3 Napięcie
H
V
0.1
RO
31040
PV3 Prąd
H
A
0.1
RO
31041
PV3 Moc
H
kW
0.001
RO
31042
PV4 Napięcie
H
V
0.1
RO
31043
PV4 Prąd
H
A
0.1
RO
31044
PV4 Moc
H
kW
0.001
RO
31046
Sieć Moc (32-bit) 32b
H
kW
0.001
RO
31048
EPS Moc (32-bit) 32b
H
kW
0.001
RO
31050
Grid CT Moc (32-bit, odw.znk) 32b
H
kW
0.001
RO
31052
CT2 Moc (32-bit) 32b
H
kW
0.001
RO
31054
Obciążenie Moc (32-bit) 32b
H
kW
0.001
RO
31020
Bateria Napięcie
H
V
0.1
RO
31021
Bateria Prąd
H
A
0.1
RO
31022
Bateria Moc
H
kW
0.001
RO
31024
Bateria SoC
H
%
1
RO
31025
Bateria Temperatura
H
°C
0.1
RO
31027
Stan falownika
H
—
1
RO
31028
BMS Status połączenia
H
—
1
RO
32005
Energia ładowania dziś
H
kWh
0.1
RO
32022
Moc obciąż. łączna 32b
H
kWh
0.1
RO
41000
Tryb pracy
H
—
1
RW



FoxESS KH — Manager < 1.19 (INPUT rejestry 11xxx)
KH z firmware Manager poniżej 1.19 — tylko przez AUX RS485
register_type: read (nie holding!) — dane są w rejestrach INPUT (FC04).
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
Wszystkie dostępne rejestry — FoxESS KH pre-1.19 (INPUT rejestry) (61 rejestrów)
Źródło: nathanmarlor/foxess_modbus · H=holding(FC03) · I=input(FC04) · RW=możliwy zapis · 32b=para rejestrów 32-bit
Adres
Nazwa
T
Jedn.
Skala
R/W
10016
Wersja Master FW
I
—
1
RO
10017
Wersja Slave FW
I
—
1
RO
10018
Wersja Manager FW
I
—
1
RO
11000
PV1 Napięcie
I
V
0.1
RO
11001
PV1 Prąd
I
A
0.1
RO
11002
PV1 Moc
I
kW
0.001
RO
11003
PV2 Napięcie
I
V
0.1
RO
11004
PV2 Prąd
I
A
0.1
RO
11005
PV2 Moc
I
kW
0.001
RO
11009
Sieć Napięcie
I
V
0.1
RO
11010
Sieć Prąd
I
A
0.1
RO
11011
Moc falownika
I
kW
0.001
RO
11012
Moc reaktywna
I
kvar
0.001
RO
11013
Moc pozorna
I
kVA
0.001
RO
11014
Częstotliwość sieci
I
Hz
0.01
RO
11015
EPS Napięcie
I
V
0.1
RO
11016
EPS Prąd
I
A
0.1
RO
11017
EPS Moc
I
kW
0.001
RO
11020
EPS Częstotliwość
I
Hz
0.01
RO
11021
Grid CT Moc ( odw. znak)
I
kW
0.001
RO
11022
CT2 Moc
I
kW
0.001
RO
11023
Obciążenie Moc
I
kW
0.001
RO
11024
Temperatura falownika
I
°C
0.1
RO
11025
Temperatura otoczenia
I
°C
0.1
RO
11034
Bateria Napięcie
I
V
0.1
RO
11035
Bateria Prąd
I
A
0.1
RO
11036
Bateria SoC
I
%
1
RO
11037
Bateria Temperatura
I
°C
0.1
RO
11038
Bateria Moc
I
kW
0.001
RO
11041
BMS Maks. prąd ładow.
I
A
0.1
RO
11042
BMS Maks. prąd rozładow.
I
A
0.1
RO
11048
BMS Liczba cykli
I
—
1
RO
11049
BMS Energia łącznie
I
kWh
0.001
RO
11096
PV3 Napięcie
I
V
0.1
RO
11097
PV3 Prąd
I
A
0.1
RO
11098
PV3 Moc
I
kW
0.001
RO
11099
PV4 Napięcie
I
V
0.1
RO
11100
PV4 Prąd
I
A
0.1
RO
11101
PV4 Moc
I
kW
0.001
RO
11070
Produkcja PV łącznie 32b
I
kWh
0.1
RO
11071
Produkcja PV dziś
I
kWh
0.1
RO
11073
Energia ładowania łącznie 32b
I
kWh
0.1
RO
11074
Energia ładowania dziś
I
kWh
0.1
RO
11076
Energia rozładow. łącznie 32b
I
kWh
0.1
RO
11077
Energia rozładow. dziś
I
kWh
0.1
RO
11079
Eksport do sieci łącznie 32b
I
kWh
0.1
RO
11080
Eksport do sieci dziś
I
kWh
0.1
RO
11082
Import z sieci łącznie 32b
I
kWh
0.1
RO
11083
Import z sieci dziś
I
kWh
0.1
RO
11085
Produkcja łącznie 32b
I
kWh
0.1
RO
11086
Produkcja dziś
I
kWh
0.1
RO
11088
Energia PV łącznie 32b
I
kWh
0.1
RO
11089
Energia PV dziś
I
kWh
0.1
RO
11091
Moc obciąż. łączna 32b
I
kWh
0.1
RO
11092
Energia obciążenia dziś
I
kWh
0.1
RO
41000
Tryb pracy
I
—
1
RW
41007
Maks. prąd ładowania
I
A
0.1
RW
41008
Maks. prąd rozładow.
I
A
0.1
RW
41009
Min. SoC (%)
I
%
1
RW
41010
Maks. SoC (%)
I
%
1
RW
41011
Min. SoC sieć (%)
I
%
1
RW

value_type — co oznaczają poszczególne typy

ESPHome wymaga podania jak interpretować surowe bajty z rejestru. Dla FoxESS stosujemy cztery typy:
U_WORD
16-bit unsigned — napięcia, prądy PV, SoC. Tylko wartości >= 0.

S_WORD
16-bit signed — moce z kierunkiem (bateria, sieć). Ujemny = ładowanie / pobór.

S_DWORD_R
32-bit signed, big-endian reversed — moce PV i sieciowe w H3-PRO, KH-1.33+. Adres = rejestr niższy (high word).

U_DWORD_R
32-bit unsigned reversed — gdy wiesz że wartość nie może być ujemna i jest 32-bitowa.

Kompletny YAML — nagłówek i konfiguracja ESP32

Wklej to na początku pliku YAML, a następnie dołącz blok sensorów odpowiedni dla Twojego modelu:
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ć

Sensory pokazują NaN lub 0 po starcie
Falownik nie odpowiedział na pierwszym zapytaniu. Przy update_interval: 10s odczekaj co najmniej 30 sekund. Sprawdź logi ESPHome — szukaj linii zawierających Modbus response lub timeout.

W logach: „Modbus timeout” lub brak odpowiedzi
1. Zamień przewody A<->B w konwerterze RS485.
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.

Moc PV pokazuje absurdalne wartości (np. 65000 kW)
Zły typ danych. Dla 32-bitowych rejestrów (H3-PRO, KH-1.33+) musisz użyć value_type: S_DWORD_R. Przy U_WORD czytasz tylko połowę 32-bitowej liczby.

SoC baterii zawsze pokazuje x10 za dużo (np. 850% zamiast 85%)
KH-1.33+ zwraca SoC ze skalą 0.1 (wartość = promile, nie procenty). Dodaj - multiply: 0.1 do filtrów sensora SoC.

Grid CT pokazuje odwrócone wartości (pobór sieci jest ujemny)
Dotyczy KH pre-1.19 i KH pre-1.33 — te modele mają odwróconą konwencję znaku dla CT. Dodaj - multiply: -1 na końcu filtrów sensora Grid CT.

Chcę zmienić tryb pracy przez automatyzację HA
Encja 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.

Co dalej?
Po wgraniu firmware i zweryfikowaniu że sensory działają — możesz przejść do budowy dashboardu energetycznego w HA. Sensory 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

FOX Inverter Modbus definition V1.05.03.00
FoxESS Co., Ltd. — oficjalny dokument protokołu Modbus, wydanie 2025-01-15. Obejmuje modele H3-PRO i H3-SMART.

github.com/wimb0/home-assistant-nextenergy-battery-modbus -> PDF

nathanmarlor/foxess_modbus
Integracja Home Assistant dla falowników FoxESS. Główne źródło mapy rejestrów dla H1, H3, KH. Aktywnie rozwijana przez społeczność.

github.com/nathanmarlor/foxess_modbus

rosenrot00/esphome_modbus_bridge
Komponent ESPHome do budowy mostka Modbus TCP<->RTU — baza do podejścia z transparentnym mostkiem (opisanego w poprzednim artykule).

github.com/rosenrot00/esphome_modbus_bridge

ESPHome — Modbus Controller
Oficjalna dokumentacja komponentu modbus_controller w ESPHome. Szczegółowy opis typów danych, filtrów i konfiguracji sensorów.

esphome.io/components/modbus_controller

DeepWiki — Modbus Register Map (nathanmarlor)
Automatycznie wygenerowana dokumentacja projektu foxess_modbus z pełną tabelą rejestrów dla wszystkich obsługiwanych modeli.

deepwiki.com/nathanmarlor/foxess_modbus/10.3-modbus-register-map

Ten artykuł nie jest oficjalną dokumentacją FoxESS. FoxESS nie wspiera oficjalnie integracji przez Modbus z Home Assistant ani ESPHome. Korzystasz na własne ryzyko — nieprawidłowa konfiguracja nie powinna uszkodzić falownika (dostęp tylko do odczytu), ale zapis do rejestrów sterowania (tryb pracy, limity SoC) może wpłynąć na zachowanie urządzenia. Zawsze rób backup konfiguracji przed eksperymentami.

Społeczność MarkLabs

Dyskutuj na forum

Pytania, doświadczenia i rozwiązania do tego artykułu publikujemy teraz na forum MarkLabs.

Otwórz dyskusję na forum

Wymagane jest bezpłatne konto MarkLabs. Dotychczasowe komentarze bloga nie są przenoszone.

buycoffee.to