Executors
Executors are the action nodes in a home automation workflow — send alerts, run scripts, call webhooks, and control devices when a trigger fires.
Run a krill server on a Raspberry Pi, a laptop, or a rack box. Open the app on any device on your network. Wire sensors, schedulers, calculations, GPIO and dashboards into a live swarm — no cloud, no accounts, no rented brain. The architecture pros use for SCADA, scaled down to fit on a workbench.
Four minutes. Three nodes. One mental model that scales from a single thermostat to a building's worth of sensors.
One swarm, every screen — install the control app, or stand up a server.
$ curl -fsSL https://cms.krill.systems/distro/server/install_krill.sh | sudo bash$ curl -fsSL https://cms.krill.systems/distro/desktop/install_krill_desktop.sh | sudo bashExecutors are the action nodes in a home automation workflow — send alerts, run scripts, call webhooks, and control devices when a trigger fires.
Automated Krill Server backup with configurable retention and one-click restore — compressed archives of node data, snapshot history, project files, and camera thumbnails.
Filter out dropouts and invalid readings by ignoring any sensor value below a minimum you set before it's stored.
Filter out sensor spikes and bad readings by ignoring any value above a maximum you set before it's stored.
Throttle noisy or chatty sensors — rate-limit readings so a value is only logged once per set time interval.
Smooth noisy sensor data by ignoring small changes — only log a new reading when the value moves more than a set amount.
How a home automation swarm works in Krill - independent nodes that watch their data sources and act on their own, with no central controller.
How my staff of Claude agents runs a full spec-driven development pipeline for Krill, my Kotlin Multiplatform IoT control system, with zero human labor on the implementation of features and fixes.
Wire Claude Desktop on macOS up to a local krill-mcp server via the mcp-remote stdio bridge, and install the companion Krill Claude skill so every project gets it.
A QT Py reads an SHT30 over I2C, posts JSON to a Krill DataPoint, and two tiny Python Lambdas fan that one snapshot out into a TempF DataPoint (with C→F conversion) and a Humidity DataPoint.