I tried today the python implementation on a Raspberry Pi and it couldn't connect with the batteries. I'm not sue if it is from the cable or some drivers, or the newer batteries JK48V100PRO. Using the same cable from a Windows PC I can connect with PbmsTools and monitor the batteries.
Here is the log from the execution:
Code:
2022-10-24 15:14:04,733:INFO:PylonToMQTT:pylon_mqtt starting up...
2022-10-24 15:14:04,744:INFO:PylonToMQTT:pylonPort = /dev/ttyUSB0
2022-10-24 15:14:04,744:INFO:PylonToMQTT:rackName = Main
2022-10-24 15:14:04,744:INFO:PylonToMQTT:mqttHost = localhost
2022-10-24 15:14:04,744:INFO:PylonToMQTT:mqttPort = 1883
2022-10-24 15:14:04,745:INFO:PylonToMQTT:mqttRoot = PylonToMQTT
2022-10-24 15:14:04,745:INFO:PylonToMQTT:mqttUser = node_red
2022-10-24 15:14:04,745:INFO:PylonToMQTT:mqttPassword = **********
2022-10-24 15:14:04,745:INFO:PylonToMQTT:publishRate = 10
2022-10-24 15:14:04,745:INFO:PylonToMQTT:Connecting with clientId=node_red_mqttclient_221
2022-10-24 15:14:04,745:INFO:PylonToMQTT:Connecting to MQTT localhost:1883
2022-10-24 15:14:04,748:DEBUG:PylonToMQTT:MQTT connected OK Returned code=0
2022-10-24 15:14:04,749:DEBUG:PylonToMQTT:Starting main loop...
2022-10-24 15:14:04,749:DEBUG:PylonToMQTT:Subscribed to PylonToMQTT/Main/cmnd/#
2022-10-24 15:14:16,752:ERROR:PylonToMQTT:Caught Error in periodic
2022-10-24 15:14:16,753:ERROR:PylonToMQTT:invalid literal for int() with base 16: b''
Traceback (most recent call last):
File "/home/pi/PylonToMQTT/PylonToMQTT-main/Python/pylon_to_mqtt.py", line 171, in periodic
number_of_packs = p.get_pack_count().PackCount
File "/home/pi/PylonToMQTT/PylonToMQTT-main/Python/support/pylontech.py", line 143, in get_pack_count
f = self.read_frame()
File "/home/pi/PylonToMQTT/PylonToMQTT-main/Python/support/pylontech.py", line 137, in read_frame
f = self._decode_hw_frame(raw_frame=raw_frame)
File "/home/pi/PylonToMQTT/PylonToMQTT-main/Python/support/pylontech.py", line 121, in _decode_hw_frame
assert got_frame_checksum == int(frame_chksum, 16)
ValueError: invalid literal for int() with base 16: b''
It looks like that the Raspberry Pi doesn't receive any response. I haven't tried the EPS32 version because my ESP board wasn't compatible with the flasher. I have to look for another board and try again in the near future.
I had some problems with the Raspberry Pi also - Graham is working on it . Not sure when you downloaded that , but keep an eye on the github pages since Graham has been working on the fix.
I did get a little bit further along in that my pi did communicate with the battery before I got errors. Here is my log in case it is of some help to you. This is from using stand along method 1.
ast login: Sun Oct 23 21:46:01 2022 from 192.168.3.34
pi@pylontomqtt:~ $ ls
main.zip PylonToMQTT-main
pi@pylontomqtt:~ $ cd PylonToMQTT-main/Code/Python/
pi@pylontomqtt:~/PylonToMQTT-main/Code/Python $ ls
compose-override.yml LICENSE.md support
docker-compose.yml __pycache__ telegraf.conf
Dockerfile pylon_to_mqtt.py
IOTStack_docker-compose.yml README.md
pi@pylontomqtt:~/PylonToMQTT-main/Code/Python $ python3 pylon_to_mqtt.py --pylon _port /dev/ttyUSB0 --rack_name Main --mqtt_host 192.168.3.73 --mqtt_root PylonTo MQTT --publish_rate 5
2022-10-23 22:53:42,093:INFO
ylonToMQTT
ylon_mqtt starting up...
2022-10-23 22:53:42,172:INFO
ylonToMQTT
ylonPort = /dev/ttyUSB0
2022-10-23 22:53:42,176:INFO
ylonToMQTT:rackName = Main
2022-10-23 22:53:42,181:INFO
ylonToMQTT:mqttHost = 192.168.3.73
2022-10-23 22:53:42,186:INFO
ylonToMQTT:mqttPort = 1883
2022-10-23 22:53:42,190:INFO
ylonToMQTT:mqttRoot = PylonToMQTT
2022-10-23 22:53:42,195:INFO
ylonToMQTT:mqttUser =
2022-10-23 22:53:42,200:INFO
ylonToMQTT:mqttPassword = **********
2022-10-23 22:53:42,205:INFO
ylonToMQTT
ublishRate = 5
2022-10-23 22:53:42,210:INFO
ylonToMQTT:Connecting with clientId=_mqttclient_82 3
2022-10-23 22:53:42,216:INFO
ylonToMQTT:Connecting to MQTT
192.168.3.73:1883
2022-10-23 22:53:42,282:DEBUG
ylonToMQTT:MQTT connected OK Returned code=0
2022-10-23 22:53:42,287:DEBUG
ylonToMQTT:Starting main loop...
2022-10-23 22:53:42,296:DEBUG
ylonToMQTT:Subscribed to PylonToMQTT/Main/cmnd/#
2022-10-23 22:53:49,357:DEBUG
ylonToMQTT
ack count: 3
2022-10-23 22:53:54,420:DEBUG
ylonToMQTT:version_info: P16S100A-1B470-1.04
2022-10-23 22:53:56,599:DEBUG
ylonToMQTT:barcode: 1B470102010238D
2022-10-23 22:53:56,605:DEBUG
ylonToMQTT
ublishing: PylonToMQTT/Main/stat/info /Pack1
2022-10-23 22:53:58,691:ERROR
ylonToMQTT:Caught Error in periodic
2022-10-23 22:53:58,696:ERROR
ylonToMQTT:Error in path (parsing) -> NumberOfCel ls
stream read less than specified amount, expected 1, found 0
Traceback (most recent call last):
File "/home/pi/PylonToMQTT-main/Code/Python/pylon_to_mqtt.py", line 186, in pe riodic
ai = p.get_alarm_info(current_pack)
File "/home/pi/PylonToMQTT-main/Code/Python/support/pylontech.py", line 168, i n get_alarm_info
return self.get_alarm_fmt.parse(
f.info[1:])