|
|
|
@ -22,7 +22,7 @@ esphome:
|
|
|
|
|
- SPI
|
|
|
|
|
- Wire
|
|
|
|
|
- "346"
|
|
|
|
|
- "13"
|
|
|
|
|
# - "13"
|
|
|
|
|
- "86"
|
|
|
|
|
- "5812"
|
|
|
|
|
|
|
|
|
@ -43,12 +43,15 @@ spi:
|
|
|
|
|
mosi_pin: 18
|
|
|
|
|
|
|
|
|
|
deep_sleep:
|
|
|
|
|
run_duration: 12min
|
|
|
|
|
sleep_duration: 48min
|
|
|
|
|
wakeup_pin: 32
|
|
|
|
|
run_duration: 6min
|
|
|
|
|
sleep_duration: 54min
|
|
|
|
|
|
|
|
|
|
wakeup_pin_mode: INVERT_WAKEUP # stop caring and be judicious about tolerance of goofy pin modes
|
|
|
|
|
|
|
|
|
|
# Enable logging
|
|
|
|
|
logger:
|
|
|
|
|
level: DEBUG # Flip to ERROR for production deployments
|
|
|
|
|
baud_rate: 0 # Disable UART logging
|
|
|
|
|
|
|
|
|
|
# Enable Home Assistant API
|
|
|
|
|
#api:
|
|
|
|
@ -78,132 +81,132 @@ mqtt:
|
|
|
|
|
|
|
|
|
|
# 2.9" Waveshare 3-color (red) e-ink setup
|
|
|
|
|
# BUSY -> 21, RST -> 14, DC -> 15, CS -> 27, CLK -> SCK(5), DIN -> MOSI(18), GND -> GND, 3.3V -> 3.3V
|
|
|
|
|
display:
|
|
|
|
|
- platform: waveshare_epaper
|
|
|
|
|
cs_pin: 27
|
|
|
|
|
dc_pin: 15
|
|
|
|
|
busy_pin: 21
|
|
|
|
|
reset_pin: 14
|
|
|
|
|
model: 2.90in
|
|
|
|
|
rotation: 90
|
|
|
|
|
update_interval: 30s
|
|
|
|
|
lambda: |-
|
|
|
|
|
// Setup / Clear
|
|
|
|
|
it.powerOn();
|
|
|
|
|
it.clear();
|
|
|
|
|
// Battery
|
|
|
|
|
if (id(Battery_Level).state > 90) {
|
|
|
|
|
it.image(0, 0, id(battery_100));
|
|
|
|
|
}
|
|
|
|
|
else if (id(Battery_Level).state > 75) {
|
|
|
|
|
it.image(0, 0, id(battery_75));
|
|
|
|
|
}
|
|
|
|
|
if (id(Battery_Level).state > 50) {
|
|
|
|
|
it.image(0, 0, id(battery_50));
|
|
|
|
|
}
|
|
|
|
|
if (id(Battery_Level).state > 25) {
|
|
|
|
|
it.image(0, 0, id(inverted_battery_25));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
it.image(0, 0, id(inverted_battery_0));
|
|
|
|
|
}
|
|
|
|
|
if (id(Battery_Alert).state != 0) {
|
|
|
|
|
it.image(37,0, id(alert_filled));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
it.printf(37, 0, id(deja_vu_mono_bold_8), "%.1f%%", id(Battery_Level).state);
|
|
|
|
|
}
|
|
|
|
|
// WiFi
|
|
|
|
|
it.image(148, 0, id(wifi_icon));
|
|
|
|
|
it.printf(185, 0, id(deja_vu_mono_bold_8), "%.1fdB", id(sensor_wifi_signal).state);
|
|
|
|
|
// Temperature
|
|
|
|
|
it.image(37, 0, id(thermometer));
|
|
|
|
|
it.printf(37,37, id(deja_vu_mono_bold_8), "%.1f°F", id(Temperature_F).state);
|
|
|
|
|
// Humidity
|
|
|
|
|
it.image(148,37, id(humidity));
|
|
|
|
|
it.printf(185,37, id(deja_vu_mono_bold_8), "%.1f%%", id(Humidity).state);
|
|
|
|
|
// Plants
|
|
|
|
|
it.image(0, 96, id(cat_grass));
|
|
|
|
|
it.image(37, 96, id(tarragon));
|
|
|
|
|
it.image(74, 96, id(cat_nip));
|
|
|
|
|
it.image(111, 96, id(christmas_cactus));
|
|
|
|
|
it.image(148, 96, id(inverted_cat_grass));
|
|
|
|
|
it.image(185, 96, id(inverted_tarragon));
|
|
|
|
|
it.image(222, 96, id(inverted_catnip));
|
|
|
|
|
it.image(259, 96, id(inverted_christmas_cactus));
|
|
|
|
|
// Sleep to conserve power
|
|
|
|
|
//it.powerOff();
|
|
|
|
|
#display:
|
|
|
|
|
# - platform: waveshare_epaper
|
|
|
|
|
# cs_pin: 27
|
|
|
|
|
# dc_pin: 15
|
|
|
|
|
# busy_pin: 21
|
|
|
|
|
# reset_pin: 14
|
|
|
|
|
# model: 2.90in
|
|
|
|
|
# rotation: 90
|
|
|
|
|
# update_interval: 30s
|
|
|
|
|
# lambda: |-
|
|
|
|
|
# // Setup / Clear
|
|
|
|
|
# it.powerOn();
|
|
|
|
|
# it.clear();
|
|
|
|
|
# // Battery
|
|
|
|
|
# if (id(Battery_Level).state > 90) {
|
|
|
|
|
# it.image(0, 0, id(battery_100));
|
|
|
|
|
# }
|
|
|
|
|
# else if (id(Battery_Level).state > 75) {
|
|
|
|
|
# it.image(0, 0, id(battery_75));
|
|
|
|
|
# }
|
|
|
|
|
# if (id(Battery_Level).state > 50) {
|
|
|
|
|
# it.image(0, 0, id(battery_50));
|
|
|
|
|
# }
|
|
|
|
|
# if (id(Battery_Level).state > 25) {
|
|
|
|
|
# it.image(0, 0, id(inverted_battery_25));
|
|
|
|
|
# }
|
|
|
|
|
# else {
|
|
|
|
|
# it.image(0, 0, id(inverted_battery_0));
|
|
|
|
|
# }
|
|
|
|
|
# if (id(Battery_Alert).state != 0) {
|
|
|
|
|
# it.image(37,0, id(alert_filled));
|
|
|
|
|
# }
|
|
|
|
|
# else {
|
|
|
|
|
# it.printf(37, 0, id(deja_vu_mono_bold_8), "%.1f%%", id(Battery_Level).state);
|
|
|
|
|
# }
|
|
|
|
|
# // WiFi
|
|
|
|
|
# it.image(148, 0, id(wifi_icon));
|
|
|
|
|
# it.printf(185, 0, id(deja_vu_mono_bold_8), "%.1fdB", id(sensor_wifi_signal).state);
|
|
|
|
|
# // Temperature
|
|
|
|
|
# it.image(37, 0, id(thermometer));
|
|
|
|
|
# it.printf(37,37, id(deja_vu_mono_bold_8), "%.1f°F", id(Temperature_F).state);
|
|
|
|
|
# // Humidity
|
|
|
|
|
# it.image(148,37, id(humidity));
|
|
|
|
|
# it.printf(185,37, id(deja_vu_mono_bold_8), "%.1f%%", id(Humidity).state);
|
|
|
|
|
# // Plants
|
|
|
|
|
# it.image(0, 96, id(cat_grass));
|
|
|
|
|
# it.image(37, 96, id(tarragon));
|
|
|
|
|
# it.image(74, 96, id(cat_nip));
|
|
|
|
|
# it.image(111, 96, id(christmas_cactus));
|
|
|
|
|
# it.image(148, 96, id(inverted_cat_grass));
|
|
|
|
|
# it.image(185, 96, id(inverted_tarragon));
|
|
|
|
|
# it.image(222, 96, id(inverted_catnip));
|
|
|
|
|
# it.image(259, 96, id(inverted_christmas_cactus));
|
|
|
|
|
# // Sleep to conserve power
|
|
|
|
|
# //it.powerOff();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
font:
|
|
|
|
|
- file: "DejaVuSansMono-Bold.ttf"
|
|
|
|
|
id: deja_vu_mono_bold_8
|
|
|
|
|
size: 8
|
|
|
|
|
#font:
|
|
|
|
|
# - file: "DejaVuSansMono-Bold.ttf"
|
|
|
|
|
# id: deja_vu_mono_bold_8
|
|
|
|
|
# size: 8
|
|
|
|
|
|
|
|
|
|
image:
|
|
|
|
|
- file: noun_Alert_2145614.png # empty
|
|
|
|
|
id: alert_empty
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_Alert_2490416.png # filled
|
|
|
|
|
id: alert_filled
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_battery indicator_1601217.png # battery 75%
|
|
|
|
|
id: battery_75
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_battery level_1601219.png # battery 50%
|
|
|
|
|
id: battery_50
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_Cactus_1197535.png # christmas cactus
|
|
|
|
|
id: christmas_cactus
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_empty battery_1601215.png # battery 25%
|
|
|
|
|
id: battery_25
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_empty battery_1601218.png # battery 0%
|
|
|
|
|
id: battery_0
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_Full Battery_1601214.png # battery 100%
|
|
|
|
|
id: battery_100
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_grass_355100.png # cat grass
|
|
|
|
|
id: cat_grass
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_humidity_1762738.png # temp + humidity
|
|
|
|
|
id: temp_humidity
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_humidity_2280622.png # humidity
|
|
|
|
|
id: humidity
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_leaf_1153077.png # catnip
|
|
|
|
|
id: cat_nip
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_Tarragon_499800.png # tarragon
|
|
|
|
|
id: tarragon
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_Thermometer_217722.png # thermometer
|
|
|
|
|
id: thermometer
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: noun_wifi_2201334.png # wifi
|
|
|
|
|
id: wifi_icon
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_Tarragon_499800.png # inverted tarragon
|
|
|
|
|
id: inverted_tarragon
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_leaf_1153077.png # inverted catnip
|
|
|
|
|
id: inverted_catnip
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_grass_355100.png # inverted cat grass
|
|
|
|
|
id: inverted_cat_grass
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_empty battery_1601218.png # inverted battery_0
|
|
|
|
|
id: inverted_battery_0
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_empty battery_1601215.png # inverted battery_25
|
|
|
|
|
id: inverted_battery_25
|
|
|
|
|
resize: 32x32
|
|
|
|
|
- file: inverted_noun_Cactus_1197535.png # inverted christmas cactus
|
|
|
|
|
id: inverted_christmas_cactus
|
|
|
|
|
resize: 32x32
|
|
|
|
|
#image:
|
|
|
|
|
# - file: noun_Alert_2145614.png # empty
|
|
|
|
|
# id: alert_empty
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_Alert_2490416.png # filled
|
|
|
|
|
# id: alert_filled
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_battery indicator_1601217.png # battery 75%
|
|
|
|
|
# id: battery_75
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_battery level_1601219.png # battery 50%
|
|
|
|
|
# id: battery_50
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_Cactus_1197535.png # christmas cactus
|
|
|
|
|
# id: christmas_cactus
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_empty battery_1601215.png # battery 25%
|
|
|
|
|
# id: battery_25
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_empty battery_1601218.png # battery 0%
|
|
|
|
|
# id: battery_0
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_Full Battery_1601214.png # battery 100%
|
|
|
|
|
# id: battery_100
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_grass_355100.png # cat grass
|
|
|
|
|
# id: cat_grass
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_humidity_1762738.png # temp + humidity
|
|
|
|
|
# id: temp_humidity
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_humidity_2280622.png # humidity
|
|
|
|
|
# id: humidity
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_leaf_1153077.png # catnip
|
|
|
|
|
# id: cat_nip
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_Tarragon_499800.png # tarragon
|
|
|
|
|
# id: tarragon
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_Thermometer_217722.png # thermometer
|
|
|
|
|
# id: thermometer
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: noun_wifi_2201334.png # wifi
|
|
|
|
|
# id: wifi_icon
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_Tarragon_499800.png # inverted tarragon
|
|
|
|
|
# id: inverted_tarragon
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_leaf_1153077.png # inverted catnip
|
|
|
|
|
# id: inverted_catnip
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_grass_355100.png # inverted cat grass
|
|
|
|
|
# id: inverted_cat_grass
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_empty battery_1601218.png # inverted battery_0
|
|
|
|
|
# id: inverted_battery_0
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_empty battery_1601215.png # inverted battery_25
|
|
|
|
|
# id: inverted_battery_25
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
# - file: inverted_noun_Cactus_1197535.png # inverted christmas cactus
|
|
|
|
|
# id: inverted_christmas_cactus
|
|
|
|
|
# resize: 32x32
|
|
|
|
|
|
|
|
|
|
binary_sensor:
|
|
|
|
|
- platform: status
|
|
|
|
@ -213,11 +216,12 @@ sensor:
|
|
|
|
|
- platform: wifi_signal
|
|
|
|
|
id: sensor_wifi_signal
|
|
|
|
|
name: "WiFi_Signal"
|
|
|
|
|
update_interval: 60s
|
|
|
|
|
update_interval: 3min
|
|
|
|
|
unit_of_measurement: "dB"
|
|
|
|
|
accuracy_decimals: 1
|
|
|
|
|
- platform: uptime
|
|
|
|
|
name: Uptime
|
|
|
|
|
update_interval: 3min
|
|
|
|
|
- platform: custom
|
|
|
|
|
lambda: |-
|
|
|
|
|
auto sht1x = new SHT1xSensor();
|
|
|
|
|