Monitoring Sofar Solar + RS485

Uruchomiony kilka dni temu zestaw paneli fotowoltaicznych zintegrowałem z moim HA.

Falownik:

  • SOFAR 6.6KTLX-G3
  • Wersja sprzętowa:V003
  • Software Version Number 1:
  • Wersja protokołu:1.08
  • Software Version Number 2:0
  • Software Version Number 3:0
  • Master Software Version:V020004
  • Software Version Number 4:0
  • Vice Software Version:L020004
  • Standard Main Version:0606
  • Wersja oprogramowania procesora komunikacji:G020002

Zaistalowany logger wifi:

  • Wersja modułu nr:LSW3_15_270A_1.53
  • Extended System Version:V1.1.00.0F

Do podłączenia falownika z własną siecią LAN wykorzystałem RS485 TO ETH (for EU)

Po uruchomieniu konfiguracja modułu.

W NR

odczyt poprzez MQTT Explorer

flows (100).json (15,1 KB)

SOFAR-G3 External Modbus Protocol-Engilsh-V1.09 (2) (1).zip (1,1 MB)

W HA → mqtt.yaml

      # ----------------------------------------------------------------------
      # sensor z NR sensory Falownika Sofar
      # ----------------------------------------------------------------------

  - name: "Sofar_Frequency_Grid"
    state_topic: "Sofar/Frequency_Grid"
    unit_of_measurement: "Hz"
    state_class: measurement
    
  - name: "Sofar_Aktualna_generowana_moc_kW"
    state_topic: "Sofar/ActivePower_Output_Total"
    unit_of_measurement: "kW"
    device_class: power
    state_class: measurement

  - name: "Sofar_Napiecie_V_faza_R"
    state_topic: "Sofar/Voltage_Phase_R"
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement

  - name: "Sofar_Natezenie_A_faza_R"
    state_topic: "Sofar/Current_Output_R"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement

  - name: "Sofar_Napiecie_V_faza_S"
    state_topic: "Sofar/Voltage_Phase_S"
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement

  - name: "Sofar_Natezenie_A_faza_S"
    state_topic: "Sofar/Current_Output_S"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement

  - name: "Sofar_Napiecie_V_faza_T"
    state_topic: "Sofar/Voltage_Phase_T"
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement

  - name: "Sofar_Natezenie_A_faza_T"
    state_topic: "Sofar/Current_Output_T"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
 
  - name: "Sofar_Napięcie_V_string1"
    state_topic: "Sofar/Voltage_PV1"
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement

  - name: "Sofar_Natezenie_A_string1"
    state_topic: "Sofar/Current_PV1"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement

  - name: "Sofar_Moc_kW_string1"
    state_topic: "Sofar/Power_PV1"
    unit_of_measurement: "kW"
    device_class: power

  - name: "Sofar_Napięcie_V_string2"
    state_topic: "Sofar/Voltage_PV2"
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement

  - name: "Sofar_Natezenie_A_string2"
    state_topic: "Sofar/Current_PV2"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement

  - name: "Sofar_Moc_kW_string2"
    state_topic: "Sofar/Power_PV2"
    unit_of_measurement: "kW"
    device_class: power
    state_class: measurement

  - name: "Sofar_Wygenerowane_kWh_Dzis"
    state_topic: "Sofar/PV_Generation_Today"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
    state_class: total_increasing

  - name: "Sofar_Suma_wygenerowanych_kWh"
    state_topic: "Sofar/PV_Generation_Total"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter

  - name: "Sofar_Temperatura_Otoczenia"
    state_topic: "Sofar/Temperature_Env1"
    unit_of_measurement: "°C"
    device_class: temperature
    state_class: measurement

  - name: "Sofar_Temperatura_Radiatora"
    state_topic: "Sofar/Temperature_HeatSink1"
    unit_of_measurement: "°C"
    device_class: temperature
    state_class: measurement

  - name: "Sofar_Temperatura_Inwertera"
    state_topic: "Sofar/Temperature_Inv1"
    unit_of_measurement: "°C"
    device_class: temperature
    state_class: measurement

  - name: "Sofar_Rezystancja_Izolacji"
    state_topic: "Sofar/InsulationResistance"
    unit_of_measurement: "ohm"
    state_class: measurement

  - name: "Sofar_Czas_generacji_dzis_minut"
    state_topic: "Sofar/GenerationTime_Today"
    unit_of_measurement: "min"

  - name: "Sofar_Calkowity_czas_generowania_min"
    state_topic: "Sofar/GenerationTime_Total"
    unit_of_measurement: "min"

  - name: "Sofar_Calkowity_czas_pracy_falownika_min"
    state_topic: "Sofar/ServiceTime_Total"
    unit_of_measurement: "min"
    
#######################################################    

  - name: "Sofar_magazyn_wygenerowanych_kWh"
    state_topic: "Sofar/over"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter


Temat zrealizowany dzięki wydatnej pomocy @RobinI30 , dziękuję :+1:

PS. Z falownikiem można się także komunikować za pomocą loggera wifi, w mojej wersji softwarowej, za pomocą flow zaczerpniętego z tego wątku

Sofar_wifi_logger.json (25,0 KB)

2 polubienia

Świetna robota. Gratuluję dokładności.
Sam od kilku dni posiadam ten falownik, ale o mniejszej mocy, tj. SOFAR 5.5KTLX-G3.
Wersja logera jest identyczna, nieznacznie inna jest wersja softu falownika. Odczytuję dane bezpośrednio z logera poprzez NR. Dlaczego zdecydowałeś się na RS485 TO ETH (for EU)? Jednocześnie odczytujesz jeszcze jakieś dane z licznika? No właśnie… w jaki sposób odczytujesz użycie energii?

Połączenie po “kablu” zdecydowanie uważałem za pewniejsze. Czytałem, że są problemy z odczytem w zależności od wersji loggera, nawet jak teraz “czyta” to po ewentualnej aktualizacji może przestać, dlatego też wybrałem konwerter.

Nie, nie mam podłączonego licznika do inwertera. Używam Zamel Supla MEW-01 do odczytywania importu i exportu energii.

Też zastanawiam się nad zakupem tego właśnie licznika. Mam pytanie o encję promieniowanie słoneczne i intensywność światła, a mianowicie z jakiej integracji skorzystałeś? Czy jest to może Forecast.Solar?

Tu macie gotowe rozwiązanie w NR dla RS485 TO ETH
mam ustawiony odczyt danych co 5 sek. dodatkowo Sun uruchamia od wschodu do zachodu co nie generuje błędów

[{"id":"48cc9a921a31d177","type":"group","z":"1a13f792a3e02171","name":"","style":{"fill":"#ffffff","label":true},"nodes":["364d4862b8c1c670","2c8da07d9aafbd54","7c66a5d045e74b55","f708bb943aa839b9","ada6aaec5b4d3b2d","091475ede0f94e70","82a4f926470cb144","4d55e89931ab77fa","ba6653977a578b5b","8b0ccf75bed20721","1b23e2367906fbef","f7a0e26d62af508a"],"x":34,"y":39,"w":1752,"h":282},{"id":"364d4862b8c1c670","type":"function","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Zakers","func":"msg.payload = { 'fc': 3, 'unitid': 1, 'address': 0, 'quantity': 29 }\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":180,"wires":[["2c8da07d9aafbd54"]]},{"id":"2c8da07d9aafbd54","type":"modbus-flex-getter","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Modbus","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"server":"8c10d23c6b3ade63","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":true,"keepMsgProperties":true,"x":600,"y":180,"wires":[["7c66a5d045e74b55"],[]]},{"id":"7c66a5d045e74b55","type":"change","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Buffer","rules":[{"t":"set","p":"payload","pt":"msg","to":"msg.responseBuffer.buffer","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":180,"wires":[["f708bb943aa839b9"]]},{"id":"f708bb943aa839b9","type":"function","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"KTL config","func":"var ratio =[1,1,1,1,1,1,0.1,0.01,0.1,0.01,\n            10,10,10,10,0.01,0.1,0.01,0.1,0.01,0.1,\n            0.01,1,1,1,1,0.01,1,1,1,1,1,1,1,1,1,1,1,1,1,1];\nvar state =[\"Oczekiwanie\",\"Weryfikacja wewn.\",\"Normalny\",\"BLAD\",\"Permanent\"];\nvar data ='{\"data\":[';\nvar val =0;\nvar Hi = 0;\nvar i = 0;\nfor (i=0; i<=28 ; i++){\n    data +='{\"id\":\"'+i.toString()+'\",\"values\":['    \n    switch(i) {\n       case 21:\n         Hi = msg.payload[i*2]*256 +msg.payload[i*2+1];\n         i++;\n         val = msg.payload[i*2]*256 +msg.payload[i*2+1];\n         val += Hi*255;\n       break;\n       case 23:\n         Hi = msg.payload[i*2]*256 +msg.payload[i*2+1];\n         i++;\n         val = msg.payload[i*2]*256 +msg.payload[i*2+1];\n         val += Hi*255;\n        break;\n        default:\n          val = msg.payload[i*2]*256 +msg.payload[i*2+1];\n        }\n\n      val = val*ratio[i];    \n      data +=val.toFixed (2);\n\n    data +=']},';\n\n}\n\nmsg.payload = data.slice(0,-1)+']}';  \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":180,"wires":[["ada6aaec5b4d3b2d"]]},{"id":"ada6aaec5b4d3b2d","type":"json","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Konwerter","property":"payload","action":"","pretty":false,"x":1050,"y":180,"wires":[["091475ede0f94e70"]]},{"id":"091475ede0f94e70","type":"change","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Payload","rules":[{"t":"move","p":"payload.data","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1200,"y":180,"wires":[["4d55e89931ab77fa"]]},{"id":"82a4f926470cb144","type":"mqtt out","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"HAOS Mqtt","topic":"","qos":"","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"e395f9f9.d86858","x":1690,"y":180,"wires":[]},{"id":"4d55e89931ab77fa","type":"split","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Topic","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"topic","x":1330,"y":180,"wires":[["ba6653977a578b5b"]]},{"id":"ba6653977a578b5b","type":"function","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"Sensory","func":"var topic ='RS485-SOFAR';\nvar idMap = {\n'0': topic+'/Status',\n'1': topic+'/Blad -1',\n'2': topic+'/Blad -2',\n'3': topic+'/Blad -3',\n'4': topic+'/Blad -4',\n'5': topic+'/Blad -5',\n'6': topic+'/Napiecie string 1',\n'7': topic+'/Prad string 1',\n'8': topic+'/Napiecie string 2',\n'9': topic+'/Prad string 2',\n'10': topic+'/Moc string 1',\n'11': topic+'/Moc string 2',\n'12': topic+'/Aktualna moc czynna',\n'13': topic+'/Aktualna moc pozorna',\n'14': topic+'/Czestotliwosc',\n'15': topic+'/Napiecie faza L1',\n'16': topic+'/Prad faza L1',\n'17': topic+'/Napiecie faza L2',\n'18': topic+'/Prad faza L2',\n'19': topic+'/Napiecie faza L3',\n'20': topic+'/Prad faza L3',\n'21': topic+'/Narastająca produkcja',\n'23': topic+'/Czas pracy falownika',\n'24': topic+ '/NIC',\n'25': topic+'/Dzisiejsza energia',\n'26': topic+'/Dzisiejszy czas pracy',\n'27': topic+'/Temperatura modulu',\n'28': topic+'/Temperatura falownika',\n};\n\nmsg.topic = idMap[msg.payload.id];\nmsg.payload = msg.payload.values[0];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1480,"y":180,"wires":[["82a4f926470cb144"]]},{"id":"8b0ccf75bed20721","type":"function","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"gate","func":"if (msg.topic == \"sun\"){\n    context.set(\"Day\", msg.payload);\n    return null;\n}\nif (msg.topic == \"time\"){\n    var gate = context.get(\"Day\") || 0;\n    if (gate ==1){\n        return msg;\n    }\n    else {\n      return null;  \n    }\n}\nreturn null;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":290,"y":180,"wires":[["364d4862b8c1c670"]]},{"id":"1b23e2367906fbef","type":"sunrise","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"","lat":"51.784","lon":"19.299","start":"dawn","end":"sunset","soff":"0","eoff":"40","x":130,"y":80,"wires":[["8b0ccf75bed20721"],[]]},{"id":"f7a0e26d62af508a","type":"inject","z":"1a13f792a3e02171","g":"48cc9a921a31d177","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":false,"onceDelay":0.1,"topic":"time","x":130,"y":280,"wires":[["8b0ccf75bed20721"]]},{"id":"8c10d23c6b3ade63","type":"modbus-client","name":"MODBUS","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"10.0.0.5","tcpPort":"503","tcpType":"TELNET","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"e395f9f9.d86858","type":"mqtt-broker","name":"HAOS Mqqt","broker":"localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]

Dodatkowo przesyłam już gotowca w MQTT


####################################################################################################
##     SofarSolar lokalnie                                                                        ##
##     NodeRed dane pobierane z falownika  RS485-SOFAR				                                    ##
####################################################################################################

#  - 0
- name: "MOD-BUS Status"
  state_topic: "RS485-SOFAR/Status"
  icon: mdi:alert

# 1,2,3,4,5

- name: "MOD-BUS Blad nr 1"
  state_topic: "RS485-SOFAR/Blad -1"
  icon: mdi:alert

- name: "MOD-BUS Blad nr 2"
  state_topic: "RS485-SOFAR/Blad -2"
  icon: mdi:alert

- name: "MOD-BUS Blad nr 3"
  state_topic: "RS485-SOFAR/Blad -3"
  icon: mdi:alert

- name: "MOD-BUS Blad nr 4"
  state_topic: "RS485-SOFAR/Blad -4"
  icon: mdi:alert

- name: "MOD-BUS Blad nr 5"
  state_topic: "RS485-SOFAR/Blad -5"
  icon: mdi:alert

# Sensory prądu stałego

- name: "MOD-BUS napięcie string 1"
  state_topic: "RS485-SOFAR/Napiecie string 1"
  device_class: voltage
  unit_of_measurement: "V"
  icon: mdi:alpha-v-circle-outline

- name: "MOD-BUS napięcie string 2"
  state_topic: "RS485-SOFAR/Napiecie string 2"
  device_class: voltage
  unit_of_measurement: "V"
  icon: mdi:alpha-v-circle-outline

- name: "MOD-BUS prąd string 1"
  state_topic: "RS485-SOFAR/Prad string 1"
  device_class: current
  unit_of_measurement: "A"
  icon: mdi:alpha-a-circle-outline

- name: "MOD-BUS prąd string 2"
  state_topic: "RS485-SOFAR/Prad string 2"
  device_class: current
  unit_of_measurement: "A"
  icon: mdi:alpha-a-circle-outline

- name: "MOD-BUS moc string 1"
  state_topic: "RS485-SOFAR/Moc string 1"
  device_class: power
  unit_of_measurement: "W"
  icon: mdi:alpha-w-circle

- name: "MOD-BUS moc string 2"
  state_topic: "RS485-SOFAR/Moc string 2"
  device_class: power
  unit_of_measurement: "W"
  icon: mdi:alpha-w-circle

# Sensory mocy

- name: "MOD-BUS Aktualna moc"
  state_topic: "RS485-SOFAR/Aktualna moc czynna"
  device_class: power
  unit_of_measurement: "W"
  icon: mdi:alpha-w-circle

- name: "MOD-BUS Aktualna moc pozorna"
  state_topic: "RS485-SOFAR/Aktualna moc pozorna"
  icon: mdi:alpha-w-circle

# Prąd zmienny

- name: "MOD-BUS Napiecie faza L1"
  state_topic: "RS485-SOFAR/Napiecie faza L1"
  device_class: voltage
  unit_of_measurement: "V"
  icon: mdi:alpha-v-circle-outline

- name: "MOD-BUS Napiecie faza L2"
  state_topic: "RS485-SOFAR/Napiecie faza L2"
  device_class: voltage
  unit_of_measurement: "V"
  icon: mdi:alpha-v-circle-outline

- name: "MOD-BUS Napiecie faza L3"
  state_topic: "RS485-SOFAR/Napiecie faza L3"
  device_class: voltage
  unit_of_measurement: "V"
  icon: mdi:alpha-v-circle-outline

- name: "MOD-BUS Prad faza L1"
  state_topic: "RS485-SOFAR/Prad faza L1"
  device_class: current
  unit_of_measurement: "A"
  icon: mdi:alpha-a-circle-outline

- name: "MOD-BUS Prad faza L2"
  state_topic: "RS485-SOFAR/Prad faza L2"
  device_class: current
  unit_of_measurement: "A"
  icon: mdi:alpha-a-circle-outline

- name: "MOD-BUS Prad faza L3"
  state_topic: "RS485-SOFAR/Prad faza L3"
  device_class: current
  unit_of_measurement: "A"
  icon: mdi:alpha-a-circle-outline

- name: "MOD-BUS Czestotliwosc"
  state_topic: "RS485-SOFAR/Czestotliwosc"
  device_class: frequency
  unit_of_measurement: "Hz"
  icon: mdi:sine-wave

# Temperatury

- name: "MOD-BUS Temperatura falownika"
  state_topic: "RS485-SOFAR/Temperatura falownika"
  device_class: temperature
  unit_of_measurement: "°C"
  icon: mdi:thermometer

- name: "MOD-BUS Temperatura modulu"
  state_topic: "RS485-SOFAR/Temperatura modulu"
  device_class: temperature
  unit_of_measurement: "°C"
  icon: mdi:thermometer

# Czasy pracy

- name: "MOD-BUS Czas pracy falownika narastająco"
  state_topic: "RS485-SOFAR/Czas pracy falownika"
  unit_of_measurement: "minuta"
  icon: mdi:clock-time-eight

- name: "MOD-BUS Dzisiejszy czas pracy falownika"
  state_topic: "RS485-SOFAR/Dzisiejszy czas pracy"
  unit_of_measurement: "minuta"
  icon: mdi:clock-time-eight

# Energia

- name: "MOD-BUS Energia dzisiaj"
  state_topic: "RS485-SOFAR/Dzisiejsza energia"
  state_class: total_increasing
  device_class: energy
  unit_of_measurement: "kWh"
  icon: mdi:solar-power

- name: "MOD-BUS Energia narastająco"
  state_topic: "RS485-SOFAR/Narastająca produkcja"
  state_class: total_increasing
  device_class: energy
  unit_of_measurement: "kWh"
  icon: mdi:solar-power

To najbliższa stacja zbierająca takie dane.

Cześć

Czy będzie to chciało współpracować z
https://allegro.pl/oferta/rs485-do-wifi-ethernet-montaz-na-szynie-serwera-13824111252

Edit:

@MariuszAK Cześć, czy to jest jakaś gotowa integracja?

Tak to jeden z wielu sposobów na zintegrowanie falownika z HA. Opisuję jak i czym go zintegrowałem.

Cześć,

Chciałem wykorzystać integracje, którą zrobiłeś u siebie.
Zaciągnąłem wszystko do NodeRED. Komunikacja po RS485 przy pomocy WAVESHARE działa bo widzę odczytywane dane w “Modbus Response”.

Natomiast nie mogę ich wypchnać do Home Assistanta poprzez MQTT.
Brakuje mi zdefiniowanych elementów w NodeRED, które są u Ciebie na screenshocie a które po imporcie w NodeRED nie pojawiają się.

U mnie pojawia się błąd na poziomie “Forward energy” - ewidentnie brakuje zdefiniowanej encji.

Mógłbyś się podzielić się flow w którym masz wypychane dane do HomeAssistant?

To są encje pochodzące z moich liczników energii, generalnie możesz usunąć wszystkie “niebieskie” nody do takiej postaci flow jak niżej (nie są potrzebne w tym flow →

poprawnie skonfiguruj noda mqtt zgodnie ze swoją konfiguracją.
flows (100).json (15,1 KB)

U mnie licznik energii pokazuje energię pobraną i oddaną z sieci a z falownika pobieram dane o produkcji, więc muszę samemu policzyć jaka część zużyta przez DOM pochodzi z PV a jak z sieci.


flows - 2024-04-06T133447.747.json (6,6 KB)

Dziękuje za odpowiedź. Sęk w tym, że ja też mam licznik dwukierunkowy energii, tylko od Shelly, więc jest to ten sam przypadek użycia jak u Ciebie. Dlatego zapytałem o cały Flow w NodeRed - włączając funkcje, które pozwalają Ci policzyć energię z sieci i z PV.

U mnie sensor licznika Shelly, który pokazuje energie całkowitą energie oddaną i pozyskaną jest zdefiniowany jako:

sensor.shellypro3em_0cb815fd3f70_total_active_returned_energy
sensor.shellypro3em_0cb815fd3f70_total_active_energy

Czy w forward energy to energia pozyskana → sensor.shellypro3em_0cb815fd3f70_total_active_energy

a reverse energy to energia oddana/odwrócona/zwrócona do sieci-> sensor.shellypro3em_0cb815fd3f70_total_active_returned_energy

Jeżeli możesz podzielić się całym flow w NodeRed z wyliczeniami to myślę, że resztę sobie zmapuje odpowiednio do encji, które tworzy mój licznik.

Dla wyliczenia zużycia energii przez dom total (sieć + PV) i wyliczenia jaka część z PV została użyta przez dom (autokonsumpcja) używam flow jak wyżej.

Witam serdecznie.
Mam falownik SOFAR 4.4KTL-X próbowałem podłączyć zgodnie z opisem, który jest tu przedstawiony, jednak nic nie jest pobierane z falownika. Prawdopodobnie są inne adresy w stosunku do wersji G3.
Czy bawił się ktoś z kolegów z podłączeniem takiego falownika?? lub może pomóc w ogarnięciu tego tematu? Z góry dziękuję.

Witaj, z którego sposobu korzystałeś ? przez logger czy konwerter ?

Przez konwerter RS485 TO ETH.

W samej rzeczy :slight_smile: Jest na forum obszerny temat o integracji sofara jeśli się przekopiesz to znajdziesz adresacje dla tego falownika. Użyj lupki.

Cześć. Jestem nowy w temacie HA. Potrzebuje małej pomocy jak skonfigurować odczyt z falownika

Posiadam Inwerter SOFAR 6.6 KTLX-G3 oraz zakupiłem Waveshare RS485 TO POE ETH (B).

Z tego co mi wiadomo potrzebuje dodatku NODE-RED i MQTT w HA.

Pobrałem ten plik z pierwszego postu, ale nie wiem, jak to do końca skonfigurować (ogarnąć).

Jak sprawdzić, czy Waveshare komunikuje się z inverterem ?

Z góry dziękuję za pomoc.

Na początek prawidłowo ustawić konwerter zgodnie z rozdz. Modbus TCP Test

Następnie ustawione parametry przepisać w ustawieniach modbus w NR.
Gdy będą problem szukać na forum - prawie wszystko zostało już opisane i nie ma sensu kolejny raz przepisywać :wink:

Jeśli jakiegoś konkretu nie rozumiesz - pytaj zadając precyzyjne pytanie.

OK, zamówiłem Waveshare USB TO RS485 (B).

Po prostu nie wiedziałem, gdzie wpisuje się adres IP i port w Node-Red dla Modbus.

Ale już (po kilku dniach :slight_smile: ) znalazłem.


Link nawiązany — przynajmniej na RS485 TO POE ETH .

Na tą chwilę, nie wygląda jakby była komunikacja między falownikiem, a adapterem RS485 TO POE ETH.

EDIT 1:

Coś się ruszyło:

Wygląda na to, że zostało mi naprawić / skonfigurowac połączenie z MQTT pomiędzy HA a N-R. Może jakaś podpowiedz ?

EDIT 2:

Znalazłem


Zostało mi tylko graficzne przedstawienie tego w HA.