Git Product home page Git Product logo

Comments (9)

kellerza avatar kellerza commented on June 18, 2024 1

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.

wax911 avatar wax911 commented on June 18, 2024

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.

kellerza avatar kellerza commented on June 18, 2024

Ok, 8kW seems to be RS485

Have you gone through these steps? https://github.com/kellerza/sunsynk#fault-finding

from sunsynk.

wax911 avatar wax911 commented on June 18, 2024

Going through the fault finding section now 🤔 I'll report back shortly with results

from sunsynk.

wax911 avatar wax911 commented on June 18, 2024

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.

kellerza avatar kellerza commented on June 18, 2024

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.

kellerza avatar kellerza commented on June 18, 2024

btw, what do you wire up? GND, A & B?

from sunsynk.

wax911 avatar wax911 commented on June 18, 2024

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.

kellerza avatar kellerza commented on June 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.