Skip to content

DocBigs-Lab/HP-Remote

Repository files navigation

HP-Remote

License: MIT Platform: ESP32-S3 Framework: Arduino MQTT Home Assistant GitHub last commit

Vollständige bidirektionale Fernsteuerung für Bosch / Buderus Brauchwasser-Wärmepumpen

HP-Remote

Ein ESP32-S3-CAM liest das selbstleuchtende 7-Segment-Display optisch aus und simuliert alle 6 kapazitiven Fronttasten über eine PCB mit I2C-Touch-Interface. Dank Rückkopplung von OCR und Tastensteuerung lassen sich Solltemperatur und Uhrzeit verifiziert einstellen – auf Wunsch vollautomatisch durch Tastensperre und Standby hindurch. Die Anbindung läuft universell über MQTT – Messwerte und Tastensteuerung sind so in jede MQTT-fähige Umgebung integrierbar. Für Home Assistant gibt es zusätzlich MQTT Auto-Discovery, sodass alle Sensoren und Tasten dort ohne manuelle Konfiguration erscheinen.

Basiert auf dem ESP32-Display-Reader von DocBig, portiert auf den ESP32-S3-CAM und um I2C Touch-Steuerung erweitert.


Letzte Änderungen

Siehe CHANGELOG.md für die vollständige Historie.


Kompatible Geräte

Getestet mit der Steuerung der folgenden baugleichen Brauchwasser-Wärmepumpen:

Hersteller Modell
Bosch Compress 5000 DW – CS5001DW 200 / 200 C / 260 / 260 C
Buderus WPT 200.4A / WPT 260.4A (baugleich)

Andere Geräte mit identischem kapazitivem Bedienpanel (selbstleuchtendes 7-Segment-Display, 6 Touch-Tasten) lassen sich vermutlich ebenfalls anbinden, sind aber nicht getestet.


Was das Projekt macht

Funktion Mechanismus
Display auslesen OV2640-Kamera → OCR → MQTT (Set Temp, Water Temp, Symbole)
Tasten drücken PCF8574 I2C → 6 × TLP281-4 Optokoppler → kapazitive Kontaktflächen auf PCB. Einzel-, Mehrfach-, Lang-Druck, Tastenkombinationen, Sequenzen und benannte Shortcuts (Standby, Gebläse, Tastensperre, Timer)
Solltemperatur setzen Verifizierter Closed-Loop (set_temp): liest per OCR, regelt nach, trifft den Zielwert exakt. Grobsprung + Feinschliff für Tempo, optional vollautomatisch durch Tastensperre und Standby hindurch (auto)
Uhrzeit setzen Verifiziertes Stellen der WP-Uhr (set_time) für Sommer-/Winterzeit oder Drift – Stunden und Minuten getrennt, kürzeste Richtung, mit Feintuning-Durchgängen
Live-Stream MJPEG-Stream (Port 81) auf /live mit ausklappbarer Direktsteuerung: Tasten, Shortcuts und Temperatur-Stepper/Presets
Home Assistant Optionale MQTT Auto-Discovery: Sensoren + 6 Button-Entities + Live-URL
Konfiguration Webinterface im Browser, ROI-Editor, OTA-Updates
Config-Storage NVS (Preferences) – kein Dateisystem nötig

Dokumentation

Die ausführliche Dokumentation ist in vier Bereiche aufgeteilt:

Dokument Inhalt
Hardware & Montage Board, Touch-PCB, Pinouts, Schaltungsprinzip, Aufbau & Montage
Inbetriebnahme & Konfiguration Flashen, WLAN/MQTT, ROIs einrichten, MQTT-API (inkl. Solltemperatur- & Uhrzeit-Closed-Loop mit auto), Home Assistant
Test & Debugging I2C-Scan, Multimeter-Test, OCR-Diagnose (Test Detection), REST-API
MQTT ohne Home Assistant Direkte Steuerung per CLI, MQTT-Tools, Cron & Node-RED

🚀 Web Installer

Firmware direkt im Browser flashen – kein Tool erforderlich:

👉 Web Installer starten

ESP32-S3-CAM per USB anschließen, „Install" klicken (Chrome / Edge).


Projektstruktur

HP-Remote/
├── src/
│   ├── main.cpp                  ← Setup + Loop + Solltemperatur-Closed-Loop (set_temp/auto)
│   ├── touch_config.h            ← PCF8574 Adresse, I2C-Pins, Port-Zuordnung
│   ├── touch_controller.h/.cpp   ← I2C/PCF8574: press(), hold(), releaseAll(), rescan()
│   ├── camera_service.cpp        ← OV2640 Pinout ESP32-S3-CAM, MJPEG-Stream
│   ├── analyzer.cpp/.h           ← 7-Segment OCR
│   ├── mqtt_service.cpp/.h       ← MQTT + Touch-Callback + Shortcuts + Subscribe
│   ├── mqtt_ha_discovery.cpp/.h  ← HA Auto-Discovery: Sensoren, Buttons, Stream
│   ├── web_server.cpp/.h         ← Webinterface + REST API + MJPEG Port 81
│   ├── web_ui.h                  ← eingebettetes HTML/JS
│   ├── app_config.cpp/.h         ← Konfiguration + JSON
│   ├── storage_service.cpp/.h    ← NVS (Preferences)
│   ├── device_identity.cpp/.h    ← MAC-basierte Geräte-UID
│   ├── wifi_manager.cpp/.h       ← WiFi + AP-Setup
│   ├── ota_service.cpp/.h        ← OTA
│   └── debug_log.h               ← Log-Makros
├── docs/                          ← Dokumentation + kompilierte Binaries
│   ├── HARDWARE.md                ← Hardware & Montage
│   ├── SETUP.md                   ← Inbetriebnahme & Konfiguration
│   ├── DEBUG.md                   ← Test & Debugging
│   ├── MQTT-EXAMPLES.md           ← MQTT-Steuerung ohne Home Assistant
│   ├── images/                    ← Bilder für die Doku
│   ├── HP-Remote-merged.bin       ← Erstinstallation (USB, alle Partitionen)
│   └── HP-Remote-OTA.bin          ← OTA-Update (nur Applikation)
├── platformio.ini                ← Board: esp32-s3-devkitc-1, qio_opi PSRAM
├── partitions_ota.csv            ← OTA-Partitionstabelle
├── version_build.py              ← injiziert FW_VERSION + FW_BUILD
├── merge_bin.py                  ← erzeugt HP-Remote-OTA.bin + HP-Remote-merged.bin
└── README.md                     ← Übersicht (dieses Dokument)

Lizenz

MIT – basiert auf ESP32-Display-Reader von DocBig.

About

ESP32-S3-CAM Fernsteuerung für Bosch/Buderus Wärmepumpen – liest das Display per OCR, simuliert die Tasten, steuert über MQTT.

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors