Super się składa bo siedzimy nad tym tematem w tym samym czasie i mam nadzieję, że uda nam się wspólnie rozwiązać tą zagadkę.
Dzisiaj do mojej topologii sieci RS485 podłączyłem inwerter, użyłem do tego pinów 3 (A) oraz 4 (B) tak jak w tym dokumencie na stronie 55:
Masterem jest mój HA z konfiguracją tak jak poniżej.
Konwerter USB-RS485 to Waveshare oparty o FT232.
Pod adresem 001 mam Growatt MOD 10KTL3-X
Pod adresem 002 mam Eastron SDM630
modbus:
- name: rs485_rtu
type: serial
method: rtu
port: /dev/ttyUSB1
baudrate: 9600
bytesize: 8
parity: N
stopbits: 1
sensors: !include modbus_sensor.yaml
Odczyt z SDM630 jest super. Po 24 godzinach o zmiany konwertera wszystko działa pięknie (zero błędów w logach).
Przykładowa konfiguracja EASTRON SDM630:
- name: SDM630 Import Wh since last reset
unit_of_measurement: kWh
slave: 2
address: 72
input_type: input
count: 2
data_type: float32
precision: 2
scan_interval: 300
device_class: energy
# aby urządzenie było widoczne w ENERGY:
state_class: total
- name: SDM630 Export Wh since last reset
unit_of_measurement: kWh
slave: 2
address: 74
input_type: input
count: 2
data_type: float32
precision: 2
scan_interval: 300
device_class: energy
# Aby urządzenie pojawiło się w ENERGY:
# device_class set to energy
# state_class set to either: measurement or total or total_increasing
state_class: total
W jaki sposób masz to połączone i co Ci to daje? Jakie wartości dzięki takiemu połączeniu odczytujesz?
Również jakiś czas temu testowo łączyłem inwerter (piny 7 i 8) z licznikiem ale jeżeli się nie mylę to służy to jedynie do kontrolowania wyeksportowanych kWh do sieci. Czyli jeżeli umowa z dostawcą energii mówi o tym, że mogę rocznie wepchać do sieci XXX kWh to dzięki takiemu połączeniu mój inwerter będzie wiedział ile zostało już wyeksportowane (bo autokonsumpcji przecież nie widzi) i pewnie przestanie produkować prąd.
Zrezygnowałem z takiego połączenia bo nic ono mi nie daje.
Napiszę może, co zaobserwowałem po podpięciu HA po RS485.
Z instrukcji wynika, że przeciętny Kowalski może odczytywać parametry z funkcji numer 4 czyli z INPUT REGISTER. Są one widoczne w tym dokumencie na stronie 25:
Ze strony 7 wnioskuję, że za pomocą MODBUS RTU powinienem je spokojnie odczytać.
Zainstalowałem program CAS MODBUS SCANNER (CAS Modbus Scanner - Chipkin Automation Systems) i odczytałem pierwszych 10 parametrów:
Zauważyłem, że pod adresem 4 oraz 8 mam zmienne:
4 - Vpv1 (PV1 voltage)
8 - Vpv2 (PV2 voltage)
Mam na dachu 2 stringi (wschód i zachód).
Kombinowałem z odczytem i ostatecznie doszedłem do tego typu konfiguracji:
- name: G10KTL3X PV1 Voltage
unit_of_measurement: V
slave: 1
address: 4
input_type: input
count: 2
data_type: uint32
precision: 1
scale: 0.01
scan_interval: 5
device_class: voltage
- name: G10KTL3X PV2 Voltage
unit_of_measurement: V
slave: 1
address: 8
input_type: input
count: 2
data_type: uint32
precision: 1
scale: 0.01
scan_interval: 6
device_class: voltage
Nie działał mi żaden inny typ danych. Ani float32
ani uint16
.
Dodałem jeszcze sobie do konfiguracji napięcie na fazach 1-3 oraz częstotliwość w Hz:
- name: G10KTL3X Vac1 Voltage
unit_of_measurement: V
slave: 1
address: 15
input_type: input
count: 2
data_type: uint32
precision: 1
scale: 0.01
scan_interval: 5
device_class: voltage
- name: G10KTL3X Vac2 Voltage
unit_of_measurement: V
slave: 1
address: 19
input_type: input
count: 2
data_type: uint32
precision: 1
scale: 0.01
scan_interval: 5
device_class: voltage
- name: G10KTL3X Vac3 Voltage
unit_of_measurement: V
slave: 1
address: 23
input_type: input
count: 2
data_type: uint32
precision: 1
scale: 0.01
scan_interval: 5
device_class: voltage
- name: G10KTL3X Grid frequency
unit_of_measurement: Hz
slave: 1
address: 14
input_type: input
count: 2
data_type: uint32
precision: 2
scale: 0.01
scan_interval: 5
device_class: frequency
Niestety otrzymałem TYLKO napięcie na PV1. Na PV2 miałem to samo wskazanie co PV1
Pozostałe zmienne wskazywały “0” (ZERO). Gdy wtyczka była odłączona lub inwerter przestał produkować to przybrały status “NIEDOSTĘPNY”.
Na YT znalazłem film gdzie ktoś próbował kontaktować się z firmą Growatt i odbił się od ściany (09:00 min filmu):
Jeżeli ktoś zauważył, że robię coś źle albo że powinienem zmienić coś w konfiguracji, to dajcie znać. Jak komuś się udało odczytywać z tych falowników dane to opiszcie jak to trzeba dobrze zrobić. Przyda się