SmartSolar MPPT Charger: How to determine if current Power Point is below Maximum Power Point?

I’m looking for a way to determine if the current Power Point (regulated e.g. because of set battery voltage) is below Maximum Power Point. Usually in this case the voltage is above the MPP voltage of the PV module.

But since the MPP voltage is depending on the intensity of irradiation, which I don’t know, I can’t use the voltage for detection.

Is there a (readable) flag or something for this purpose?

thanks & greetings!
Phil

If you are only wanting to determine if the MPPT is in regulated mode, then there is a d-bus key for that, MppOperationMode, which is:

  • 0 = MPPT is off,
  • 1 = MPPT is in voltage/current limited mode.
  • 2 = MPPT is generating at MPP.

MPP is also temperature related as it is v x i. (assuming the optimal angle)
V is affected by temperature. so it is a difficult one to answer without the two measurements.
And then of course - the load on it since it will also only produce if it is needed.

thank you @alexpescaru ! how to access that key? On the first look in the MQTT tree I haven’t found - do I miss something or do I have to read it another way?

Depending on your equipment.
That d-bus key is specific to any equipment that has an MPPT.
Take a look here: dbus · victronenergy/venus Wiki · GitHub
Scroll to solar charger: Link here.

thanks again @alexpescaru !
In the meantime I found the value on MQTT at
N/b1234567890d/solarcharger/234/MppOperationMode

just out of interest: on the ssh console with dbus -y com.victronenergy.solarcharger.ttyUSB2 I get the tree of all that dbus ‘keys’ of the device. But how can I then read the value of /MppOperationMode?

1 Like

dbus -y com.victronenergy.solarcharger.ttyUSB2 /MppOperationMode GetValue

that’s simple. thank you again!

I tried several tutorials saying stuff like dbus-send --system --dest=com.victronenergy.solarcharger.ttyUSB2 --type=method_call --print-reply /com/victronenergy/solarcharger/ttyUSB2 com.victronenergy.solarcharger.GetValue string"/MppOperationMode" or dbus-send --system --type=method_call --dest=com.victronenergy.solarcharger.ttyUSB2 /MppOperationMode com.victronenergy.solarcharger.getValue string:"/MppOperationMode" but sometimes life is easier than expected… :wink:

Yes, dbus-send utility you are talking about is a quicker version than the one I’ve mentioned to you, but somehow difficult to use because of its extended command line.
For sure you’ve observed that there is a little delay until you are getting the value.
So be careful if you want to read often that value, because it could take a lot of time and burden the system a little.
Once 30 seconds or more it’s OK.

I will use the MQTT info in my ‘system’ since MQTT is aleady implemented.

I think using the dbus-send (or even the simple GetValue) from ‘outside’ (Python script, ioBroker) is somehow complicated, isn’t it (paramiko, glib, …)?

This is the joy of using others hardware / software.
You depend on their way of presenting data and you must parse it in your code.