Hi everyone,
I've built a custom integration that connects Home Assistant to Porten, a network of community-hosted GPUs. The setup I actually run at home: my own GPU box serves the model, Home Assistant talks to it through the integration, and anything served by my own hardware is free.
So in practice it's a self-hosted LLM assistant, but with two things I couldn't get from a plain local setup:
- If my node is busy or down, or I want a model that doesn't fit my card, the request can fall through to other nodes on the network instead of failing. (Or not: a "my nodes only" API key hard-locks everything to your own hardware.)
- When my GPU is idle it serves other people's requests and earns per token. The box pays for itself.
For the cloud-fallback part: nodes are community GPUs in Europe and the network doesn't log prompts or answers. But if you run your own node with a locked key, nothing ever leaves your house at all.
What the integration does:
- Multiple agents, each with its own model, personality and permissions. I have a strict butler for voice control and a stateless judge for automations.
- Full Assist device control through HA's LLM API with native tool calling. Works fine on small models, and in Swedish too, "slå på kaffebryggaren" just works.
- Vision: attach camera snapshots in Assist chat and ask about them.
- AI Tasks: call ai_task.generate_data with a schema and get typed JSON back for your automations. I use it for things like "is the bedroom too warm for sleeping?" and get a boolean plus a motivation back.
- English and Swedish translations, defaults tuned for small thinking models.
Install: add https://github.com/porten-ai/ha-porten as a custom repository in HACS (Integration), then add the Porten AI integration with an API key from porten.ai. Connecting a GPU as a node is a one-line installer on the machine.
Source is MIT: https://github.com/porten-ai/ha-porten
It's a fresh release so I'd love feedback, especially from people with voice pipelines or camera setups. Issues and PRs very welcome.