-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatlas-aquaponics-kit.yaml
299 lines (262 loc) · 6.4 KB
/
atlas-aquaponics-kit.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
substitutions:
# names
name: "aquaponics-kit"
friendly_name: "Aquaponics Kit"
# App Version - Updated: 6/2023
appVersion: "1.03"
# pins
sdaPin: "23"
sclPin: "22"
# EZO Circuit Addresses
# pH circuit, who's address is 99
addPH: "99"
# EC circuit, who's address is 100
addEC: "100"
# DO circuit, who's address is 97
addDO: "97"
# RTD circuit, who's address is 102
addRTD: "102"
# PMP circuit, who's address is 103
addPMP: "103"
# HUM circuit, who's address is 111
addHUM: "111"
# CO2 circuit, who's address is 105
addCO2: "105"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
# Automatically add the mac address to the name
name_add_mac_suffix: true
project:
name: TheRealFalseReality.Aquaponics-Kit
version: "${appVersion}"
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# level: verbose
# Enable Home Assistant API
api:
ota:
dashboard_import:
package_import_url: github://TheRealFalseReality/Aquaponics-Kit/aquaponics-kit.yaml@main
# import_full_config: true
wifi:
ap:
password: "password"
captive_portal:
# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none
improv_serial:
# i2c Pins
i2c:
sda: ${sdaPin}
scl: ${sclPin}
scan: true
id: bus_a
sensor:
# Internal Magnetic Sensor
- platform: esp32_hall
name: "ESP32 Hall Sensor"
update_interval: 60s
entity_category: "diagnostic"
# Internal Temp.
- platform: internal_temperature
name: "Internal Temperature"
# Wifi Signal
- platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
# Wifi %
- platform: copy # Reports the WiFi signal strength in %
source_id: wifi_signal_db
name: "WiFi Signal Percent"
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
unit_of_measurement: "Signal %"
entity_category: "diagnostic"
# Uptime sensor
- platform: uptime
name: Uptime
# Absolute Humidity
- platform: absolute_humidity
name: "Absolute Humidity"
temperature: rtd_ezo
humidity: hum_ezo
# EZO Circuit - pH
- platform: ezo
icon: mdi:ph
name: "pH"
id: ph_ezo
address: ${addPH}
unit_of_measurement: ""
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
# EZO Circuit - EC
# Salinity
- platform: ezo
icon: mdi:shaker-outline
name: "Salinity"
id: ec_ezo
address: ${addEC}
unit_of_measurement: "ppt"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
# Specific Gravity
- platform: copy
source_id: ec_ezo
name: "Specific Gravity"
filters:
- lambda: return x;
unit_of_measurement: ""
accuracy_decimals: 3
state_class: "measurement"
# Conductivity
- platform: copy
source_id: ec_ezo
name: "Specific Gravity"
icon: mdi:flash
filters:
- lambda: return x;
unit_of_measurement: "μS/cm"
accuracy_decimals: 3
state_class: "measurement"
# EZO Circuit - RTD
# Temperature
- platform: ezo
icon: mdi:thermometer-lines
name: "Temperature"
id: rtd_ezo
address: ${addRTD}
unit_of_measurement: "°C"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
device_class: "temperature"
# EZO Circuit - CO2
# Cardbon Dioxide
- platform: ezo
# icon: mdi:molecule-co2
name: "Cardbon Dioxide"
id: co2_ezo
address: ${addCO2}
unit_of_measurement: "ppm"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
device_class: "carbon_dioxide"
# EZO Circuit - HUM
# Humidity
- platform: ezo
# icon: mdi:water-percent
name: "Humidity"
id: hum_ezo
address: ${addHUM}
unit_of_measurement: "%"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
device_class: "humidity"
# EZO Circuit - Dissolved Oxygen
- platform: ezo
icon: mdi:molecule
name: "Dissolved Oxygen"
id: do_ezo
address: ${addDO}
unit_of_measurement: "mg/L"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
# EZO Circuit - Pump
- platform: ezo
icon: mdi:pump
name: "Pump"
id: pmp_ezo
address: ${addDO}
# unit_of_measurement: "mg/L"
accuracy_decimals: 2
update_interval: 60s
state_class: "measurement"
text_sensor:
# Hostname
- platform: template
name: "Hostname"
id: hostname
icon: mdi:cellphone-arrow-down
update_interval: 600s
lambda: |-
return {"${name}"};
entity_category: "diagnostic"
# Aquaponics Firmware Version
- platform: template
name: "Aquaponics Firmware"
id: firmware_version
icon: mdi:cellphone-arrow-down
update_interval: 600s
lambda: |-
return {"${appVersion}"};
entity_category: "diagnostic"
# Wifi Info
- platform: wifi_info
ip_address:
name: IP Address
icon: mdi:ip-network
ssid:
name: Connected SSID
icon: mdi:wifi-star
bssid:
name: Connected BSSID
icon: mdi:wifi-settings
mac_address:
name: Mac Address
icon: mdi:chip
button:
# Soft Restart
- platform: restart
name: "Restart"
# EC
# Output Parameters
# Output Salinity
- platform: template
name: "EC - Output - Salinity"
id: ec_sal
on_press:
then:
- lambda: |-
id(ec_ezo).send_custom("O,EC,0");
id(ec_ezo).send_custom("O,TDS,0");
id(ec_ezo).send_custom("O,S,1");
id(ec_ezo).send_custom("O,SG,0");
entity_category: "Config"
# Output Specific Gravity
- platform: template
name: "EC - Output - Specific Gravity"
id: ec_sg
on_press:
then:
- lambda: |-
id(ec_ezo).send_custom("O,EC,0");
id(ec_ezo).send_custom("O,TDS,0");
id(ec_ezo).send_custom("O,S,0");
id(ec_ezo).send_custom("O,SG,1");
entity_category: "Config"
# Output Conductivity
- platform: template
name: "EC - Output - Conductivity"
id: ec_cond
on_press:
then:
- lambda: |-
id(ec_ezo).send_custom("O,EC,1");
id(ec_ezo).send_custom("O,TDS,0");
id(ec_ezo).send_custom("O,S,0");
id(ec_ezo).send_custom("O,SG,0");
entity_category: "Config"