esphome:
name: oled-display-small
platform: ESP8266
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "7526d88cffa343910096470982132f9c"
web_server:
port: 80
wifi:
ssid: wifiname
password: whatsthepassword
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Oled-Display-Small"
password: "whatsthepassword"
captive_portal:
time:
- platform: homeassistant
id: homeassistant_time
text_sensor:
- platform: wifi_info
ip_address:
name: Oled temp Display IP Address
ssid:
name: Oled temp Connected SSID
bssid:
name: Oled temp Connected BSSID
sensor:
- platform: homeassistant
id: inside_temperature
entity_id: sensor.woonkamer_temp_aqara_z2mqtt_temperature
internal: true
- platform: homeassistant
id: outside_temperature
entity_id: sensor.openweathermap_temperature
internal: true
# Uptime sensor.
- platform: uptime
name: Oled temp Uptime
font:
- file: 'slkscr.ttf'
id: font1
size: 8
- file: 'BebasNeue-Regular.ttf'
id: font2
size: 48
- file: 'arial.ttf'
id: font3
size: 14
i2c:
sda: D1
scl: D2
scan: false
frequency: 800kHz
display:
- platform: ssd1306_i2c
model: "SH1106 128x64"
reset_pin: D0
contrast: 75%
brightness: 75%
update_interval: 3s
address: 0x3C
lambda: |-
// Print "Bebrave Castle" in top center.
it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Bebrave Castle");
// Print time in HH:MM format
it.strftime(127, 60, id(font3), TextAlign::BASELINE_RIGHT, "%H:%M", id(homeassistant_time).now());
// Print inside temperature (from homeassistant sensor)
if (id(inside_temperature).has_state()) {
it.printf(127, 23, id(font3), TextAlign::TOP_RIGHT , "%.1f°", id(inside_temperature).state);
}
// Print outside temperature (from homeassistant sensor)
if (id(outside_temperature).has_state()) {
it.printf(0, 60, id(font2), TextAlign::BASELINE_LEFT , "%.1f°", id(outside_temperature).state);
}
// Print "Bebrave Castle" in top center.
//it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Bebrave Castle");
// Print time in HH:MM format
//it.strftime(0, 60, id(font2), TextAlign::BASELINE_LEFT, "%H:%M", id(homeassistant_time).now());
// Print inside temperature (from homeassistant sensor)
//if (id(inside_temperature).has_state()) {
// it.printf(127, 23, id(font3), TextAlign::TOP_RIGHT , "%.1f°", id(inside_temperature).state);
//}
// Print outside temperature (from homeassistant sensor)
//if (id(outside_temperature).has_state()) {
// it.printf(127, 60, id(font3), TextAlign::BASELINE_RIGHT , "%.1f°", id(outside_temperature).state);
//}