With High ambient temperatures in the tropics, an external cooling fan is almost essential on MPPT charge controllers to keep the internal temperatures as low as possible.
At the moment, for those MPPT units with built in relays, the relay cannot be used for this function as the Relay function “High temperature control mode” (0xEDD9 = 2) switches at 85C - the throttling temperature. One possibility would be to add a user writable register with the default of 85C, that could be used to set a lower switching temperature for the relay - e.g. 55C.
The other alternative would be to use the relay in “load control mode” (0xEDD9 = 0x0A), and to control the relay externally through the “load - on” and load - off" register settings (0xEDAB =0 or 4).
However, the possible problem with this is that frequent writings to an 0xEDxx register will degrade the NV ram. The registers for frequent control writing is in the 0x20xx series.
Please can this request be considered for a future Firmware upgrade? Preferred solution would be the internal register for custom temperature for relay switching.
I agree with your request for a custom temperature setting to turn on the relay.
In the mean time I have a fan attached to mine with the relay set up for “day detection”, so as soon as the panels see light the fan comes on.
Hi Jeremy,
I specifically want this temperature controlled due to the noise of the fan. When we have a nice sunny day, the batteries can hit full charge by about 11am. The charge controller then drops from 70A down to about 10 - 15A, running much cooler - convection provides sufficient cooling, even in 35 ambient. Using ‘daylight’ as a switching function would lead to a lot of unnecessary noise.
Ahh yeah, that makes sense.
The MPPT relays are mow controllable via NodeRed, so you could write a flow there to control it based on temp.
If they are controllable via node red, this implies an update to the hex protocol that I was not aware of. My MPPT’s are under the control of a custom BMS via the hex protocol on VE-direct.
Sorry, to be clear when I say controllable by Node Red I mean Node Red running on a Cerbo GX. You set the relay to manual control on the MPPT and then it will respond to changes from Node Red.
Even so, the CERBO must use VE-Direct to communicate with the MPPT top drive the relay.
If that’s possible, then It should also be able to be done by other software using the same VE-direct command.
Just downloaded the latest VE direct protocol for MPPT’s and there is no change or update to the relay control, so Node red must be using the load on and off commands as detailed above.
It’s not using load on and off, as my load settings are set to “always off” and the register for load output doesn’t change when the relay is switched on and off.
EDIT: I just checked the latest VE Direct HEX protocol list and its last update time is before the change to the MPPT firmware that allowed relay control. So that’s why you’re not seeing it in there.
You’re looking for register 0x034E. Setting 0 opens the relay and 1 closes it.
Thanks,
do you have any documentation for this please? It’s not in the spec I have.
It’s in the VE.CAN registers doc. Nothing calls it out for the MPPTs specifically, as it was apparently added in Jan 2024 (See the Victron Connect change log, under ver 6.00, “manual control” in the “Solar Chargers” section), and the docs are all older than that.
Ah- Then this looks like it may only apply to MPPT-tr-CAN models…
I’ll poke the unit and see what happens. It could be implemented but not documented yet…
I get the relay in the capabilities register, but I’m getting inconsistent read-back from the relay mode register.
My current controller is not a tr-CAN model and it works there, though I’m again not doing it via direct register writing over ve.direct.
Well:
ok, so with VE Connect, the data is ok.
However, repeated reads to register EDD9 are still not producing consistent results, looks more like reading some random area on memory.
It should be producing a uint8, but gives a random int16.
I may try using the battery voltage, to see if I can get a consistent ‘on’ when being charged fast.
EDD9 is the charger relay, not the external relay. You should be able to read its state from 034E as well.
Hmm, I’m not sure. Either way, I assume you used Victron Connect to set the relay to “Manual Control?”
The CAN registers Public suggests the setting for mode should be 255 - remote control.
However, neither Manual or remote control show up in the MPPT hex document or VE connect.
from CAN registers public.
0x340E is the value for remote control, on or off, not the relay mode setting…
Again, those docs pre-date the firmware that made the option available. I’m not sure how you’d set that without using VC, since the register isn’t published anywhere.
What firmware is your MPPT running?
running 3.16, updated a few days ago. Remote operation does not appear in relay mode list, fond manual control hidden at the bottom of the list - no good indication that there was a scroll down!
Tried open / close / open from VE config but can’t hear the relay click. so will try again with some wires - that worked. Next to try with poke to 0x34e.
msg_set_rly_on = str.encode(“:84E03000100FB”+chr(0x0a))
msg_set_rly_off = str.encode(“:84E03000000FC”+chr(0x0a))
That works. ok, next for the hardware…