diff --git a/Abstandssensor.yaml b/Abstandssensor.yaml new file mode 100644 index 0000000..432440d --- /dev/null +++ b/Abstandssensor.yaml @@ -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"