Abstandssensor as espHome project
This commit is contained in:
parent
98973811c8
commit
5046b9ae8a
1 changed files with 128 additions and 0 deletions
128
Abstandssensor.yaml
Normal file
128
Abstandssensor.yaml
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
esphome:
|
||||||
|
name: parksensor
|
||||||
|
platform: ESP8266
|
||||||
|
board: d1_mini
|
||||||
|
|
||||||
|
captive_portal:
|
||||||
|
|
||||||
|
wifi:
|
||||||
|
ssid: "YOUR-WIFI-SSID"
|
||||||
|
password: "YOUR-WIFI-KEY"
|
||||||
|
|
||||||
|
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||||
|
ap:
|
||||||
|
ssid: "Abstandssensor Fallback Hotspot"
|
||||||
|
password: "FALLBACK-WIFI-KEY"
|
||||||
|
manual_ip:
|
||||||
|
# Set this to the IP of the ESP
|
||||||
|
static_ip: 192.168.10.136
|
||||||
|
# Set this to the IP address of the router. Often ends with .1
|
||||||
|
gateway: 192.168.10.1
|
||||||
|
# The subnet of the network. 255.255.255.0 works for most home networks.
|
||||||
|
subnet: 255.255.255.0
|
||||||
|
dns1: 192.168.10.1
|
||||||
|
|
||||||
|
globals:
|
||||||
|
- id: active
|
||||||
|
type: bool
|
||||||
|
restore_value: no
|
||||||
|
initial_value: "false"
|
||||||
|
|
||||||
|
|
||||||
|
mqtt:
|
||||||
|
broker: your.mqtt.broker.org
|
||||||
|
topic_prefix: "esphome"
|
||||||
|
on_json_message:
|
||||||
|
topic: hm/status/Garage_Licht/STATE
|
||||||
|
# topic: hm/status/1OG_Flur_Licht/STATE
|
||||||
|
then:
|
||||||
|
- lambda: !lambda |-
|
||||||
|
bool state = false;
|
||||||
|
if (x.containsKey("val"))
|
||||||
|
state = x["val"];
|
||||||
|
id(active) = state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Enable logging
|
||||||
|
logger:
|
||||||
|
level: INFO
|
||||||
|
|
||||||
|
# Enable Home Assistant API
|
||||||
|
# api:
|
||||||
|
|
||||||
|
web_server:
|
||||||
|
port: 80
|
||||||
|
|
||||||
|
ota:
|
||||||
|
password: "YOUR-OTA-PASSWORD"
|
||||||
|
|
||||||
|
uart:
|
||||||
|
rx_pin: GPIO12
|
||||||
|
tx_pin: GPIO13
|
||||||
|
baud_rate: 9600
|
||||||
|
id: uart_mhz19
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: ultrasonic
|
||||||
|
id: us_sensor
|
||||||
|
trigger_pin: D0
|
||||||
|
echo_pin: D1
|
||||||
|
update_interval: 0.5s
|
||||||
|
name: "Ultrasonic Sensor"
|
||||||
|
on_value:
|
||||||
|
then:
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: 'return !id(active);'
|
||||||
|
then:
|
||||||
|
- light.turn_off:
|
||||||
|
id: led_ring
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: 'return (id(active) && (id(us_sensor).state >= id(poti).state*1.5));'
|
||||||
|
then:
|
||||||
|
- light.turn_on:
|
||||||
|
id: led_ring
|
||||||
|
red: 0%
|
||||||
|
green: 100%
|
||||||
|
blue: 0%
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: 'return ( id(active) && ((id(us_sensor).state) < (id(poti).state*1.5) && (id(us_sensor).state >= id(poti).state)) );'
|
||||||
|
then:
|
||||||
|
- light.turn_on:
|
||||||
|
id: led_ring
|
||||||
|
red: 100%
|
||||||
|
green: 100%
|
||||||
|
blue: 0%
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: 'return ( id(active) && (id(us_sensor).state < id(poti).state));'
|
||||||
|
then:
|
||||||
|
- light.turn_on:
|
||||||
|
id: led_ring
|
||||||
|
red: 100%
|
||||||
|
green: 0%
|
||||||
|
blue: 0%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- platform: adc
|
||||||
|
id: poti
|
||||||
|
pin: A0
|
||||||
|
name: "Potentiomenter"
|
||||||
|
update_interval: 1s
|
||||||
|
filters:
|
||||||
|
- lambda: return x;
|
||||||
|
unit_of_measurement: "m"
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: neopixelbus
|
||||||
|
id: led_ring
|
||||||
|
type: GRB
|
||||||
|
variant: WS2812
|
||||||
|
pin: GPIO3
|
||||||
|
num_leds: 8
|
||||||
|
default_transition_length: 0.1s
|
||||||
|
name: "NeoPixel Light"
|
Loading…
Reference in a new issue