Inspiration
A modern solar installation contains everything needed to become intelligent: an inverter, battery, solar panels, weather data, connected devices, and a constant stream of telemetry.
But these components rarely work together.
Manufacturer portals show charts. Smart switches follow isolated timers. Inverters apply fixed settings. Homeowners still have to interpret the weather, watch the battery, anticipate outages, and manually decide when to store, use, or conserve energy.
We built InvertIQ to close that gap.
InvertIQ is a solar automation platform that can observe an entire energy system, predict what is likely to happen next, make explainable decisions, and safely coordinate inverters, batteries, and connected devices.
Instead of only telling you what your solar system did, InvertIQ helps decide what it should do next.
What it does
InvertIQ turns a compatible solar installation into an intelligent, programmable energy system.
It combines live inverter telemetry, battery state, household demand, solar forecasts, historical behaviour, operating preferences, and connected-device data. Its automation engine uses this shared context to decide how energy should flow—and then routes approved actions through controlled, auditable execution paths.
InvertIQ can:
- Automatically change inverter posture as energy conditions change
- Preserve battery capacity when energy is scarce
- Use surplus solar when it is available
- Prevent unnecessary grid charging
- Protect the battery at critical state-of-charge levels
- Prepare for expected supply interruptions
- Coordinate flexible loads such as geysers, pool pumps, and other smart devices
- Project solar generation, household demand, grid use, and battery state
- Continue selected automations locally when internet connectivity is unavailable
- Explain why every automated decision was made
This is more than a monitoring dashboard. It is an automation layer between energy generation, storage, consumption, and the hardware that controls them.
Solar automation that users can understand
Most energy automation is hidden inside fixed manufacturer logic. InvertIQ makes it visible and programmable.
Its Logic Workbench lets users and installers create automations as connected visual blocks. A plan can combine inputs such as:
- Solar production
- Household consumption
- Battery state of charge
- Grid availability
- Weather and generation forecasts
- Time and daylight
- Smart-device telemetry
- User-configured thresholds and modes
These inputs pass through conditions and safety rules to produce approved actions, such as changing an inverter posture or switching a flexible electrical load.
Before an automation is trusted with physical equipment, it can be tested with static values or replayed against historical plant telemetry. The same evaluation model used for simulation forms the basis of live automation, reducing the gap between “what we tested” and “what will run.”
The current Workbench is intentionally a design and simulation surface while its physical execution path is completed. InvertIQ’s core forecast-aware inverter automation already operates through a separate, guarded production control path.
Automation at the edge
Cloud automation alone is not enough for an energy system. Internet connectivity may disappear during the exact event the automation was designed to handle.
InvertIQ therefore includes a companion Station Guard runtime for approved local automations.
Station Guard can consume local inverter and device telemetry, evaluate a validated automation plan, operate authorized local devices, and report its readings, decisions, and action outcomes back to InvertIQ.
The Guard does not become an uncontrolled second brain. Authority is explicitly assigned, plans are versioned, inputs have freshness requirements, and every physical action remains subject to safety checks, serialization, expiry, and verification.
This architecture makes it possible to automate locally without creating conflicting cloud and local controllers.
AI-powered onboarding
Solar automation is only useful if people can connect their equipment without becoming inverter experts.
During onboarding, users photograph the labels on their inverter, battery, and related equipment. Multimodal AI converts those images into structured plant information, including:
- Inverter manufacturer and model
- Number and capacity of inverter units
- Battery manufacturer and model
- Battery chemistry, voltage, and capacity
- Estimated solar-array capacity
- Identification confidence and supporting notes
The user reviews and confirms the result. InvertIQ then selects the appropriate manufacturer integration and guides the user through connecting the system.
AI removes setup friction, but it does not receive unchecked authority over physical equipment.
How we built it
InvertIQ is built around a deliberate separation between observing, deciding, and acting.
The backend is written in TypeScript using Node.js and Fastify. PostgreSQL stores plants, normalized telemetry, forecasts, automation plans, policy decisions, command state, and audit evidence.
The frontend uses React and Vite, with Recharts for energy visualizations and React Flow for the visual Logic Workbench.
The platform consists of several cooperating layers:
- Manufacturer drivers isolate the behaviour, terminology, session rules, and limitations of each supported inverter ecosystem.
- A normalized telemetry layer converts vendor-specific readings into a shared model of solar, load, grid, battery, and state of charge.
- A forecast pipeline combines weather-derived solar estimates with plant-specific historical consumption and battery behaviour.
- A pure Decision Engine evaluates the current energy situation without performing database or network operations.
- The Logic Workbench provides programmable, multi-device solar automation and historical replay.
- A controlled execution path validates, records, serializes, dispatches, and verifies physical actions.
- Station Guard evaluates approved plans near the installation when local execution is required.
- The dashboard and installer tools expose live state, forecasts, decisions, actions, faults, and automation health.
A simplified battery projection uses the energy balance:
$$ \Delta SOC = \frac{E_{\text{solar}} - E_{\text{load}}}{C_{\text{battery}}} \times 100 $$
InvertIQ repeatedly updates this projection using forecast solar production and plant-specific load estimates. Automation can therefore respond not only to what is happening now, but also to what is likely to happen next.
Safe, explainable physical automation
Automating real energy hardware is fundamentally different from automating software.
A network request timing out does not prove that an inverter rejected a command. Retrying blindly could apply the same physical change twice or leave the platform with a false understanding of the plant.
InvertIQ therefore separates five kinds of truth:
- What the automation wants
- What command was requested
- What the manufacturer platform accepted
- What InvertIQ currently believes
- What later telemetry confirms
Uncertain outcomes remain explicitly uncertain. Commands are durable and auditable. Manufacturer operations are serialized where required, and subsequent telemetry is used to reconcile the intended state with the physical system.
Every automated decision also carries a reason code and a human-readable explanation. Users can see not only that InvertIQ changed something, but why.
Plants can remain in Monitor mode while users build confidence. In this mode, InvertIQ observes and explains without controlling the inverter.
Challenges we faced
Building one automation layer across incompatible hardware
Every inverter manufacturer exposes different measurements, operating modes, APIs, rate limits, and session behaviour. Some even use opposite signs for battery current.
We solved this with isolated manufacturer drivers and a normalized energy model. The automation engine reasons about energy concepts instead of vendor-specific fields.
Preventing competing controllers
As soon as automation can run in the cloud and at the installation, authority becomes a serious problem. Two controllers must never independently operate the same physical action domain.
We designed explicit authority assignments, fencing, versioned plans, freshness requirements, and blocked states for situations where no trusted execution route is available.
Making visual automation safe
A drag-and-drop automation builder can make dangerous behaviour easy to create.
We therefore separated plan design, simulation, approval, and physical execution. Plans can be replayed against real historical conditions, while the runtime still enforces infrastructure-level safety rules that a plan cannot bypass.
Controlling real hardware through unreliable APIs
A failed response may mean failure, success, or an unknown result.
Instead of treating API calls as simple success-or-failure operations, we built durable action lifecycles, account-level serialization, controlled retries, uncertainty handling, circuit-breaking behaviour, and read-back verification.
Forecasting individual homes
Generic weather forecasts do not describe how a specific household consumes energy.
InvertIQ combines weather-derived PV estimates with the plant’s own hourly consumption patterns, observed overnight drain, battery capacity, and current state. Missing data is made visible rather than replaced with unjustified certainty.
Operating through connectivity failures
Energy resilience should not disappear when the internet does.
Station Guard required us to think carefully about local evaluation, authority, telemetry freshness, idempotency, offline evidence, and synchronization after reconnection.
What we learned
We learned that solar automation is not simply a collection of “if this, then that” rules.
A trustworthy automation platform must understand:
- Where each measurement came from
- Whether it is still fresh
- Which controller currently has authority
- Whether an action was requested, accepted, or physically confirmed
- What should happen when an input disappears
- How to explain a decision to a human
- How to test behaviour before it reaches real equipment
We also learned that AI is most valuable when it reduces complexity for the user while remaining outside the final safety boundary.
The hardest part was not making InvertIQ act. It was making sure InvertIQ knows when it may act, where it may act, why it is acting, and whether the action actually happened.
Accomplishments that we are proud of
We are proud to have built an end-to-end foundation for programmable solar automation, including:
- Live normalized inverter telemetry
- Multiple manufacturer integration paths
- AI-assisted hardware identification
- Forecast-aware inverter automation
- A visual multi-device Logic Workbench
- Static simulation and historical telemetry replay
- Controlled and auditable hardware execution
- Battery and grid safety protections
- Human-readable decision explanations
- Smart-device and MQTT integration foundations
- A working Station Guard bench runtime
- Customer, installer, and operator experiences
- Extensive automated testing of decisions, drivers, forecasts, plans, execution, and safety behaviour
Most importantly, InvertIQ treats automation as control over real energy infrastructure—not merely as a dashboard feature.
What's next
Our next steps are to:
- Complete the approved Workbench-to-physical-execution path
- Add reusable automation templates for battery protection, surplus solar, geysers, pool pumps, and EV charging
- Complete durable offline synchronization and recovery for Station Guard
- Expand inverter, battery, and smart-device integrations
- Improve forecast accuracy through predicted-versus-actual learning
- Add tariff-aware automation and defensible savings calculations
- Introduce fleet-wide automation management for installers
- Detect battery degradation and underperforming solar arrays earlier
Our long-term vision is for InvertIQ to become the safe, vendor-independent automation layer for distributed energy—coordinating every inverter, battery, solar array, and flexible device as one intelligent system.
Built With
- ai
- api
- edge
- emqx
- energy
- fastify
- flow
- modbus
- mqtt
- multimodal
- node.js
- open-meteo
- postgresql
- react
- recharts
- rest
- solar
- typescript
- vite
- vitest
Log in or sign up for Devpost to join the conversation.