Fabian-Schmidt / esphome-victron_ble

Use official Victron BLE endpoint for fetching data from Victron devices via Bluetooth LE via ESPHome.
GNU General Public License v3.0
181 stars 18 forks source link

Enhancement Request for someone to add/test support for a small display such as the M5Stack Core #40

Open jsmath opened 9 months ago

jsmath commented 9 months ago

I think this would be a really cool use case for a small display/readout of the battery information for the Victron smart shunt. I found the following project which seems similar enough that it may be possible to add support for the display without too much extra work. I can't test as I don't currently have an M5Stack Core. https://github.com/koenvervloesem/ESPHome-Heart-Rate-Display

One limitation with the above link would be not being able to run wifi at the same, which I think is acceptable for the use case of just viewing battery information on a display in an rv/camper when on the road. Another esp32 device could be used without a display when requiring wifi and the M5Stack could be powered off to ensure it is not connected to the victron bluetooth.

Fabian-Schmidt commented 9 months ago

This is already possible thanks to the ESPHome project. It has support for a lot of different displays. You need to write your own lamda automation for the data displayed. I have multiple displays showing the state of the shunt and solar charger. List of supported displays: https://esphome.io/#display-components

jsmath commented 9 months ago

Thanks for the reply! What displays do you use or recommend? Are you able to share your config/code?

Fabian-Schmidt commented 9 months ago

Thanks for the reply! What displays do you use or recommend? Are you able to share your config/code?

Depends on the need and what other information you want to display.

I have one e paper for lower power display and a second small TFT display which is only active on demand. I played with 5 different displays in various sizes and with different features.

It greatly depends on your use case. Like how much power is the display allowed to consume. What is the typical reading distance. Is it a bright environment with direct sunlight. Does it need always updated information or just infrequent updates. Maybe just switch on if a certain scenario occurs to inform you.

Depending on the answer this will impact the ideal display.

The M5 stack display are small displays and in my opinion pricey. I often use lilygo. A lot of displays are supported by esphome project. That's the reason I wrote this component based on this project as it is a very flexible platform.

spattinson commented 1 week ago

You may run into memory issues using a display with this. I have an esp32_dev controlling my garage door (lilygo t-display) so a cover is defined, a few gpios for controlling and one gpio for input and the st7735 display. The BT stack uses too much memory to have the display at the same time. It crashed on BT initialization after I added victron_ble for a Smart Battery Protect. I removed the display from config and it worked. I dont really need the display for my use case, its just what board I had available and it was only displaying the esphome connection state, nothing complex.

You could of course use a second esp32 with a display and get the sensor data from HA instead