Files
esphome-configs/espsalon.yaml
2023-03-24 13:09:06 +01:00

158 lines
3.7 KiB
YAML

esphome:
name: espsalon
platform: ESP8266
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
password: !secret api_secret
ota:
password: !secret ota_key
wifi:
ssid: !secret wireless_ssid
password: !secret wireless_key
domain: !secret wireless_domain
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Espsalon Fallback Hotspot"
password: "jTlMOFiFOzog"
captive_portal:
web_server:
port: 80
i2c:
sda: D2
scl: D1
scan: true
id: bus_a
time:
- platform: sntp
id: esptime
timezone: "Europe/Brussels"
servers: "ntp.belnet.be"
on_time:
- seconds: /2
then:
- display.page.show_next: saloon_display
font:
- file: "fonts/Roboto/Roboto-Black.ttf"
id: my_font_16
size: 16
- file: "fonts/Roboto/Roboto-Black.ttf"
id: my_font_14
size: 14
- file: "fonts/materialdesignicons-webfont.ttf"
id: icons_14
size: 14
glyphs:
- "\U000F050F" # mdi-home-thermometer
- "\U000F058E" # mdi-water-percent
- "\U000F015F" # mdi-cloud
- "\U000F1252" # mdi-home-lightbulb-outline
- "\U000F0A60" # mdi-ip-network
mqtt:
broker: hass20.home.cabestan.be
username: espsalon
password: sala45224
switch:
- platform: gpio
name: "Esp Salon Led"
pin: 2
binary_sensor:
- platform: gpio
name: "Living Room Window"
pin:
number: 4
inverted: true
mode:
input: true
pullup: true
- platform: status
name: "Living Room Status"
id: nw_connected
sensor:
- platform: dht
pin: D7
temperature:
id: temperature
name: "Living Room Temperature"
humidity:
id: humidity
name: "Living Room Humidity"
update_interval: 10s
- platform: bmp280
temperature:
name: "Living Room Temperature S2"
oversampling: 16x
pressure:
id: pressure
name: "Pressure"
address: 0x76
update_interval: 60s
- platform: adc
id: ambiantlight
pin: A0
name: "Living Room Brightness"
device_class: "illuminance"
unit_of_measurement: "lx"
update_interval: 2s
accuracy_decimals: 1
filters:
- multiply: 500.0
# - sliding_window_moving_average:
# window_size: 15
# send_every: 5
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
reset_pin: D0
update_interval: 2s
address: 0x3C
id: saloon_display
rotation: 90
pages:
# - id: page1
# lambda: |-
# it.printf( 5,20, id(my_font_20), "hello world");
- id: page1
lambda: |-
it.strftime( 32, 0, id(my_font_16), TextAlign::TOP_CENTER , "%H:%M:%S" , id(esptime).now() );
it.printf( 0, 25, id(icons_14), TextAlign::TOP_LEFT , "\U000F050F");
it.printf( 18, 25, id(my_font_14), TextAlign::TOP_LEFT , "%.1f°" , id(temperature).state );
it.printf( 0, 45, id(icons_14), TextAlign::TOP_LEFT , "\U000F058E");
it.printf( 18, 45, id(my_font_14), TextAlign::TOP_LEFT , "%.1f%%", id(humidity).state );
it.printf( 0, 65, id(icons_14), TextAlign::TOP_LEFT , "\U000F015F");
it.printf( 18, 65, id(my_font_14), TextAlign::TOP_LEFT , "%.0f" , id(pressure).state );
it.printf( 0, 85, id(icons_14), TextAlign::TOP_LEFT , "\U000F1252");
it.printf( 18, 85, id(my_font_14), TextAlign::TOP_LEFT , "%.0f" , id(ambiantlight).state );
it.printf( 0, 105, id(icons_14), TextAlign::TOP_LEFT , "\U000F0A60");
# it.printf( 18, 105, id(my_font_14), TextAlign::TOP_LEFT , "%s" , id(nw_connected).state );