forked from mapero/esphome-hcpbridge
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathexample_hcpbridge.yaml
145 lines (129 loc) · 3.23 KB
/
example_hcpbridge.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Variables to change the name of the entities
substitutions:
name: "hcpbridge"
friendly_name: "Garage Door"
connection_state: "${name} Connected"
relay_name: "${friendly_name} Relay state"
light: "${friendly_name} Light"
btn_vent: "${friendly_name} Vent"
btn_half: "${friendly_name} Half"
btn_impulse: "${friendly_name} Impulse"
sen_txt: "${friendly_name} State"
sw_vent: "${friendly_name} Venting"
sw_half: "${friendly_name} Open Half"
sen_pos: "${friendly_name} Position"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
libraries:
- emelianov/modbus-esp8266
platformio_options:
board_build.f_cpu: 240000000L
external_components:
source: github://14yannick/esphome-hcpbridge
refresh: 0s
esp32:
board: adafruit_feather_esp32s3 #set your board
framework:
type: arduino
hcpbridge:
id: hcpbridge_id
rx_pin: 18 # optional, default=18
tx_pin: 17 # optional, default=17
#rts_pin : 1 # optional RTS pin to use if hardware automatic control flow is not available.
cover:
- platform: hcpbridge
name: ${friendly_name}
device_class: garage
id: garagedoor_cover
binary_sensor:
- platform: hcpbridge
is_connected:
name: "${connection_state}"
id: sensor_connected
relay_state:
name: "${relay_name}"
id: sensor_relay
#on_state:
#create your automation based on Garage Door Relay state
output:
- platform: hcpbridge
id: output_light
light:
- platform: hcpbridge
id: gd_light
output: output_light
name: ${light}
button:
- platform: hcpbridge
vent_button:
id: button_vent
name: "${btn_vent}"
impulse_button:
id: button_impulse
name: "${btn_impulse}"
half_button:
id: button_half
name: "${btn_half}"
text_sensor:
- platform: hcpbridge
id: sensor_templ_state
name: "${sen_txt}"
# filters:
# - substitute:
# - "Opening -> your text"
# - "Move venting -> your text"
# - "Move half -> your text"
# - "Closing -> your text"
# - "Open -> your text"
# - "Closed -> your text"
# - "Stopped -> your text"
# - "Half open -> your text"
# - "Venting -> your text"
# - "Unknown -> your text"
switch:
- platform: hcpbridge
vent_switch:
id: switch_vent
name: "${sw_vent}"
restore_mode: disabled
half_switch:
id: half_switch
name: "${sw_half}"
restore_mode: disabled
sensor:
- platform: hcpbridge
id: sensor_position
name: ${sen_pos}
api:
encryption:
key: !secret api_key
services:
- service: go_to_open
then:
- lambda: |-
id(garagedoor_cover).on_go_to_open();
- service: go_to_close
then:
- lambda: |-
id(garagedoor_cover).on_go_to_close();
- service: go_to_half
then:
- lambda: |-
id(garagedoor_cover).on_go_to_half();
- service: go_to_vent
then:
- lambda: |-
id(garagedoor_cover).on_go_to_vent();
- service: toggle
then:
- cover.toggle: garagedoor_cover
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable logging
logger:
level: WARN
# Example configuration entry
ota:
- platform: esphome