Sofar Solar inwerter - odczyt danych bezpośrednio przez fabryczny DataLogger

@paku2020 @Nedel … z innej beczki … czy moglibyście podać wynik, który się wam wyświetli po wykonaniu tego skryptu pythona Michalux.

  "Hex string to send: "??????????
  "Data sent: "??????????

Nie wiem czy o to chodziło. Sofar już dawno śpi i nie mogę wyciągnac z niego nic, ale mam takie coś

Modbus request: 0104 2000 000e 7a0e
Hex string to send: A5 1700 1045 0000 4634176a 020000000000000000000000000000 01042000000e7a0e 00 15
Data sent:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x04 \x00\x00\x0ez\x0e\x00\x15')
Could not open socket - inverter/logger turned off
Traceback (most recent call last):
  File "/home/kuma/SofarSolar/Sofar_LSW3/./InverterHWData.py", line 82, in <module>
    clientSocket.connect(sockadress);
OSError: [Errno 113] No route to host

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kuma/SofarSolar/Sofar_LSW3/./InverterHWData.py", line 85, in <module>
    if prometheus=="1": prometheus_file.close();
NameError: name 'prometheus' is not defined

…to mi na razie wystarczy …daj jeszcze jutro jak będzie działał.
Ale jak widziałem wcześniej to jakąś sensowną odpowiedz dostałeś?

…edit @paku2020 ten wynik to na pewno jest z tego skryptu, który podał kol.?

…coś mi nie pasuje…

Hej
Mam tak jak na zdjęciu. Poniżej wynik z mqtt explorera.

Hej,
To jest wynik po wyświetleniu

Wyniki wykonania skryptu Michalux-a
./InverterData.py

Connecting to logger... connected successfully !
*** Chunk no:  0
Sent data:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00@\x00\x17\x04\x10\x00\x15')
Received data:  b'\xa5A\x00\x10\x15\x00,F4\x17j\x02\x01\xd04&\x00m\x03\x00\x00\xff\xf9Cb\x01\x03.\x00\x03\xff\xc0\x05\x81\xff\xff\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ly\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0fJ\x7f\x15'
*** Chunk no:  1
Sent data:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00(E\xd4\x00\x15')
Received data:  b'\xa5c\x00\x10\x15\x00-F4\x17j\x02\x01\xd04&\x00n\x03\x00\x00\xff\xf9Cb\x01\x03P\x00\x03\xff\xc0\x05\x81\xff\xff\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ly\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0fJ\x00\x17\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\xf1\x19\xa5\x15'
0x0000 - Status: "BŁĄD"
0x0001 - Kod błędu 1: -64
0x0002 - Kod błędu 2: 1409
0x0003 - Kod błędu 3: -1
0x0004 - Kod błędu 4: "ID50 Duża różnica w poziomie próbkowania częstotliwości pomiędzy nadrzędnym i podrzędnym DSP"
0x0005 - Kod błędu 5: "Brak błędów"
0x0006 - Napięcie PV1: 0.0V
0x0007 - Prąd PV1: 0.0A
0x0008 - Napięcie PV2: 0.0V
0x0009 - Prąd PV2: 0.0A
0x000A - Moc PV1: 0W
0x000B - Moc PV2: 0W
0x000C - Moc czynna: 0W
0x000D - Moc bierna: 0.0kVar
0x000E - Częstotliwość sieci: 0.0Hz
0x000F - Napięcie L1: 0.0V
0x0010 - Prąd L1: 277.69A
0x0011 - Napięcie L2: 0.0V
0x0012 - Prąd L2: 0.0A
0x0013 - Napięcie L3: 0.0V
0x0014 - Prąd L3: 0.0A
0x0016 - Całkowita produkcja: 0kWh
0x0018 - Całkowity czas pracy: 23h
0x0019 - Dzienna produkcja: 0Wh
0x001A - Dzisiejszy czas pracy: 15min
0x001B - Temperatura modułu: 0ºC
0x001C - Temperatura falownika: 0ºC
0x001D - Napięcie szyny falownika: 0.0V
0x001E - Napięcie PV1 próbkowane przez podrzędny CPU: 0.0V
0x001F - Prąd PV1 próbkowany przez podrzędny CPU: 0.0A
0x0020 - Czas próbkowania: 25s
0x0021 - Wiadomość alarmowa: 0
0x0022 - Tryb wejściowy: 0
0x0023 - Wewnętrzny komunikat szyny: 0
0x0024 - Izolacja PV1+ względem ziemi: 0
0x0025 - Izolacja PV2+ względem ziemi: 0
0x0026 - Izolacja PV- względem ziemi: 151
0x0027 - Kraj: "Niemcy"

A tutaj wynik wykonania skryptu Nedel124

./InverterHWData.py

PV_Generation_Today:132.7kW
PV_Generation_Total:6085.700000000001kW
P1:205.60000000000002V
P1:132.7A
P1:404.86kW
R:240.70000000000002V
R:0.88A
S:238.20000000000002V
S:0.89A
T:225.70000000000002V
T:0.86A

O to chodziło ? :slight_smile:

@prosilence mqtt działa … sprawdź czy pod nodem Sun jest status Day.

… oooo to to :slight_smile:
…a teraz pokaź dla niego co mówi python, chodzi o te ramki

Oki, tylko jak to wywołać?

Tak samo jak udało ci się to poprzednio … w tym poście

W kodzie tego skryptu jest “print”, który to wyrzuca.

A ok, nie włączyłem debuga.
Wynik wygląda tak

Modbus request: 0103 0680 001c 44b2
Hex string to send: A5 1700 1045 0000 4634176a 020000000000000000000000000000 01040680001c240b 00 15
Data sent:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x06\x80\x00\x1cD\xb2\x00\x15')
Data received:  b'\xa5K\x00\x10\x15\x00kF4\x17j\x02\x01_9&\x00\xfe\x07\x00\x00\x01\xfaCb\x00\x038\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00A\x00\x00-|\x00\x00\x00A\x00\x00-|\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x0f\xe2\x15'
Hex string received: A5 4B 00 10 15 00 6B 46 34 17 6A 02 01 5F 39 26 00 FE 07 00 00 01 FA 43 62 00 03 38 00 00 00 00 00 00 00 FF 00 00 00 41 00 00 2D 7C 00 00 00 41 00 00 2D 7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 0F E2 15
Register: 0x0680 , value: hex:0000dev:0.0
Register: 0x0681 , value: hex:0000dev:0.0
Register: 0x0682 , value: hex:0000dev:0.0
Register: 0x0683 , value: hex:00ffdev:2.5500000000000003
Register: 0x0684 , value: hex:0000dev:0.0
Register: 0x0685 , value: hex:0041dev:0.65
PV_Generation_Today:0.65kW
Register: 0x0686 , value: hex:0000dev:0.0
Register: 0x0687 , value: hex:2d7cdev:116.44
PV_Generation_Total:1164.4kW
Register: 0x0688 , value: hex:0000dev:0.0
Register: 0x0689 , value: hex:0041dev:0.65
Register: 0x068A , value: hex:0000dev:0.0
Register: 0x068B , value: hex:2d7cdev:116.44
Register: 0x068C , value: hex:0000dev:0.0
Register: 0x068D , value: hex:0000dev:0.0
Register: 0x068E , value: hex:0000dev:0.0
Register: 0x068F , value: hex:0000dev:0.0
Register: 0x0690 , value: hex:0000dev:0.0
Register: 0x0691 , value: hex:0000dev:0.0
Register: 0x0692 , value: hex:0000dev:0.0
Register: 0x0693 , value: hex:0000dev:0.0
Register: 0x0694 , value: hex:0000dev:0.0
Register: 0x0695 , value: hex:0000dev:0.0
Register: 0x0696 , value: hex:0000dev:0.0
Register: 0x0697 , value: hex:0000dev:0.0
Register: 0x0698 , value: hex:0000dev:0.0
Register: 0x0699 , value: hex:0000dev:0.0
Register: 0x069A , value: hex:0000dev:0.0
Register: 0x069B , value: hex:0000dev:0.0
Modbus request: 0103 0580 0034 44e8
Hex string to send: A5 1700 1045 0000 4634176a 020000000000000000000000000000 010405800034840e 00 15
Data sent:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x80\x004D\xe8\x00\x15')
Data received:  b'\xa5{\x00\x10\x15\x00lF4\x17j\x02\x01_9&\x00\xfe\x07\x00\x00\x01\xfaCb\x00\x03h\x00\x00\x00\x00\x00\x00\x03\xff\x17\x12\x00I\x00+\x05\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xe9\xcb\x15'
Hex string received: A5 7B 00 10 15 00 6C 46 34 17 6A 02 01 5F 39 26 00 FE 07 00 00 01 FA 43 62 00 03 68 00 00 00 00 00 00 03 FF 17 12 00 49 00 2B 05 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 E9 CB 15
Register: 0x0580 , value: hex:0000dev:0.0
Register: 0x0581 , value: hex:0000dev:0.0
Register: 0x0582 , value: hex:0000dev:0.0
Register: 0x0583 , value: hex:03ffdev:10.23
Register: 0x0584 , value: hex:1712dev:59.06
P1:590.6V
Register: 0x0585 , value: hex:0049dev:0.73
P1:0.73A
Register: 0x0586 , value: hex:002bdev:0.43
P1:0.43kW
Register: 0x0587 , value: hex:057fdev:14.07
Register: 0x0588 , value: hex:0000dev:0.0
Register: 0x0589 , value: hex:0000dev:0.0
Register: 0x058A , value: hex:0000dev:0.0
Register: 0x058B , value: hex:0000dev:0.0
Register: 0x058C , value: hex:0000dev:0.0
Register: 0x058D , value: hex:0000dev:0.0
Register: 0x058E , value: hex:0000dev:0.0
Register: 0x058F , value: hex:0000dev:0.0
Register: 0x0590 , value: hex:0000dev:0.0
Register: 0x0591 , value: hex:0000dev:0.0
Register: 0x0592 , value: hex:0000dev:0.0
Register: 0x0593 , value: hex:0000dev:0.0
Register: 0x0594 , value: hex:0000dev:0.0
Register: 0x0595 , value: hex:0000dev:0.0
Register: 0x0596 , value: hex:0000dev:0.0
Register: 0x0597 , value: hex:0000dev:0.0
Register: 0x0598 , value: hex:0000dev:0.0
Register: 0x0599 , value: hex:0000dev:0.0
Register: 0x059A , value: hex:0000dev:0.0
Register: 0x059B , value: hex:0000dev:0.0
Register: 0x059C , value: hex:0000dev:0.0
Register: 0x059D , value: hex:0000dev:0.0
Register: 0x059E , value: hex:0000dev:0.0
Register: 0x059F , value: hex:0000dev:0.0
Register: 0x05A0 , value: hex:0000dev:0.0
Register: 0x05A1 , value: hex:0000dev:0.0
Register: 0x05A2 , value: hex:0000dev:0.0
Register: 0x05A3 , value: hex:0000dev:0.0
Register: 0x05A4 , value: hex:0000dev:0.0
Register: 0x05A5 , value: hex:0000dev:0.0
Register: 0x05A6 , value: hex:0000dev:0.0
Register: 0x05A7 , value: hex:0000dev:0.0
Register: 0x05A8 , value: hex:0000dev:0.0
Register: 0x05A9 , value: hex:0000dev:0.0
Register: 0x05AA , value: hex:0000dev:0.0
Register: 0x05AB , value: hex:0000dev:0.0
Register: 0x05AC , value: hex:0000dev:0.0
Register: 0x05AD , value: hex:0000dev:0.0
Register: 0x05AE , value: hex:0000dev:0.0
Register: 0x05AF , value: hex:0000dev:0.0
Register: 0x05B0 , value: hex:0000dev:0.0
Register: 0x05B1 , value: hex:0000dev:0.0
Register: 0x05B2 , value: hex:0000dev:0.0
Register: 0x05B3 , value: hex:0000dev:0.0
Modbus request: 0103 0480 003d 8512
Hex string to send: A5 1700 1045 0000 4634176a 020000000000000000000000000000 01040480003d2801 00 15
Data sent:  bytearray(b'\xa5\x17\x00\x10E\x00\x00F4\x17j\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x80\x00=\x85\x12\x00\x15')
Data received:  b'\xa5\x8d\x00\x10\x15\x00mF4\x17j\x02\x01`9&\x00\xfe\x07\x00\x00\x01\xfaCb\x00\x03z\x00\x00\x82\x18C\x08a\x7f\x13\x88\x00+\xff\xd6\x00A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t[\x00Z\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xf9\x00]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\tS\x00[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xe9\x00\x00\x00\x00\x00\x00\xb9\xa9\x00\x00\x00\x00 \xb7\x90\x83x\x8a\x90\x15'
Hex string received: A5 8D 00 10 15 00 6D 46 34 17 6A 02 01 60 39 26 00 FE 07 00 00 01 FA 43 62 00 03 7A 00 00 82 18 43 08 61 7F 13 88 00 2B FF D6 00 41 00 00 00 00 00 00 00 00 00 00 09 5B 00 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 F9 00 5D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 53 00 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 E9 00 00 00 00 00 00 B9 A9 00 00 00 00 20 B7 90 83 78 8A 90 15
Register: 0x0480 , value: hex:0000dev:0.0
Register: 0x0481 , value: hex:8218dev:333.04
Register: 0x0482 , value: hex:4308dev:171.6
Register: 0x0483 , value: hex:617fdev:249.59
Register: 0x0484 , value: hex:1388dev:50.0
Register: 0x0485 , value: hex:002bdev:0.43
Register: 0x0486 , value: hex:ffd6dev:654.94
Register: 0x0487 , value: hex:0041dev:0.65
Register: 0x0488 , value: hex:0000dev:0.0
Register: 0x0489 , value: hex:0000dev:0.0
Register: 0x048A , value: hex:0000dev:0.0
Register: 0x048B , value: hex:0000dev:0.0
Register: 0x048C , value: hex:0000dev:0.0
Register: 0x048D , value: hex:095bdev:23.95
R:239.5V
Register: 0x048E , value: hex:005adev:0.9
R:0.9A
Register: 0x048F , value: hex:0000dev:0.0
Register: 0x0490 , value: hex:0000dev:0.0
Register: 0x0491 , value: hex:0000dev:0.0
Register: 0x0492 , value: hex:0000dev:0.0
Register: 0x0493 , value: hex:0000dev:0.0
Register: 0x0494 , value: hex:0000dev:0.0
Register: 0x0495 , value: hex:0000dev:0.0
Register: 0x0496 , value: hex:0000dev:0.0
Register: 0x0497 , value: hex:0000dev:0.0
Register: 0x0498 , value: hex:08f9dev:22.97
S:229.70000000000002V
Register: 0x0499 , value: hex:005ddev:0.93
S:0.93A
Register: 0x049A , value: hex:0000dev:0.0
Register: 0x049B , value: hex:0000dev:0.0
Register: 0x049C , value: hex:0000dev:0.0
Register: 0x049D , value: hex:0000dev:0.0
Register: 0x049E , value: hex:0000dev:0.0
Register: 0x049F , value: hex:0000dev:0.0
Register: 0x04A0 , value: hex:0000dev:0.0
Register: 0x04A1 , value: hex:0000dev:0.0
Register: 0x04A2 , value: hex:0000dev:0.0
Register: 0x04A3 , value: hex:0953dev:23.87
T:238.70000000000002V
Register: 0x04A4 , value: hex:005bdev:0.91
T:0.91A
Register: 0x04A5 , value: hex:0000dev:0.0
Register: 0x04A6 , value: hex:0000dev:0.0
Register: 0x04A7 , value: hex:0000dev:0.0
Register: 0x04A8 , value: hex:0000dev:0.0
Register: 0x04A9 , value: hex:0000dev:0.0
Register: 0x04AA , value: hex:0000dev:0.0
Register: 0x04AB , value: hex:0000dev:0.0
Register: 0x04AC , value: hex:0000dev:0.0
Register: 0x04AD , value: hex:0000dev:0.0
Register: 0x04AE , value: hex:0000dev:0.0
Register: 0x04AF , value: hex:0000dev:0.0
Register: 0x04B0 , value: hex:0000dev:0.0
Register: 0x04B1 , value: hex:0000dev:0.0
Register: 0x04B2 , value: hex:0000dev:0.0
Register: 0x04B3 , value: hex:0000dev:0.0
Register: 0x04B4 , value: hex:e7e9dev:593.69
Register: 0x04B5 , value: hex:0000dev:0.0
Register: 0x04B6 , value: hex:0000dev:0.0
Register: 0x04B7 , value: hex:0000dev:0.0
Register: 0x04B8 , value: hex:b9a9dev:475.29
Register: 0x04B9 , value: hex:0000dev:0.0
Register: 0x04BA , value: hex:0000dev:0.0
Register: 0x04BB , value: hex:20b7dev:83.75
Register: 0x04BC , value: hex:9083dev:369.95
kuma@debian-myszkow:~/Sofar_G3_LSW3$

OK :+1: …to jesteśmy w domu.
Narazie dzięki. Może po południu coś już będzie do testów.

1 polubienie

Jest status day. Jeżeli mogłem coś gdzieś źle wpisać to może pokaż konkretne nody do których mam coś wpisać i co wpisać, które adresy dokładnie.

Edit:

Pytanie. Jakiego sprzętu używacie do pomiaru energii pobranej z sieci i oddanej do sieci? Ja mam zintegrowany licznik taurona ale średnio to działa między innymi dlatego, że pomiary nie są online , a są aktualizowane raz na dobę.

Wydaje się , że przy monitorowaniu farmy ma to spore znaczenie.

Macie jakieś dobre i niedrogie rozwiązanie?

Najprostszy do założenia i integracji z HA to miernik Shelly 3em z przekładniami,dużo onim na forum,gotowa integracja prosty montaż koszt ok 550-600zl…
Inny to miernik supla mew 01 montaż podobny jak wyżej integracja z suplą po mqtt,trochę bardziej skomplikowana,koszt podobny.Oba urządzenia z Wifi.Inna opcja to licznik już z certyfikatem z wyjsciem modbus do tego konwerter i np.esp 8266, dość skomplikowana integracja z HA.Cenowo ok 650zł.

RobinI30, w jaki sposób mogę dodać drugi falownik?

…hah :slight_smile:
Zrobić kopie do drugiego flow.
Zmienić w SofarToMqtt “MQTT Subject” z Sofar na jakiś inny np. Sofar2.
We wszystkich nodach za nim zmienić z /Sofar na /Sofar2.
To są wszystkie te protezy dopisywane później na szybko… albo eksportuj swój oryginał to poprawię.

dzięki RobinI30, poszło :slight_smile:

Witam,
mam Sofara 12ktl-x, konwerter RS485/LAN, zainstalowanego node reda na qnapie.
Walczę z tym od jakiegoś czasu, a doświadczenie z node redem mam żadne.
Czy ktoś w forumowiczów pomógłby mi skonstruować prosty flow przykładowy, który ściągał by jakiś jeden chociaż parametr z sofara po modbusie i wyświetlał w dashboardzie?
Potrzebuję jakiś działający punkt zaczepienia, resztę spróbuję sam opanować.

Jeśli masz stary soft w falowniku to jutro coś odkopie w archiwum (gotowca). Stary soft na stronie statusowej pokazuje prawidłowe wartości, nowy głupoty.

Hej,

Gdyby był ktoś zainteresowany to chciałbym się podzielić flow do mojego sofara 11KTL-X-G3

Jest to przerobiony proces kolegi RobinI30 wraz z jego pomocą :slight_smile:
Pobiera on następujące dane :


image

W pliku configuracyjnym HA należy utworzyć:

  ###### SofarSolarMQTT lokalnie ######
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Frequency_Grid_Hz"
    name: "SofarSolarMQTT_Frequency_Grid"
    unit_of_measurement: "Hz"
    device_class: power

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Aktualna_generowana_moc_kW"
    name: "SofarSolarMQTT_Aktualna_generowana_moc_kW"
    unit_of_measurement: "kW"
    device_class: power

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_R"
    name: "SofarSolarMQTT_Napiecie_V_faza_R"
    unit_of_measurement: "V"
    device_class: voltage

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_R"
    name: "SofarSolarMQTT_Natezenie_A_faza_R"
    unit_of_measurement: "A"
    device_class: current

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_S"
    name: "SofarSolarMQTT_Napiecie_V_faza_S"
    unit_of_measurement: "V"
    device_class: voltage

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_S"
    name: "SofarSolarMQTT_Natezenie_A_faza_S"
    unit_of_measurement: "A"
    device_class: current

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_T"
    name: "SofarSolarMQTT_Napiecie_V_faza_T"
    unit_of_measurement: "V"
    device_class: voltage

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_T"
    name: "SofarSolarMQTT_Natezenie_A_faza_T"
    unit_of_measurement: "A"
    device_class: current

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napięcie_V_string1"
    name: "SofarSolarMQTT_Napięcie_V_string1"
    unit_of_measurement: "V"
    device_class: voltage

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_string1"
    name: "SofarSolarMQTT_Natezenie_A_string1"
    unit_of_measurement: "A"
    device_class: current

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Moc_kW_string1"
    name: "SofarSolarMQTT_Moc_kW_string1"
    unit_of_measurement: "kW"
    device_class: power

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napięcie_V_string2"
    name: "SofarSolarMQTT_Napięcie_V_string2"
    unit_of_measurement: "V"
    device_class: voltage

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_string2"
    name: "SofarSolarMQTT_Natezenie_A_string2"
    unit_of_measurement: "A"
    device_class: current

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Moc_kW_string2"
    name: "SofarSolarMQTT_Moc_kW_string2"
    unit_of_measurement: "kW"
    device_class: power

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Wygenerowane_kW_Dzis"
    name: "SofarSolarMQTT_Wygenerowane_kW_Dzis"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Suma_wygenerowanych_kW"
    name: "SofarSolarMQTT_Suma_wygenerowanych_kW"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Otoczenia"
    name: "SofarSolarMQTT_Temperatura_Otoczenia"
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Radiatora"
    name: "SofarSolarMQTT_Temperatura_Radiatora"
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Inwertera"
    name: "SofarSolarMQTT_Temperatura_Inwertera"
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Rezystancja_izolacji"
    name: "SofarSolarMQTT_Rezystancja_izolacji"
    unit_of_measurement: "ohm"

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Czas_generacji_dzis_minut"
    name: "SofarSolarMQTT_Czas_generacji_dzis_minut"
    unit_of_measurement: "min"

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Calkowity_czas_generowania_min"
    name: "SofarSolarMQTT_Calkowity_czas_generowania_min"
    unit_of_measurement: "min"

  - platform: mqtt
    state_topic: "SofarSolarMQTT/Calkowity_czas_pracy_falownika_min"
    name: "SofarSolarMQTT_Calkowity_czas_pracy_falownika_min"
    unit_of_measurement: "min"

oraz stworzyć sensor binarny do pingowania falownika.

# Ping do falownika Sofat
  - platform: ping
    host: 192.168.123.123
    name: Falownik_Sofar
    count: 7
    scan_interval: 30

Proces pobiera dane z falownika co chyba 40 sek, następnie je analizuje i pcha po mqtt. Należy pamiętać aby w nodzie Switch dostosować do siebie zakresy np zakresy mocy falownika. Pozwoli to na filtrację głupich wartości.

flows (2).json (21,8 KB)
Nie wiem czy dobrze zrobiłem export więc fajnie by było gdyby ktoś potwierdził że jest oki :slight_smile:

“Unexpected token N in JSON at position 455”

Witam znajduję ten błąd i nie mogę znaleźć jak go rozwiązać…
pomysły?