mirror of
https://github.com/randybb/esphome-configs.git
synced 2026-03-03 15:24:09 +01:00
197 lines
4.8 KiB
YAML
197 lines
4.8 KiB
YAML
substitutions:
|
|
device: gate
|
|
name: Gate
|
|
area: Outside
|
|
comment: "${area} | Gate"
|
|
|
|
esphome:
|
|
name: mcu-${device}
|
|
friendly_name: ${name}
|
|
area: ${area}
|
|
comment: ${comment}
|
|
|
|
esp32:
|
|
variant: esp32
|
|
framework:
|
|
type: esp-idf
|
|
|
|
packages:
|
|
common: !include common/common.yaml
|
|
|
|
# PINOUTS: M5ATOM
|
|
# IR G12
|
|
# NEO G27
|
|
# BUTTON G39
|
|
# I2C0 SDA G26 white
|
|
# I2C0 SCL G32
|
|
# I2C1 SDA G25 red
|
|
# I2C1 SCL G21
|
|
# UART0 RX G3
|
|
# UART0 TX G1
|
|
# RS485 RX G33
|
|
# RS485 TX G23
|
|
# RELAY-1 G22
|
|
# RELAY-2 G19
|
|
|
|
button:
|
|
- platform: output
|
|
name: Open
|
|
id: gate_open
|
|
output: relay_1
|
|
duration: 200ms
|
|
- platform: output
|
|
name: Close
|
|
id: gate_close
|
|
output: relay_2
|
|
duration: 200ms
|
|
|
|
output:
|
|
- platform: gpio
|
|
pin: 22
|
|
id: relay_1
|
|
- platform: gpio
|
|
pin: 19
|
|
id: relay_2
|
|
|
|
switch:
|
|
- platform: template
|
|
name: Open
|
|
turn_on_action:
|
|
- button.press: gate_open
|
|
- platform: template
|
|
name: Close
|
|
turn_on_action:
|
|
- button.press: gate_close
|
|
- platform: template
|
|
name: Auto Open
|
|
id: auto_open
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
- platform: template
|
|
name: Auto Close
|
|
id: auto_close
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
- platform: template
|
|
name: Enable Auris
|
|
id: enable_auris
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
- platform: template
|
|
name: Enable Yaris
|
|
id: enable_yaris
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
- platform: template
|
|
name: Enable Honda PCX125
|
|
id: enable_pcx125
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
- platform: template
|
|
name: Enable Suzuki DL650
|
|
id: enable_dl650
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
|
|
globals:
|
|
- id: beacon_count
|
|
type: int
|
|
restore_value: no
|
|
initial_value: '0'
|
|
|
|
esp32_ble_tracker:
|
|
id: ${device}_ble_tracker
|
|
scan_parameters:
|
|
duration: 1min
|
|
|
|
binary_sensor:
|
|
- platform: ble_presence
|
|
id: ibeacon_auris
|
|
ibeacon_uuid: !secret ble_beacon_toyota_auris_uuid
|
|
name: "Vehicle iBeacon Auris"
|
|
timeout: 2min
|
|
on_press: !include {file: common/gate_beacon_open.yaml, vars: {enable_id: enable_auris}}
|
|
on_release: !include {file: common/gate_beacon_close.yaml, vars: {enable_id: enable_auris}}
|
|
- platform: ble_presence
|
|
id: ibeacon_yaris
|
|
ibeacon_uuid: !secret ble_beacon_toyota_yaris_uuid
|
|
name: "Vehicle iBeacon Yaris"
|
|
timeout: 2min
|
|
on_press: !include {file: common/gate_beacon_open.yaml, vars: {enable_id: enable_yaris}}
|
|
on_release: !include {file: common/gate_beacon_close.yaml, vars: {enable_id: enable_yaris}}
|
|
- platform: ble_presence
|
|
id: ibeacon_pcx125
|
|
ibeacon_uuid: !secret ble_beacon_honda_uuid
|
|
name: "Vehicle iBeacon Honda PCX125"
|
|
timeout: 2min
|
|
on_press: !include {file: common/gate_beacon_open.yaml, vars: {enable_id: enable_pcx125}}
|
|
on_release: !include {file: common/gate_beacon_close.yaml, vars: {enable_id: enable_pcx125}}
|
|
- platform: ble_presence
|
|
id: ibeacon_dl650
|
|
ibeacon_uuid: !secret ble_beacon_suzuki_uuid
|
|
name: "Vehicle iBeacon Suzuki DL650"
|
|
timeout: 2min
|
|
on_press: !include {file: common/gate_beacon_open.yaml, vars: {enable_id: enable_dl650}}
|
|
on_release: !include {file: common/gate_beacon_close.yaml, vars: {enable_id: enable_dl650}}
|
|
- platform: gpio
|
|
id: gate_ogi
|
|
pin:
|
|
number: 32
|
|
inverted: true
|
|
mode:
|
|
input: true
|
|
filters:
|
|
- delayed_on: 10ms
|
|
entity_category: diagnostic
|
|
on_multi_click:
|
|
- timing:
|
|
- OFF for at least 1500ms
|
|
then:
|
|
- select.set:
|
|
id: gate_state
|
|
option: Closed
|
|
- logger.log: "OGI OFF => GATE CLOSED"
|
|
invalid_cooldown: 100ms
|
|
- timing:
|
|
- ON for at least 400ms
|
|
- OFF for at least 400ms
|
|
- ON for at least 400ms
|
|
- OFF for at least 400ms
|
|
then:
|
|
- select.set:
|
|
id: gate_state
|
|
option: Opening
|
|
- logger.log: "OGI SLOW BLINK => GATE OPENING"
|
|
invalid_cooldown: 100ms
|
|
- timing:
|
|
- ON for at most 300ms
|
|
- OFF for at most 300ms
|
|
- ON for at most 300ms
|
|
- OFF for at most 300ms
|
|
then:
|
|
- select.set:
|
|
id: gate_state
|
|
option: Closing
|
|
- logger.log: "OGI FAST BLINK => GATE CLOSING"
|
|
invalid_cooldown: 100ms
|
|
- timing:
|
|
- ON for at least 1500ms
|
|
then:
|
|
- select.set:
|
|
id: gate_state
|
|
option: Open
|
|
- logger.log: "OGI ON => GATE OPEN"
|
|
invalid_cooldown: 100ms
|
|
|
|
select:
|
|
- platform: template
|
|
name: State
|
|
id: gate_state
|
|
options:
|
|
- Open
|
|
- Closed
|
|
- Opening
|
|
- Closing
|
|
initial_option: Closed
|
|
optimistic: true
|