Wie wichtig eine Temperaturüberwachung in einem Gewächshaus ist, weiß jeder der schon mal vergessen hat bei Hitze die Lüftung zu öffnen oder die Tür bei Frost zu schließen.
Gerade das feuchte Klima im Gewächshaus ist eine Herausforderung. Als gute Lösung hat sich ein Steckdosenschutz bewährt. Der TTGO ist schon drei Jahre im Einsatz und hat keine sichbaren Schäden.
Das Display ist natürlich bei dieser Nutzung überflüssig.
Die Einbindung in Home Assistant (ESPHome) hat schon seine Stolpersteine. Da das Display fest verdrahtet ist, musste ich erst viele GPIO ausprobieren. Dieser YAML-Code funktioniert mit diesem TTGO. Es gibt viele TTGO-Typen. Also muss dieser Code nicht mit jedem Gerät funktionieren.
esphome:
name: esphome-web-dc4d24
friendly_name: Gewächshaus
min_version: 2024.11.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: esp-idf
# externer Temperatursensor
one_wire:
- platform: gpio
pin: GPIO17 # PIN 17
# Define colors
color:
- id: my_red_text
red: 100%
green: 0%
blue: 0%
white: 0%
- id: my_white_text
red: 100%
green: 100%
blue: 100%
# Bus fürs Display st7789v
spi:
clk_pin: GPIO18 # PINs (CLK MISO)
mosi_pin: GPIO19 # PINs (SDA MOSI)
sensor:
- platform: dallas_temp
address: 0xe201145311111111 # Adresse des Sensors
name: "gewaechshaustemperatur" # kann frei gewählt werden
id: "gewaechshaustemperatur" # wird für das Display genutzt
unit_of_measurement: "°C" # Maßeinheit
icon: "mdi:thermometer-plus" # Icon
device_class: "temperature" # Geräteklasse
state_class: "measurement"
accuracy_decimals: 2 # zwei Stellen nach dem Komma
display:
- platform: st7789v
model: TTGO TDisplay 135x240
id: gewaechshaus
cs_pin: GPIO5 # CS PiN Chipselect
dc_pin: GPIO16 # Daten PIN
reset_pin: GPIO23
backlight_pin: GPIO4
update_interval: 10s
rotation: 90°
lambda: |-
it.printf(0, 20, id(roboto), id(my_white_text), "%.2f °C", id(gewaechshaustemperatur).state);
#Schriftart liegt im Ordner Fonts im Unterordner von esphome
font:
- file: "/config/esphome/fonts/roboto.ttf"
id: roboto
size: 60 # Schriftgröße
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password