Receive/SET/GET data from Victron SmartSolar 150/70 using Node-Red Serial or mqtt.
Install node-red-node-serialport
Import j.son file into Node-Red.
You will receive data every second until you stop the serial port. You can chose for mqtt node to connect with mppt.
Any way you will need a ve.direct cable from mppt and serial or esp device if you chose for mqtt. You can buy or make one, there is some photo into file area. Use ADUM1201 as isolator between mppt and device. There is an yaml file for esp s2 mini if you use esphome, but you can modify it for esp01, d1 mini or any...
If you send a payload [0....70] with topic set_charge_current you can set charge current
You can set Absortion Voltage if you send payload [55.4....] with topic set_absorption_voltage
Set Float Voltage if you send payload [55.4....] with topic set_float_voltage
Control mppt ON/OFF if you send a payload [1 for ON and 4 for OFF] with topic set_device_mode
You can get some states if you inject a node with topic:
get_charge_current for charge current value
get_float_voltage for float voltage value
get_absorption_voltage for absorb voltage
get_device_mode for device mode state
use yaml file, change RxTx pins acording to your board and run it with esphome.
To send data add mqttOUT node and replace serial node. Set topic to victron_esp32/command/send_raw
To receive data add mqttIN node and replace serial node. Set topic to victron_esp32/telemetry/raw
Data that you will receive:
- Product ID
- Firmware Version
- Serial Number
- Battery Voltage
- Battery Current
- Solar Voltage
- Solar Current calculated by function not received from controller
- Solar Power
- Charging Mode
- Tracking Mode
- Errors
- Running Days
- Max Solar Power Today
- Max Solar Power Yesterday
- Yield Today
- Yield Yesterday
- Yield Total
- Max charge current state [after GET command]
- Absorb voltage value [after GET command]
- Float voltage value [after GET command]
- Device Mode ON/OFF [after GET command]
- and you can add more if you read ve.direct protocol
