question

Thomas Manthey avatar image
Thomas Manthey asked

Is there a way to query the internal temperature of an MPPT controller?

I use NodeRed to control my solar system. However, I have not yet been able to find a temperature either there or in the remote console.
I just had the problem that MPPT controllers got too warm and limited the output. Victron's data sheet states that full power is available below 40′C. However, the 40°C does not mean the ambient temperature, which everyone would assume, but obviously the temperature of the charge controller. Mine now has 36°C with the improvised fan cooling.
So I would like to write the temperature values of the MPPT controller in my log file.

MPPT ControllersNode-RED
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

9 Answers
Alex Pescaru avatar image
Alex Pescaru answered ·

Hi @Thomas Manthey

The information you are looking for is stored in the Victron register 0xEDDB.

You can write a small script to read it using the vreg utility from CAN bus or directly through the VE.Direct protocol, or whatever mean you have at your disposal and/or hardware configuration.

Alex


3 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thomas Manthey avatar image Thomas Manthey commented ·

Hi @Alex Pescaru ,

by the way: Would you have a list of the registers that can be used by the user? Perhaps there are even more interesting values.

0 Likes 0 ·
Alex Pescaru avatar image Alex Pescaru Thomas Manthey commented ·

Hi @Thomas Manthey

Take a look here: https://community.victronenergy.com/questions/262532/victron-energy-registers-description.html

See the attached PDF from my first answer...

Also see that not all registers could be found on any device. Some could have them implemented, some not. Some are not even there and are specific to a certain equipment.

Alex

2 Likes 2 ·
Thomas Manthey avatar image Thomas Manthey Alex Pescaru commented ·

Thank you very much!

0 Likes 0 ·
Thomas Manthey avatar image
Thomas Manthey answered ·

Hi Alex Pescaru,

thank you very much for this insider information! I have never used the tool you are talking about. But from NodeRed it is possible to execute console commands like "ls" or "df". So I assume that if this tool can be called with command line commands, it should also work via NodRed. Would you have a small example for me?

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Alex Pescaru avatar image Alex Pescaru commented ·

Hi @Thomas Manthey

My equipment is connected through CAN bus to Cerbo and my equipment has a NAD (CAN ID) of 0x40.

Your equipment could have different NAD or may be accessible through other interfaces. Don't know how you have the MPPT connected to Cerbo. If you have it through VE.Direct, it may be a simple serial communication. And that is exemplified on Victron documentations found on Victron main webpage.

Example for my case below. The response is 0x116C = 4460, meaning 44.6 deg. Celsius.

Alex

example.jpg


2 Likes 2 ·
example.jpg (14.0 KiB)
Thomas Manthey avatar image
Thomas Manthey answered ·

I played around with the vreg tool and found a way to query my NADs. There are 7 MPPT controllers in my system that are connected to the MultiGx via Can.

With the command:

root@nanopi:~# dbus -y com.victronenergy.vecan.can0 / GetValue
value = {'Alarms/SameUniqueNameUsed': 0,
'Devices/00002CC001F4/CustomName': 'ESS',
'Devices/00002CC001F4/DeviceInstance': 0,
'Devices/00002CC001F4/FirmwareVersion': 'v3.12',
'Devices/00002CC001F4/Manufacturer': 358,
'Devices/00002CC001F4/ModelName': 'MultiPlus-II',
'Devices/00002CC001F4/N2kUniqueNumber': 500,
'Devices/00002CC001F4/Nad': 225,
'Devices/00002CC001F4/Serial': '0000500',
'Devices/00002CC3E850/CustomName': 'SmaSol E HQ22233FG9R',
'Devices/00002CC3E850/DeviceInstance': 0,
'Devices/00002CC3E850/FirmwareVersion': '3.13',
'Devices/00002CC3E850/Manufacturer': 358,
'Devices/00002CC3E850/ModelName': 'SmartSolar MPPT VE.Can 250/70',
'Devices/00002CC3E850/N2kUniqueNumber': 256080,
'Devices/00002CC3E850/Nad': 36,
'Devices/00002CC3E850/Serial': '0256080 HQ22233FG9R',
'Devices/00002CC3E89C/CustomName': 'SmaSol B HQ2223AE4KP',
'Devices/00002CC3E89C/DeviceInstance': 0,
'Devices/00002CC3E89C/FirmwareVersion': '3.13',
'Devices/00002CC3E89C/Manufacturer': 358,
'Devices/00002CC3E89C/ModelName': 'SmartSolar MPPT VE.Can 250/70',
'Devices/00002CC3E89C/N2kUniqueNumber': 256156,
'Devices/00002CC3E89C/Nad': 37,
'Devices/00002CC3E89C/Serial': '0256156 HQ2223AE4KP',
'Devices/00002CC40A54/CustomName': 'SmaSol C HQ2229GRGF7',
'Devices/00002CC40A54/DeviceInstance': 0,
'Devices/00002CC40A54/FirmwareVersion': '3.13',
'Devices/00002CC40A54/Manufacturer': 358,
'Devices/00002CC40A54/ModelName': 'SmartSolar MPPT VE.Can 250/85',
'Devices/00002CC40A54/N2kUniqueNumber': 264788,
'Devices/00002CC40A54/Nad': 38,
'Devices/00002CC40A54/Serial': '0264788 HQ2229GRGF7',
'Devices/00002CC40B9C/CustomName': 'SmaSol F HQ2229VGX3C',
'Devices/00002CC40B9C/DeviceInstance': 0,
'Devices/00002CC40B9C/FirmwareVersion': '3.13',
'Devices/00002CC40B9C/Manufacturer': 358,
'Devices/00002CC40B9C/ModelName': 'SmartSolar MPPT VE.Can 250/85',
'Devices/00002CC40B9C/N2kUniqueNumber': 265116,
'Devices/00002CC40B9C/Nad': 40,
'Devices/00002CC40B9C/Serial': '0265116 HQ2229VGX3C',
'Devices/00002CC40BE0/CustomName': 'SmaSol G HQ2229QCD2H',
'Devices/00002CC40BE0/DeviceInstance': 0,
'Devices/00002CC40BE0/FirmwareVersion': '3.13',
'Devices/00002CC40BE0/Manufacturer': 358,
'Devices/00002CC40BE0/ModelName': 'SmartSolar MPPT VE.Can 150/70',
'Devices/00002CC40BE0/N2kUniqueNumber': 265184,
'Devices/00002CC40BE0/Nad': 41,
'Devices/00002CC40BE0/Serial': '0265184 HQ2229QCD2H',
'Devices/00002CC40C8C/CustomName': 'SmaSol D HQ2229QKF66',
'Devices/00002CC40C8C/DeviceInstance': 0,
'Devices/00002CC40C8C/FirmwareVersion': '3.13',
'Devices/00002CC40C8C/Manufacturer': 358,
'Devices/00002CC40C8C/ModelName': 'SmartSolar MPPT VE.Can 250/85',
'Devices/00002CC40C8C/N2kUniqueNumber': 265356,
'Devices/00002CC40C8C/Nad': 42,
'Devices/00002CC40C8C/Serial': '0265356 HQ2229QKF66',
'Devices/00002CC53BB8/CustomName': 'SmaSol A HQ2316EN3PK',
'Devices/00002CC53BB8/DeviceInstance': 0,
'Devices/00002CC53BB8/FirmwareVersion': '3.13',
'Devices/00002CC53BB8/Manufacturer': 358,
'Devices/00002CC53BB8/ModelName': 'SmartSolar MPPT VE.Can 250/85',
'Devices/00002CC53BB8/N2kUniqueNumber': 342968,
'Devices/00002CC53BB8/Nad': 39,
'Devices/00002CC53BB8/Serial': '0342968 HQ2316EN3PK',
'Link/BatteryCurrent': [],
'Link/ChargeVoltage': 0.0,
'Link/ExtraBatteryCurrent': -9.899999618530273,
'Link/NetworkMode': [],
'Link/Soc': 90.30000305175781,
'Link/TemperatureSense': [],
'Link/VoltageSense': 53.060001373291016}

a list of the controllers can be queried and you get the NAD's in addition.

With 4460 <=> 46.6′C you have already answered my question about scaling.

Then I now have all the information I need to write a small script that I can call from NodeRed.
I will report on the result!

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thomas Manthey avatar image
Thomas Manthey answered ·

So, I have found a way to read out the temperature value. If the following command
"vreg -c socketcan:can0 -n 36 -g 0xeddb | awk 'BEGIN { ORS = ""; print "["}; /0x/ { printf "%s{\"Temp\": \"%f\"}", separator, ($2*256+$1)/100; separator = ", "}; END { print " ]" }'"
is executed by an Exec block, the temperature value is returned as the 2nd value.
Unfortunately, this works with "if (NR==2)" in the AWK apparently only in the terminal and not when calling via NodeRed.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thomas Manthey avatar image
Thomas Manthey answered ·

If I ever have a lot of time, I would pack the whole thing into a fancy interface block in which the controllers can be selected dynamically. This way I always have to adjust the Nad ("36") manually to reuse the construct for another controller.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Fideri avatar image
Fideri answered ·

@Thomas Manthey

Did you find a Node Red solution? I can use the command line following your instructions but I prefer an automated Node Red solution.

F.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thomas Manthey avatar image Thomas Manthey commented ·

@Fideri

I write the temperature values every 2 minutes with Node-Red together with other values in a log file so that I can view them later.

Take this as example how to do this using Node-Red:

bildschirmfoto-vom-2024-06-11-21-12-14.png

bildschirmfoto-vom-2024-06-11-21-21-52.png

SolarChargerStatus.json.zip

2 Likes 2 ·
Fideri avatar image
Fideri answered ·

@Thomas Manthey

Thanks. That works perfectly when I'm on LAN. Any solution over the Internet? Most times, I'm on the move.

F.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thomas Manthey avatar image
Thomas Manthey answered ·

@Fideri : I 'm using WireGard-VPN, thats the only VPN that's working with FritzBox. This allows me to access my system as if I were at home.

3 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Fideri avatar image Fideri commented ·
That's a good idea. I don't use a VPN but that is a good reason to use one. I'm looking at Wireguard because I think it's built in the new Venus Large. Moreover, my ISP recommends a software solution. I was also exploring putting a regular router in front of the Cerbo in "bridge mode" (behind my fibre optic router) but my ISP says that would require a static IP when means more dollars.

F.

0 Likes 0 ·
Fideri avatar image Fideri Fideri commented ·
*which
0 Likes 0 ·
Thomas Manthey avatar image Thomas Manthey Fideri commented ·
@Fideri:

The Wiregardsolution kosts nothing. It is a free app for android. The only point is you have to use a FritzBox as router. There you can use a assistant to set up your VPN. You don't need a fixed, expensive IP-Address. You can use a free dynamic IP. That's provided by different service suppliers. I use dyndns, that will also supported by FritzBox.


0 Likes 0 ·
Fideri avatar image
Fideri answered ·

Can Victron say authoritatively whether the -30 to +60 degrees Celsius "operating temperature" of the SmartSolar MPPT refers to device internal temperature or to ambient temperature? The manual is ambiguous on this point.

I was assuming internal device temperature but this post here among others is adamant that the manuals and datasheets refer to ambient temperature: https://diysolarforum.com/threads/very-high-heatsink-temperature-on-victron-100-30-mppt.73187

F.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.