Zyron
ZYRON
All Work
Home AssistantESP32BLEModbusCAN busRaspberry Pi

Smart Home Automation & Custom BMS Bridge

Gates, blinds, lights — and batteries the inverter couldn't read.

Full home automation with Home Assistant controlling gates, garages, blinds, lights, and mood scenes — plus custom firmware to bridge an unsupported battery BMS to the inverter over Modbus and CAN bus, with a live battery dashboard showing per-cell voltage, SoC, temperature, and cycle count.

Client
Private Residence
Industry
Home Automation & Energy Management
Duration
12 weeks
Year
2025
Stack
Home AssistantRaspberry PiESP32BLEModbusCAN busPythonMQTTZigbeeRS485
40+
Automated Devices
30
Battery Cells Monitored
12
Blind Zones
5
Mood Scenes

The Challenge

A residential client wanted complete home automation — gates, garage doors, motorised window blinds, lighting zones, and mood presets — integrated with their solar energy system. Home Assistant was the chosen platform, but two significant custom problems remained unsolved.

First, the client's lithium battery bank used a BMS that the inverter manufacturer did not support. The batteries and inverter could not communicate, which prevented the inverter from managing charge and discharge correctly. No off-the-shelf adapter existed for this combination.

Second, the BMS had no native dashboard — monitoring required a separate proprietary app that showed only basic data and no history. The client needed per-cell voltages, state of charge, temperature, and cycle counts visible on the same Home Assistant dashboard as the rest of the home.

The Solution

We deployed Home Assistant on a dedicated server and integrated every controllable device in the home: two automated gates via MQTT-connected relay boards, three garage doors, twelve motorised blind zones on a custom RS485 bus, lighting groups via Zigbee, and multi-room audio. Mood scenes (Morning, Work, Evening, Cinema, Away) trigger coordinated state changes across all devices with a single tap.

For the BMS bridge, we wrote custom firmware running on a Raspberry Pi that reads the battery management system over BLE — decoding the proprietary protocol to extract per-cell voltages (15 cells per battery, 2 batteries), state of charge, current, temperature, MOS temperature, delta voltage, and cycle count. This data feeds into Home Assistant as native sensors, displayed on a custom Lovelace dashboard with real-time gauges and trend charts.

The Modbus-to-CAN bridge translates the battery state into the protocol the inverter expects — enabling correct charge profile selection, low-SoC cutoff, and grid-tie behaviour that would otherwise be impossible without supported hardware.

The system is now being re-engineered onto custom ESP32 hardware with a web dashboard for fleet deployment — tracking multiple installations globally with GPS location, live telemetry, and remote firmware updates.

Results

  • Full home automated — gates, garages, 12 blind zones, lighting, audio, moods
  • Unsupported BMS integrated with inverter via custom Modbus/CAN bridge
  • Per-cell voltage monitoring across 30 cells (2 batteries × 15 cells)
  • Battery dashboard: SoC, current, temperature, MOS temp, delta V, cycle count
  • Solar, battery, and grid data unified on a single Home Assistant dashboard
  • ESP32 re-engineering in progress — fleet deployment with geo-location tracking

Have a similar problem?

Tell us what you're working with. We'll respond within one business day.

Start a conversation