Last active
May 14, 2024 13:42
-
-
Save Nizzle/6971c2cc066e6412740487bcc3b2c62a to your computer and use it in GitHub Desktop.
ESPhome config for SHA2017 badge (https://wiki.sha2017.org/w/Projects:Badge)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
esphome: | |
name: shabadge | |
esp32: | |
board: esp32-pro | |
logger: | |
wifi: | |
ssid: !secret wifi_ssid | |
password: !secret wifi_pass | |
ota: | |
password: !secret ota_pass | |
api: | |
id: hassapi | |
password: !secret api_pass | |
i2c: | |
sda: 26 | |
scl: 27 | |
scan: True | |
mpr121: | |
id: mpr121_component | |
address: 0x5A | |
touch_debounce: 1 | |
release_debounce: 1 | |
touch_threshold: 12 | |
release_threshold: 6 | |
binary_sensor: | |
- platform: mpr121 | |
id: touch_buttonA | |
channel: 0 | |
name: "Touch Button A" | |
- platform: mpr121 | |
id: touch_buttonB | |
channel: 1 | |
name: "Touch Button B" | |
- platform: mpr121 | |
id: touch_buttonStart | |
channel: 2 | |
name: "Touch Button Start" | |
- platform: mpr121 | |
id: touch_buttonSelect | |
channel: 3 | |
name: "Touch Button Select" | |
- platform: mpr121 | |
id: touch_buttonDown | |
channel: 4 | |
name: "Touch Button Down" | |
- platform: mpr121 | |
id: touch_buttonRight | |
channel: 5 | |
name: "Touch Button Right" | |
- platform: mpr121 | |
id: touch_buttonUp | |
channel: 6 | |
name: "Touch Button Up" | |
- platform: mpr121 | |
id: touch_buttonLeft | |
channel: 7 | |
name: "Touch Button Left" | |
- platform: mpr121 | |
id: charging_status | |
channel: 9 | |
name: "Charging Status" | |
- platform: gpio | |
name: "Flash Button" | |
pin: 0 | |
filters: | |
- invert: | |
sensor: | |
- platform: adc | |
pin: 34 | |
attenuation: 6db | |
filters: | |
- multiply: 2.91 | |
name: "USB Voltage" | |
update_interval: 20s | |
accuracy_decimals: 1 | |
- platform: adc | |
pin: 35 | |
attenuation: 6db | |
#attenuation: 2.5db | |
filters: | |
- multiply: 2.91 | |
#- multiply: 1.95 | |
name: "Battery Voltage" | |
update_interval: 20s | |
accuracy_decimals: 1 | |
- platform: uptime | |
name: Uptime Sensor | |
id: uptime_sensor | |
update_interval: 1s | |
on_raw_value: | |
then: | |
- text_sensor.template.publish: | |
id: uptime_human | |
state: !lambda |- | |
int seconds = round(id(uptime_sensor).raw_state); | |
int days = seconds / (24 * 3600); | |
seconds = seconds % (24 * 3600); | |
int hours = seconds / 3600; | |
seconds = seconds % 3600; | |
int minutes = seconds / 60; | |
seconds = seconds % 60; | |
return ( | |
(days ? to_string(days) + "d " : "") + | |
(hours ? to_string(hours) + "h " : "") + | |
(minutes ? to_string(minutes) + "m " : "") + | |
(to_string(seconds) + "s") | |
).c_str(); | |
spi: | |
clk_pin: 18 | |
mosi_pin: 5 | |
text_sensor: | |
- platform: version | |
id: ver | |
hide_timestamp: true | |
- platform: template | |
name: Uptime Human Readable | |
id: uptime_human | |
icon: mdi:clock-start | |
display: | |
- platform: waveshare_epaper | |
cs_pin: 19 | |
dc_pin: 21 | |
busy_pin: 22 | |
reset_pin: 23 | |
model: 2.90in-dke | |
#Partial not working yet so full only | |
full_update_every: 1 | |
update_interval: 5s | |
lambda: |- | |
it.printf(0, 0, id(font40), "%s", id(ver).state.c_str()); | |
it.printf(0, 40, id(font40), "%s", id(uptime_human).state.c_str()); | |
rotation: 270 | |
external_components: | |
- source: | |
type: git | |
url: https://github.com/Nizzle/esphome | |
ref: dke2.9-epaper | |
components: [ waveshare_epaper ] | |
font: | |
- file: "Fonts/Comfortaa-Regular.ttf" | |
id: font40 | |
size: 40 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@polyfloyd sorry I should have mentioned that. Interestingly the display flashes black briefly (which is probably normal for the full update), and the content itself is shown. So the update does work as expected, still the messages are irritating me.