Oled screenEPHome example

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);

//}