All Projects → KinDR007 → VictronMPPT-ESPHOME

KinDR007 / VictronMPPT-ESPHOME

Licence: MIT license
Victron Mppt charger ve.direct to esphome node

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to VictronMPPT-ESPHOME

esphome-components
ESPHome components
Stars: ✭ 62 (-48.76%)
Mutual labels:  esphome, esphome-component
esphome-capacitive-touch-panel
A DIY capacitive touch panel based on the mpr121 and esphome.
Stars: ✭ 95 (-21.49%)
Mutual labels:  esphome
esphome aux ac component
ESPHome component for AUX based air conditioners. Direct wifi control of HVAC by ESPHome and Home Assistant. HVAC status and command feedback available.
Stars: ✭ 62 (-48.76%)
Mutual labels:  esphome
esphome-devices
ESPHome Device Configurations Repository - A database of user submitted configurations for a variety of devices which can be flashed to run ESPHome.io firmware.
Stars: ✭ 71 (-41.32%)
Mutual labels:  esphome
esphome-yeelight-ceiling-light
Esphome custom firmware for some Yeelight Ceiling Lights
Stars: ✭ 81 (-33.06%)
Mutual labels:  esphome
ESPHome-Air-Quality-Monitor
ESPHome configuration for a DIY indoor air quality monitor for CO₂ concentration, PM2.5 and PM10 concentrations, and temperature, humidity and pressure
Stars: ✭ 42 (-65.29%)
Mutual labels:  esphome
esphome-configs
ESPHome Device Configurations Repository - A database of user submitted configurations for a variety of devices which can be flashed to run ESPHome.io firmware.
Stars: ✭ 66 (-45.45%)
Mutual labels:  esphome
invertergui
A simple Go based monitoring tool for Victron Multiplus devices
Stars: ✭ 18 (-85.12%)
Mutual labels:  victron
M5Stack-Air-Quality-ESPHome
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
Stars: ✭ 19 (-84.3%)
Mutual labels:  esphome
esphome-phsensor
ESP8266 with analog pH sensor
Stars: ✭ 45 (-62.81%)
Mutual labels:  esphome
radiale
What if home automation was homoiconic? Just transformations of data? No more YAML!
Stars: ✭ 21 (-82.64%)
Mutual labels:  esphome
docker-iot-stack
💻 My personal Docker IoT Stack
Stars: ✭ 24 (-80.17%)
Mutual labels:  esphome
esp32 8ch motor shield
An ESP32 based 8 channels motor controller (to replace Homematic IP Floor Heating Actuator)
Stars: ✭ 34 (-71.9%)
Mutual labels:  esphome
TTGO-T-Display-esphome-homeassistant-sample
ESPHome template to show HomeAssistant sensor data in a TTGO T-Display
Stars: ✭ 37 (-69.42%)
Mutual labels:  esphome
esphome-weather-station
ESPHome version of Elektor weather station v2
Stars: ✭ 140 (+15.7%)
Mutual labels:  esphome
ESPSense
Use ESPHome to emulate TP-Link Kasa HS110 plugs, and report energy usage to your Sense Home Energy Monitor (or anything else on your network!) via ESP8266/ESP32 devices
Stars: ✭ 36 (-70.25%)
Mutual labels:  esphome
ESPHome-OpenTherm
Example of how to control an opentherm boiler with esphome
Stars: ✭ 54 (-55.37%)
Mutual labels:  esphome
MPPT Buck Converter Synchronous
See video:
Stars: ✭ 25 (-79.34%)
Mutual labels:  mppt
home-assistant-glow
⚡ The power of energy measurements in your house
Stars: ✭ 383 (+216.53%)
Mutual labels:  esphome
server
MyController 2.x server
Stars: ✭ 14 (-88.43%)
Mutual labels:  esphome

VictronMPPT-ESPHOME

ESPHome component to monitor a Victron device via ve.direct / UART TTL

Supported devices

All Victron devices providing a ve.direct port.

Tested devices

  • Victron SmartSolar MPPT 75/15
  • Victron SmartSolar MPPT 100/20
  • Victron SmartSolar MPPT 150/35
  • Victron SmartSolar MPPT 250/70
  • Victron Phoenix Inverter 12/500

Requirements

Schematics

Attention: The TX voltage of the VE.Direct interface depends on the product: Some are 5V, others 3.3V!

Please measure the voltage between TX and GND. In case of a logic level of 5V you should add a voltage divider or logic level converter between the ESP and the Victron device.

                UART-TTL
┌────────────────┐                ┌──────────────────┐
│           GND o│<-------------->│o GND             │
│ Victron    TX o│--------------->│o D7   ESP32/     │
│ Charger    RX o│                │       ESP8266    │<-- GND
│            5V o│                │                  │<-- 3.3V
└────────────────┘                └──────────────────┘

# UART-TTL jack (JST-PH 2.0mm pinch)
┌─── ─────── ────┐
│                │
│ O   O   O   O  │
│GND  RX  TX VCC │
└────────────────┘

If you are unsure about to pin order please measure the voltage between GND and VCC (5V). If you measure a positive voltage you know the position of VCC and GND!

JST-PH jack

Pin Purpose ESP pin
1 GND GND
2 RX
3 TX D7 (RX)
4 5V

Installation

You can install this component with ESPHome external components feature like this:

external_components:
  - source: github://KinDR007/VictronMPPT-ESPHOME@main

uart:
  id: uart0
  tx_pin: D8  # Not used! The communication is read-only
  rx_pin: D7
  baud_rate: 19200
  rx_buffer_size: 256

victron:
  id: victron0
  uart_id: uart0

sensor:
  - platform: victron
    victron_id: victron0
    panel_voltage:
      name: "Panel voltage"
    battery_voltage:
      name: "Battery voltage"
    battery_current:
      name: "Battery current"

or just use the esp8266-example.yaml as proof of concept:

# Install esphome
pip3 install esphome

# Clone this external component
git clone https://github.com/KinDR007/VictronMPPT-ESPHOME.git
cd VictronMPPT-ESPHOME

# Create a secret.yaml containing some setup specific secrets
cat > secrets.yaml <<EOF
mqtt_host: MY_MQTT_HOST
mqtt_username: MY_MQTT_USERNAME
mqtt_password: MY_MQTT_PASSWORD

wifi_ssid: MY_WIFI_SSID
wifi_password: MY_WIFI_PASSWORD
EOF

# Validate the configuration, create a binary, upload it, and start logs
esphome run esp8266-example.yaml

The uart_id and victron_id is optional if you use a single UART / victron device. All sensors are optional.

The victron device pushs one status message per second. To reduce the update interval of the ESPHome entities please use the throttle parameter to discard some messages.

The available numeric sensors are:

  • max_power_yesterday
  • max_power_today
  • yield_total
  • yield_yesterday
  • yield_today
  • panel_voltage
  • panel_power
  • battery_voltage
  • battery_voltage_2
  • battery_voltage_3
  • battery_current
  • battery_current_2
  • battery_current_3
  • day_number
  • charging_mode_id
  • error_code
  • tracking_mode_id
  • load_current
  • ac_out_voltage
  • ac_out_current
  • ac_out_apparent_power
  • device_mode_id
  • warning_code
  • battery_temperature
  • instantaneous_power
  • consumed_amp_hours
  • state_of_charge
  • time_to_go
  • depth_of_the_deepest_discharge
  • depth_of_the_last_discharge
  • depth_of_the_average_discharge
  • number_of_charge_cycles
  • number_of_full_discharges
  • cumulative_amp_hours_drawn
  • min_battery_voltage
  • max_battery_voltage
  • last_full_charge
  • number_of_automatic_synchronizations
  • number_of_low_main_voltage_alarms
  • number_of_high_main_voltage_alarms
  • number_of_low_auxiliary_voltage_alarms
  • number_of_high_auxiliary_voltage_alarms
  • min_auxiliary_battery_voltage
  • max_auxiliary_battery_voltage
  • amount_of_discharged_energy
  • amount_of_charged_energy

The available text sensors are:

  • charging_mode
  • error
  • tracking_mode
  • firmware_version
  • device_type
  • device_mode
  • warning
  • alarm_condition_active
  • alarm_reason
  • model_description

Binary sensors:

  • load_state
  • relay_state

Big thanks for help to ssieb for the support!

Debugging

If this component doesn't work out of the box for your device please flash the debug-esp8266-example.yaml and create an issue providing the full ESPHome log.

esphome run debug-esp8266-example.yaml
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].