FlexiSpot Schreibtisch: ESP32 & ESPHome
Automatisierung eines FlexiSpot-Höhenverstell-Schreibtisches durch einen ESP32-Mikrocontroller zur direkten Steuerung und Höhenauslesung in Home Assistant.
Achtung: Die RJ45-Pinbelegung des Schreibtisch-Controllers liefert teilweise 20V+. Unbedingt einen Spannungswandler (Step-Down) oder eine saubere 5V-Trennung für den ESP32 nutzen!
1. Hardware-Verkabelung (RJ45 auf ESP32)
Der Schreibtisch kommuniziert über UART. Wir zapfen den freien RJ45-Port (oder einen Splitter am Bedienteil) an.
- RX (Schreibtisch) an TX (ESP32)
- TX (Schreibtisch) an RX (ESP32)
- GND an GND
2. ESPHome Konfiguration (YAML)
Füge diesen Code in dein ESPHome-Dashboard in Home Assistant ein, um die UART-Schnittstelle und den Sensor für die Höhe anzulegen:
uart:
id: flexispot_uart
tx_pin: GPIO17
rx_pin: GPIO16
baud_rate: 9600
sensor:
- platform: custom
lambda: |-
auto flexispot = new FlexispotDesk(id(flexispot_uart));
App.register_component(flexispot);
return {flexispot->height_sensor};
sensors:
name: "Schreibtisch Höhe"
unit_of_measurement: "cm"
accuracy_decimals: 1
3. Firmware flashen & Troubleshooting
Sollte der ESP32 beim Flashen Fehler werfen (z.B. Boot-Loop), halte beim Anschließen an den USB-Port den "BOOT"-Button auf dem Mikrocontroller gedrückt. Sobald der Flash-Vorgang in Home Assistant beginnt, kannst du loslassen.