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 ![:expressionless: :expressionless:](https://forum.arturhome.pl/images/emoji/google/expressionless.png?v=12)
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ę ![:slight_smile: :slight_smile:](https://forum.arturhome.pl/images/emoji/google/slight_smile.png?v=12)