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.
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
More Work
Have a similar problem?
Tell us what you're working with. We'll respond within one business day.
Start a conversation