
Home Assistant mit ESPHome und Ultraschallsensor: Automatisierung leicht gemacht! In diesem Projekt nutzt du ESPHome und einen Ultraschallsensor, um eine spannende Automatisierung zu erstellen. Wenn du mehr über ESPHome erfahren möchtest, findest du in diesem Video spannende Informationen.
Viel Erfolg bei deinem Projekt! 😊🛠️
Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.
Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!
Hier ist der Link zu Amazon: https://amzn.to/3KsGngK
Vielen Dank für eure Unterstützung!
Wenn du weitere Anpassungen oder Ideen hast, lass es mich wissen! 😊👍
Links in diesem Video:
Web-Flash ESPhome : https://web.esphome.io
Doku ESPhome : https://esphome.io
Stückliste* :
| Stückzahl | Artikel | Amazon Link | Beschreibung |
|---|---|---|---|
| 1 | M5 Stack Atom Lite | https://amzn.to/4cfTOg0 | ESP Controller |
| 1 | Wemos D1 Mini | https://amzn.to/3VqmxI5 | ESP8266 Controller |
| 1 | HC-SR04 | https://amzn.to/4ekOVUN | Ultraschall Sensor |
| 1 | 5V Netzteil Micro USB | https://amzn.to/4er9D5e | Micro USB Netzteil 5V ( für Wemos D1 Mini ) |
| 1 | 5 V Netzteil USB C | https://amzn.to/3VL2K7q | USB C Netzteil 5 V ( für Atom Lite) |
| 1 | Jumper Kabel Set | https://amzn.to/3VLHYos | Jumper Kabel für die Verbindung zwischen ESP und HC-SR04 |
| 1 |
Hinweis: Den M5 Stack Atom Lite kann man bei anderen Quellen günstiger bekommen. Sucht danach im Internet , falls ihr meinen Kanal unterstützen wollt, freue ich mich natürlich aber auch über einen Einkauf über den Amazon Link.
Verkabelung Wemos D1 Mini mit HC-SR04

Verkabelung M5Stack ATom Lite mit HC-SR04

ESPHome Code ( hier sind für Euch die Stellen ab sensor: -> Enable logger interessant):
substitutions:
name: esphome-web-684d66
friendly_name: Wemos_D1Mini_Ultraschall_V1
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: esphome.web
version: '1.0'
esp8266:
board: esp01_1m
# Example configuration entry
sensor:
- platform: ultrasonic
trigger_pin: GPIO2
echo_pin: GPIO0
name: "Ultraschall für Video"
id: ultraschall_video
update_interval: 1s
# Example filters:
filters:
- filter_out: nan
- median:
window_size: 5
send_every: 5
send_first_at: 1
- platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: copy # Reports the WiFi signal strength in %
source_id: wifi_signal_db
name: "WiFi Signal Percent"
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
unit_of_measurement: "Signal %"
entity_category: "diagnostic"
device_class: ""
binary_sensor:
- platform: template
name: "PKW unter Carport"
lambda: |-
if ((id(ultraschall_video).state >= 0.5) ) {
// Pkw ist nicht unter Carport
return false;
} else {
// PKW ist unter Carport
return true;
}
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
platform: esphome
password: xxxxxxxxxxxxxxxxxxxxx
# Allow provisioning Wi-Fi via serial
improv_serial:
wifi:
# Set up a wifi access point
ap: {}
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
import_full_config: true
# To have a "next url" for improv serial
web_server:
Visualisierung auf dem Dashboard

Falls ihr nicht den binären Sensor aus dem ESP nutzen wollt, könnt ihr euch auch einen binären Template Helfer anlegen und die Schwellen für „PKW vorhanden“ und „PKW nicht vorhanden“ darüber definieren.
Template Helfer binärer Sensor:
{% if float(states.sensor.esphome_web_684d66_ultraschall_f_r_video.state) >= 0.5 %}
false
{% else %}
true
{% endif %}
YAML Code Bildelement Karte:
show_state: true show_name: false type: picture-entity entity: binary_sensor.esphome_web_684d66_pkw_unter_carport state_image: 'on': /local/image/on_Carport.png 'off': /local/image/off_Carport.png
Flussdiagramm der Automatisierung

In dieser Playlist findet ihr noch weitere Informationen zu EVCC , PV – Überschussladen und auch MQTT Sensoren wie z.B. den Charge Mode:
PV-Modus Prognose Template Helfer:
{% set value_prognose = (float(states.sensor.solcast_pv_forecast_prognose_nachste_stunde.state) / 1000.0) %}
{% if value_prognose > 1.5 %}
pv
{% elif value_prognose > 0 %}
minpv
{% else %}
now
{%endif%}
Update 20.06.2024: Um beim Neustart von Home Assistant keine fehlerhaften Ergebnisse zu erhalten, ist es besser den Status mit state(’sensor.entity‘) abzufragen. In diesem Beispiel wäre es:
{% set value_prognose = (float(states('sensor.solcast_pv_forecast_prognose_nachste_stunde')) / 1000.0) %}
{% if value_prognose > 1.5 %}
pv
{% elif value_prognose > 0 %}
minpv
{% else %}
now
{%endif%}
Ultraschall Sensor Automatisierung YAML :
alias: Carport_Ultraschallsensor
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.esphome_web_684d66_pkw_unter_carport
to: "on"
id: PKW Trigger On
- platform: state
entity_id:
- binary_sensor.esphome_web_684d66_pkw_unter_carport
to: "off"
- platform: time_pattern
minutes: /30
- platform: sun
event: sunrise
offset: 0
- platform: sun
event: sunset
offset: 0
condition: []
action:
- if:
- condition: and
conditions:
- condition: state
entity_id: binary_sensor.esphome_web_684d66_pkw_unter_carport
state: "on"
- condition: or
conditions:
- condition: state
entity_id: device_tracker.tlerch
state: home
- condition: state
entity_id: device_tracker.slerch
state: home
alias: Eine Person ist zu Hause & Auto steht unter Carport
then:
- service: select.select_option
metadata: {}
data:
option: "{{ states.sensor.helfer_pv_prognose_lademodus.state }}"
target:
entity_id: select.charge_mode
- condition: trigger
id:
- PKW Trigger On
- service: media_player.volume_set
metadata: {}
data:
volume_level: 0.33
target:
entity_id: media_player.kuche
- service: notify.alexa_media_kuche
metadata: {}
data:
message: >-
PKW unter Carport angekommen. Lademodus {{
states.sensor.helfer_pv_prognose_lademodus.state }} selektiert
- service: media_player.volume_set
metadata: {}
data:
volume_level: 0.1
target:
entity_id: media_player.kuche
- service: notify.mobile_app_tlerch
metadata: {}
data:
message: >-
Fahrzeug unter Carport angekommen. Lademodus {{
states.sensor.helfer_pv_prognose_lademodus.state }} eingeschaltet
- if:
- condition: and
conditions:
- condition: sun
before: sunrise
after: sunrise
enabled: false
- condition: trigger
id:
- PKW Trigger On
then:
- service: light.turn_on
metadata: {}
data:
brightness_pct: 100
target:
entity_id: light.aussenbeleuchtung
- delay:
hours: 0
minutes: 3
seconds: 0
milliseconds: 0
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.aussenbeleuchtung
else:
- condition: trigger
id:
- PKW Trigger On
- service: select.select_option
metadata: {}
data:
option: "off"
target:
entity_id: select.charge_mode
- service: notify.mobile_app_tlerch
metadata: {}
data:
message: Unbekanntes Fahrzeug unter Carport erkannt!
title: 🚨🚨 CARPORT 🚨🚨
data:
notification_icon: mdi:alert
channel: Notfall
priority: high
ttl: 0
color: red
push:
sound:
name: default
critical: 1
volume: 1
mode: single
Update der ESPHome funktioniert nicht (mehr) 20.06.2024:
Solltet ihr das Problem haben, dass ihr beim Update der ESPHome Revision bei eurem Device eine Fehlermeldung bekommt, dass das Update nicht durchgeführt werden kann, dann muss eine Zeile im YAML Code ergänzt werden ( ich habe das im veröffentlichten Code korrigiert ! )

# Allow Over-The-Air updates ota: platform: esphome password: xxxxxxxxxxxxxxxxx
Infos zu dem Thema findet ihr in den Release Notes der ESPHome Version: