question

biozor avatar image
biozor asked

SmartSolar settings for VE.direct RX TX communications ?

Hi Team!

Is configuration needed on SmartSolar MPPT (bluetooth UI) to activate RX/TX communication ? I use Arduino/ESP8266 to read from TX pin of VE.Direct connector but it seems that my MPPT 75/15 charger switch off the LOAD output when I plug. I'm looking for settings in bluetooth UI for RX/TX protocol mode but I don't find... I see that TX or RX can be used as remote on/off switch.

Is there a way to activate serial communication ? I saw TX pin can send data every seconds mode, no ? on MPPT 75/15 ?

Thank you !

VE.Directsmart solar set-up helpmonitoringarduino
2 |3000

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

12 Answers
biozor avatar image
biozor answered ·

Ooooh sorry! RX an TX pins was inverted... well it must be inverted, but I've not made cross link... It works now! TX pin must be set to "normal communication" in bluetooth settings. I have WiFi values reading of my SmartSolar MPPT 75/15 charger now with ESP8266-01.

I should share my work (electronics and code) soon...

Bye!


2 |3000

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

biozor avatar image
biozor answered ·

Here is board!

note: R1+R2 is 5V from MPPT to 3.3V to ESP01 regulator. ESP01 works only with 3.3V.

Updated : The LD1117V33 voltage regulator (15V max to 3.3V) is replaced by a DC-DC step down chip because it was to hot (even with heat dissipator) and regulated voltage failed! It's more stable now.


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.

padigree avatar image padigree commented ·

Planned nearly the same, but thought about a new layout matching my pi Zero which would be supplied by a simple 5V Step Down (so the Pi can power the ESP01)


Would be glad to see your actual progress or some kind of source code ;)

0 Likes 0 ·
maarten-nl avatar image maarten-nl commented ·

Prototype works!


1613682014385.png



0 Likes 0 ·
1613682014385.png (2.3 MiB)
maarten-nl avatar image maarten-nl maarten-nl commented ·

Level convertor used: https://www.sparkfun.com/products/12009


Quick schematic of how I am going to wire the ESP to the MPPTvedirect-esp.jpg

0 Likes 0 ·
vedirect-esp.jpg (45.4 KiB)
biozor avatar image
biozor answered ·

Here is the new HTML view of VE.direct status (on ESP01s now). It's SVG graphics from ESP01S embeded web server. I changed ESP01 to ESP01S (more stable).


mpptweb.png (22.0 KiB)
7 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.

biozor avatar image biozor commented ·

For an example of the generated HTML page :

http://www.matthieulaurent.fr/mppt/

(updated to fit fullscreen size)

0 Likes 0 ·
maarten-nl avatar image maarten-nl biozor commented ·

The interface looks excellent!


Do you have the sketch and used libs online somewhere?

Merci!

0 Likes 0 ·
biozor avatar image biozor maarten-nl commented ·

Hi! See below! Thanks

0 Likes 0 ·
weekeda avatar image weekeda biozor commented ·

Hey would be intrested in the sketch too. Is it possible to get the sketch? Nice work!

0 Likes 0 ·
biozor avatar image biozor weekeda commented ·

Hi! See below! Thanks

0 Likes 0 ·
padigree avatar image padigree biozor commented ·

Would also be glad to see something for my esp01's / 8266's or ESP32's. Planned to use it via Blynk and local raspberry pi zero W Server, which is also Powered by my 3x 150W Panels and a Victron MPPT 100/20. Would like to see my PV stats on the go.


Have you used any Logic Level Shifter for the ESP01 to TX on MPPT? Would be glad to hear from you!

0 Likes 0 ·
biozor avatar image biozor padigree commented ·

Logic Level Shifter is made with resistor in voltage divider mode R1+R2 in the circuit board (R1=20kohm, R2=10kohm). So we have 5V from TX pin of MPPT to reduce to 3.3V :
(5V x 20k) / (10k + 20k) = 3.33333...V (about 3.3V)

0 Likes 0 ·
juan3211 avatar image
juan3211 answered ·

Hi, could your share your source code? Thanks.

2 |3000

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

launacorp avatar image
launacorp answered ·

Nice work!

Long time I searched for something that run on a raspberry pi. Best case with Grafana for long time use and be able to see as much statistics as I want. I am not that "programmer nerd" as u are, but I found a relative simple soloution on -pls don't kill me, if I Infringement to forum rules - "solaranzeige.de"

It is possibly an alternative to your soloution.


1.png (239.0 KiB)
2.png (110.6 KiB)
2 |3000

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

biozor avatar image
biozor answered ·

Hi! Sorry, I'm late!

You will find source code here :
http://www.matthieulaurent.fr/mppt/esp8266.ve.direct3.zip

I update the read bytes process with the use of VeDirectFrameHandler. You can show SVG screen or raw text ("/raw.html"). The ESP01s resets every hour. The builtin LED blink during WiFi connection process.

For electronics parts I changed the 3.3V voltage regulator with a more stable DC-DC step down chip. It's still in progress...

4 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.

juan3211 avatar image juan3211 commented ·

Great, I managed also to get data from TX pin. Now I am thinking also in using HEX communication for, as an example, disabled or enabled the charger or the load from my home. (my system is in other city) when I want.

Great!

0 Likes 0 ·
maarten-nl avatar image maarten-nl commented ·

Never too late with a good project ;) The sun is shining again so I was about to continue on the IoT camper project again.

I've noticed that you use resistors to lower the logic level, why don't you use the cheap level converters like:

https://www.tinytronics.nl/shop/en/dc-dc-converters/level-converters


0 Likes 0 ·
vonny232 avatar image vonny232 commented ·
Hi, I am really happy I found this page as I intend to do something similar.


I want to use a microcontroller connected to the VE direct port to retrieve the real-time power output and use that data to variably adjust the voltage of a boost controller. The ability to host the data on the inbuilt webserver is a bonus (i'd also consider POST'ing the data to a cloud server, but thats for another day).

  • May I ask why you are rebooting the ESP module every hour?
  • Also, is the 3v3 pin on the VE direct header stable enough to supply the voltage to the ESP module? In my experience the ESP can draw sudden bursts of current that can pull down the 3v3 rail, requiring some capacitors.
0 Likes 0 ·
biozor avatar image biozor vonny232 commented ·

Hi @Vonny232

I reset the ESP module every hour to properly reconnect to WiFi. It also makes more stable use. The ESP01s module also freezes sometimes after a fex day work (power management problem?). It's not necessary with a good management of WiFi connection (check if WiFi is availlable and connected regulary).

Supply the voltage to the ESP module : in VE.Direct Protocol FAQ :
https://www.victronenergy.com/live/vedirect_protocol:faq

"Q5: How much current can I draw from the power pin in the VE.Direct port?
Max 10mA average, with max 20mA/5ms bursts."

from : https://community.victronenergy.com/questions/32802/mppt7515-use-of-5v-of-victron-vedirect-port-as-5v.html?childToView=33683#comment-33683

0 Likes 0 ·
biozor avatar image
biozor answered ·

Hi @launacorp !

It's look great. For now this is only live view of MPPT status with low power consumption (200ma max when WiFi is working). Energy history could be stored on another device (local Raspberry Pi or online server). ESP01, ESP8266 or NodeMCU devices have lot of memory which can be used to store data (maybe several days)... For now I use port forwarding capability of my Internet home router to connect to the ESP01 and view MPPT status from outside.

Maybe I will try HEX mode read/write of VE.direct protocol with the next version...

2 |3000

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

juan3211 avatar image
juan3211 answered ·

Great, I managed also to get data from TX pin. Now I am thinking also in using HEX communication for, as an example, disabled or enabled the charger or the load from my home. (my system is in other city) when I want.

Great!

2 |3000

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

infotri avatar image
infotri answered ·

Hello, is this working on ESP32?

6 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.

biozor avatar image biozor commented ·
@infotri

Yes it will work on ESP32 too. I use ESP01s because it's lower powered than ESP32. You only need a serial RX port as input. And you can use ESP32 as webserver with Wifi Access Point mode or Wifi Client Mode. I use Wifi Client Mode : the ESP01s is connected to my home Wifi Access Point (and I can connect from outside witout Cloud dependancies).

1 Like 1 ·
infotri avatar image infotri biozor commented ·

@biozor Can you help with port this code to ESP32, I thik that this original code doesn't work on ESP32.


Thanks

0 Likes 0 ·
infotri avatar image infotri infotri commented ·
@Biozor Which board to select from Arduino IDE to compile to ESP32 properly?
0 Likes 0 ·
biozor avatar image biozor infotri commented ·

@infotri You shoul choose ESP8266 board. Even if there is several boards with ESP32 (vroom, cam, thinker...),the generic board profil is ESP8266.

0 Likes 0 ·
infotri avatar image infotri biozor commented ·

@Biozor which library is that: user_interface.h

0 Likes 0 ·
biozor avatar image biozor infotri commented ·
Well... I don't know... it could be removed from includes.
0 Likes 0 ·
biozor avatar image
biozor answered ·

Hi,

I updated source code for HTML viewer of SmartSolar controler : esp8266.ve.direct3.zip

It uses XMLHttpRequest() for automatic refresh of the view every 2.5 seconds and added a right column with max PV power for today and yesterday.

image1.png


image1.png (43.5 KiB)
2 |3000

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

muhkuhve avatar image
muhkuhve answered ·

May I ask if anonye was also able to WRITE / SEND command TO the MPPT and not just read values? I need to shut off both the CHARGER and the LOAD Output for what I plan on doing..

2 |3000

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

biozor avatar image
biozor answered ·

Hi @muhkuhve

I have never tried to send commands to the SmartSolar controller. It is entirely possible to send commands but the method of receiving data changes. There are no longer any frames sent every second. You have to ask the controller to receive the specified information or to change output behaviour. I've never tried switching modes yet.

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.

muhkuhve avatar image muhkuhve commented ·

Found what I've been looking for: https://www.victronenergy.com/upload/documents/BlueSolar-HEX-protocol.pdf
This should do the trick. It even seems, that with Firmware 1.53 "Text messages not suppressed/delayed anymore due to hex requests"

0 Likes 0 ·

Related Resources

Additional resources still need to be added for this topic

VE.Direct protocol FAQ