Repository navigation
Can't get modbus working on Flexboss21 #589
Unanswered
michaelahess
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I've wired my rs485 to usb adapter which is plugged into a windows 11 computer.
I have A, B, and Gnd wired up. Here's the topography:
FlexBoss21 Meter port (A+/B-/GND)
│
▼
USB-to-RS485 adapter (Prolific PL2303GC, "ATEN Serial Bridge", VID:PID 067b:23a3)
120Ω termination enabled on the adapter's TX pair
│ USB
▼
Windows PC ("garagesolar", physically near the inverter)
│ USB/IP over LAN (TCP 3240)
▼
Stargate (Ubuntu host running KVM/libvirt, separate physical machine)
making it a local USB device on this host
virsh attach-device) hotplugsthat same USB device directly into a VM
│ USB passthrough
▼
"hass" VM (KVM guest running Home Assistant OS)
usb-Prolific_Technology_Inc._USB-Serial_Controller_CPATb11CN12-if00-port0)
port = that device, baud 19200 / none / 8 / 1, unit ID 1
I have tested from the windows machine directly, and can't get much of anything from the inverter. Here's a summary of what I've gotten out of it:
FlexBoss21: Measurement = CT (what I expect to use long-term, no physical meter, GridBoss handles real CT metering):
Single query (addr 1, func 03/holding registers, 19200 8N1): timeout, zero bytes returned
Same query with DTR/RTS explicitly asserted on the serial port: timeout, zero bytes
Passive listen, 20 seconds, sending nothing at all: zero bytes received
Full sweep — addresses 1 through 20 × function codes 03 and 04 (40 combinations total): zero responses to every single one
Measurement = 0:Meter (Meter Type set to Eastron, no physical meter actually connected):
Passive listen, sending nothing, the inverter transmitted this on its own, repeatedly, cycling through registers:
01 04 00 18 00 02 F1 CC
01 04 00 0C 00 02 B1 C8
01 04 00 1E 00 02 11 CD
01 04 00 46 00 02 90 1E
01 04 00 00 00 02 71 CB
01 04 00 06 00 02 91 CA
01 04 00 12 00 02 D1 CE
01 04 00 48 00 02 F1 DD
01 04 00 4A 00 02 50 1D
Each of those is a valid Modbus RTU frame with a correct CRC — unit address 1, function 04 (read input registers), cycling through different register addresses, 2 registers at a time. This is the inverter acting as a master, itself polling for its configured Eastron meter — not answering as a slave to anyone.
I've tried with inverter set to ct and meter, and both meter brands.
Anybody have any insight? Help would be greatly appreciated!
All reactions