-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmaster-esp32.yaml
More file actions
152 lines (128 loc) · 3.33 KB
/
master-esp32.yaml
File metadata and controls
152 lines (128 loc) · 3.33 KB
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
146
147
148
149
150
151
152
esphome:
name: esp32-4-channel-relay
friendly_name: ESP32-4-channel-relay
includes:
- i2cRelay.h
libraries:
- "Wire"
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
# Enable logging
logger:
level: debug
# Enable Home Assistant API
api:
encryption:
key: "REDACTED"
ota:
- platform: esphome
password: "REDACTED"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-4-Channel-Relay"
password: "gZI8IWibNfn3"
captive_portal:
i2c:
- sda: 07
scl: 06
scan: true
id: bus_a
# - sda: 41
# scl: 40
# scan: true
# id: bus_b
switch:
- platform: custom
lambda: |-
auto LinkRelay0 = new LinkRelay(0);
App.register_component(LinkRelay0);
auto LinkRelay1 = new LinkRelay(1);
App.register_component(LinkRelay1);
auto LinkRelay2 = new LinkRelay(2);
App.register_component(LinkRelay2);
auto LinkRelay3 = new LinkRelay(3);
App.register_component(LinkRelay3);
return {LinkRelay0, LinkRelay1, LinkRelay2, LinkRelay3};
switches:
- name: "Link Relay 0"
id: LinkRelay0
- name: "Link Relay 1"
id: LinkRelay1
- name: "Link Relay 2"
id: LinkRelay2
- name: "Link Relay 3"
id: LinkRelay3
external_components:
source:
type: git
url: https://gitlab.com/ripnetuk-public/espnow/ripnetuk-esphome-easynow.git
ref: main
refresh: 1min
proxy_receiver:
espnow_channel: 11
transmitters:
- mac_address: "4C:EB:D6:43:43:2C"
name: now-transmitter
proxied_sensors:
- proxy_id: "now_temperature"
id: now_outside_temperature
name: "Now Transmitter temperature"
unit_of_measurement: "°C"
accuracy_decimals: 2
- proxy_id: "now_pressure"
name: "Now Transmitter pressure"
unit_of_measurement: "hPa"
accuracy_decimals: 2
# sensor:
# - platform: bmp3xx_i2c
# i2c_id: bus_b
# temperature:
# id: outside_temperature
# name: "Outside Temperature"
# oversampling: 16x
# pressure:
# name: "Outside Pressure"
# address: 0x77
# update_interval: 5s
climate:
- platform: thermostat
name: "Thermostat Climate Controller"
sensor: now_outside_temperature
min_cooling_off_time: 5s
min_cooling_run_time: 5s
min_heating_off_time: 5s
min_heating_run_time: 5s
min_idle_time: 5s
min_fan_mode_switching_time: 5s
cool_action:
- switch.turn_on: LinkRelay0
- switch.turn_on: LinkRelay1
- switch.turn_off: LinkRelay2
heat_action:
- switch.turn_on: LinkRelay0
- switch.turn_on: LinkRelay2
- switch.turn_off: LinkRelay1
idle_action:
- switch.turn_off: LinkRelay0
- switch.turn_off: LinkRelay1
- switch.turn_off: LinkRelay2
fan_mode_auto_action:
- switch.turn_off: LinkRelay3
fan_mode_on_action:
- switch.turn_on: LinkRelay3
default_preset: Home
preset:
- name: Home
default_target_temperature_low: 22 °C
default_target_temperature_high: 24 °C
- name: Warm
default_target_temperature_low: 23 °C
default_target_temperature_high: 25 °C
- name: Away
default_target_temperature_low: 20 °C
default_target_temperature_high: 24 °C