Hack House and this project are the official winners of the FULU Bounty for Nest Learning Thermostat Gen 1/2
Hardware Alternative: If you're interested in the hardware side of things, check out https://sett.homes for a drop-in PCB replacement option.
📖 Follow the installation guide at docs.nolongerevil.com or download the latest release directly.
The installer handles everything — flashing the firmware and walking you through setup. During setup, choose your hosting mode: - Cloud-hosted — connects to the No Longer Evil platform; no server setup required - Self-hosted (Home Assistant) — auto-discovers your Home Assistant instance and connects to the No Longer Evil add-on - Self-hosted (NLE Server) — connects to a standalone No Longer Evil server at a custom IP and port
Self-hosting? You'll need to set up your server infrastructure separately before running the installer. See the Self-Hosted Guide.
If you'd rather build and run the installer yourself instead of downloading a release:
git clone https://github.com/codykociemba/NoLongerEvil-Thermostat.git
cd NoLongerEvil-Thermostat
The repo already includes pre-built firmware files in firmware/installer/resources/firmware/. This step is only needed if you want to customize the firmware (e.g. a different server URL).
cd firmware/builder
./docker-build.sh --generation both --enable-root-access --yes
This builds for both Nest Gen 1 and Gen 2 inside Docker. Afterwards, copy the output to the installer:
cp firmware/builder/firmware/* firmware/installer/resources/firmware/
cd firmware/installer
npm install
Run directly (no build needed):
npm run electron:dev
Or build a distributable:
npm run package:mac # macOS
npm run package:linux # Linux
Output is in firmware/installer/dist/. Open the built app and follow the on-screen steps.
This tool provides low-level access to the device's boot process. Use responsibly:
This project builds upon the excellent work of several security researchers and developers:
Without their groundbreaking research, open-source contributions, and advocacy for device ownership rights, this work would not be possible. Thank you!
We are committed to transparency and the right-to-repair movement. The firmware images and backend API server code will be open sourced soon, allowing the community to audit, improve, and self-host their own infrastructure.
$ claude mcp add NoLongerEvil-Thermostat \
-- python -m otcore.mcp_server <graph>