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!

all my readings are just fine, i just need a device to show up on to the mosquitto broker integration, with those values as entities…

There is a picture of MQTT explorer showing the messages in my post but I will post it here again. As you can see I get the message but the actual value (in this case grid voltage), is not in.



@virtaz can you show me your MQTT Explorer details? For example the message AC_grid_voltage.

I have the same issue. Can you share with me how you solved this?
The MQTT message comes in but the actual value is missing.

INVERTER: wattfactor from config is 1.01
{
  "Inverter_mode":3,
  "AC_grid_voltage":238.0,
  "AC_grid_frequency":50.1,
  "AC_out_voltage":238.0,
  "AC_out_frequency":50.1,
  "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":62,
  "Load_watt":1510,
  "Load_watthour":50.3333,
  "Load_va":1575,
  "Bus_voltage":475,
  "Heatsink_temperature":415,
  "Battery_capacity":100,
  "Battery_voltage":27.96,
  "Battery_charge_current":0,
  "Battery_discharge_current":0,
  "Load_status_on":1,
  "SCC_charge_on":0,
  "AC_charge_on":1,
  "Battery_recharge_voltage":23.0,
  "Battery_under_voltage":20.8,
  "Battery_bulk_voltage":28.2,
  "Battery_float_voltage":28.0,
  "Max_grid_charge_current":30,
  "Max_charge_current":50,
  "Out_source_priority":0,
  "Charger_source_priority":0,
  "Battery_redischarge_voltage":27.0,
  "Warnings":""
}
Fri Sep 23 06:44:50 2022 INVERTER: All queries complete, exiting loop.
root@3e38c462e535:/opt# 

values seem to be ok, but its still not working correctly in HA

and im missing the “config” under the values…

any help?


here is a screenshot of my mosquitto broker log.
What do those values mean?


And now its working :star_struck:

Only problem is that i have no clue why it is working…

I kinda gave up with this thing and tried to install this:

well, I got that one working partially too, but couldn’t get those values to node red.

After few hours of trying, I just started my container again and everything just popped to the HA.

I did install libusb-1.0-0-dev and libudev-dev while fighting that axpert thingy.

Maybe there were something wrong with my initial usb settings?
Could someone test this?

btw, using @catalinbordan fork atm.

Hello, I can read all data in Home Assistant dashboard but cannot send any command.
For example change source priority, I’ve tried manually send mqtt command and also not working.
Maybe it has something to do with MPP disconnecting instantly after making connection to Mosquitto.

Hello
I`m running HA on a synology NAS. I have a Iconica 8kW solar inverter, MAX 8000W 48V hybrid inverter,. This has built in WiFi and is currently sending data OK to watchpower app. Has anyone successfully connected this inverter to HA and if so how?. Pete

Setting up the ACL fixed the issue.

Access Control Lists (ACLs)

It is possible to restrict access to topics based upon the user logged in to Mosquitto. In this scenario, it is recommended to create individual users for each of your clients and create an appropriate ACL.

See the following links for more information:

Mosquitto topic restrictions
Mosquitto.conf man page

Add the following configuration to enable unrestricted access to all topics.

Enable the customize flag

  customize:
    active: true
    folder: mosquitto

Create /share/mosquitto/acl.conf with the contents:

acl_file /share/mosquitto/accesscontrollist

Create /share/mosquitto/accesscontrollist with the contents:

user [YOUR_MQTT_USER]
topic readwrite #

The /share folder can be accessed via SMB, or on the host filesystem under /usr/share/hassio/share.

1 Like

Hi All,

I found this topic before I received my Axpert Max 8Kw inverter and hooked it up a few weeks ago but only got chance this weekend to try and get it working the HA

I installed on a Orange pi, I found that there I didn’t have any ports open for MQTT but installed Mosquitto and all was good and connected to HA but without info.

I connected my laptop to the inverter to confirm that the USB cable was capable of transmitting data and I installed virtualhere to test that I could read the data remotely with watchpower and all worked without issues

I had to spend time testing every number in the config file and eventually got it working, see settings below

# Basic configuration options for the actual inverter polling process...

 Th-it voltronic-mqtt bash -c '/opt/inverter-cli/bin/inverter_poller -d -1 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=120

# 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.0


# 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 to run docker exec -it voltronic-mqtt bash -c '/opt/inverter-cli/bin/inverter_poller -d -1'
# or simply inverter_poller -d -1 to check for warnings or errors
# mentioned in https://github.com/ned-kelly/docker-voltronic-homeassistant/issues/5

# This allows you to modify the buffersize for the qpiri command
qpiri=109

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

# 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
1 Like

Mine is the same and currently working except I dont see some values like PV watts but that might be because of dual mppt

Anyone who help me? I have Voltronic Axpert VM IV 5600. How I can find correct buffer parameters?
I’m using:

qpiri=98
qpiws=40
qmod=5
qpigs=110

Firmware Version:
- Main CPU Firmware Version: 00061.01
- Secondary CPU Firmware Version: 00122.12

I’ve tried several buffer size but QPIRI doesn’t work:

Wed Nov  2 23:24:28 2022 INVERTER: QPIRI reply size (98 bytes)
Wed Nov  2 23:24:28 2022 INVERTER: QPIRI: incorrect start/stop bytes.  Buffer: (230.0 24.3 230.0 50.0 24.3 5600 5600 48.0 48.0 45.0 53.2 53.2 3 002 100 1 2 3 1 01 0 0 50.0 0 1▒00000 011
Wed Nov  2 23:24:33 2022 INVERTER: Current CRC: F8 54
Wed Nov  2 23:24:33 2022 INVERTER: QPIRI reply size (98 bytes)
Wed Nov  2 23:24:33 2022 INVERTER: QPIRI: incorrect start/stop bytes.  Buffer: 2 53.2 3 002 100 1 2 3 1 01 0 0 50.0 0 1▒
Wed Nov  2 23:24:38 2022 INVERTER: Current CRC: F8 54
Wed Nov  2 23:24:39 2022 INVERTER: QPIRI reply size (98 bytes)
Wed Nov  2 23:24:39 2022 INVERTER: QPIRI: incorrect start/stop bytes.  Buffer: (230.0 24.3 230.0 50.0 24.3 5600 5600 48.0 48.0 45.0 53.(230.0 24.3 230.0 50.0 24.3 5600 5600 48.000000 011

Hi guys, does anyone know if this method can be achieved on a Nuc running HAOS?

This allows you to modify the buffersize for the qpiri command

qpiri=99

This allows you to modify the buffersize for the qpiws command

qpiws=40

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

1 Like

Hi Please help

My docker container keeps trying to connect to home assistant every second and i have tried to solev the issue as well as the values show unknowen

2022-11-05 15:29:56: New client connected from 192.168.0.110:58682 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:29:57: New connection from 192.168.0.110:54950 on port 1883.
2022-11-05 15:29:57: Client HomeInverter already connected, closing old connection.
2022-11-05 15:29:57: New client connected from 192.168.0.110:54950 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:29:58: New connection from 192.168.0.110:58698 on port 1883.
2022-11-05 15:29:58: Client HomeInverter already connected, closing old connection.
2022-11-05 15:29:58: New client connected from 192.168.0.110:58698 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:29:59: New connection from 192.168.0.110:54964 on port 1883.
2022-11-05 15:29:59: Client HomeInverter already connected, closing old connection.
2022-11-05 15:29:59: New client connected from 192.168.0.110:54964 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:30:00: New connection from 192.168.0.110:58710 on port 1883.
2022-11-05 15:30:00: Client HomeInverter already connected, closing old connection.
2022-11-05 15:30:00: New client connected from 192.168.0.110:58710 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:30:01: New connection from 192.168.0.110:58752 on port 1883.
2022-11-05 15:30:01: Client HomeInverter already connected, closing old connection.
2022-11-05 15:30:01: New client connected from 192.168.0.110:58752 as HomeInverter (p1, c1, k60, u’mqtt’).
2022-11-05 15:30:02: New connection from 192.168.0.110:44448 on port 1883.
2022-11-05 15:30:02: Client HomeInverter already connected, closing old connection.

hi @taiffu - did you ever get this right i.e. voltronic container in home assistant os ? if so how ?

has anyone managed to get this installed on a raspberry pi with home assistant os? There’s obviously no normal instance of docker that you can install custom containers easily. I’ve tried importing this container wirh portainer but i get some error like this “The error message is: Failure starting container with non-empty request body was deprecated since API”

Hi,

I try to send MQTT commands to set Max Grid Charging Current (eg. MUCHGC010 or MUCHGC002 and others…) but doesn’t work. Inverter show temporally (5 sec.) new Current Values but are strange (33A, 64A etc…) and then comes back to previous Value.

Other command works correctly: eg. POP00, POP01 and others…

I’ve a Voltronic Axpert VM IV 5600 linked with USB to Raspberry Pi running Home Assistant

How can I do?

Original code with USB cable not capable to send long commands
Try another fork.