ESPHome

Ich hatte mich in der Vergangenheit immer gescheut mit der Microcontroller Programmierung zu beginnen. Ok, Maschinencode zu übermitteln, so wie ich es in der Lehre gelernt habe, ist wirklich antiquarisch aber auch Arduino Entwicklungsumgebungen waren mir zu kompliziert und nicht schnell genug zielführend.

 

Ich habe viel über die ESP Controller gelesen, aber richtig interessant wurden die Module, wie ich ESPHome entdeckt habe.

Der österreichische Student der technischen Physik Otto Winter erschuf diese Plattform (hier ein Video von dem "Meister" :-) wo er das System selber erklärt )

Installiert wird die Umgebung ganz klassisch über den Add-On Store.

 

Hier mein ESPHome Dashboard mit den ganzen angeschlossenen ESP:

 

Wie nehme ich einen ESP Controller in Betrieb 

Ein nagelneuer, komplett leerer ESP Controller wird mittels Micro USB Kabel direkt an den HA Server gehangen, denn die großen ESP haben einen eingebauten Seriellen Treiber. Sollte der Chip nicht erkannt werden, hilft ein reboot des ESPHome Add-ons.

die kleineren ESP-01 aber auch wenn ich Sonoff Geräte flashen wollt haben keinen eingebauten Treiber. Dafür braucht ihr einen externen Adapter, der so ausschaut : (Details auf der ESP-01 Seite)

Nun könnt ihr oben rechts das neue Gerät auswählen und unten rechts mit dem grünen "plus" einen neuen ESP einrichten. Hier werden dann anhand eines Wizards alle notwendigen Konfiguration Parameter abgefragt. Dazu zählen Name, Typ des Moduls und WLAN Credentials. aber auch Zugangsinformationen für den HA Server. Anhand dieser Informationen rödelt das System dann einige Minuten, denn alle benötigten Sources werden aus dem Internet abgerufen und vor Ort kompiliert. 

Am Ende wird dann die fertige Firmware auf das Modul übertragen und der Controller ist in HA eingebunden und betriebsbereit.

Jetzt kommt eine feine Sache. Einmal im WLAN verfügbar können jegliche Änderungen aber auch Updates "On the Air" (OTA) an das Gerät übermittelt werden. Die Kabel Verbindung ist überflüssig. 

 

Da ich meist den gleichen Typ verbaue und ich auch ganz abseits davon, was das Ding später machen soll, auf jeden Fall die eigenen Sensoren auslesen will, habe ich mit ein Template geschrieben, welches ich immer bei neuen Controllern benutze. Hardcore Benutzer bauen sich auch voll generische Konfigurationen, die über Variablen die Einträge steuern. Das macht vielleicht bei 100 Stück Sinn, mit war das zu aufwändig.

die Dinger können alle DHCP, aber ich habe da auch schlechte

Erfahrungen gemacht, deswegen haben alle meine Controller feste IP Adressen. Weiterhin kann ein Fallback WLAN definiert werden. Dann kann der Controller als Access Point über seine eigene Webseite (um) konfiguriert werden.

 Template


# Substitutions

substitutions:
  # Device Names
  device_name: ""
  friendly_name: ""
  # Icon
  main_icon: "floor-lamp"
  # Default Relay State
  # Aka: `restore_mode` in documentation
  # Options: `RESTORE_DEFAULT_OFF`, `RESTORE_DEFAULT_ON`, `ALWAYS_ON` & `ALWAYS_OFF`
  default_state: "RESTORE_DEFAULT_OFF"

# Basic Config

# wemmos D1 Mini  = d1_mini
# D1 mit externer Antenne = d1_mini_pro
# esp01 mit 1MB Speicher = esp01_1m

esphome:
  name: "${device_name}"
  platform: ESP8266
  board: d1_mini
 
wifi:
  ssid: !secret esphome_wifi_ssid
  password: !secret esphome_wifi_password

  manual_ip:
    static_ip: 192.168.xx.xx
    gateway: !secret esphome_gateway
    subnet: !secret esphome_subnet

   # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Espgarten01 Fallback Hotspot"
    password: !secret esphome_fallback_pw  
        
        
        
# Enable logging
logger:

# Enable Home Assistant API
api:
  password: !secret esphome_api_password

ota:
  password: !secret esphome_ota_password

switch:

  - platform: restart
    name: "${friendly_name} Restart"  
  
binary_sensor:
  - platform: status
    name: "${friendly_name} System Status"
    
sensor:
    
  - platform: wifi_signal
    name: "${friendly_name} WiFi Signal"

Jegliche Aktivitäten des Controllers kann man im Livelog beobachten

 

Soweit zur Funktionsweise von ESPHome. Wie das genau bei meinen ESP ausschaut zeige ich bei meinen Projekten.

 


Kommentare: 1
  • #1

    UV (Dienstag, 19 März 2024 19:50)

    OK