Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- esphome:
- name: esphome-web-8bf1d4
- friendly_name: equiva Controller
- esp32:
- board: esp32dev
- framework:
- type: esp-idf
- # Enable logging
- logger:
- # Enable Home Assistant API
- api:
- encryption:
- key: "V/xx="
- services:
- - service: settings
- variables:
- turn_left: bool
- key_horizontal: bool
- lock_turns: int
- then:
- - eqiva_key_ble.settings:
- turn_left: !lambda 'return turn_left;'
- key_horizontal: !lambda 'return key_horizontal;'
- lock_turns: !lambda 'return lock_turns;'
- - service: connect
- variables:
- # mac_address: string // Unable to pass a mac_address via lambda :?
- user_id: int
- user_key: string
- then:
- - eqiva_key_ble.connect:
- mac_address: 00:12:34:56:42:88
- # mac_address: !lambda 'return mac_address;'
- user_id: !lambda 'return user_id;'
- user_key: !lambda 'return user_key;'
- - service: disconnect
- then:
- - eqiva_key_ble.disconnect:
- - service: pair
- variables:
- card_key: string
- then:
- - eqiva_key_ble.pair:
- card_key: !lambda 'return card_key;'
- - service: lock
- then:
- - eqiva_key_ble.lock:
- - service: unlock
- then:
- - eqiva_key_ble.unlock:
- - service: open
- then:
- - eqiva_key_ble.open:
- - service: status
- then:
- - eqiva_key_ble.status:
- ota:
- wifi:
- ssid: FriedelNetz
- password: xx
- # Enable fallback hotspot (captive portal) in case wifi connection fails
- ap:
- ssid: "Esphome-Web-8Bf1D4"
- password: "xx"
- web_server:
- include_internal: true
- local: true
- port: 80
- captive_portal:
- external_components:
- source: github://digaus/esphome-components-eqiva
- # use refresh when you do not get latest version
- refresh: 0s
- esp32_ble_tracker:
- # scan_parameters:
- # window: 300ms
- eqiva_ble:
- eqiva_key_ble:
- id: key_ble
- # Below are optional and can be passed via new connect service
- mac_address: 00:1a:22:01:62:72 # Hintertür
- user_id: 1
- user_key: yyyy
- #Schuppen:
- #mac_address: 00:1a:22:01:62:71 # Schuppen
- #user_id: 1
- #user_key: xxxx
- text_sensor:
- - platform: eqiva_key_ble
- mac_address:
- name: "Mac Address"
- id: mac_address
- lock_status:
- name: "Lock Status"
- id: lock_status
- low_battery:
- name: "Low Battery"
- lock_ble_state:
- name: "Lock BLE State"
- user_id:
- name: "User ID"
- user_key:
- name: "User Key"
- # on_raw_value:
- # then: Do stuff on state change (!lambda "return x")
- # Call Status every 4 minutes because lock seems to disconnect after 5 minutes of inactivity
- # need to watch battery consumption
- time:
- - platform: sntp
- timezone: Europe/Berlin
- servers:
- - 0.pool.ntp.org
- - 1.pool.ntp.org
- - 2.pool.ntp.org
- on_time:
- # Every 4 minutes get Status, to ensure quick reaction
- - cron: '00 /4 21-23 * * *'
- then:
- - eqiva_key_ble.status:
- # make external sensors available
- sensor:
- - platform: homeassistant
- name: "Hintertuer"
- entity_id: binary_sensor.eg_flur_reed_hintertuer_geschlossen
- id: Hintertuer_status
- - platform: homeassistant
- name: "Schuppen"
- entity_id: binary_sensor.haustechnik_schuppen_neu_schloss_geschlossen
- id: Schuppen_status
- lock:
- - platform: template
- name: "Hintertür"
- lambda: |-
- if (id(mac_address).state != "00:1a:22:01:62:72") {
- return {};
- }
- if (id(Hintertuer_status).state) {
- return LOCK_STATE_LOCKED;
- } else {
- return LOCK_STATE_UNLOCKED;
- }
- lock_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:72 # Hintertür
- user_id: 1
- user_key: yyyy
- - eqiva_key_ble.lock:
- #- eqiva_key_ble.disconnect:
- unlock_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:72 # Hintertür
- user_id: 1
- user_key: yyyy
- - eqiva_key_ble.unlock:
- #- eqiva_key_ble.disconnect:
- open_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:72 # Hintertür
- user_id: 1
- user_key: yyyy
- - eqiva_key_ble.open:
- #- eqiva_key_ble.disconnect:
- - platform: template
- name: "Schuppen"
- lambda: |-
- if (id(mac_address).state != "00:1a:22:01:62:71") {
- return {};
- }
- if (id(Schuppen_status).state) {
- return LOCK_STATE_LOCKED;
- } else {
- return LOCK_STATE_UNLOCKED;
- }
- lock_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:71 # Schuppen
- user_id: 1
- user_key: xxxx
- - eqiva_key_ble.lock:
- #- eqiva_key_ble.disconnect:
- unlock_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:71 # Schuppen
- user_id: 1
- user_key: xxxx
- - eqiva_key_ble.unlock:
- #- eqiva_key_ble.disconnect:
- open_action:
- - eqiva_key_ble.connect:
- mac_address: 00:1a:22:01:62:71 # Schuppen
- user_id: 1
- user_key: xxxx
- - eqiva_key_ble.open:
- #- eqiva_key_ble.disconnect:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement