158 lines
3.7 KiB
YAML
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 );
|
|
|
|
|
|
|
|
|