cd /news/artificial-intelligence/show-hn-gethome-a-local-first-smart-… · home › topics › artificial-intelligence › article
[ARTICLE · art-168099] src=github.com ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Show HN: gethome – a local-first smart home hub with AI

Gethome released a local-first smart home hub that unifies Matter, Zigbee and MQTT devices in one app and runs on a small computer on the user's own Wi-Fi with no cloud account. The hub uses the user's own Anthropic or OpenAI key for its assistant, which answers questions and operates devices by voice or text, and for an agent that turns plain-language descriptions into automation rules saved switched off until enabled; rules keep running without any AI key. The hub exposes a local REST and WebSocket API with scoped API keys, stores temperature, humidity, air quality and power readings in five-minute steps for a week, and supports Owner, Member and Guest roles plus custom roles via short-lived invite codes.

read10 min views6 publishedNov 12, 2026
Show HN: gethome – a local-first smart home hub with AI
Image: Michielbdejong (auto-discovered)

The local brain of your home.

Matter, Zigbee and MQTT devices in one app. An assistant you can talk to, and rules you write by describing them. It runs on a small computer at home, on your own Wi-Fi — with your own AI key and no cloud account.

Get started · What it does · Hardware · Docs · gethome.me

<sub>The app a hub is lived in: gethome for iPhone, free on the App Store.</sub>

Most smart-home gear belongs to an account: pair a lamp with one phone and it answers to that phone, and to nobody else. A hub turns that around. It is one small box on your shelf that owns your devices, so everyone you invite — each with a role of their own — sees the same home, and your rules keep running while every phone is out of the house. One hub is one home.

There is no account to create. Nothing about your home leaves your network unless you give the hub an AI key — and then only what the AI feature you use needs (what goes where).

In one line: your devices talk to the hub, and your phone talks to the hub over your own Wi-Fi.

flowchart TB
    APPS["gethome apps<br/>iPhone · Mac"] <--> HUB["gethome hub<br/>at home"]
    AI["Optional AI<br/>on your own key"] <-.-> HUB
    HUB <--> DEV["Your devices<br/>Matter · Zigbee · MQTT"]
  • Every device, one app. Matter devices, Zigbee devices (throughZigbee2MQTT and a USB stick) and your own MQTT hardware all speak one typed schema — 27 capabilities across 16 kinds of device — so each gets controls that fit it. →Zigbee ·Matter ·the schema
  • Ask the house. An assistant answers questions about your home, works your devices and presses your scenes — typed, or spoken. It runs on your own Anthropic or OpenAI key; the spoken version needs an OpenAI key. →The assistant
  • Rules in plain words. Describe what you want and an agent writes the rule, shows it back to you as a flow and saves itswitched off until you turn it on. Scenes are rules you can press. Rules keep running with no AI key at all. →Automations
  • Devices it has never seen. Pair a Zigbee device the hub doesn't know and an agent works out what it is, so it gets real controls instead of a blank tile. It needs your AI key; without one the device still appears, flaggedneeds review . →AI device recognition
  • A home for everyone in it. Invite family with a short-lived code. Owner, Member and Guest come built in, you can add roles of your own, and the same person can sign in on a second device as themselves. →Roles and sharing
  • What happened, and when. Temperature, humidity, air quality and power are kept in five-minute steps for a week, and an activity feed shows what was asked of the home, and by whom. →History
  • Build your own. Anything that can publish JSON over MQTT can be a device, with no hub-side code. Your own scripts, dashboards and AI agents use the hub's local REST and WebSocket API with an API key — narrowed to what you give it, and taken back with one tap. →Building on a hub ·Agent skills ·The MQTT convention ·The API
  • Private by default. No cloud account, and your AI key stays on the hub. →Private by design

Also: AI portraits of your devices, drawn on the hub with your OpenAI key and shared by everyone in the home (portraits) — and pictures of your rooms, drawn from a few photos as an isometric cutaway with every device marked where it stands (room pictures).

  • gethome hub*(this repository)* — the brain: talks to your devices, runs your rules and agents, and serves your apps.Public, and installs today — seeGet started .
  • gethome for iPhone — the everyday app: rooms and devices, the assistant, rules, history and widgets.Free on the App Store.
  • gethome studio for Mac — guided setup: prepares the SD card or finds a Pi on your network, installs and claims the hub, and keeps it updated — then shows the broker's live traffic, the device-schema library and the AI's run log.The way we recommend setting a hub up —download it from gethome.me .
  • gethome.me — the website: changelog, privacy policy and terms.

Three steps: get a small computer, install the hub on it, then open the app.

  • A small computer running 64-bit Linux , such as a Raspberry Pi. →Choosing hardware - 2 GB of memory or more runs Matter and Zigbee together and never has to choose.
    • 1 GB or less runs one radio at a time by default. You can switch both on, and it works while your Zigbee network is small — as that network grows, the hub hands a radio back and says so.
  • Raspberry Pi OS Lite (64-bit) for its card. Lite, not the desktop edition that Raspberry Pi Imager shows first: it is one level down, underRaspberry Pi OS (other) .
  • A USB Zigbee stick , if you want Zigbee. We develop against the SONOFF ZBDongle-E, which needs a one-minute firmware update when new. Without a stick you get Matter, Wi-Fi and MQTT devices.

Pick one way. Both run the same installer.

On a Mac with macOS 14 or later, download gethome studio and follow it. It prepares the SD card or finds a Pi already on your network, installs the hub and tells you if anything goes wrong, then claims it for you — no terminal, and no pairing code to type. Afterwards it shows what the iPhone app doesn't: the broker's live traffic, the device-schema library and every AI run with what it cost.

No Mac, or prefer a terminal?

Write Raspberry Pi OS Lite to the card with Raspberry Pi Imager, and switch SSH on as you do. 2. Start the Pi and log in to it . 3. Run:

curl -fsSL https://raw.githubusercontent.com/gethome-inc/gethome-hub/main/deploy/install.sh | bash

It downloads a prebuilt hub for your machine, installs Node.js 22 and Mosquitto, sets everything up to come back by itself after a power cut, picks up a Zigbee stick on its own and prints a pairing code — you'll use it in step 3. → The full install guide

Install gethome for iPhone, free on the App Store. It finds the hub on your Wi-Fi.

  • Installed by hand? Claim the hub in the app with its pairing code. Whoever claims it first becomes its owner, and the owner invites everyone else.
  • Set up by gethome studio? The hub is already yours — studio claimed it as your Mac. In studio'sPeople tab, pressAdd device on your own row, then enter the code it shows in the app: your iPhone joins as you, not as somebody new.

Everything on this page that runs on the hub needs a login first:

ssh <user>@<address>

<user> is the account you set in Raspberry Pi Imager (pi unless you changed it). <address> is the Pi's IP or its <hostname>.local — the same host the apps show for the hub, without the :8420, which is the API and not SSH.

If gethome studio set the hub up, it never asked you for that password — it authorizes its own key on the Pi instead — so the key is usually the shortest way in, and on a card install it may be the only one you still know:

ssh -i "$HOME/Library/Application Support/gethome-studio/id_ed25519_gethome" pi@192.168.0.200

The quotes are load-bearing: the path contains a space. Use "$HOME/…" rather than '~/…' — a tilde inside quotes is not expanded, and ssh will report a key that isn't there.

sudo gethome-hubctl status          # every service, and what the API says
sudo gethome-hubctl logs 100
sudo gethome-hubctl pairing-code    # the code, until the hub is claimed
sudo gethome-hubctl update          # install the latest build (`rollback` goes back)

The API answers at http://<hub>:8420/api/v1/hub. An update keeps the running build until the new one answers its health check, and flips back by itself if it doesn't — from the command line, or from an app (Owners and Members can). → Installing and running a hub

  • No cloud account, relay or tunnel. The hub opens nothing through your router, and your home lives in one file on its own card.Don't forward port 8420 (the API) or 1883 (MQTT) — both are plain connections meant for your home network, and your router is the boundary.
  • Your AI key stays on the hub , encrypted, and the API never returns it — not even to your phone. AI is optional, andwhat each feature sends is written down.
  • Every request but three needs a token or an API key (the hub's public description, the claim, and the hub proving it is itself to an app that already has one), and the hub refuses any request addressed to a public domain name, which stops a web page from reaching it through your browser.
  • The installer checks what it downloads against published checksums, and leaves your running hub alone if anything doesn't match.

→ Privacy and network security, including the short, honest list of what does leave the hub.

  • On your own Wi-Fi only, for now. Controlling the home from away is not built yet — a relay is planned. Your rules keep running while you're out.
  • Zigbee needs a USB stick. Without one: Matter, Wi-Fi and MQTT.
  • AI features need your own Anthropic or OpenAI key. Without one the hub works, and devices it can't place are flaggedneeds review .
  • One radio at a time on 1 GB or less , by default —what that costs .

Two agent skills teach Claude Code, Codex, Cursor and the other coding agents that read Agent Skills to build on a hub, and the agent picks the right one by itself when a task fits:

  • gethome-hub-api for software thatuses your home — a script, a dashboard, a bridge, an agent of your own — through the API and an API key.
  • gethome-mqtt-device for hardware thatis a device — ESPHome, Arduino, MicroPython or Python on a board of your own — joining over MQTT.
npx skills add gethome-inc/gethome-hub

That needs Node.js and no copy of this repository: it asks which of your agents to install for, copies in just the two skill folders, and nothing else stays on your machine. For the API one, make an API key and give it to the agent through its environment, never in the conversation. → The skills · Building on a hub

Use it

Build on it

cp .env.example .env
npm install
npm run dev                # tsx watch
npm test                   # vitest — no services needed

Node.js ≥ 22. There is no cloud: everything runs from this repo. The hub is deployed on Linux only, but it develops and tests fine on macOS — the suite needs no radios and keeps its database in a temp file. HUB_TEST_MQTT=1 npm test adds the end-to-end broker round trip (it needs Mosquitto). Read CLAUDE.md, the engineering guide, before changing code, and Architecture for the module map.

  • Source-available. The code is public under thePolyForm Noncommercial License 1.0.0 : read it, change it, share it.
  • Free for personal and noncommercial use — your home, hobby projects, evaluation, research.
  • Commercial deployments — hotels, property management, paid installations — need a separate license: seeCOMMERCIAL-LICENSE.md .

This is a source-available license, not OSI open source: the open-source definition doesn't allow restricting commercial use. The Terms of Use and the Privacy Policy on gethome.me cover the hub along with the gethome apps; for the code itself, this license is what governs.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @gethome 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-gethome-a-lo…] indexed:0 read:10min 2026-11-12 · —