Comments (9)
You should use the BMS485 port on a 5kW, guess its the same on the 8kW
refer to the homepage for other connectivity tips
from sunsynk.
Thanks @kellerza I wasn't aware of that, I'm a little lost here, do you perhaps have an image of the BMS485 port you're referring to?
I can only see the RS485, CAN and DRMs
from sunsynk.
Ok, 8kW seems to be RS485
Have you gone through these steps? https://github.com/kellerza/sunsynk#fault-finding
from sunsynk.
Going through the fault finding section now 🤔 I'll report back shortly with results
from sunsynk.
So after some tinkering and playing around with the modbus S/N I managed to get a different response along with a different adapter all together:
s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2022-08-28 17:46:09,408 INFO Loading HASS OS configuration
2022-08-28 17:46:09,569 DEBUG last unit:kWh, id:total_pv_power
2022-08-28 17:46:09,570 DEBUG last unit:kWh, id:total_battery_charge
2022-08-28 17:46:09,570 DEBUG last unit:kWh, id:total_battery_discharge
2022-08-28 17:46:09,571 DEBUG last unit:kWh, id:total_grid_export
2022-08-28 17:46:09,572 DEBUG last unit:kWh, id:total_grid_import
2022-08-28 17:46:09,573 DEBUG last unit:%, id:battery_soc
2022-08-28 17:46:09,574 DEBUG step unit:W, id:grid_power
2022-08-28 17:46:09,575 DEBUG avg unit:V, id:grid_voltage
2022-08-28 17:46:09,576 DEBUG step unit:W, id:load_power
2022-08-28 17:46:09,577 DEBUG step unit:W, id:essential_power
2022-08-28 17:46:09,578 DEBUG step unit:W, id:non_essential_power
2022-08-28 17:46:09,579 DEBUG step unit:W, id:pv1_power
2022-08-28 17:46:09,580 DEBUG step unit:W, id:pv2_power
2022-08-28 17:46:09,581 DEBUG step unit:W, id:battery_power
2022-08-28 17:46:09,582 DEBUG step unit:A, id:battery_current
2022-08-28 17:46:09,582 DEBUG avg unit:V, id:battery_voltage
2022-08-28 17:46:09,583 DEBUG last unit:kWh, id:day_grid_import
2022-08-28 17:46:09,584 DEBUG last unit:kWh, id:day_grid_export
2022-08-28 17:46:09,585 DEBUG last unit:kWh, id:day_pv_energy
2022-08-28 17:46:09,586 DEBUG last unit:kWh, id:day_battery_charge
2022-08-28 17:46:09,587 DEBUG last unit:kWh, id:day_battery_discharge
2022-08-28 17:46:09,588 INFO Filter *last used for battery_soc, day_battery_charge, day_battery_discharge, day_grid_export, day_grid_import, day_pv_energy, total_battery_charge, total_battery_discharge, total_grid_export, total_grid_import, total_pv_power
2022-08-28 17:46:09,588 INFO Filter *step used for battery_current, battery_power, essential_power, grid_power, load_power, non_essential_power, pv1_power, pv2_power
2022-08-28 17:46:09,589 INFO Filter *avg used for battery_voltage, grid_voltage
2022-08-28 17:46:09,591 DEBUG Using selector: EpollSelector
2022-08-28 17:46:09,594 DEBUG Connecting.
2022-08-28 17:46:09,604 DEBUG Get address info pop-os.lan:502, type=<SocketKind.SOCK_STREAM: 1>
2022-08-28 17:46:09,640 DEBUG Getting address info pop-os.lan:502, type=<SocketKind.SOCK_STREAM: 1> took 33.963ms: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, 'pop-os.lan', ('192.168.8.184', 502))]
2022-08-28 17:46:09,656 DEBUG Client connected to modbus server
2022-08-28 17:46:09,657 INFO Protocol made connection.
2022-08-28 17:46:09,660 DEBUG <asyncio.TransportSocket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('172.30.33.3', 44406), raddr=('192.168.8.184', 502)> connected to pop-os.lan:502: (<_SelectorSocketTransport fd=8 read=polling write=<idle, bufsize=0>>, <pymodbus.client.asynchronous.async_io.ModbusClientProtocol object at 0x7f87a8bc40>)
2022-08-28 17:46:09,661 INFO Connected to pop-os.lan:502.
2022-08-28 17:46:09,668 DEBUG send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:09,673 DEBUG Adding transaction 1
2022-08-28 17:46:10,202 DEBUG recv: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:10,203 DEBUG Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:10,204 DEBUG Factory Response[ReadHoldingRegistersResponse: 3]
2022-08-28 17:46:10,205 DEBUG Getting transaction 1
2022-08-28 17:46:10,209 WARNING Did not complete read, only read 0/5
2022-08-28 17:46:10,210 DEBUG Request registers: [3, 4, 5, 6, 7] glen=5. Response [] len=0. regs={}
2022-08-28 17:46:10,213 INFO ############################################################
2022-08-28 17:46:10,214 INFO Inverter serial number 'None'
2022-08-28 17:46:10,215 INFO ############################################################
2022-08-28 17:46:10,215 INFO ############################################################
2022-08-28 17:46:10,216 INFO SUNSYNK_ID should be set to the serial number of your Inverter!
2022-08-28 17:46:10,217 INFO ############################################################
2022-08-28 17:46:10,220 DEBUG Close <_UnixSelectorEventLoop running=False closed=False debug=True>
[cmd] ./run.py exited 0
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
28 Aug 2022 17:55:21 mbusd-0.5.1 started...
28 Aug 2022 17:55:21 tty: trying to open /dev/ttyUSB1 (speed 9600 mode 8N1)
28 Aug 2022 17:55:21 tty: state now is TTY_PAUSE
28 Aug 2022 17:55:21 conn_loop(): select(): max_sd = 4, t_out = 000000:100000
28 Aug 2022 17:55:21 conn_loop(): select() returns 0
28 Aug 2022 17:55:21 tty: state now is TTY_READY
28 Aug 2022 17:55:21 conn_loop(): select(): max_sd = 4, t_out = 000060:000000
28 Aug 2022 17:55:33 conn_loop(): select() returns 1
28 Aug 2022 17:55:33 conn_open(): accepting connection from 192.168.8.148
28 Aug 2022 17:55:33 queue_new_elem(): length now is 1
28 Aug 2022 17:55:33 conn[192.168.8.148]: state now is CONN_HEADER
28 Aug 2022 17:55:33 conn_loop(): select(): max_sd = 5, t_out = 000060:000000
28 Aug 2022 17:55:33 conn_loop(): select() returns 1
28 Aug 2022 17:55:33 conn[192.168.8.148]: state now is CONN_RQST_FUNC
28 Aug 2022 17:55:33 conn_loop(): select(): max_sd = 5, t_out = 000060:000000
28 Aug 2022 17:55:33 conn_loop(): select() returns 1
28 Aug 2022 17:55:33 conn[192.168.8.148]: read request fc 3
28 Aug 2022 17:55:33 conn[192.168.8.148]: state now is CONN_RQST_TAIL
28 Aug 2022 17:55:33 conn[192.168.8.148]: request: [01][03][00][03][00][05]
28 Aug 2022 17:55:33 conn[192.168.8.148]: state now is CONN_TTY
28 Aug 2022 17:55:33 tty: state now is TTY_RQST
28 Aug 2022 17:55:33 conn_loop(): select(): max_sd = 4, t_out = 000060:000000
28 Aug 2022 17:55:33 conn_loop(): select() returns 1
28 Aug 2022 17:55:33 tty: written 8 bytes
28 Aug 2022 17:55:33 tty: request written (total 8 bytes)
28 Aug 2022 17:55:33 tty: state now is TTY_RESP
28 Aug 2022 17:55:33 tty: estimated 15 bytes, waiting 523958 usec
28 Aug 2022 17:55:33 conn_loop(): select(): max_sd = 4, t_out = 000000:523958
28 Aug 2022 17:55:33 conn_loop(): select() returns 1
28 Aug 2022 17:55:33 tty: read 8 bytes
28 Aug 2022 17:55:33 tty: rx offset is 0
28 Aug 2022 17:55:33 tty: rx len changed from 15 to 5
28 Aug 2022 17:55:33 tty: read 8 bytes of 5, offset 0
28 Aug 2022 17:55:33 conn_loop(): select(): max_sd = 4, t_out = 000000:510791
28 Aug 2022 17:55:34 conn_loop(): select() returns 0
28 Aug 2022 17:55:34 tty: response read (total 8 bytes, offset 0 bytes)
28 Aug 2022 17:55:34 tty: response is correct
28 Aug 2022 17:55:34 tty: response: [01][03][00][03][00][05][75][c9]
28 Aug 2022 17:55:34 conn[192.168.8.148]: state now is CONN_RESP
28 Aug 2022 17:55:34 tty: state now is TTY_PAUSE
28 Aug 2022 17:55:34 conn_loop(): select(): max_sd = 5, t_out = 000000:100000
28 Aug 2022 17:55:34 conn_loop(): select() returns 1
28 Aug 2022 17:55:34 conn[192.168.8.148]: state now is CONN_HEADER
28 Aug 2022 17:55:34 conn_loop(): select(): max_sd = 5, t_out = 000000:099849
28 Aug 2022 17:55:34 conn_loop(): select() returns 0
28 Aug 2022 17:55:34 tty: state now is TTY_READY
28 Aug 2022 17:55:34 conn_loop(): select(): max_sd = 5, t_out = 000060:000000
28 Aug 2022 17:55:34 conn_loop(): select() returns 1
28 Aug 2022 17:55:34 conn_close(): closing connection from 192.168.8.148
28 Aug 2022 17:55:34 queue_delete_elem(): length now is 0
28 Aug 2022 17:55:34 conn_loop(): select(): max_sd = 4, t_out = 000060:000000
Config:
PORT: pop-os.lan:502
DRIVER: pymodbus
SUNSYNK_ID: "21070XXXXX"
SENSOR_PREFIX: sunsynk
SENSORS:
- total_pv_power
- total_battery_charge
- total_battery_discharge
- total_grid_export
- total_grid_import
- battery_soc
- grid_power
- grid_voltage
- load_power
- essential_power
- non_essential_power
- pv1_power
- pv2_power
- battery_power
- battery_current
- battery_voltage
- day_grid_import
- day_grid_export
- day_pv_energy
- day_battery_charge
- day_battery_discharge
PROFILES: []
MODBUS_SERVER_ID: 1
MQTT_HOST: core-mosquitto
MQTT_PORT: ######
MQTT_USERNAME: ######
MQTT_PASSWORD: ######
DEBUG: 2
TIME_OUT: 25
from sunsynk.
Hi @wax911
You are not getting a (proper) response from the inverter...
Looking at this transaction
2022-08-28 17:46:09,661 INFO Connected to pop-os.lan:502.
2022-08-28 17:46:09,668 DEBUG send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:09,673 DEBUG Adding transaction 1
2022-08-28 17:46:10,202 DEBUG recv: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:10,203 DEBUG Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
2022-08-28 17:46:10,204 DEBUG Factory Response[ReadHoldingRegistersResponse: 3]
2022-08-28 17:46:10,205 DEBUG Getting transaction 1
2022-08-28 17:46:10,209 WARNING Did not complete read, only read 0/5
2022-08-28 17:46:10,210 DEBUG Request registers: [3, 4, 5, 6, 7] glen=5. Response [] len=0. regs={}
2022-08-28 17:46:10,213 INFO ############################################################
2022-08-28 17:46:10,214 INFO Inverter serial number 'None'
For some reason you read exactly what you send!
...
2022-08-28 17:46:09,668 DEBUG send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
...
2022-08-28 17:46:10,202 DEBUG recv: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0x0 0x3 0x0 0x5
...
So are you sure you wired it up correctly?
from sunsynk.
btw, what do you wire up? GND, A & B?
from sunsynk.
No idea why that happening to be honest, I've checked my connection multiple times and it's the same. I originally had only A & B tried with GND as well but to no success
I have resorted to using a WiFi data logger in conjunction with the home assistant solarman integration 😅 thanks for the support thus far, really appreciate it!
from sunsynk.
You could maybe try swapping A&B. Really strange to get an echo... it almost seems like you have A&B bridged!
If you ever decide to try it again feel free to reach out.
from sunsynk.
Related Issues (20)
- Essential Power MathSensor isn't working properly HOT 7
- Number: Set SS Prog 123456 Capacity - Not allowed via Call Service (Number.Set) HOT 5
- Timeouts / addon stops working HOT 5
- Timeouts when using usr-tcp232-410s, but not when using USB HOT 20
- Total Grid Import: Does not match with actual grid import HOT 12
- Signed value handling in RW sensors HOT 9
- Sunsynk Ecco 3.6kWh hybrid inverter rs485 port HOT 2
- Not really an issue, but a feature request HOT 3
- Writing any value to prog1_voltage etc results in a setting of ~0V HOT 1
- Crash when changing battery charge settings HOT 30
- Unknown sensor in config: inverter_current HOT 1
- Sunsynk Power Flow Card | 404 Error for repo link HOT 1
- add-on installation trouble HOT 10
- Slow update of RW sensors HOT 5
- Make strings translateable HOT 2
- Id_entity HOT 10
- max limit for max charge and discharge current HOT 2
- Crash after updating HA to 2023.8.2 HOT 4
- Connection reset by peer HOT 4
- grid_connected sensor showing problem HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sunsynk.