Recolección de datos de controladora SmartSolar de Victron Energy

Pasos para la integración de una controladora solar (Marca Victron) en HomeAssitant. Se detalla de una forma rápida omitiendo ciertos pasos como la integración del ESP32, pero se muestra la config (yaml) utilizada en el BIN compilado y funcionando en el ESP-Home.

**Esta integración viene por medio de un desarrollo y pruebas realizadas por un usuario de Github en este repo, https://github.com/Fabian-Schmidt/esphome-victron_ble/tree/main

En las pruebas que yo he realizado se integran correctamente controladoras de carga, medidores de baterías y balanceadores de baterias, no ha habido problemas en la integración con ningún modelo concreto. (El que se muestra es un 150/35) y sin problemas 🙂

Requerimientos Hardware

· ATOM Lite ESP32 M5Stack

A continuación indico por pasos los procesos que hay que realizar:

1. Lo primero nos deberemos conectar a nuestro controladora para sacar los datos de la MAC (Bluetooth) y la clave de cifrado, para ello nos conectaremos por medio de la APP (Victron Connect), nos fijamos en que tengamos la ultima version, evitándonos de esta manera que no salgan las opciones que se indican a continuación, y una vez seleccionado el equipo a visualizar, haciendo click en el engranaje de la derecha de la APP veremos la información del producto.

    Información del producto

    Visualización de los datos para la comunicación

    2. Fichero Yaml (que a mi me funciona correctamente para este Modelo de placa ESP)

    esphome:
      name: blue-150
      friendly_name: BLUE_150
    
    esp32:
      board: esp32dev
      framework:
        type: esp-idf
    
    # Enable logging
    logger:
    
    # Enable Home Assistant API
    api:
      encryption:
        key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    
    ota:
      - platform: esphome
        password: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    
    wifi:
      ssid: !secret wifi_ssid
      password: !secret wifi_password
    
      # Enable fallback hotspot (captive portal) in case wifi connection fails
      ap:
        ssid: "Blue-150 Fallback Hotspot"
        password: "XXXXXXXX"
    
    captive_portal:
    
    external_components:
      - source: github://Fabian-Schmidt/esphome-victron_ble
    
    esp32_ble_tracker:
    
    victron_ble:
    
      - id: MySmartSolar
        mac_address: "ecfc896a2512"
        bindkey: "65d48d291980fd8c9796b670561be1a8"
    
    sensor:
      # MySmartSolar
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT Output Voltage"
        type: BATTERY_VOLTAGE
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT Output Current"
        type: BATTERY_CURRENT
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT Yield Today"
        type: YIELD_TODAY
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT PV Power"
        type: PV_POWER
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT Load Current"
        type: LOAD_CURRENT
    
    binary_sensor:
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT is in Fault state"
        type: DEVICE_STATE_FAULT
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT has Error"
        type: CHARGER_ERROR
    
    text_sensor:
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT state"
        type: DEVICE_STATE
      - platform: victron_ble
        victron_ble_id: MySmartSolar
        name: "MPPT Error reason"
        type: CHARGER_ERROR
        

    De todo el codigo indicado se ha variado el framework (en este caso esp-idf ), utilizando el base de arduino, «al menos con este modelo de placa, me generaba muchos timeouts la conexión bluetooth», con este cambio me iba perfecto, en cuanto a los valores a recoger, son todos los valores posibles para una controladora solar, si se dispone de otro dispositivo, es irnos a la lista del repo de Github e ir añadiendo lo que necesitemos.

    Y si… esto también se puede hacer con una raspi y montar un Venus virtual, y por medio de Ve.Direct llevarnos los datos, e incluso movernos estos datos via MQTT, pero con esto ahorramos la mitad de costes….

    Leave a Reply

    Your email address will not be published.

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>