This commit is contained in:
2021-06-23 08:27:17 -04:00
parent e64dc70d1d
commit 089dcfd2e0
3 changed files with 276 additions and 1 deletions

273
rf_bridge_87_60.yaml Normal file
View File

@@ -0,0 +1,273 @@
substitutions:
device_name: rf_bridge_87_60
device_ip: 192.168.87.60
esphome:
name: ${device_name}
platform: ESP8266
board: esp01_1m
<<: !include standard_wifi.yaml
captive_portal:
# Enable logging
logger:
baud_rate: 0
ota:
web_server:
port: 80
api:
services:
- service: send_rf_code
variables:
sync: int
low: int
high: int
code: int
then:
- rf_bridge.send_code:
sync: !lambda 'return sync;'
low: !lambda 'return low;'
high: !lambda 'return high;'
code: !lambda 'return code;'
- service: learn
then:
- rf_bridge.learn
- service: start_advanced_sniff
then:
- rf_bridge.start_advanced_sniffing
- service: stop_advanced_sniff
then:
- rf_bridge.stop_advanced_sniffing
uart:
tx_pin: GPIO01
rx_pin: GPIO03
baud_rate: 19200
sensor:
- platform: wifi_signal
name: "${device_name} Wifi Signal Strength"
update_interval: 60s
- platform: uptime
name: "${device_name} Uptime"
binary_sensor:
- platform: gpio
pin:
number: GPIO00
inverted: True
name: "${device_name} Pairing Button"
status_led:
pin:
number: GPIO13
inverted: yes
switch:
- platform: restart
name: "${device_name} REBOOT"
rf_bridge:
on_code_received:
then:
- homeassistant.event:
event: esphome.rf_code_received
data:
sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);'
low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);'
high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);'
code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);'
on_advanced_code_received:
- homeassistant.event:
event: esphome.rf_advanced_code_received
data:
length: !lambda 'char buffer [10];return itoa(data.length,buffer,16);'
protocol: !lambda 'char buffer [10];return itoa(data.protocol,buffer,16);'
code: !lambda 'return data.code;'
# api:
# services:
# - service: send_rf_code
# variables:
# sync: int
# low: int
# high: int
# code: int
# then:
# - rf_bridge.send_code:
# sync: !lambda 'return sync;'
# low: !lambda 'return low;'
# high: !lambda 'return high;'
# code: !lambda 'return code;'
# - service: learn
# then:
# - rf_bridge.learn
# uart:
# tx_pin: 1
# rx_pin: 3
# baud_rate: 19200
# logger:
# baud_rate: 0
# rf_bridge:
# on_code_received:
# then:
# - homeassistant.event:
# event: esphome.rf_code_received
# data:
# sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);'
# low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);'
# high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);'
# code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);'
# Example configuration entry
# uart:
# baud_rate: 19200
# rf_bridge:
# on_code_received:
# - homeassistant.event:
# event: esphome.rf_code_received
# data:
# sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);'
# low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);'
# high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);'
# code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);'
# on_advanced_code_received:
# then:
# - homeassistant.event:
# event: esphome.rf_advanced_code_received
# data:
# length: !lambda 'char buffer [10];return itoa(data.length,buffer,16);'
# protocol: !lambda 'char buffer [10];return itoa(data.protocol,buffer,16);'
# code: !lambda 'return data.code;'
# api:
# services:
# - service: send_rf_code
# variables:
# sync: int
# low: int
# high: int
# code: int
# then:
# - rf_bridge.send_code:
# sync: !lambda 'return sync;'
# low: !lambda 'return low;'
# high: !lambda 'return high;'
# code: !lambda 'return code;'
# - service: learn
# then:
# - rf_bridge.learn
# ota:
# uart:
# tx_pin: 1
# rx_pin: 3
# baud_rate: 19200
# logger:
# baud_rate: 0
# rf_bridge:
# on_code_received:
# then:
# - homeassistant.event:
# event: esphome.rf_code_received
# data:
# sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);'
# low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);'
# high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);'
# code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);'
# Basic Config
# Device Specific Config
# binary_sensor:
# - platform: status
# name: "RF Bridge Status"
# use esphome log viewer to get binary transmission for sensor state. Below are examples when using either single state or dual state sensors.
# # use this for single state sensors (single trigger)
# - platform: remote_receiver
# name: "Sensor1"
# rc_switch_raw:
# code: '100110011100011010101001'
# protocol: 1
# # use this for dual state sensors (open/closed trigger)
# - platform: remote_receiver
# name: "Sensor 2 Open"
# internal: yes
# rc_switch_raw:
# code: '001111111110111100101110'
# protocol: 1
# on_press:
# - binary_sensor.template.publish:
# id: Sensor2
# state: ON
# - platform: remote_receiver
# name: "Sensor 2 Closed"
# internal: yes
# rc_switch_raw:
# code: '001111111110111100100111'
# protocol: 1
# on_press:
# - binary_sensor.template.publish:
# id: Sensor2
# state: OFF
# - platform: template
# name: "Sensor2 State"
# device_class: window
# id: Sensor2
# remote_receiver:
# pin: 4
# # dump: all
# dump: rc_switch
# filter: 100us
# tolerance: 50%
# idle: 2ms
# remote_transmitter:
# pin: 5
# carrier_duty_percent: 100%
# status_led:
# pin:
# number: GPIO13
# inverted: yes
# third section
# Example configuration entry
# uart:
# baud_rate: 19200
# rf_bridge:
# on_code_received:
# - homeassistant.event:
# event: esphome.rf_code_received
# data:
# sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);'
# low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);'
# high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);'
# code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);'