17. April 2026ESPHome / Räuchern
Mein Räucherschrank: ESPHome-Steuerung, Home Assistant und warum ich kein Fertiggerät wollte
ESP32-S3ESPHomeHome AssistantPID-ReglerDS18B20PT1000Räuchern

Warum ich keinen fertigen Räucherschrank wollte
Wer regelmäßig räuchert, weiß: Die Temperatur ist alles. Beim Kaltrauch darf der Schrank nicht über 25°C klettern — sonst trocknet die Wurst statt zu räuchern. Beim Heißräuchern will ich 80°C haben, stabil, über Stunden. Und wenn ich nachts einen Bauchspeck durchziehe, will ich morgens eine Historie sehen statt Ratespiel.
Elektronisch gesteuerte Räucherschränke gibt es ab 400 Euro aufwärts — die billigeren mit simplem Bimetall-Thermostat (±5-10°C Hysterese), die teureren mit PID. Was aber so gut wie keiner hat: mehrere Temperaturfühler an verschiedenen Stellen im Garraum, Home-Assistant-Integration, Historie, Automationen. Und wer die Regelung selbst feintunen oder eine Räucherkurve über 6 Stunden programmieren will, steht bei Fertiggeräten vor geschlossenen Türen.
Also hab ich die Steuerung selbst gebaut. ESP32-S3, ESPHome, Home Assistant. Der Schrank selbst ist Standard — aber die Elektronik regelt deutlich genauer und macht um Längen mehr als jedes Fertigteil in meiner Preisklasse.
Was die Steuerung kann
Kurz zusammengefasst, was die Anlage leistet:
Die Heizung läuft über ein SSR-Relais, angesteuert per PWM. ESPHome schaltet das dutzendfach pro Sekunde — dadurch kann der PID-Regler die Leistung quasi stufenlos dosieren, statt nur zweipunkt an/aus zu kennen.
Zwei DS18B20 sitzen im Garraum — einer oben, einer unten. Aus beiden Werten bildet der ESP einen gewichteten Mittelwert, auf den der PID regelt. Warum gewichtet? Je nach Beladung und Klappenstellung schichtet sich die Luft im Schrank unterschiedlich — oben ist meist wärmer. Mit der Gewichtung gleiche ich das aus und regle auf den tatsächlichen Mittelwert dort, wo das Räuchergut hängt.
Ein BME280 an der Außenseite erfasst Außentemperatur und Luftfeuchtigkeit. Diese Werte fließen in die adaptive Leistungsberechnung ein — wie viel Wärme der Schrank bei der aktuellen Außenlage verliert, entscheidet mit darüber, wie viel Heizleistung der PID maximal fahren darf.
Getrennt davon läuft der Rauchgenerator — ein kleiner Edelstahl-Behälter neben dem Schrank, in dem die Räucherspäne verglimmen. Als Späne verwende ich Buche Typ 11 mit 4-6 mm Spangröße — die glühen gleichmäßig durch, machen wenig Asche und der Rauchgeschmack ist mild-klassisch. Eine Luftpumpe drückt Verbrennungsluft rein, der entstehende Rauch wird in die Räucherkammer geleitet. In der Zone, wo die Späne glühen, wird es richtig heiß — ein DS18B20 würde das nicht lange mitmachen. Darum sitzt außen am Gehäuse, im Bereich der Brennzone, ein PT1000 über MAX31865. Über die dort gemessene Temperatur regle ich die Luftpumpe so, dass die Späne sauber verglimmen, ohne dass der Generator überhitzt.
Ein MS24-Servo (270° Auslenkung) bewegt die Abluftklappe. In Home Assistant habe ich einen Number-Slider von 0-100 %, die aktuelle Klappenposition wird live zurückgemeldet.
Ein PZEM-004T v4.0 misst per Modbus-RTU den Stromverbrauch des Schranks. So weiß ich nicht nur *was* ich räuchere, sondern auch *was es mich gekostet hat*.
Alles rein in Home Assistant, keine Cloud, kein Vendor-Lock. Climate-Entity, Sensors, Number, Buttons — das reicht, um die gesamte Anlage aus dem Lovelace-Dashboard zu fahren.

Die Hardware
Konkret verbaut ist folgendes:
- **ESP32-S3 DevKit-C (N16R8)* — das Hirn der Anlage, 16 MB Flash, 8 MB PSRAM. Rund 10€.
- DS18B20 wasserdicht, 1 m Kabel* — 2x, oben und unten im Garraum. Je rund 3€.
- BME280 Breakout* — Außentemperatur und Luftfeuchtigkeit (I²C). Liefert die Werte für das Wärmeverlust-Modell.
- JAOGAUS Kaltrauchgenerator Edelstahl mit Pumpe* — 1,1 l Brennkammer für Späne oder Pellets (2-10 mm), integrierte Luftpumpe, 3-4 h Brenndauer pro Füllung. Rund 53€.
- PT1000 mit MAX31865 Breakout* — sitzt außen am Gehäuse des Rauchgenerators im Bereich der Brennzone. Dort wird's heiß, ein DS18B20 würde das nicht mitmachen. PT1000 hält 200°C+ locker aus und ist präziser.
- SSR-40DA Solid-State-Relais* — schaltet die Heizung. Kein Kontaktfunkenschlag, keine mechanische Abnutzung, PWM-fähig.
- MS24 Servo 270°* — bewegt die Abluftklappe. 270° Auslenkung, damit die Klappe komplett zu- oder aufgefahren werden kann.
- PZEM-004T v4.0* — Energiemessung über Modbus. Spannung, Strom, Leistung, kWh. Eigener Stromwandler.
- Räucherspäne Buche Typ 11, 4-6 mm* — Verbrauchsmaterial für den Generator. Typ 11 ist die Standard-Klassifizierung für Räuchereien, 4-6 mm sind ideal für das langsame Glimmen bei geregelter Luftzufuhr.
Dazu kommen ein 5V/12V-Netzteil, Klemmen, Gehäuse und Kabel. Ohne die Heizung landet man bei rund 100 Euro für die gesamte Steuerung.
Hinweis zur Netzspannung:** Das SSR schaltet 230V — wer mit Netzspannung nicht vertraut ist, sollte die Verdrahtung der Heizung von einem Elektriker machen lassen. Die Niederspannungsseite (ESP32, Sensoren, Servo, Messleitungen) ist bis auf die Klemmen zum SSR harmlos. Die 230V-Seite ist es nicht — und der Räucherschrank steht draußen bei Feuchtigkeit. Ordentlich in ein Gehäuse mit passender Schutzart packen, FI-Schutzschalter nicht vergessen.

PID-Regelung mit Deadband: sauber auf dem Sollwert
Ein PID-Regler berechnet aus Ist- und Soll-Temperatur drei Komponenten und wirft sie addiert auf die Heizung:
- P (proportional): je weiter weg vom Sollwert, desto mehr Heizleistung
- I (integral): gleicht dauerhafte Abweichungen aus — z.B. wenn durch feuchtes Räuchergut die Zieltemperatur nie ganz erreicht wird
- D (derivativ): dämpft — wenn die Temperatur schnell steigt, drosselt der Regler früh, damit nichts überschwingt
Die Kunst ist, die richtigen Parameter zu finden. Bei mir funktionieren kp=0.12, ki=0.0008, kd=1.0 — der Schrank schwingt damit im Bereich 40-100°C sauber ein, ohne zu pendeln oder träge zu werden.
Zusätzlich nutze ich die Deadband-Funktion von ESPHome. Solange die Ist-Temperatur innerhalb ±0.3°C vom Sollwert liegt, werden alle PID-Anteile auf Null gezogen und nur ein gemittelter Output fährt weiter. Ergebnis: die Heizung wird nicht nervös bei Messrauschen, das Regelverhalten bleibt ruhig und präzise.
Das komplette YAML-Snippet liegt direkt auf der Projektseite zum Nachlesen.

Adaptive Max-Power: warum der Schrank nicht mehr überschwingt
Jetzt zum Teil, den ich bei keinem Fertiggerät gesehen habe. Ein reiner PID-Regler hat ein bekanntes Problem: Bei kaltem Schrank und Sollwert 80°C sagt der P-Anteil "Heizung 100%". Der Schrank läuft mit Vollgas hoch, speichert viel Restenergie in den Wänden — und schießt 5-10°C über den Sollwert hinaus, bevor er sich einpendelt.
Meine Lösung: Alle 30 Sekunden berechnet der ESP einen Max-Power-Wert, der den PID-Ausgang nach oben begrenzt. Die Logik ist simpel, aber wirkungsvoll:
- Fehler > 5°C → 100% Heizung erlaubt (weit weg, volle Power)
- Fehler > 2°C → 50% (wir kommen näher, drosseln)
- Fehler > 1°C → 30% (sanft ranfahren)
- Fehler < 1°C → Heizleistung = Wärmeverlust × 1,5, geclamped auf 10-30%
Der letzte Schritt ist der entscheidende. Sobald die Temperatur in Reichweite ist, wird die maximale Heizleistung am tatsächlichen Wärmeverlust festgemacht — also dem, was der Schrank bei der aktuellen Außentemperatur pro Sekunde an Energie verliert. Mehr Leistung als das braucht's nicht. Der Schrank *kann* physikalisch nicht mehr überschwingen, weil er nie mehr Energie zugeführt bekommt als er abgibt.
Dazu läuft ein zweiter Regelkreis alle 5 Minuten, der den Wärmeverlust-Koeffizienten selbst lernt. Erkennt er einen stabilen Zustand (Ist ≈ Soll, keine Änderung), misst er den realen Verbrauch und korrigiert den Koeffizienten. Der Schrank lernt also seine eigene thermische Charakteristik über die Zeit.
Ergebnis: Anfahren von 20 auf 80°C dauert etwa 12 Minuten, und die Temperatur pendelt sich ohne Übersprung sauber auf den Sollwert ein. Das YAML dazu liegt ebenfalls auf der Projektseite.

Home Assistant: Dashboard, Automationen, Historie
Home Assistant bindet die Anlage automatisch ein — dank ESPHome Auto-Discovery ist keine manuelle Konfiguration nötig. Im Lovelace-Dashboard habe ich:
- Climate-Card mit Ist- und Sollwert, Mode-Umschaltung off/heat
- drei Temperatur-Gauges für oben, unten und Kerntemperatur
- eine Energy-Card mit Tagesverbrauch und Gesamtwert aus dem PZEM
- Number-Slider für die Klappenposition (0-100 %)
- Buttons für meine typischen Profile: Kaltrauch 20°C, Heißrauch 80°C, Schinken-Durchzug 65°C
Dazu die Automationen, die man mit einem Fertiggerät einfach nicht bauen kann:
- Kerntemperatur erreicht → Telegram-Push. Kommt der Bauchspeck auf 68°C, bekomm ich die Nachricht aufs Handy. Kein Rennen mehr in den Garten.
- Räucherkurve über Stunden. Automation hebt den Sollwert schrittweise an — erst sanftes Antrocknen bei 30°C, dann Räucherphase bei 50°C, zum Schluss Nachgaren bei 80°C.
- Stromverbrauch-Alarm. Wenn die Heizung plötzlich deutlich mehr zieht als sonst, stimmt was nicht (Klappe zu, Thermofühler defekt). Push kommt sofort.
- Historie. Jede Temperaturspur, jede Klappenstellung, jeder Stromwert bleibt gespeichert. Beim nächsten Gang kann ich auf das letzte Ergebnis schauen und gezielt nachregeln.


Was es besser macht als ein Fertiggerät
Ein elektronisch gesteuerter Räucherschrank kostet 500-1500 Euro und kann im Kern drei Dinge: eine Temperatur halten, eine Zeit herunterzählen, vielleicht ein LED-Display zeigen. Das, was bei mir rauskommt für rund 60 Euro Elektronik:
Präzision. Ein klassischer Bimetall-Thermostat schaltet mit ±5-10°C Hysterese — der PID hält die Temperatur deutlich konstanter. Beim Kaltrauch ist das entscheidend — ein paar Grad zu viel und die Wurst trocknet statt sich vollzusaugen.
Mehrere Sensoren. Oben, unten, extern, Abluft. Der PID regelt auf den Garraum-Mittelwert, ich sehe aber alle einzeln. Wenn oben 5°C heißer ist als unten, weiß ich: Abluftklappe weiter auf, oder umschichten.
Kein Überschwingen. Die adaptive Max-Power-Begrenzung fährt den Schrank sanft an. Bei einem Standard-Thermostat ging mir der erste Bauchspeck immer zu heiß rein — das Problem ist weg.
Komplette Historie. Jede Temperaturkurve der letzten sechs Monate steht mir zur Verfügung. *"Wie war die Kurve beim letzten Lachs?"* — eine Minute Suche statt Notizbuch-Blättern.
Automatisierbar. Räucherphasen, Kerntemperatur-Alerts, Energieverbrauch — alles in Home Assistant regelbar. Das kann kein Fertiggerät.
Anpassbar. Wenn ich in zwei Jahren einen Feuchtesensor dazubauen oder die Klappensteuerung komplett automatisieren will: ein paar Zeilen YAML, Neustart, läuft.
Der Schrank selbst ist Eigenbau — außen eine Holzplatte, dann eine Dämmschicht, innen nochmal eine Holzplatte. Kein Hightech-Gehäuse, sondern ein solider, gut isolierter Räucherraum. Die Steuerung macht den Unterschied. Wer regelmäßig räuchert und Home Assistant ohnehin im Haus hat, für den führt eigentlich kein Weg dran vorbei.
Mehr technische Details zu diesem Projekt:
Zum Projekt →* Werbung — Die mit Sternchen (*) gekennzeichneten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision — für dich ändert sich der Preis nicht.
Mike Sobczinski
Embedded-Entwickler und Schichtarbeiter in der Halbleiterindustrie. Baut IoT-Lösungen mit ESP32, LoRa und Home Assistant — von der Firmware bis zum Dashboard.
Mehr erfahren →