Alte Holzbalken sandstrahlen oder schleifen?

Aufnahme eines handgehauenen Eichenbalkens mit deutlichem Vorher-Nachher-Kontrast nach der Reinigung.

Beim Freilegen alter, handgehauener Eichenbalken steht man oft vor einer großen Herausforderung: Die Balken sind durch die Jahrzehnte oder gar Jahrhunderte stark nachgedunkelt, oft wurden sie gestrichen – im besten Fall mit leicht entfernbarer Kalkfarbe, im schlimmsten Fall mit hartnäckiger Ölfarbe – oder sie sind schlichtweg extrem staubig. Um den Charakter der handgehauenen Balken im Innenbereich wieder voll zur Geltung zu bringen, müssen sie gereinigt werden.

Doch welche Methode ist die richtige für handgehauene Eichenbalken? In diesem Beitrag vergleiche ich die gängigsten Ansätze: Das Niederdruckstrahlen (oft umgangssprachlich als Sandstrahlen bezeichnet), das Trockeneisstrahlen und das mechanische Schleifen mit einem Bürstenschleifer oder einer Drahtbürste für Bohrmaschine und Winkelschleifer.

Die Vorbereitung: Sicherheit und Vorarbeiten

Bevor Du Dich für eine Methode entscheidest, gibt es Arbeitsschritte und Sicherheitsvorkehrungen, die absolut unverzichtbar sind. Alte Balken stecken oft voller Überraschungen und bergen ungeahnte Risiken.

Wichtige Warnung zur Gesundheit: Eichenholzstaub

Eichenholz ist wunderschön, aber sein Schleifstaub ist extrem gefährlich und gilt als krebserregend. Beim Schleifen oder Strahlen von Eichenbalken im Innenbereich ist ein professioneller Atemschutz (mindestens FFP3) absolut Pflicht. Sorge zwingend für eine leistungsstarke Absaugung der Staubklasse M oder H und dichte angrenzende Wohnräume luftdicht ab, um Deine Gesundheit und die Deiner Familie nicht zu gefährden.

Mein Tipp aus der Praxis: Untersuche das Holz akribisch auf alte, handgeschmiedete Nägel, Schrauben oder Krampen. Ein Metall-Detektor, genauer gesagt ein sogenannter Pinpointer, leistet hier großartige Dienste. Ich persönlich nutze für diese Aufgabe zum Beispiel den Garrett Pro-Pointer 2. Durch seine handliche Form kann man die Balken zentimetergenau abfahren und selbst tief versenkte, von außen oft unsichtbare Metallteile zielsicher aufspüren.

Da es extrem zeitaufwendig ist, nach jedem Fund das Werkzeug aus der Hand zu legen, um den Nagel zu ziehen, arbeite ich in Etappen: Finde das Metallteil, mach es sichtbar und markiere die Stelle einfach mit einem Farbpunkt aus der Spraydose. So kannst Du zuerst die komplette Suche abschließen. Im zweiten Schritt nimmst Du das Werkzeug und entfernst oder versenkst alle markierten Nägel in einem Durchgang. Im dritten Schritt erfolgt eine schnelle Nachkontrolle mit dem Pinpointer. Die aufgesprühte Farbe wird bei der anschließenden Reinigung (Schleifen oder Strahlen) ohnehin einfach wieder mit abgetragen. Nimm diese Vorbereitung ernst: Ein übersehener Nagel kann nicht nur Deinen Bürstenschleifer sofort ruinieren, sondern beim Strahlen auch gefährliche Funken oder unschöne Rostspuren verursachen.

Der Vergleich: Strahlen, Bürstenschleifer und Drahtbürste

Handgehauenes Holz zeichnet sich durch seine unebene, wellige Oberfläche – die sogenannten Beilspuren – aus. Genau diese Struktur möchte ich erhalten.

Methode 1: Der Bürstenschleifer (Satiniermaschine)

Ein Bürstenschleifer mit einer Nylon- oder Messingbürste ist eine hervorragende Wahl für den Heimwerker. Die rotierende Bürste passt sich den Unebenheiten des handgehauenen Holzes gut an, ohne die Grundform zu verändern. Man hat dabei eine sehr gute Kontrolle über den Abtrag.

Methode 2: Die Drahtbürste (für Bohrmaschine oder Winkelschleifer)

Eine sehr beliebte und kostengünstige Variante ist der Einsatz von Drahtbürsten-Aufsätzen (Topf- oder Rundbürsten) für die Bohrmaschine oder den Winkelschleifer. Diese Methode ist deutlich abrasiver als der herkömmliche Bürstenschleifer. Das ist besonders von Vorteil, wenn man hartnäckige Ölfarbe entfernen musst. Zudem gelangt man mit schmalen Drahtbürsten hervorragend in große Risse und tiefe Fugen des Holzes. Aber Vorsicht: Die rotierenden Drahtborsten können extrem aggressiv sein und bei zu viel Druck tiefe Riefen im Holz hinterlassen.

Methode 3: Das Niederdruckstrahlen

Beim Niederdruckstrahlen wird ein feines Strahlgut (wie Glasperlen, Nussschalen oder spezieller Sand) mit relativ wenig Druck auf das Holz geblasen. Diese Methode reinigt bis in die tiefsten Ritzen und Wurmlöcher, die man mit einer Bürste niemals erreichen würde. Das Ergebnis ist oft sehr gleichmäßig.

Methode 4: Das Trockeneisstrahlen

Eine besonders schonende Alternative ist das Trockeneisstrahlen. Hierbei werden gefrorene CO2-Pellets auf das Holz geschossen, die beim Aufprall Schmutz oder hartnäckige Ölfarbe absprengen und sich danach sofort in Gas auflösen. Es bleibt kein Strahlgut zurück, nur der abgetragene Schmutz. Diese Methode ist extrem sanft zur historischen Holzstruktur, jedoch meist teurer, da sie fast immer von Profis durchgeführt wird. Ich habe in Rumänien auch neimanden gefunden, der das machen würde.

Kosten-Nutzen-Vergleich & Wichtige Warnung zur Patina

Mechanisches Schleifen (Bürstenschleifer & Drahtbürste): Geringere Anschaffungskosten (ca. 100 bis 300 Euro, Drahtbürstenaufsätze sind noch günstiger), ideal für kleinere Flächen und einzelne Räume. Gut bei Kalkfarbe, aber bei zäher Ölfarbe verschmieren weiche Bürsten schnell, hier spielt die Drahtbürste ihre Stärken aus. Der Zeitaufwand ist jedoch enorm hoch und die Arbeit geht stark in die Arme.

Niederdruck- & Trockeneisstrahlen: Hohe Kosten für die Miete von Kompressor und Strahlgerät oder die Beauftragung eines Fachbetriebs. Dafür sind diese Methoden bei großen Flächen und dicken Farbschichten extrem zeitsparend.

Warnung: Gehe bei allen Methoden behutsam vor! Ein zu aggressiver Abtrag (besonders durch grobe Drahtbürsten) zerstört die historische Patina und die einzigartigen Beilspuren der Eichenbalken. Einmal weggeschliffen, ist dieser historische Charakter unwiederbringlich verloren.

Schritt-für-Schritt zur perfekten Balken-Optik

Damit Du nicht gleich frustriert aufgibst, solltest Du systematisch vorgehen:

  1. Balken von Nägeln befreien: Alle Metallteile mit einer Kneifzange oder einem Nageleisen entfernen. Sitzen sie zu fest, treibe sie mit einem Durchschlag tief ins Holz. Nägel lassen sich aus Eichenbalken schwer entfernen und reißen gerne ab. Manchmal hilft es, sie erst noch ein Stück tiefer einzuschlagen und dann herauszuziehen.
  2. Methode wählen: Anhand der Raumgröße des Budgets, der Raumgröße und der Beschichtung (Kalkfarbe vs. Ölfarbe) abwägen, ob der Bürstenschleifer oder die Drahtbürste ausreicht, oder ein Strahlverfahren die effektivere Lösung ist.
  3. Absaugung und Staubschutz installieren: Alle Methoden erzeugen immensen Staub. Beim Schleifen ist ein starker Industriestaubsauger, der direkt an der Maschine angeschlossen wird, Pflicht. Beim Strahlen muss der Raum komplett mit Folien abgehängt und für Unterdruck gesorgt werden. Wegen des krebserregenden Eichenholzstaubs zwingend eine FFP3-Atemschutzmaske tragen!
  4. Oberflächenbehandlung mit Leinöl-Firnis: Wenn das Holz gereinigt und staubfrei ist, erfolgt das Finish. Streiche die Eichenbalken mit hochwertigem Leinöl-Firnis. Das Öl feuert die Maserung an, schützt das Holz und gibt ihm einen warmen Ton. Das Leinöl bringt die natürlichen Kontraste des Holzes zum Leuchten – das betont den Charakter der handbehauenen Balken.

Weitere Informationsquellen

Wenn Du Dich tiefer in das Thema einlesen möchtest, findest Du hier wertvolle Anlaufstellen:

  • Sicherer Umgang mit Holzstaub: Die Informationen der BG Bau helfen Dir, Deine Gesundheit beim Schleifen zu schützen.
  • Fachwissen zur Holzbearbeitung: Auf Plattformen wie Holzwerken.net findest Du viele Tipps zum Umgang mit historischen Hölzern und natürlichen Oberflächenbehandlungen.

Ein Tipp von mir: Nimm Dir Zeit für dieses Projekt. Die Mühe lohnt sich, wenn die alten Eichenbalken am Ende als beeindruckendes Zeugnis der Vergangenheit den Wohnraum prägen.


Die traditionelle Sommerküche reaktivieren: Von der Ruine zum kulinarischen Herzstück

Freigelegte Grundmauer und Ruine meiner alten Sommerküche aus Stein und Ziegeln neben meinem Bauernhaus in Siebenbürgen, bereit für die Renovierung.

Die Vorstellung, an einem heißen Julitag in einer kühlen, schattigen Außenküche zu stehen, während der Duft von frischen Kräutern und Gebratenem durch den Garten zieht, hat etwas zutiefst Beruhigendes. Früher war die Sommerküche auf dem Land Standard – sie hielt die Hitze des Herdes aus dem Wohnhaus fern und war das Zentrum für das Einkochen der Ernte. „Die traditionelle Sommerküche reaktivieren: Von der Ruine zum kulinarischen Herzstück“ weiterlesen

Reisetipp Siebenbürgen: Das versteckte Tal von Urwegen (Apold)

Außenansicht der mittelalterlichen Gräfenburg in Urwegen (Gârbova), Siebenbürgen, eingebettet in ein grünes Hügeltal während der Goldenen Stunde. Der massive Bergfried steht im Zentrum der Ringmauer.

Hermannstadt, oder Sibiu, wie es auf Rumänisch heißt, ist zweifellos ein kulturelles Zentrum und ein Magnet für Besucher aus ganz Europa. Die authentisch renovierten Gassen, die großen Plätze und das rege Treiben laden zum Verweilen ein.

Doch wer das wahre, ursprüngliche Siebenbürgen sucht, muss die ausgetretenen touristischen Pfade verlassen. Nur eine relativ kurze Fahrt von der pulsierenden Stadt entfernt, verbirgt sich in einer sanften Hügellandschaft ein Ort, an dem die Zeit stehen geblieben zu sein scheint: das Tal von Urwegen, oft auch im Kontext von Apold genannt. „Reisetipp Siebenbürgen: Das versteckte Tal von Urwegen (Apold)“ weiterlesen

Kalkmörtel für historische Gebäude: Mauern, Putzen und Tadelakt in Feuchtbereichen

Nahaufnahme einer historischen Naturstein- und Ziegelwand in Siebenbürgen, an der frischer, heller Kalkmörtel für historisches Mauerwerk mit einer Kelle aufgetragen wird. Warmes Nachmittagslicht hebt die poröse Textur hervor.

Die Sanierung eines 150 Jahre alten Gebäudes bringt viele Herausforderungen mit sich. Einer der folgenschwersten Fehler, der bei alten Gebäuden gemacht wird, ist der Einsatz moderner Baustoffe wie Zement oder kunstharzbasierter Putze. Diese Materialien versiegeln das historische Mauerwerk, sperren Feuchtigkeit ein und führen unweigerlich zu massiven Bauschäden.

Die einzig fachgerechte Lösung für den Erhalt alter Bausubstanz ist die Rückbesinnung auf ein traditionelles Bindemittel: Kalk.
In diesem Beitrag zeige ich detailliert, wie Kalkmörtel zum Mauern und Putzen eingesetzt wird und welche speziellen Techniken für Feuchtbereiche wie Sockel, Gartenmauern und sogar das Badezimmer (Tadelakt) notwendig sind. „Kalkmörtel für historische Gebäude: Mauern, Putzen und Tadelakt in Feuchtbereichen“ weiterlesen

Frühlingserwachen in Siebenbürgen: Ein Roadtrip abseits der Massen

Ein Feldweg im Frühling vor einer historischen wehrhaften Kirchenburg in Siebenbürgen, im Hintergrund die schneebedeckten Karpaten.

Wenn Ende März die letzten Schneefelder in den rumänischen Karpaten schmelzen und die ersten Wildblumen die Täler in ein zartes Grün tauchen, offenbart Transsilvanien seine wohl ursprünglichste Seite. Vergiss das überlaufene Schloss Bran oder die klassischen Dracula-Mythen.
Siebenbürgen im Frühling ist ein Sehnsuchtsort für echte Entdecker, Individualtouristen und Liebhaber von rauher Natur und jahrhundertealter Kultur. „Frühlingserwachen in Siebenbürgen: Ein Roadtrip abseits der Massen“ weiterlesen

Drohnenregeln 2026: Rechtssicher fliegen in rumänischen Nationalparks

Ein Fotograf steuert eine DJI Air 3 Drohne über den nebeligen Karpaten im Sonnenaufgang – passend zu den aktuellen Drohnenregeln in Rumänien 2026.

Die unberührten Landschaften Siebenbürgens und die schroffen Gipfel der Karpaten sind für jeden Fotografen ein absolutes Traumziel.

Luftaufnahmen bieten hier Perspektiven, die am Boden unmöglich einzufangen sind. Doch wer 2026 mit der Drohne nach Rumänien reist, muss sich auf strenge, aber klare Regeln einstellen – besonders, wenn es um Naturschutzgebiete wie den Retezat-Nationalpark oder das Piatra-Craiului-Gebirge geht. „Drohnenregeln 2026: Rechtssicher fliegen in rumänischen Nationalparks“ weiterlesen

Lost Places in Siebenbürgen: Verfallene Industriekultur fotografieren

Illustration eines Fotografen mit Kamera auf einem Stativ in einer verlassenen, von Pflanzen überwucherten Industriehalle in Rumänien mit Blick auf die Karpaten.

Wer an Siebenbürgen denkt, hat meist sofort malerische Holzkirchen, sanfte Hügel und Bären in den tiefen Wäldern der Karpaten vor Augen. Doch jenseits dieser Idylle verbirgt sich eine völlig andere, raue Seite Rumäniens: Die stummen Zeugen der massiven Industrialisierung aus der kommunistischen Ära. Riesige verlassene Fabrikanlagen, stillgelegte Bergwerke und verfallene Kulturhäuser bieten eine unvergleichliche Ästhetik des Verfalls. „Lost Places in Siebenbürgen: Verfallene Industriekultur fotografieren“ weiterlesen

MultivanPi Teil 7: Der steinige Weg zum Vevor Protokoll (Reverse-Engineering)

Screenshot des MultivanPi Dashboards mit der programmierten Touch-Steuerung für eine Vevor Kompressorkühlbox. Zu sehen sind die Echtzeit-Temperatur, die Bordspannung sowie Buttons für den Eco-Modus.

Der MultivanPi wächst unaufhaltsam weiter. Nachdem die grundlegende Energie- und Klimaüberwachung im Dashboard reibungslos läuft, stand nun der nächste Meilenstein an, der mich fast eine ganze Woche lang täglich mehrere Stunden Arbeit gekostet hat: Die direkte Integration der Kompressorkühlbox. Wer ein Modell von Vevor oder Alpicool besitzt, kennt die Steuerung per Smartphone-App. Doch das ist mir zu umständlich, ich möchte  die Kühlbox vom Fahrer-/Beifahrersitz aus mit meinem MultivanPi steuern.
Der Hersteller bietet keine offene API an. Es folgte eine technische Odyssee, die ich hier detailliert für Dich dokumentiere, falls Du ein ähnliches Projekt planst.

Die ersten Versuche: Blindflug im Python-Dschungel

Die naive Herangehensweise an solche Projekte ist bei mir meistens von großem Optimismus geprägt. Die Idee war simpel: Ich scanne die Bluetooth-Schnittstellen mit dem Raspberry, finde die richtigen UUIDs für das Senden (TX) und Empfangen (RX) und schicke einfach ein paar Steuerbefehle. In den ersten Tagen entstanden unzählige kleine Python-Scripte. Ich  schrieb Code, um die Services auszulesen, Code, um blinde Hex-Werte an die Box zu feuern, und Code, der verzweifelt auf irgendeine Antwort der Kühlbox wartete.

22 unterschiedliche Python-Scripte sind dabei in der letzten Woche entstanden, wie oft ich die einzelnen Scripte geändert habe, habe ich nicht mitgezählt.
Ich wollte die Funktionalität unbedingt isoliert funktional haben, bevor ich die Kühlbox in die MultivanPi-Software integriere, um dort nicht unnötig Fehler oder Abhängigkeiten einzubauen.

Das Ergebnis? Ernüchternd. Die Kühlbox blieb stumm. Manchmal entlockte ihr ein gesendeter String ein kurzes Piepen, aber die Temperatur oder der Modus änderten sich nicht. Ohne die genaue Grammatik der Kühlbox zu kennen, war es, als würde ich versuchen, ein Schloss mit tausenden falschen Schlüsseln im Dunkeln zu öffnen. Es wurde schnell klar: Raten bringt mich hier nicht weiter. Ich muss der originalen App beim Sprechen zuhören.

Reverse-Engineering mit dem Google Pixel 8

Um das Protokoll wirklich zu verstehen, musste ich schwerere Geschütze auffahren. Das Mittel der Wahl war mein Google Pixel 8 Pro. In den versteckten Entwickleroptionen von Android lässt sich das sogenannte „Bluetooth HCI Snoop Log“ aktivieren. Diese Funktion zeichnet jedes Bluetooth-Paket auf, das das Smartphone sendet oder empfängt.

Der Ablauf war nun systematisch: Aufzeichnung starten, die originale Vevor-App öffnen, die Kühlbox einschalten, die Temperatur exakt um ein Grad erhöhen und dann wieder verringern, den Modus von ECO auf MAX wechseln, den Batterieschutz von L über M auf H wechseln, Die Kühlbox ausschalten und die Aufzeichnung wieder beenden. Die entstandene Log-Datei habe ich  anschließend auf den PC übertragen und in der Netzwerk-Analysesoftware Wireshark analysiert.

Die entscheidenden BLE-Schnittstellen der Kühlbox:
Sende-Charakteristik (TX): 00001237-0000-1000-8000-00805f9b34fb
Empfangs-Charakteristik (RX): 00001236-0000-1000-8000-00805f9b34fb

Das Protokoll im Detail: So spricht die Kühlbox

Die Analyse in Wireshark offenbarte, warum meine ersten Python-Scripte scheitern mussten. Die Kühlbox sendet ihren Status nicht von alleine. Sie ist extrem passiv und muss durch einen permanenten „Herzschlag“ am Leben gehalten werden.

1. Der Wake-Up Ping (Get Status)

Damit die Box überhaupt Daten liefert, muss ihr regelmäßig die Frage nach dem Befinden gestellt werden. Dieser kurze Befehl ist immer gleich und lautet im Hexadezimalsystem: FE FE 03 01 02 00. Erst wenn die Box diesen Ping auf der TX-UUID empfängt, antwortet sie mit einem langen String auf der RX-UUID.

2. Das Status-Paket lesen

Die Antwort der Box beginnt immer mit dem Start-Header FE FE. Der für mich spannende Teil spielt sich in den Bytes ab der vierten Position ab (ich beginne bei 0 zu zählen):

  • Byte 4 (Lock): 0x00 = Display entsperrt, 0x01 = Gesperrt (Kindersicherung)
  • Byte 5 (Power): 0x00 = Aus, 0x01 = An
  • Byte 6 (Modus): 0x00 = MAX, 0x01 = ECO
  • Byte 7 (Batterieschutz): 0x00 = Low, 0x01 = Medium, 0x02 = High
  • Byte 8 (Soll-Temperatur): Eingestellter Wert in Grad Celsius.
  • Byte 18 (Ist-Temperatur): Aktuelle Temperatur im Innenraum.
  • Byte 20 & 21 (Spannung): Die aktuelle Bordnetzspannung (z. B. 13.4V).

3. Die Checksummen- und Echo-Falle

Wer nun denkt, er schickt einfach Byte 6 als 0x01, um auf ECO zu schalten, wird enttäuscht. Die Box verlangt bei Änderungen immer den kompletten 20-Byte-String inklusive aller aktuellen Ist-Zustände. Und hier hat der Hersteller eine mathematische Hürde eingebaut:

Die Checksummen-Falle: Neun von zehn Bluetooth-Geräten berechnen ihre Prüfsumme am Ende des Pakets mit einer XOR-Verknüpfung. Meine ersten Python-Scripte taten das auch. Die Kühlbox nutzt jedoch eine schlichte Addition. Die korrekte Formel für das letzte Byte lautet: (Summe aller Payload-Bytes - 8) & 0xFF. Ein Bit daneben, und der Befehl landet völlig stumm im Mülleimer.

Die Echo-Falle (Piepen ohne Wirkung): Bei der Programmierung des Web-Dashboards stieß ich auf ein faszinierendes Phänomen: Beim Tippen auf dem MultivanPi piepte die Kühlbox zwar zur Bestätigung, änderte aber weder Temperatur noch Modus. Die Ursache lag in der Logik meines Skripts: Wenn (durch einen Tippfehler) im Code (z.B. falsche API-Variablen) die Ist-Werte im Hintergrund nicht überschrieben werden, sendet das Skript exakt den aktuellen Zustand wieder an die Box zurück. Die Box empfängt das Paket, verifiziert die Checksumme mit einem freudigen Piepen, stellt dann aber fest: „Moment, ich bin ja schon auf MAX und 5 Grad“ und unternimmt nichts. Das Piepen ohne Änderung ist also der ultimative Beweis, dass der eigene Code keine neuen Werte ins Payload-Paket geschrieben hat.
Die vielen, vielen Scripte und Versuche haben ihren Tribut gefordert 😉

Das Vevor / Alpicool Protokoll in der Übersicht

1. Die originalen Hex-Strings aus dem Bluetooth-Log
Bevor ich das Protokoll in seine Einzelteile zerlege, zeige ich hier die rohen 20-Byte-Strings, die ich beim Reverse-Engineering direkt vom Smartphone mitgeschnitten habe. Durch den Vergleich dieser Zeilen lässt sich das Protokoll Stück für Stück entschlüsseln:

Aktion / Funktion Aufgezeichneter Hex-String (20 Bytes)
Unlock (Entsperren) fefe110200010100050cec0200000000fd00040d
Lock (Sperren) fefe110201010100050cec0200000000fd00040e
Power ON fefe110200010100070cec0200000000fd00040f
Power OFF fefe110201000100070cec0200000000fd00040f
MAX Modus fefe110201010000070cec0200000000fd00040f
ECO Modus fefe110201010100070cec0200000000fd000410
Battery Protection L fefe110201010100070cec0200000000fd000410
Battery Protection M fefe110201010101070cec0200000000fd000411
Battery Protection H fefe110201010102070cec0200000000fd000412

2. Das RX-Statuspaket (Empfang von der Kühlbox)
Die Box antwortet auf einen Ping meist mit einem 24-Byte langen String. Hier sind die wichtigsten Positionen, um den Status aus diesen Daten auszulesen (der Byte-Index beginnt bei 0):

Byte-Index Bedeutung Hex-Werte / Interpretation
0 & 1 Start-Header FE FE
4 Kindersicherung 0x00 = Entsperrt, 0x01 = Gesperrt
5 Power (Ein/Aus) 0x00 = Aus, 0x01 = Ein
6 Modus (Eco/Max) 0x00 = MAX, 0x01 = ECO
7 Batterieschutz 0x00 = Low, 0x01 = Medium, 0x02 = High
8 Soll-Temperatur Ganzzahl in °C (bei Minusgraden: Wert – 256)
18 Ist-Temperatur Aktuelle Innentemperatur in °C
20 & 21 Spannung Zusammengesetzt (z.B. Byte 20 = 12, Byte 21 = 5 ➔ 12.5V)

3. Die TX-Steuerbefehle (Senden an die Kühlbox)
Es gibt zwei Möglichkeiten, Werte an die Box zu übermitteln: Die klassische Spiegelung des kompletten 20-Byte-Payloads (wie oben im Log zu sehen) oder kompakte, gezielte 8-Byte-Befehle.

Variante A: Der 20-Byte-String (Kompletter Payload)
[FE, FE, 11, 02, Lock, Power, Mode, Battery, TempSoll, 0c, ec, 02, 00, 00, 00, 00, fd, 00, 04, Checksum]
Wichtig: Die Checksumme (letztes Byte) berechnet sich durch die Addition aller Payload-Bytes (Byte 2 bis 18) minus 8.

Variante B: Die kompakten 8-Byte-Befehle
Aufbau: [FE, FE, 05, 01, Funktion, Wert, 00, Checksum]
Wichtig: Die Checksumme berechnet sich hier durch die simple Addition von (05 + 01 + Funktion + Wert + 00).

Steuerung Funktions-Byte Werte-Byte
Power (Ein/Aus) 0x01 0x00 (Aus), 0x01 (Ein)
Modus (Eco/Max) 0x02 0x00 (Max), 0x01 (Eco)
Batterieschutz 0x03 0x00 (Low), 0x01 (Med), 0x02 (High)
Kindersicherung 0x04 0x00 (Entsperrt), 0x01 (Gesperrt)
Soll-Temperatur 0x05 Gewünschte Temperatur als Hex-Wert

Der nächste Gegner: Die MultivanPi Systemintegration

Nach Tagen des Testens lief mein isoliertes Python-Script endlich fehlerfrei. Ich konnte die Box ein- und ausschalten und die Temperatur ändern. Zeit für die Siegesfeier? Von wegen. Die nächste Hürde wartete bei der Integration in das MultivanPi-Projekt.

Das MultivanPi-Backend ist ein asynchrones Multifunktionstool, das gleichzeitig Victron-Geräte scannt, Sensoren ausliest und einen Webserver betreibt. Als ich die Kühlbox-Routinen dort einfügte, brach das Chaos aus. Es kam zu unschönen Wettlaufsituationen. Das Skript versuchte, den Modus zu ändern, bevor der Hintergrund-Ping den echten aktuellen Status der Box geladen hatte. Das Resultat: Das Dashboard zeigte „MAX“, die Box war physisch auf „ECO“, und ein Klick im Dashboard sendete aus Versehen den Befehl „Bleib auf MAX“. Das ständige, ergebnislose Piepen der Box trieb mich fast in den Wahnsinn.

Ich habe deshalb eine asynchrone Warteschlange (asyncio.Queue) gebaut. Eingehende API-Befehle vom Web-Dashboard werden nun ordentlich aufgereiht. Nach jedem gesendeten Befehl legt das Skript zudem eine künstliche Pause (ENtprellen) von 2,5 Sekunden ein, in der es eingehende Statusmeldungen der Box ignoriert. Warum? Weil der physische Kompressor eine gewisse Trägheit besitzt. Er braucht ein bis zwei Sekunden, um dem Bluetooth-Modul intern zurückzumelden: „Verstanden, ich drossle jetzt die Drehzahl für den ECO-Modus.“

Zusätzliche Funktion zum Schutz der Aufbaubatterie: Watchdog

Der Watchdog ist ein eigener Task namens fridge_watchdog_task. Dieser wird in der main()-Funktion zusammen mit der Kühlbox-Routine gestartet.

  • Er wacht alle 180 Sekunden (3 Minuten) auf.
  • Er holt sich den auto_off_soc Wert aus der config.json.
  • Er prüft, ob der SmartShunt überhaupt live Daten liefert, damit er nicht bei einem kurzen Bluetooth-Abbruch blind abschaltet.
  • Wenn der aktuelle Batteriestand kleiner oder gleich dem eingestellten Wert ist UND die Kühlbox gerade läuft, schiebt er den Power-Off-Befehl (build_fridge_cmd(0x01, 0x00)) in die asynchrone Befehls-Warteschlange.

Innerhalb von maximal 3 Minuten sollte die Box piepen, automatisch herunterfahren und am Dashboard das Klimamodul rot umranden.

Ziel erreicht!

Heute, fast eine Woche nach der ersten Implementierung des Status-Auslesens der Kühlbox, laufen die Prozesse perfekt ineinander. Das Frontend zeigt interaktive Icons für die Modis, die Ist-Temperatur und die Versorgungsspannung fließen in Echtzeit auf den MultivanPi. Es war ein hartes Stück Arbeit, aber das Gefühl, ein vollständig geschlossenes, selbst programmiertes System ohne fremde Cloud-Abhängigkeit zu betreiben, ist jede investierte Stunde wert.