Giter Club home page Giter Club logo

ve.direct2mqtt's Introduction

Victron is building wonderful devices for Solar systems. Some of the devices have a VE.Direct interface and Victron disclosed the protocol.

I do own 2 MQTT75/15 Solar charger and all that I was missing was a MQTT interface for monitoring. I do NOT plan or intend to augment or replace the, in my eyes, perfect bluetooth app.

So here it is

VE.Direct2MQTT

VE.Direct2MQTT is using an ESP32 developers board and the Arduino IDE to send all ASCII data coming from a VE.Direct device to a MQTT server.

With the help of the MQTT server you can integrate the monitoring data to virtually any Home Automation System.

Features

  • Listen to VE.Direct messages and publish a block (consisting of several key-value pairs) to a MQTT broker
    Every key from the device will be appended to the MQTT_PREFIX and build a topic. e.g. MQTT_PREFIX="/MPPT"; Topic /MPPT/V will contain the Battery Voltage
    so please see the VE.Direct protocol for the meaning of topics
  • SSL enabled
    If you are sending messages over the internet or using User/Passwords over the Internet you have to use SSL.
    If you are using a locally protected network you can disable the Usage of SSL in the config file
  • Have several WiFi SSID's to connect to, in case one or the other is not reachable from your position
  • Have sveral MQTT Servers in case one is down.
    The system will only be bound to one MQTT server at a time
  • Have several OneWire temperature sensors
    So you can see the temperature of e.g. the MPPT Solracharger or the batteries or your inverter, ...
  • Timing parameters can be changed via MQTT
    E.g. you can set that VE.Direct blocks are only transmitted every 10 seconds. The last received block will be transmitted, all other blocks are lost
  • OTA (Over The Air Update)
    If you have a webserver where you can put binary files on and run php scripts you can use that server to install new VE.Direct2MQTT software on your ESP32
    Please make sure that you use SSL and User/Password
  • One config file to enable/disable features and configure serial port or MQTT Topics

Limitations

  • VE.Direct2MQTT is only listening to messages of the VE.Direct device
    It understands only the "ASCII" part of the protocol that is only good to receive a set of values. You can't request any special data or change any parameters of the VE.Direct device.
    This is intentionally because this is monitoring only
  • If you transmit a block only every 10 seconds, 9 previous blocks will be lost, because VE.Direct devices publish every second
    This is normally not a problem.
  • During sending OneWire Data or OTA checking, no VE.Direct blocks will be sent.
    This is a limitation of the ESP32, having several tasks tranmitting in parallel caused crashes of the device

Hardware Installation

Please see the wiki

Software configuration

Please see the wiki

Debugging

Please see the wiki

Disclaimer

I WILL NOT BE HELD LIABLE FOR ANY DAMAGE THAT YOU DO TO YOU OR ONE OF YOUR DEVICES.

ve.direct2mqtt's People

Contributors

ralfjl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.