Programmatically read data from your Solar Inverter (Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta etc) and interface with Home Assistant via MQTT - Works with RS232 & USB!

HI @tcapanna - As mentioned by @wax911, your best bet is to change the interval of the ‘watch’ command to every say 5 or 10 seconds - I set it to 30 by default so you don’t fill up your DB as it transmits a fair bit more data than a simple on/off state.

I think perhaps what might be smart is modifying the script to check if the data has changed (it could run every 1-2 seconds then) and only updating the MQTT topic if the data changed from the last time the script ran - This way you won’t be flooding HA with the same ‘previous value’ - Feel free to submit a PR if you want to try and implement it - If we do go down this route, we need to store the ‘previous state’ in memory and not a file on disk - so we don’t burn out our SD card’s in our PI’s.

Thank you @ned-kelly, of course it would be very interesting to implement the script in this way.

I have already tried to implement the watch command interval at 15 - 10 and 5 seconds, the result is that the transmissions are made in a completely inconstant timing and very random way, sometimes I have 2/3 consecutive transmissions at a distance of 15 seconds and maybe after 2/3 at a distance of one minute from each other.

I also tried to limit the number of data that is passed through the script, thinking that maybe it was too much and that’s why it couldn’t run it quickly, reducing it to about ten values, such as power consumption in Watts, V AC variation and a few others, but the problem persists.

I believe that the project you have created is unique and very, very useful for Inverter owners who can read the data clearly and easily directly in HA. However, at least for my home use, I need to be able to increase the number of transmissions in a regular way so that I can then act through the automations on the devices in the house.

I apologize for my English, which in many cases has some errors :slight_smile:

1 Like

I see what you mean. From the tests I’ve done the inverter_poller takes ~2 seconds on a Pi 4 running buster lite to poll from the inverter, while the module jq is pretty fast when called multiple times recreating an instance of itself each time results in an additional 3 ~ 5 seconds penalty in this particular case where we have to extract each property value from the output of inverter_poller.

Anyways I think it’s probably wise to first know how long each run takes to finish publishing on average since another bottle neck is probably the serial connection (I think all the voltronic inverters are limmited to a baud rate of 2400). In my case I know that each run takes ~7 - 8 seconds so I know that I can’t have the watch command invoking inverter_poller any faster than that. Perhaps using something like paho.mqtt or the existing mosqitto_pub directly in the application may yield better results but might require a significant amount of work

@wax911 For my tests I’m using a raspberry Pi 2, connected via USB - USB because as I said in my previous posts I couldn’t connect it via USB - Serial RS232, I can’t get back the values.

Anyway the problem is actually the lack of continuity when you lower the value at the watch command, the problem is also present if lowering the reading value at the serial, when all goes well there is a transmission every 15~20 seconds, it often freezes and makes a transmission after about one minute.

@wax911maybe the RS232 is more faster than the direct USB connection for value reading?

I could try with a USB to RS232 connection, but then as I said in the posts above I can’t get a reading of the values, in this way I could certainly have a definitive result…considering that software like WatchPower have a refresh rate of few seconds via USB - RS232 at that point the problem could be only in the script or in the mqtt client on the raspberry.

However, the problem is not having a refresh every 15 seconds, which may also be acceptable when having constant updates.It cannot be that every 2/3 updates of 15 seconds there is a block for 1 minute before the next transmission.

> # Use: /dev/ttyS0 if you have a serial device,
> #      /dev/ttyUSB0 if a USB<>Serial,
> #      /dev/hidraw0 if you're connecting via the USB port on the inverter.
> 
> device=/dev/ttyUSB0
> 
> # How many times per hour is the program going to run...
> # This is used to calculate the PV & Load Watt Hours between runs...
> # If unsure, leave as default - it will run every minute...
> 
> # (120 = every 30 seconds)...
> run_interval=1
> 
> # This allows you to modify the amperage in case the inverter is giving an incorrect
> # reading compared to measurement tools.  Normally this will remain '1'
> amperage_factor=1.0
> 
> # This allows you to modify the wattage in case the inverter is giving an incorrect
> # reading compared to measurement tools.  Normally this will remain '1'
> watt_factor=1.01
> 
> 
> # The following settings allow you to modify runtime buffers.
> # N.B. These values may not be applicable to all inverter types, as such you will 
> # need t
> Sat Apr  4 15:10:42 2020 INVERTER: Current CRC: B7 A9
> Sat Apr  4 15:10:45 2020 INVERTER: QPIGS read timeout
> Sat Apr  4 15:10:45 2020 INVERTER: QPIGS reply too short (9 bytes)
> Sat Apr  4 15:10:45 2020 INVERTER: Current CRC: F8 54
> Sat Apr  4 15:10:48 2020 INVERTER: QPIRI read timeout
> Sat Apr  4 15:10:48 2020 INVERTER: QPIRI reply too short (1 bytes)
> Sat Apr  4 15:10:48 2020 INVERTER: Current CRC: B4 DA
> Sat Apr  4 15:10:51 2020 INVERTER: QPIWS read timeout
> Sat Apr  4 15:10:51 2020 INVERTER: QPIWS reply too short (6 bytes)
> Sat Apr  4 15:10:56 2020 INVERTER: Current CRC: 49 C1
> Sat Apr  4 15:10:56 2020 INVERTER: QMOD reply size (5 bytes)
> uration options for the actual inverter polling process...top bytes.  Buffer: (NAKs�
> 
> # The device to read from...
> # Use: /dev/ttyS0 if you have a serial device,
> #      /dev/ttyUSB0 if a USB<>Serial,
> #      /dev/hidraw0 if you're connecting via the USB port on the inverter.
> 
> device=/dev/ttyUSB0
> 
> # How many times per hour is the program going to run...
> # This is used to calculate the PV & Load Watt Hours between runs...
> # If unsure, leave as default - it will run every minute...
> 
> # (120 = every 30 seconds)...
> run_interval=1
> 
> # This allows you to modify the amperage in case the inverter is giving an incorrect
> # reading compared to measurement tools.  Normally this will remain '1'
> amperage_factor=1.0
> 
> # This allows you to modify the wattage in case the inverter is giving an incorrect
> # reading compared to measurement tools.  Normally this will remain '1'
> watt_factor=1.01
> 
> 
> # The following settings allow you to modify runtime buffers.
> # N.B. These values may not be applicable to all inverter types, as such you will 
> # need t
> Sat Apr  4 15:10:56 2020 INVERTER: Current CRC: B7 A9

The problem here is that the inverter can take time to respond on some commands - which is why it takes a while for you to get the results… Your best bet might be to check your firmware versions and upgrade it if you’re using an older firmware version since I remember it being a bit buggy when making the status queries.

That’s not entirely true - Watchpower only gets the main status query every few seconds and other commands such as the system cutoff voltage, battery float levels etc are not fetched in the same query - From memory it’s only the qpiri command that’s fetched every second or so…

You’re going to have to modify the code to only return the qpiri command, and not qpiws, qmod, and qpigs - Which technically should make the whole process 3-4x faster than it currently is.

Hope that helps.

Thanks for the information, it seems to me that I have to intervene both on main.cpp and inverter.cpp to make them read only the string related to the QPIRI, is that correct?

Hi Ned, thanks for this! I am running a 2.4kW 24v version of this inverter. It reads into WatchPower as well. Got my installation up and running and now looking at output from

sudo docker exec -it voltronic-mqtt bash -c ‘/opt/inverter-cli/bin/inverter_poller -d -1’

giving me this

Wed Apr 8 12:25:53 2020 INVERTER: Current CRC: B7 A9
Wed Apr 8 12:25:56 2020 INVERTER: QPIGS read timeout
Wed Apr 8 12:25:56 2020 INVERTER: QPIGS reply too short (7 bytes)
Wed Apr 8 12:25:56 2020 INVERTER: Current CRC: F8 54
Wed Apr 8 12:25:59 2020 INVERTER: QPIRI read timeout
Wed Apr 8 12:25:59 2020 INVERTER: QPIRI reply too short (7 bytes)
Wed Apr 8 12:25:59 2020 INVERTER: Current CRC: B4 DA
Wed Apr 8 12:26:02 2020 INVERTER: QPIWS read timeout
Wed Apr 8 12:26:02 2020 INVERTER: QPIWS reply too short (7 bytes)
Wed Apr 8 12:26:07 2020 INVERTER: Current CRC: 49 C1
Wed Apr 8 12:26:07 2020 INVERTER: QMOD reply size (5 bytes)
configuration options for the actual inverter polling process…tes. Buffer: (NAKs?

I have changed values on inverter.conf to:

qpiri=7
qpigs=7
qpiws=7
qmod=5

Used sudo docker-compose down and then sudo docker-compose up --build -d but still getting the same messages.

Yep correct

Can you try and set it to the following for the 24v version:

qpiri=97

# This allows you to modify the buffersize for the qpiws command
qpiws=36

# This allows you to modify the buffersize for the qmod command
qmod=5

# This allows you to modify the buffersize for the qpigs command
qpigs=110

Still the same result:

Thu Apr  9 08:32:05 2020 INVERTER: Current CRC: B7 A9
Thu Apr  9 08:32:08 2020 INVERTER: QPIGS read timeout
Thu Apr  9 08:32:08 2020 INVERTER: QPIGS reply too short (7 bytes)
Thu Apr  9 08:32:08 2020 INVERTER: Current CRC: F8 54
Thu Apr  9 08:32:11 2020 INVERTER: QPIRI read timeout
Thu Apr  9 08:32:11 2020 INVERTER: QPIRI reply too short (7 bytes)
Thu Apr  9 08:32:11 2020 INVERTER: Current CRC: B4 DA
Thu Apr  9 08:32:14 2020 INVERTER: QPIWS read timeout
Thu Apr  9 08:32:14 2020 INVERTER: QPIWS reply too short (7 bytes)
Thu Apr  9 08:32:19 2020 INVERTER: Current CRC: 49 C1
Thu Apr  9 08:32:19 2020 INVERTER: QMOD reply size (5 bytes)
NAKsspr  9 08:32:19 2020 INVERTER: QMOD: incorrect start/stop bytes.  Buffer: (NAKs?
uration options for the actual inverter polling process...

This is what I see with a serial monitor:

QMODIÁ
(L…
QPIGS·©
(231.0 50.0 231.0 50.0 0000 0000 000 440 27.60 000 100 0368 0000 000.0 00.00 00000 10011101 03 08 00000 100º•
QPGS0?Ú
QPGS0?Ú
QPIWS´Ú
(00000000000000000000000000000000ëä

Hi @jaqkar,

Did you ever end up sorting this out?

Another thought - if you’re using Serial rather than USB, you may need to set the baud rate (You shouldn’t see those characters at the end of each line like you posted with the serial monitor) - Can you try running /dev/ttyUSB0 2400 raw (You may need to change the device if you’re not using a “serial2usb dongle”) and then restarting the docker container?

Cheers,

Got it working with 5048 inverter model. Setup is orange pi zero - armbian - usb<>serial. Had to change qpiri to 98.

Edit: I executed the same command again today, and it’s working, was probably a buffer on the USB-Serial that had some unread data in it.

Hi all, I have a problem that I can’t seem to figure out. Every time I run sudo ./inverter_poller -d -1, I get different results:

Mon Apr 20 16:56:43 2020 INVERTER: Current CRC: 49 C1
Mon Apr 20 16:56:43 2020 INVERTER: QMOD reply size (5 bytes)
Mon Apr 20 16:56:43 2020 INVERTER: QMOD: 5 bytes read: (L
Mon Apr 20 16:56:43 2020 INVERTER: QMOD query finished
Mon Apr 20 16:56:43 2020 INVERTER: Current CRC: B7 A9
Mon Apr 20 16:56:46 2020 INVERTER: QPIGS read timeout
Mon Apr 20 16:56:46 2020 INVERTER: QPIGS reply too short (85 bytes)
Mon Apr 20 16:56:46 2020 INVERTER: Current CRC: F8 54
Mon Apr 20 16:56:49 2020 INVERTER: QPIRI read timeout
Mon Apr 20 16:56:49 2020 INVERTER: QPIRI reply too short (79 bytes)
Mon Apr 20 17:13:08 2020 INVERTER: Current CRC: 49 C1
Mon Apr 20 17:13:08 2020 INVERTER: QMOD reply size (5 bytes)
Mon Apr 20 17:13:08 2020 INVERTER: QMOD: 5 bytes read: (L
Mon Apr 20 17:13:08 2020 INVERTER: QMOD query finished
Mon Apr 20 17:13:08 2020 INVERTER: Current CRC: B7 A9
Mon Apr 20 17:13:11 2020 INVERTER: QPIGS read timeout
Mon Apr 20 17:13:11 2020 INVERTER: QPIGS reply too short (69 bytes)
Mon Apr 20 17:13:11 2020 INVERTER: Current CRC: F8 54
Mon Apr 20 17:13:14 2020 INVERTER: QPIRI read timeout
Mon Apr 20 17:13:14 2020 INVERTER: QPIRI reply too short (84 bytes)

I used WatchPower for comparison and the logs are as follows:

QMOD: [2020-04-20 15:26:18](L
QPIGS: [2020-04-20 15:26:17](237.3 49.8 237.3 49.8 0949 0827 020 435 54.00 000 100 0050 0000 000.0 00.00 00000 00010101 00 00 00000 110
QPIRI: [2020-04-20 15:26:18](230.0 21.7 230.0 50.0 21.7 5000 4000 48.0 48.0 47.5 54.0 54.0 2 20 020 1 0 2 6 01 0 0 51.0 0 1

I don’t understand why I am getting different size results every time I run the command.

@NeilDuToit92 - This looks like some of the bugs I saw last year with the older firmware loaded on the inverter

Heads up WatchPower actually sets the serial baud rate etc each time it connects - This setup only does it when the container loads which can sometimes fail…

Make sure you’ve

  • Set the Baud Rate to 2400 and RAW if you’re using Serial (try do it directly on the host and not within the container) - I ended up adding this in as a cron-job on boot…
  • Looking at the log - Change your QPIRI, and QPIGS based on previous comments for either the 24 or 48v versions.
  • Potentially try and reboot the inverter (power it off/on) and see if that clears things up after fixing your config (if the issues happen again – I found that I had to reboot the inverter every 6 months or so before I upgraded my firmware because the serial was a bit buggy)
  • Try and upgrade your firmware to the latest versions (if your game) - http://forums.aeva.asn.au/viewtopic.php?t=4332

Has anyone gotten this to work on the Voltronic Infinisolar 3KW Plus 48V hybrid inverter sometimes rebranded by ReneSola as a Replus or better known as a Growatt 3000 HY

I installed the software but its definitely not reading the infinisolar responses correctly. My understanding is that the hybrid inverter uses the same protocol as the axperts but that the CRC isnt sent to the inverter when requesting information, only when changing settings

When I query the inverter i get the following:

pi@raspberrypi:~ $ docker exec -it voltronic-mqtt /bin/bash
root@3890fb9fbb27:/opt# /opt/inverter-cli/bin/inverter_poller -d -1
Tue Apr 21 17:38:08 2020 INVERTER: Debug set
Tue Apr 21 17:38:08 2020 INVERTER: Current CRC: 49 C1
Tue Apr 21 17:38:08 2020 INVERTER: QMOD reply size (5 bytes)
Tue Apr 21 17:38:08 2020 INVERTER: QMOD: incorrect start/stop bytes. Buffer: (N configuration options for the actual inverter polling process…

# The device to read from…

# Use: /dev/ttyS0 if you have a serial device,

# /dev/ttyUSB0 if a USB<>Serial,

# /dev/hidraw0 if you’re connecting via the USB port on the inverter.

device=/dev/hidraw0

# How many times per hour is the program going to run…

# This is used to calculate the PV & Load Watt Hours between runs…

# If unsure, leave as default - it will run every minute…

# (120 = every 30 seconds)…

run_interval=240

# This allows you to modify the amperage in case the inverter is giving an incorrect

# reading compared to measurement tools. Normally this will remain ‘1’

amperage_factor=1.0

# This allows you to modify the wattage in case the inverter is giving an incorrect

# reading compared to measurement tools. Normally this will remain ‘1’

watt_factor=1.01

# The following settings allow you to modify runtime buffers.

# N.B. These values may not be applicable to all inverter types, as such you will

# need

Tue Apr 21 17:38:08 2020 INVERTER: Current CRC: B7 A9
Tue Apr 21 17:38:11 2020 INVERTER: QPIGS read timeout
Tue Apr 21 17:38:11 2020 INVERTER: QPIGS reply too short (8 bytes)
Tue Apr 21 17:38:11 2020 INVERTER: Current CRC: F8 54
Tue Apr 21 17:38:14 2020 INVERTER: QPIRI read timeout
Tue Apr 21 17:38:14 2020 INVERTER: QPIRI reply too short (8 bytes)
Tue Apr 21 17:38:14 2020 INVERTER: Current CRC: B4 DA
Tue Apr 21 17:38:17 2020 INVERTER: QPIWS read timeout
Tue Apr 21 17:38:17 2020 INVERTER: QPIWS reply too short (8 bytes)
Tue Apr 21 17:38:22 2020 INVERTER: Current CRC: 49 C1
Tue Apr 21 17:38:22 2020 INVERTER: QMOD reply size (5 bytes)
Tue Apr 21 17:38:22 2020 INVERTER: QMOD: incorrect start/stop bytes. Buffer: (N AKs▒
Tue Apr 21 17:38:22 2020 INVERTER: Current CRC: B7 A9
Tue Apr 21 17:38:25 2020 INVERTER: QPIGS read timeout
Tue Apr 21 17:38:25 2020 INVERTER: QPIGS reply too short (8 bytes)
Tue Apr 21 17:38:25 2020 INVERTER: Current CRC: F8 54
Tue Apr 21 17:38:28 2020 INVERTER: QPIRI read timeout
Tue Apr 21 17:38:28 2020 INVERTER: QPIRI reply too short (8 bytes)
Tue Apr 21 17:38:28 2020 INVERTER: Current CRC: B4 DA
Tue Apr 21 17:38:31 2020 INVERTER: QPIWS read timeout
Tue Apr 21 17:38:31 2020 INVERTER: QPIWS reply too short (8 bytes)
Tue Apr 21 17:38:36 2020 INVERTER: Current CRC: 49 C1
Tue Apr 21 17:38:36 2020 INVERTER: QMOD reply size (5 bytes)
Tue Apr 21 17:38:36 2020 INVERTER: QMOD: incorrect start/stop bytes. Buffer: (N AKs▒

It will continue to do that in a loop.

I’m using the default settings in inverter.conf and the USB to USB cable on the inverter.

Any advice on how to get this working?

Here is a link to the Infinisolar protocol for comparison

https://s3-eu-west-1.amazonaws.com/osor62gd45llv5fcg47yijafsz6dcrjn/Infini_RS232_Protocol.pdf

@ned-kelly thankyou for creating this, ive just got my 5048mg’s (2 of them) set up and powered on, i use home assistant to run my house automation and come across this page, i have installed docker and docker compose on a pi3, i set the file to hidraw and qpiri to 102 also put the mqtt settings in for my broker (my home assistant runs on a i5 nuc direct no container just imaged straight to it)

i run the debug and it reads all the data fine…

pi@raspberrypi:/opt/ha-inverter-mqtt-agent $ docker exec -it voltronic-mqtt bash -c '/opt/inverter-cli/bin/inverter_poller -d -1'
Thu Apr 23 20:52:05 2020 INVERTER: Debug set
Thu Apr 23 20:52:05 2020 INVERTER: Current CRC: 49 C1
Thu Apr 23 20:52:05 2020 INVERTER: QMOD reply size (5 bytes)
Thu Apr 23 20:52:05 2020 INVERTER: QMOD: 5 bytes read: (S
Thu Apr 23 20:52:05 2020 INVERTER: QMOD query finished
Thu Apr 23 20:52:05 2020 INVERTER: Current CRC: B7 A9
Thu Apr 23 20:52:06 2020 INVERTER: QPIGS reply size (110 bytes)
Thu Apr 23 20:52:06 2020 INVERTER: QPIGS: 110 bytes read: (244.6 49.9 000.0 00.0 0000 0000 000 421 57.30 000 100 0037 0000 000.0 00.00 00000 00000101 00 00 00000 100
Thu Apr 23 20:52:06 2020 INVERTER: QPIGS query finished
Thu Apr 23 20:52:06 2020 INVERTER: Current CRC: F8 54
Thu Apr 23 20:52:06 2020 INVERTER: QPIRI reply size (102 bytes)
Thu Apr 23 20:52:06 2020 INVERTER: QPIRI: 102 bytes read: (230.0 21.7 230.0 50.0 21.7 5000 5000 48.0 49.0 46.2 57.4 57.3 2 60 060 1 2 1 9 01 0 1 54.0 0 0 000
Thu Apr 23 20:52:06 2020 INVERTER: QPIRI query finished
Thu Apr 23 20:52:06 2020 INVERTER: Current CRC: B4 DA
Thu Apr 23 20:52:06 2020 INVERTER: QPIWS reply size (36 bytes)
Thu Apr 23 20:52:06 2020 INVERTER: QPIWS: 36 bytes read: (00000000000000000000000000000000
Thu Apr 23 20:52:06 2020 INVERTER: QPIWS query finished
INVERTER: ampfactor from config is 1.00
INVERTER: wattfactor from config is 1.01
{
  "Inverter_mode":2,
  "AC_grid_voltage":244.6,
  "AC_grid_frequency":49.9,
  "AC_out_voltage":0.0,
  "AC_out_frequency":0.0,
  "PV_in_voltage":0.0,
  "PV_in_current":0.0,
  "PV_in_watts":0.0,
  "PV_in_watthour":0.0000,
  "SCC_voltage":0.0000,
  "Load_pct":0,
  "Load_watt":0,
  "Load_watthour":0.0000,
  "Load_va":0,
  "Bus_voltage":421,
  "Heatsink_temperature":37,
  "Battery_capacity":100,
  "Battery_voltage":57.30,
  "Battery_charge_current":0,
  "Battery_discharge_current":0,
  "Load_status_on":0,
  "SCC_charge_on":0,
  "AC_charge_on":1,
  "Battery_recharge_voltage":49.0,
  "Battery_under_voltage":46.2,
  "Battery_bulk_voltage":57.4,
  "Battery_float_voltage":57.3,
  "Max_grid_charge_current":60,
  "Max_charge_current":60,
  "Out_source_priority":2,
  "Charger_source_priority":1,
  "Battery_redischarge_voltage":2479072725932077545527213289373696.0,
  "Warnings":"00000000000000000000000000000000"

so i know its communicating to the pi fine (ignor the output voltages the inverters power output is off at the moment so no current flowing, the problem is i have no mqtt entitites on my home assistant

when i was setting it all up, i stood the container up before i connected to my inverter via usb, is this where the problem lies?

if so how to i redo the standup part as when i type the docker-compose up -d it just says watchtower upto date and the other thing too.

im soooo close anyone help please?!?! thankyou

also my mqtt broker just does this constantly…

1587678785: Client mosqpub/616-1d7fb31f599 disconnected.
1587678785: New connection from 192.168.0.216 on port 1883.
1587678785: New client connected from 192.168.0.216 as mosqpub/638-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678785: Client mosqpub/638-1d7fb31f599 disconnected.
1587678786: New connection from 192.168.0.216 on port 1883.
1587678786: New client connected from 192.168.0.216 as mosqpub/660-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678786: Client mosqpub/660-1d7fb31f599 disconnected.
1587678786: New connection from 192.168.0.216 on port 1883.
1587678786: New client connected from 192.168.0.216 as mosqpub/682-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678786: Client mosqpub/682-1d7fb31f599 disconnected.
1587678786: New connection from 192.168.0.216 on port 1883.
1587678786: New client connected from 192.168.0.216 as mosqpub/704-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678786: Client mosqpub/704-1d7fb31f599 disconnected.
1587678786: New connection from 192.168.0.216 on port 1883.
1587678786: New client connected from 192.168.0.216 as mosqpub/726-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678786: Client mosqpub/726-1d7fb31f599 disconnected.
1587678787: New connection from 192.168.0.216 on port 1883.
1587678787: New client connected from 192.168.0.216 as mosqpub/748-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678787: Client mosqpub/748-1d7fb31f599 disconnected.
1587678787: New connection from 192.168.0.216 on port 1883.
1587678787: New client connected from 192.168.0.216 as mosqpub/770-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678787: Client mosqpub/770-1d7fb31f599 disconnected.
1587678787: New connection from 192.168.0.216 on port 1883.
1587678787: New client connected from 192.168.0.216 as mosqpub/792-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678787: Client mosqpub/792-1d7fb31f599 disconnected.
1587678788: New connection from 192.168.0.216 on port 1883.
1587678788: New client connected from 192.168.0.216 as mosqpub/814-1d7fb31f599 (p1, c1, k60, u'gazzaman2k').
1587678788: Client mosqpub/814-1d7fb31f599 disconnected.

its ok i fixed it, in the mqtt.conf i had to change the name back to voltronic and the mqtttopic back to home assistant, if you change them it doesnt auto detect, you should only input the broker ip address and username and password

@gazzaman2k - Glad you got it fixed.

I’m not sure about the dual inverter polling though so You will need to test it, from what I understand we’ll need to modify the code to make N number of queries (N being the number of inverters) with a different ID (0-9) for the each inverter we want to get data from (You can query just ONE inverter connected with a USB, and the inverter will talk to the others over the comm port you use to link them up).

Let me know how it goes - Like I said, i have a feeling you’ll need to modify the code here to get the results from the other 2nd inverter - Unfortunately I’m only running a single inverter setup so unable to test.