I’ve no idea what the differences between the python versions are really. Try running it and see? Pretty sure it should either run, or just need minor tweaks.
Hi Darren
I wasn’t sure if you monitored the thread.
I’m using mosquito on sensors in home assistant which run in a python virtual env.
Thats giving some minor problems with downloading with PIP the modules required.
even with sudo its refusing to download at the moment, but as soon as I get that sorted ,I’ll
try ruuning your script and see what happens,
The device is a odroid Xu4 which is an octal core ARM SBC, running ubuntu18.04
thanks for the reply
I implemented a monitor for NodeJS in combination with influxdb.
I only show the output in a grafana graph so no need to store it in different items like shown above.
I have a Solis Wifi dongle. I can see in sceppi’s screen shot that it is from firmware 1.0.1. I am on 1.0.20 and in the general world of progress I seem to have far less. I dont have a test option and I dont have a connection protocol.
I have put in a listening IP & port and verified from another machine on the network that there isnt a local firewall blocking the port and its all fine with the exception of the logger says “not connected” even after it has connected to the ginlong monitor. I have left this for 24 hours (including a very sunny day) and still no connection.
I have tried the above MQTT solution for OpenHAB (really really would love this) and didnt work so went to basics and used nc in Linux and a simply python script and not joy. In all cases I can see there were no attempts from the dongle to open a connection never mind send data.
Hi,
I have a Sofar HYD5000 inverter with attached battery pack. I too have been trying to reverse engineer the comms.
The SolarMan logger sends a variety of packet sizes, the one of most interest is 203 bytes. So far I’ve identified
inverter serial
logger ID
battery charge level
battery temp
sometimes the IP address appears in the packet, leaving me to guess that there are variable fields with flag values to indicate what’s coming next.
I’ve failed miserably so far to identify the two PV strings, voltage and current. Or the grid draw.
I dug around the solarmanpv website in the hope of finding some documentation, but failed to get anything at all.
If anyone’s interested in getting their hands on the source code to the C program I wrote which uses pcap to sniff the traffic, let me know. I run it as a man in the middle sniffer.
Did you have any thoughts about, if this inverter might be communication through the modbus protocol? I cant see its aavilable communications protocols from its specs, but it looks like there is a RS485, Ethernet/WiFi and CAN bus (CAN bus for the battery probably). So perhaps it could be as simple as tcp modbus or RS485 modbus.
I have a Solis 4G and I use rs485 and modbus rtu for comunication. This way you only need a 2$ usb to rs485 plugged in to your Openhab HW and run modbus binding.
Have a Ginlong Solis 4G 3.6 and like to use the second server address. However I have no knowledge about LINUX, Rpi, Python etc. Just a bit about Arduino and ESP8266 (and C). So I have an ESP8266 configured as webserver. The second Solis port is configured with the IP address and port of the ESP8266.
Nothing is being received and the status of “Remote Server B” remains “Not Connected”.
Anybody done this before ? Any suggestions?
Hi KrisG,
I’m having the same issue. I have ver 1.0.23 and server B is showing Not Connected. I setup a SBC (AtomcPi) to listen to the port using the linux NC and nothing is received. I used NMAP from another PC to test the port and it did work, so NC was expecting the signal but the inverter wasn’t sending anything.
I have Sofar inverter but looks like dataloger is same.
Easiest way i found:
Group Sofar_group
Number Sofar_power (Sofar_group) {http=“<[http://X.X.X.X/status.html{Authorization=Basic abcabcabc}:60000:REGEX(.var\swebdata_now_p.{4}(\d).)]“}
Number Sofar_energy_today (Sofar_group) {http=”<[http://X.X.X.X/status.html{Authorization=Basic abcabcabc}:300000:REGEX(.var\swebdata_today_e.{4}(\d.\d).)]“}
Number Sofar_energy_total (Sofar_group) {http=”<[http://X.X.X.X/status.html{Authorization=Basic abcabcabc}:1200000:REGEX(.var\swebdata_total_e.{4}(\d.\d).*)]”}
Needs http binding and REGEX transform.
Replace X.X.X.X with your IP and abcabcabc with your user:passwor encoded (instruction in http binding)
Then you can use persistence to store and display data. (i am using infuxdb + graphana)
I am capturing the data from my Solis using a TCP node in NodeRed because there is currently no TCP binding in OH3 to receive the data as a “second server”.
Roughly this is the way it works:
Set the second server in the inverter to the IP of the NodeRed server with a static port number.
Configure a TCP node in NodeRed to capture the data from the inverter.
Configure an item node in NodeRed to send the data to openHAB.
Process the incoming data with a rule which updates the items.
Items I have are:
Solar generation
AC voltage and current
Frequency
DC voltage and current
Generation today
Total generation
Internal temperature
There are probably others in the data but not of significant interest.
A TCP binding would mean not having to use NodeRed.
Hi,
Thanks for interesting solution…
I’m using OH2.5. I’ve installed http bindings, regex transformations.
I’ve copied your code to sofar.items and and can’t get any item…
I’ve encoded username:pass and have chaned IP…
In openhab.log I can find:
[WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model ‘sofar.items’ has errors, therefore ignoring it: [2,40]: mismatched character ‘s’ expecting set null
[2,147]: mismatched input ‘webdata_now_p’ expecting RULE_STRING
[2,164]: missing EOF at ‘(’
[4,47]: mismatched character ‘s’ expecting set null
[4,186]: mismatched character ‘’ expecting ‘"’
I’ve tried to update informations, made some changes, have read documentation and nothing helped…
Is it possible, that sofar is offline at this moment and can’t get anything?
Something wrong with your configuration in that file.
Have you ever made an xxx.items file before? Some editors include characters that are not wanted. Be sure to use encoding UTF-8 and linux style newline, not windows style carriage return + newline.
Otherwise, let’s see the first few lines of your solar.items file.
Hello Chris,
Strange things, when i am copying text to forum (both ways directly and through quotation) it removes some chars from text. I cant solve it. Please find full correct text via picture: