services:
sofar2mqtt:
container_name: sofar2mqtt
image: rpearce/sofar2mqtt-python
restart: unless-stopped
environment:
- MQTT_HOST=192.168.1.202
- MQTT_PORT=1883
- MQTT_USERNAME=XXXXXXXXXXX
- MQTT_PASSWORD= XXXXXXXXXXX
- CONFIG_FILE=SOFAR-HYD-ES-AND-ME3000-SP.json
- TTY_DEVICE=/dev/ttyUSB0
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
sofar2mqtt | 2026-03-19 23:04:57,509 - INFO - Starting sofar2mqtt-python 4.0.1
sofar2mqtt | Traceback (most recent call last):
sofar2mqtt | File "/opt/sofar2mqtt/sofar2mqtt-v2.py", line 1214, in <module>
sofar2mqtt | main()
sofar2mqtt | ~~~~^^
sofar2mqtt | File "/usr/local/lib/python3.14/site-packages/click/core.py", line 1130, in __call__
sofar2mqtt | return self.main(*args, **kwargs)
sofar2mqtt | ~~~~~~~~~^^^^^^^^^^^^^^^^^
sofar2mqtt | File "/usr/local/lib/python3.14/site-packages/click/core.py", line 1055, in main
sofar2mqtt | rv = self.invoke(ctx)
sofar2mqtt | File "/usr/local/lib/python3.14/site-packages/click/core.py", line 1404, in invoke
sofar2mqtt | return ctx.invoke(self.callback, **ctx.params)
sofar2mqtt | ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sofar2mqtt | File "/usr/local/lib/python3.14/site-packages/click/core.py", line 760, in invoke
sofar2mqtt | return __callback(*args, **kwargs)
sofar2mqtt | File "/opt/sofar2mqtt/sofar2mqtt-v2.py", line 1207, in main
sofar2mqtt | sofar = Sofar(daemon, retry, retry_delay, write_retry, write_retry_delay, refresh_interval, broker,
sofar2mqtt | port, username, password, ca_certs, topic, write_topic, log_level, device, legacy_publish)
sofar2mqtt | File "/opt/sofar2mqtt/sofar2mqtt-v2.py", line 72, in __init__
sofar2mqtt | self.raw_data['serial_number'] = self.determine_serial_number()
sofar2mqtt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
sofar2mqtt | File "/opt/sofar2mqtt/sofar2mqtt-v2.py", line 747, in determine_serial_number
sofar2mqtt | serial = part1 + part2
sofar2mqtt | ~~~~~~^~~~~~~
sofar2mqtt | TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
sofar2mqtt exited with code 0
I have a Sofar ME3000 SP, starting sofar2mqtt with docker compose :
And I have this error :
Any idea why this might be?
Thanks !