2 Punkte von GN⁺ 2025-11-05 | 1 Kommentare | Auf WhatsApp teilen
  • Custom Firmware für Geräte der 1. und 2. Generation des Nest Thermostat, die Bootloader und Kernel über die OMAP-DFU-Schnittstelle ersetzt
  • Nach dem Flashen trennt das Gerät die Verbindung zu Nest-/Google-Servern und wechselt zur Kommunikation mit der unabhängigen NoLongerEvil-Plattform
  • Leitet den Netzwerkverkehr auf einen per Reverse Engineering nachgebildeten API-Server um, sodass bestehende Funktionen erhalten bleiben und sich Nutzerdaten sowie Einstellungen vollständig kontrollieren lassen
  • Der Installationsprozess umfasst das Wechseln in den DFU-Modus, das Flashen von Bootloadern (x-load, u-boot) und Kernel (uImage) sowie die Registrierung des Kontos und die Verknüpfung des Geräts
  • Ziel ist die Befreiung von Cloud-Abhängigkeit und die Wiederherstellung der Gerätehoheit; außerdem wird die Open-Source-Veröffentlichung und die Unterstützung der Right-to-Repair-Bewegung ausdrücklich genannt

Überblick

  • Dieses Projekt stellt Werkzeuge und Images bereit, um Custom Firmware auf dem Nest Thermostat zu installieren
    • Es verwendet die OMAP-DFU-(Device Firmware Update)-Schnittstelle, um Bootloader und Kernel zu ersetzen
    • Neue Firmware kann nur im DFU-Modus angenommen werden
  • Nach dem Flashen kommuniziert das Gerät nicht mehr mit Nest-/Google-Servern, sondern verbindet sich mit der NoLongerEvil-Plattform
    • Dadurch erhält der Nutzer die vollständige Kontrolle über Verhalten und Daten des Thermostats

Funktionsweise

  • Die Custom Firmware modifiziert Bootloader- und Kernel-Komponenten, um den Netzwerkverkehr auf einen festgelegten Server umzuleiten
    • Dieser Server ist ein per Reverse Engineering nachgebildeter Nest-API-Server, sodass das Gerät unabhängig betrieben werden kann
  • Durch das Abfangen der Kommunikationsschicht wird dem Gerät vermittelt, dass es mit der offiziellen Nest-Infrastruktur verbunden ist
    • So bleiben Kompatibilität mit der bestehenden Software erhalten und die Abhängigkeit von der Google-Cloud entfällt

Installationsverfahren

  • Nach dem Klonen des Repositorys werden je nach OS die erforderlichen Pakete (u. a. libusb) installiert
    • Linux: build-essential, libusb-1.0-0-dev, gcc, pkg-config
    • macOS: Xcode Command Line Tools und libusb-Installation über Homebrew
  • Durch Ausführen von build.sh wird das OS automatisch erkannt und das Tool omap_loader gebaut
  • Vor dem Ausführen von install.sh muss das Gerät in den DFU-Modus versetzt werden
    • Ladezustand prüfen (mindestens 50 %), von der Wand abnehmen, per USB verbinden, neu starten (10–15 Sekunden gedrückt halten)
    • Beim Eintritt in den DFU-Modus werden x-load, u-boot, uImage automatisch geflasht
  • Nach Abschluss des Bootvorgangs wird das NoLongerEvil-Logo angezeigt; der Vorgang dauert etwa 3–4 Minuten
  • Auf der Website nolongerevil.com ein Konto registrieren und anschließend das Gerät verknüpfen
    • Auf dem Nest-Gerät unter Settings → Nest App → Get Entry Code den Code anzeigen lassen
    • Nach Eingabe des Codes im Dashboard ist die Geräteverbindung abgeschlossen

Geflashte Komponenten

  • Bei der Installation werden drei zentrale Binärdateien geflasht
    1. x-load.bin – Bootloader der ersten Stufe (X-Loader für OMAP)
    2. u-boot.bin – Bootloader der zweiten Stufe (Das U-Boot, Adresse 0x80100000)
    3. uImage – Linux-Kernel-Image (Adresse 0x80A00000)
  • Nach dem Flashen startet das Gerät die Ausführung bei 0x80100000 (u-boot)

Sicherheit und Hinweise

  • Dieses Tool bietet Low-Level-Zugriff auf den Bootprozess des Geräts
    • Die Verwendung wird nur bei Geräten empfohlen, die sich im Eigentum des Nutzers befinden
    • Falsche Firmware kann das Gerät beschädigen oder unbrauchbar machen (bricken)
  • Es handelt sich um experimentelle Software; von der Nutzung in für Heizung oder Kühlung unverzichtbaren Geräten wird abgeraten

Credits und Open-Source-Zusage

  • Die zugrunde liegende Technik basiert auf der Arbeit mehrerer Sicherheitsforscher
    • grant-h / ajb142: OMAP-USB-Bootloader-Tool omap_loader
    • exploiteers (GTVHacker): Forschung zum Nest-DFU-Angriff, die die Möglichkeit von Custom Firmware auf Geräten der 1. und 2. Generation belegt
    • FULU und Unterstützer: Bug-Bounty-Unterstützung für Nest Learning Thermostat Gen 1/2
  • Das Projekt unterstützt Transparenz und die Right-to-Repair-Bewegung
    • Die Firmware-Images und der Backend-API-Server-Code sollen in Kürze als Open Source veröffentlicht werden
    • Die Community soll dadurch eigene Infrastruktur prüfen, verbessern und hosten können

Referenzmaterial

1 Kommentare

 
GN⁺ 2025-11-05
Hacker-News-Kommentare
  • Wenn dein Heizkessel OpenTherm unterstützt, würde ich das SAT-Thermostat-Projekt empfehlen
    Es unterstützt Wetterkompensation, Teillastkompensation und PID-Regelung, sodass mit der vom Temperatursensor unterstützten Genauigkeit geregelt wird (in meinem Fall ±0,02 °C)
    Gesteuert wird es über Home Assistant, und man bekommt gleichzeitig Energieeinsparung und Komfort
    Echtzeitdaten lassen sich im Grafana-Dashboard oder in Emoncms ansehen

    • Ich interessiere mich auch sehr für dieses Projekt. Ich nutze die Kombination Vitodens-100-Heizkessel + Ecobee + Wärmepumpe, aber es ist umständlich, weil jedes System für sich arbeitet
      Ecobee unterstützt zum Beispiel keine mehrstufige Regelung des Heizkessels und ist auch nicht mit der Wärmepumpe integriert, sodass zwischen den Räumen Temperaturungleichgewichte entstehen
      Irgendwann möchte ich im ganzen Haus HA-Temperatursensoren installieren, damit automatisch entschieden wird, welches System je nach Tageszeit bevorzugt laufen soll
    • Ich frage mich, ob dieses Projekt auch mit Zwangsluft-HVAC funktioniert
    • Als ich früher einmal einen Vaillant-Heizkessel ersetzt habe, wollte ich selbst ein OpenTherm-Board einbauen, aber der Hersteller hat das mit dem Hinweis auf Garantieverlust verhindert
      Damit war mein OpenTherm-Versuch dann beendet
    • Bei einem alten Worcester-Bosch-Heizkessel nutze ich ems-esp, um die Vorlauftemperatur anhand der Außentemperatur zu steuern. Ebenfalls verwaltet über Home Assistant
    • Ich würde gern wissen, ob es einen brauchbaren Multizonen-Regler für Home Assistant gibt
  • Das wirkt einfach so, als würde man statt Google einen anderen geschlossenen Dienst namens NoLongerEvil verwenden
    Wie der Name auch lautet, ob sie vertrauenswürdig sind, lässt sich nicht sagen.
    Wirklich vertrauenswürdig wäre es aus meiner Sicht erst mit vollständig Open-Source-Firmware und Backend
    Im Moment ist es eher so, dass die Google-Firmware gehackt und der Traffic auf andere Server umgeleitet wird, deshalb hoffe ich auf ein veröffentlichtes selbst hostbares Backend und einen offengelegten Build-Prozess
    Bearbeitung: Ich freue mich darauf, dass das Backend bald als Open Source veröffentlicht werden soll

    • Google hat diese Geräte ohnehin schon aufgegeben. Ich sehe das jetzt einfach als einen Versuch, Elektroschrott wiederzubeleben
      Es ist nicht perfekt, aber es hat trotzdem einen Wert, tote Geräte wieder nutzbar zu machen
    • Ich möchte einen kleinen SBC-Stack-Server bauen und verschiedene Dienste im Haus selbst betreiben
      Vom Nest-Controller bis zum Minecraft-Server würde ich das gern mit leichtgewichtigem Kubernetes verwalten und so betreiben, dass ich bei Bedarf einfach Knoten austauschen kann
  • Aktuell ist es einfach nur ein Firmware-Image, das sich mit einem geschlossenen Dienst verbindet
    Man kann nicht einmal ändern, wohin es sich verbindet, und es gibt auch keine Datenschutzerklärung
    Die Anmeldung erfolgt über ein GitHub-Konto von Microsoft, die Authentifizierung übernimmt clerk.com
    Es soll bald Open Source werden, also warte ich erst einmal ab

    • Ich finde dieses Projekt großartig. Dass jemand den Nest Thermostat per Reverse Engineering analysiert und neue Firmware gebaut hat, ist beeindruckend
      Dass es noch keine Datenschutzrichtlinie gibt, kann ich in diesem frühen Stadium nachvollziehen
    • Ich denke, solche negativen Reaktionen sind der Grund, warum gute Projekte es online schwer haben
  • Auf der „Open Source“-Seite der Dashboard-Website gibt es nur die Firmware und keinen serverseitigen Code
    Nur mit der Firmware allein lässt sich das kaum als vollständig freie Software betrachten
    Bearbeitung: Bei genauerem Hinsehen steht dort, dass auch das Backend bald als Open Source veröffentlicht wird

    • Es heißt, sie warten auf die von Louis Rossman vorgeschlagene Einreichung von Code im Rahmen eines Bug-Bounty-Programms. Wenn das klappt, wäre das ziemlich cool
      Zugehöriges GitHub-Issue
    • Bei Aussagen wie „kommt bald“ fällt es mir inzwischen schwer, noch Vertrauen zu haben
  • Es gibt eine Warnung, dass man diese Firmware nicht in Thermostaten verwenden soll, die für Heizung/Kühlung essenziell sind
    Ich hatte früher einmal einen Thermostatdefekt, durch den die Temperatur im Haus auf ein gefährliches Niveau stieg, deshalb sollte man solche Warnungen ernst nehmen

    • Das ist nur ein einfacher Haftungsausschluss.
      Ich werde meinen seit Jahrzehnten zuverlässig funktionierenden analogen runden Honeywell-Thermostat weiter benutzen
  • Ich habe mich für einen anderen Ansatz entschieden und selbst eine neue PCB entworfen
    So ist 100% Firmware-Kontrolle möglich, und ich habe den Reverse-Engineering-Prozess der LCD-Schnittstelle geteilt
    Ich hoffe, Codys Exploit macht es möglich, komplett neue Firmware zu schreiben

  • Ich hoffe wirklich, dass dieses Projekt Erfolg hat
    Ich habe früher mit dem Entwicklungsteam für Nest der 1. und 2. Generation zusammengearbeitet, und dieses Team hat das Produkt ernst genommen
    Sie hätten sich nicht für eine Abschaltung des Dienstes auf diese Weise entschieden

    • Bei Google ist heute niemand von damals mehr da.
      Auch als wir noch dort waren, wurden unsere Meinungen nicht berücksichtigt
  • Der Satz „Wir engagieren uns für Transparenz und die Right-to-Repair-Bewegung“ macht mir Hoffnung

  • Es ist wirklich absurd, dass ein Unternehmen, das angeblich an die Umwelt denkt, auf diese Weise Geräte seiner Nutzer zu Müll macht
    Es wirkt einfach wie eine Entscheidung, um Cloud-Kosten zu sparen oder neue Produkte zu verkaufen

    • Nur weil keine Netzwerkverbindung besteht, muss man einen funktionierenden Thermostaten nicht wegwerfen
    • Marketing ist letztlich die Kunst der Lüge.
      Solche Unternehmen verfolgen nur Gewinn statt Umweltschutz.
      Außerdem sind manche von ihnen auch in internationale Konflikte und Menschenrechtsprobleme verwickelt
      UN-Bericht-Link
  • Ich suche nach einem Thermostat mit möglichst geringer Cloud-Abhängigkeit
    Ich nutze zwei Nest-Geräte und finde das inzwischen sehr frustrierend, deshalb möchte ich ein Produkt, das sich direkt mit Home Assistant integrieren lässt

    • Es gibt auch Z-Wave-basierte Thermostate statt WLAN, aber ich bevorzuge HTTP oder MQTT
      Produkte, die sowohl WLAN als auch eine API unterstützen, gibt es fast nicht; nur Venstar kommt dem noch am ehesten nahe, aber wegen des instabilen WLAN-Moduls habe ich es aufgegeben
      Auch die Firmware-Struktur ist ungewöhnlich, deshalb versuche ich es nicht weiter
    • Ecobee benötigt zwar weiterhin eine Cloud-Verbindung, aber über die HomeKit-Integration ist lokale Steuerung möglich
      Auch in Home Assistant funktioniert es über die HomeKit-Anbindung gut