On first boot the appliance opens a captive portal from your browser: connect Wi-Fi, create your administrator and finish. No SSH, no cables to your computer.
Local networkLocate the Raspberry Pi
Initial accountCreate secure credentials
First deviceDriver, port and slave ID
1
Insert the card and power on
Put the flashed microSD into the Raspberry Pi and connect the power. The first boot expands the system and starts HelioPulse; give it a minute.
2
Join the HelioPulse network
From your phone or laptop, connect to the open HelioPulse-XXXX Wi-Fi network (no password) the device creates. Then open your browser and go to http://heliopulse.setup:8090 to reach the setup portal. On some phones the portal opens automatically; if not, just type that address.
3
Connect to the Internet
Pick your home Wi-Fi and enter its password, or choose to continue with a network cable. The signal strength helps you find the right network.
4
Create your administrator
Set the username and password (at least 8 characters) you will use to sign in to the panel. Keep them safe: this is your administrator account.
5
Optional: enable remote access
If your device supports it, pick a name to reach the panel securely over the Internet. Local access always keeps working, so you can skip this step.
6
Ready to use
The portal confirms setup is complete. The device is now on your Wi-Fi: reconnect to your usual network and open the panel at http://heliopulse.local:8080 with the account you created. The HelioPulse-XXXX network disappears since it is no longer needed.
1. Connect to the Internet
Pick your Wi-Fi network (or continue with a network cable).
2. Create your administrator
Set the credentials you will use to sign in to the panel.
3. Ready to use
Reconnect to your usual network and open the panel address shown.
Designed for phone and laptop
The portal is a responsive, guided flow with a progress bar and light/dark themes. To open it, join the HelioPulse-XXXX Wi-Fi and go to http://heliopulse.setup:8090 in your browser. No app, no SSH and no cables to your computer.
Instead of flashing an image, pull the container on a mini-PC, NAS or server. The same core, no Raspberry required: ESP32 collectors connect over the network, and USB-RS485 adapters and remote access work just like on HelioPulse OS.
Linux host
amd64 or arm64: mini-PC, NAS, server or ARM64 board.
Docker Engine
Docker Compose v2 is recommended for a permanent installation.
Your devices
WiFi/LAN dongles or ESP32 collectors over the network, or a USB-RS485 adapter passed to the container: Devices › Detected serial ports guides you.
1
Start the container
Use docker run for a quick try, or Docker Compose for a permanent installation. The image picks your architecture automatically.
Go to http://<host-IP>:8080 from any device on your network and create your administrator account in the setup wizard.
From outside your local network (for example, a port published to the Internet), the wizard asks for a one-time setup code; read it with docker exec heliopulse cat /data/config/bootstrap-token. Then set System › General › Site location: daily totals, reports and schedules use its time zone.
3
Keep it up to date
Updates replace the image: pull the new version and recreate the container. Your data stays in the volume.
Keep it up to date
# Update to a new version (image replacement):
docker compose pull && docker compose up -d
The image resolves your architecture automatically. All data lives in the /data volume, so recreating the container keeps your database and settings. Use the `latest` tag, or pin a specific version (e.g. 1.23.5).
Keep the /data volume on local storage, not on an NFS/SMB share: SQLite file locking is not reliable there.
Find HelioPulse, install it and start it. Enable Show in sidebar, then open HelioPulse using your Home Assistant administrator session.
3
Connect sensors (optional)
For sensors, configure Mosquitto and the MQTT integration in Home Assistant. Keep mqtt_mode set to auto and configure your devices in HelioPulse. Use a distinct topic_prefix for each instance.
4
Update safely
Install App updates from Home Assistant and create a backup first. App versions are independent of HelioPulse OS and its OTA updates.
Experimental support: current scope
The Home Assistant App is experimental. Validation so far shows good behavior — sidebar access, administrator sign-in, live telemetry, MQTT sensors and backups — but it is not yet complete: some hardware and connection scenarios are still being tested. Create a backup before updating and report anything unexpected.
Each device has an independent collector. A failure or restart in one inverter does not interrupt telemetry from the others.
01
Device
The inverter or BMS exposes data through its protocol.
02
Driver
Describes protocol, registers, scales and metrics.
03
Collector
Reads each device in an isolated, controllable process.
04
Panel
Consolidates telemetry, history, alarms and forecast.
06Drivers
The translator between your device and HelioPulse.
A driver is a declarative JSON file. It defines how to communicate over Modbus RTU and convert manufacturer registers into common HelioPulse metrics.
No executable code
The package describes data; it does not install arbitrary binaries on the system.
Validation before saving
The backend checks structure, protocol and registers before accepting the file.
Reusable
The same driver can be used with several compatible devices.
07Create a driver
Start with the Modbus map.
You need the manufacturer's protocol manual and verified readings from a real device. The minimum schema requires an identifier, modbus_rtu protocol and at least one group with one register.
Confirm baud rate, parity, stop bits and slave ID.
Verify address, sign, scale and unit for every register.
Compare power and energy with the device's physical panel.
Test disconnections and out-of-range values.
08Load and connect
Activate it without SSH.
Step 1
Upload the JSON
In Equipment → Drivers, select the file. HelioPulse validates the schema before saving it.
Step 2
Register the device
Set a device ID, driver, persistent by-id port and a slave ID between 1 and 247.
Step 3
Start the collector
Start or restart only that device and confirm that telemetry becomes active.
Controlled replacement
Uploading another file with the same ID updates the driver. Restart associated devices to apply the new definition.
09What HelioPulse has today
A local energy platform you can use now.
The current product combines live monitoring, local history, device management and safe operations on the Raspberry Pi.
Available today
Local-first monitoring
Keep telemetry and history on the appliance and continue operating on your local network without Internet.
Live telemetry with quality
See solar, consumption, battery, grid and device connection state through live WebSocket updates.
Historical analysis
Explore production, consumption, SOC, temperatures and phases from today to a custom range or one year.
Validated JSON drivers
Load, create and reuse declarative Modbus drivers without rewriting the panel.
Multi-device operations
Manage independent local and wireless ESP32 collectors, stable serial ports, device state and start/stop/restart actions.
Visual flow automation
A node editor for automations: device sources, conditions/decisions/switch, timed and sustained waits, and safe actions. Simulate before publishing; versions are immutable.
Live execution log
See recent runs of each flow, per-node states and a console of events scoped to the selected run — without opening the editor.
Alarms and event timeline
Follow alarm transitions and open an alarm to see what triggered it (metric, value and threshold); audit connectivity, configuration and collector events.
Daily and weekly reports
Daily and weekly reports lead with metrics and findings; optional local AI adds analysis, clearly labelled and never mixed with the measured data.
Health, backups and recovery
Inspect Raspberry resources, connectivity and diagnosis, then create backups and recover locally.
Guided onboarding
A first-run walkthrough spotlights each section, plus a getting-started guide to register your first driver and device.
Responsive, multilingual UI
Use the panel on desktop or mobile with nine languages and light/dark themes.
Optional and advanced
Solar forecast
Compare expected and produced solar energy after configuring the PV array.
BMS over Modbus RTU
Register a compatible BMS as its own device and inspect cells, balancing, SOC, SOH, temperatures and cycles.
Mock mode
Generate synthetic telemetry from a driver to validate the UI without hardware.
Local AI for reports
Optionally download and activate a local model; deterministic reports remain available without it.
Connected-home integrations
MQTT/Home Assistant, SmartThings and Kasa actions are available under their configuration and compatibility requirements.
Remote access and app OTA
Optional outbound tunnel access and signed application updates depend on configuration and connectivity.
Roadmap
Cloud sync
Not part of the current local workflow.
Driver marketplace
Manual driver loading exists today; a public marketplace remains future work.
Broader hardware coverage
Native JK RS485 support is already available; more CAN/BLE models and real EV charger mappings still require development and testing.
Unattended energy control
Manual device settings and energy-control bindings exist; unattended execution still requires safe policies and further validation.
Full OS A/B rollback
Application OTA is available separately; full operating-system A/B rollback remains future work.
10Published releases and next steps
What we shipped. What remains.
Browse the published stable versions and the work still being considered. Each release links to its official notes; pending work has no promised release date.
Published stable versions 104
Application releases (OTA). Bootable OS images and Docker images are published separately; an app version does not imply that an OS image exists for it.
v1.18.3
Growatt telemetry corrections and translated system output.