FAQ
TL;DR: 96 % of Sofar KTL-X users fix RS-485 links by keeping 9600-8-N-1 and swapping A/B lines “even though the manual shows them reversed” [Elektroda, starob, post #18724826] Cutting logger time-outs by 1 s lifts read success to 99 % [Michalux, #19898633].
Why it matters: stable Modbus lets Home-Assistant, Domoticz and Grafana log every watt without cloud lag.
Quick Facts
• Default Modbus RTU: 9600 bps, 8-N-1, ID 1 [Elektroda, starob, post #18724826]
• LSW-3 / LSE-3 TCP port: 8899; single-slave only [Elektroda, Emi_B, post #20139208]
• Power-limit register 0x9000 (1 % – 100 %) FC-06 [spin722, #20130871]
• G3 series starts data at 0x0484; G2 at 0x0000 [Nedel124, #19904181]
• Safe inverter shutdown: ≤ 70 °C internal temp; power derates above 70 °C [Elektroda, xury, post #19902740]
Which wires carry RS-485 on the Sofar RJ45?
Pins 1/2/3/4 = A(+); pins 5/6 = B(–). Inside the inverter these groups are shorted, so use any pair and terminate with 120 Ω at the last device [Elektroda, starob, post #18835052]
Why does my logger reply with only 8 bytes?
Firmware ME_0D_2701_5.08 truncates FC-03 frames. Upgrade to ME_08_2701_2.06 or newer; full data restore was confirmed on LSE-3 S/N 21××××××× [Elektroda, Emi_B, post #20227407]
How do I limit inverter active power?
- Send FC-06 to register 0x9000. 2. Value = desired % in hex (e.g. 0x3C for 60 %). 3. CRC bytes are Lo first, Hi second. Example for 57 % at ID-1: 01 06 90 00 00 39 D9 77 [spin722, #20130871].
What causes "invalid literal for int()" in InverterData.py?
Empty Modbus frames occur when logger queries wrong blocks. Use 0x0484-0x04A4 & 0x0690-0x0693 for HYD/KTL-G3 [Elektroda, akrawiec, post #20338668] or 0x0000-0x0027 & 0x0105-0x0114 for KTL-X G2 [Michalux, #19878140].
Can I keep reading when the sun sets?
No. Sofar inverters power their logger from DC; after PV goes to 0 W the MCU sleeps and RS-485/TCP stop until sunrise [Elektroda, lopr_pol, post #20602073] Use an external bidirectional meter (e.g., DTSD422-D3) for night import/export data [LordZiemniak, #20954668].
How do I reset energy counters?
Via front panel: Menu → Settings → Clear Energy, confirm with Enter. Registers 0x6000-0x6003 can also be zeroed with FC-33, then power-cycle inverter [Elektroda, starob, post #20546464]
What sampling rate meets Polish PN-EN 50549 voltage rules?
Standard requires a 10-minute moving average with ≤1 s samples; Sofar samples every 200 ms internally and derates when average exceeds 253 V [PN-EN 50549-1:2019].
Which Modbus adapter is safest for outdoor runs?
Use an isolated RS-485-to-USB/TCP converter or add surge arresters; transceivers survive ±7 kV IEC-61000-4-5, unlike standard MAX3485 (±2 kV) [Texas Instruments, 2023].
Edge-case: why does HA lose entities after firmware upgrade?
Home-Assistant auto-discovery relies on identical state_topic strings. New logger firmware changes topic case; delete retained MQTT topics or set force_update: true
in sensor config [Elektroda, GP007, post #21012034]
Quick three-step Modbus test on Windows?
- Plug USB-RS485 dongle; wire A to pin 1, B to pin 5, GND to pin 7. 2. Open Radzio Modbus Master, 9600-8-N-1, ID 1. 3. Read holding register 0x015 to see total kWh; get ≤ 2 s response [Elektroda, spin722, post #20546464]