How we built Sisu on a Raspberry Pi 5 with Hermes and Home Assistant

Sisu is the home agent running on a Raspberry Pi 5 at our house. Through chat, you can ask what is happening or request a task. Hermes then picks the integration it needs. Home Assistant collects data from supported devices. Hermes talks directly to the inverter and EV charger through their local APIs. That way, you control part of your home through chat without forcing every device into the same system.

Below, you will see how we set up the Pi and how charging on surplus solar power works. You will also see what a business can learn from this setup.

Illustration of a small house with a central hub, linked by glowing blue lines to an electric car at its charger
Sisu runs from one small machine at home and charges the car on surplus solar power.

One small machine with two roles

Sisu runs on a Raspberry Pi 5 with 8 GB of RAM and a 1 TB NVMe SSD. On the standard Linux base of Raspberry Pi OS, Hermes Agent and Home Assistant run side by side. This lets the Pi stay available day and night without keeping a powerful computer running.

Hermes handles conversation and actions. The agent interprets a question and retrieves the right information. It uses only the integration that the task needs. Home Assistant provides a central view of devices it supports well. The dashboard stays in our private environment and is not publicly accessible.

Why does Home Assistant run in a container?

Because the same Pi also runs Hermes and a few custom integrations. Home Assistant OS is a sensible choice for a device that only needs to run Home Assistant. Sisu does more, so Home Assistant runs here as Home Assistant Container on the same Linux machine.

This keeps their roles clear. Home Assistant handles the devices and statuses it is good at. Hermes uses that information alongside other local sources. Neither needs to take over the entire installation.

Does every device need to be in Home Assistant?

No. Some devices offer a usable local API of their own. A direct connection is then simpler and provides exactly the data or actions we need.

Home Assistant has many integrations, but that route is not the best fit for every device. In Sisu, Hermes mainly uses it to read the statuses of supported devices. We add permissions to make changes only when a specific use case needs them. We use a different route for the inverter and EV charger: Hermes communicates directly with their local APIs.

For Home Assistant, Hermes uses the official Home Assistant integration. This plugin from Nous Research gives the agent four tools "for querying and controlling devices via the REST API." It blocks service domains that could run code on the Home Assistant host, such as shell_command.

RouteWhenSisu example

Home Assistant

The device has good support and a central status view is useful

Reading the statuses of supported devices

Direct local API

A device offers a usable local connection of its own

Reading surplus power from the inverter and controlling the EV charger

Fixed automation

A recurring task needs to run predictably

Charging when there is enough surplus and stopping safely when that changes

Example: surplus solar power for the car

One useful application is charging the car with available solar energy. The inverter supplies the current surplus power directly as a single value. So Hermes does not have to do the math with the home's production and consumption.

Our EV charger is not in Home Assistant either. Hermes reads the inverter's value. It controls the charger through the charger's own local API. Home Assistant does not sit between those two connections.

The rule behind this is deliberately simple. Charging starts only after enough surplus has been available for long enough. If the surplus drops or a device stops responding, the automation stops safely. A change to the charging rule needs confirmation first. Meanwhile, you can ask through chat how much surplus is available and whether the car is charging. You can also ask why the automation did or did not act.

Chat makes separate integrations usable

Without chat, these are separate dashboards and technical connections. With Hermes, you can request the same information in ordinary language. You do not need to remember where to find a status or which application belongs to which device.

That does not mean a language model decides freely. Hermes translates the question into a known check or action. Repeatable tasks remain fixed rules with clear boundaries. The agent can explain, but the automation decides when to control a device.

That separation makes the system more predictable. You can phrase a question freely. The execution stays fixed.

Local-first without forcing everything to stay local

Sisu's base runs at home on the Pi: Home Assistant and the device connections stay close to the source. We do use an external service for the language model and chat channel. Sisu is therefore a hybrid, local-first setup.

That is a practical choice. Local control does not need to pass through a manufacturer's cloud. If the internet goes down, local rules can keep working, but chat may be temporarily unavailable.

The term local-first comes from the essay Local-first software by Ink & Switch, published in 2019. In local-first software, the data on your own device is the main copy. Servers only hold an extra copy. We apply that idea to controlling the house. Read more about what stays local in a hybrid AI setup. To see whether a setup like this fits your business, read local AI vs. cloud AI.

Keep access simple and limited

Local does not automatically mean secure. We keep administration interfaces private and use separate accounts with limited permissions. We give each integration access only to what it needs.

For actions with a physical effect, we start with read-only access. Then we test one targeted action. Only when the behavior is clear do we add automation. If data is missing or unreliable, nothing happens. Anyone who wants to change an important rule has to confirm it deliberately first. Our AI safety checklist for business data applies the same rules to a business.

How to build the same foundation

  1. Start with a Raspberry Pi 5, reliable storage such as an NVMe SSD, and Raspberry Pi OS.

  2. Install Hermes and Home Assistant Container on the same machine, but keep their roles separate.

  3. Connect Home Assistant through the official Hermes plugin with a limited account. Add only the devices that fit it well.

  4. Use a direct local API when it is simpler and clearer for a device.

  5. Add one chat channel and start with questions that only retrieve information.

  6. Then automate one narrow task and also test what happens when data is missing.

A first version does not need more than that. A small working system teaches you where the value is faster than a house full of unfinished integrations.

Is a Raspberry Pi 5 powerful enough?

For this role, yes. Our Raspberry Pi 5 has 8 GB of RAM and a 1 TB NVMe SSD. That is enough for the connections, Home Assistant, and lightweight automation.

The large language model does not need to run on the device itself. That keeps the local machine compact and energy efficient. A Pi does not replace heavy AI hardware or a developer workstation. It does not need to. Sisu is the control layer that is always ready at home. Heavy computing can happen elsewhere. For heavier local models, see what computer you need to run AI locally.

What does this home setup teach a business?

Let a local agent work close to the processes. Choose the simplest reliable connection for each system, and grant only the permissions needed. A business does not need a Raspberry Pi for this; what matters is that division of work.

A business environment needs more work on user administration, logging, updates, and support. AI backup and recovery is part of that too: encrypted, stored at a separate location in the customer's network, never on the node. The principle stays the same. You do not have to move everything to one cloud platform to make AI useful.

On the page about local AI for businesses, you can read how we translate this into a managed installation. Hermes as an AI agent shows which tasks the agent can carry out. Under security and privacy, we explain how we limit access and data flows. Voltti supports pilots in Belgium and the Netherlands.

For the business hardware decision, read when you need a Linux computer for an AI agent.

Portrait of Seppe Gadeyne

Seppe Gadeyne is a developer and the owner of Voltti. He sets up AI agents for companies in Belgium and the Netherlands.

Updated on

Frequently asked questions

01Why does Home Assistant run in a container rather than as Home Assistant OS?

Because the same Raspberry Pi also runs Hermes and a few custom integrations. Home Assistant OS is a complete operating system for the device. Home Assistant Container runs as one part of the system on Raspberry Pi OS. That keeps Hermes, Home Assistant, and the direct device connections side by side on one Linux machine. For a device dedicated to Home Assistant, Home Assistant OS may be simpler.

02Does Sisu work entirely without the internet?

No. The local device connections and the fixed automation can keep working at home when the internet drops. Charging on surplus solar can continue. The language model and the chat channel use an external service. You may not be able to ask Sisu anything until the connection is back. That is why we call Sisu local-first and hybrid, not fully offline.

03Do the inverter and EV charger need to be in Home Assistant?

No. In our setup, Hermes reads surplus power directly from the inverter's local API. It controls the EV charger through the charger's own local API. For both devices, a direct connection was simpler and gives exactly the data and actions we need. Home Assistant remains available for the other devices it supports well.

04Can a Raspberry Pi 5 also run a large local AI model?

That is not the Pi's role in Sisu. The device handles the local connections, Home Assistant, and lightweight automation. The language model can run elsewhere, so the Pi can stay small and energy efficient. A Pi is not a replacement for heavy AI hardware. Larger local models need a computer with much more memory and a capable GPU.

05Is the Home Assistant dashboard open to the internet?

No. Administration stays in a private environment and is not publicly accessible. We use separate accounts with limited permissions, and each integration gets access only to what it needs. For actions with a physical effect, we start with read-only access. Then we add one targeted action at a time. Changes to important rules require a deliberate confirmation.

Want a local AI agent built around your own systems?

Discuss your pilot