← Takaisin ohjeisiin

Home Assistant Nordpool + ESPHome näyttö (D1 Mini)

Tässä projektissa tehdään pieni ESPHome-näyttö Wemos D1 Minille, joka näyttää vuorotellen:

Näyttö toimii hyvin esimerkiksi työpajassa, eteisessä tai teknisessä tilassa.

Projektissa käytetään:

Näyttö vaihtaa sivua automaattisesti 5 sekunnin välein.


Tarvittavat osat


Kytkentä

OLED näyttö (SSD1306)

VCC → 3.3V
GND → GND
SCL → D1
SDA → D2

Dallas lämpötila-anturi

DATA → D4
VCC → 3.3V
GND → GND

DATA ja 3.3V väliin 4.7k pull-up vastus.


Home Assistant asetukset

Jotta sähkön hinta näkyy näytöllä, Home Assistantissa pitää olla:

Nordpool käytössä sekä sensori sähkön hinnalle.

Esimerkissä käytetään näitä entiteettejä:

sensor.nordpool_kwh_fi_eur_3_10_0255
binary_sensor.protoboksi_low_cost
binary_sensor.protoboksi_high_cost

Jos nimet ovat erilaiset, vaihda ne ESPHome-koodiin.


ESPHome koodi

esphome:
name: lampoanturi
friendly_name: lampoanturi

esp8266:
board: d1_mini

logger:

api:
encryption:
key: "encryption key"

ota:
- platform: esphome
password: "salasanasi"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password


ap:
ssid: "Lampoanturi Fallback Hotspot"
password: "salasanasi"

captive_portal:

i2c:
sda: D2
scl: D1
scan: true

one_wire:
- platform: gpio
pin: D4

sensor:
- platform: dallas_temp
id: lampotila
address: 0xcc943a5709646128
name: "Lämpötila"

- platform: dallas_temp
id: ulko_lampotila
address: 0xb1300a5309646128
name: "Ulko Lämpötila"

- platform: homeassistant
id: sahkon_hinta
entity_id: sensor.nordpool_kwh_fi_eur_3_10_0255
internal: true

binary_sensor:
- platform: homeassistant
id: high_cost
entity_id: binary_sensor.protoboksi_high_cost
internal: true

- platform: homeassistant
id: low_cost
entity_id: binary_sensor.protoboksi_low_cost
internal: true

font:
- file: "gfonts://Roboto"
id: font_iso
size: 14
glyphs: " !\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzäöåÄÖÅ"

- file: "gfonts://Roboto"
id: font_big
size: 28
glyphs: " !\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzäöåÄÖÅ"

- file: "gfonts://Roboto"
id: font_mid
size: 18
glyphs: " !\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzäöåÄÖÅ"

display:
- platform: ssd1306_i2c
id: oled_naytto
model: "SSD1306 128x64"
address: 0x3C
pages:
- id: sivu1
lambda: |-
it.printf(0, 0, id(font_iso), "ProtoBoksi");

if (id(lampotila).has_state()) {
it.printf(0, 20, id(font_mid), "Sisä: %.1f C", id(lampotila).state);
} else {
it.printf(0, 20, id(font_mid), "Sisä: --.- C");
}

if (id(ulko_lampotila).has_state()) {
it.printf(0, 42, id(font_mid), "Ulko: %.1f C", id(ulko_lampotila).state);
} else {
it.printf(0, 42, id(font_mid), "Ulko: --.- C");
}

- id: sivu2
lambda: |-
it.printf(0, 0, id(font_iso), "Sähkö");

if (id(sahkon_hinta).has_state()) {
it.printf(0, 20, id(font_mid), "Hinta: %.2f", id(sahkon_hinta).state);
} else {
it.printf(0, 20, id(font_mid), "Hinta: --.--");
}
it.printf(0, 42, id(font_mid), "Low: %s", id(low_cost).state ? "ON" : "OFF");

interval:
- interval: 5s
then:
- display.page.show_next: oled_naytto
- component.update: oled_naytto

Home Assistant automaatio

Kun Nordpool-planner kertoo että sähkö on halpaa, varaaja voidaan käynnistää.

Automaatio – päälle

alias: Varaaja päälle halvan sähkön aikana
trigger:
- platform: state
entity_id: binary_sensor.protoboksi_low_cost
to: "on"

action:
- service: switch.turn_on
target:
entity_id: switch.lamminvesivaraaja

mode: single

Automaatio – pois

alias: Varaaja pois kalliin sähkön aikana
trigger:
- platform: state
entity_id: binary_sensor.protoboksi_high_cost
to: "on"

action:
- service: switch.turn_off
target:
entity_id: switch.lamminvesivaraaja

mode: single

Oikea toteutus lämminvesivaraajalle

Jos tämän haluaa oikeaan käyttöön, suositeltava ratkaisu on esimerkiksi:


Mitä seuraavaksi?

Samaa Nordpool-tietoa voi käyttää myös esimerkiksi:

Video