cleaned for new home

This commit is contained in:
2025-06-23 12:40:35 +02:00
parent e426efb80f
commit 1f4970c17c
173 changed files with 16228 additions and 24225 deletions

View File

@@ -7,12 +7,21 @@ substitutions:
ota_password: !secret ota_password
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
wifi_ssid2: !secret wifi_ssid2
wifi_password2: !secret wifi_password2
gateway: !secret ip_gateway
subnet: !secret ip_subnet
ip: !secret eink_display_ip
#pins
pin_spi_clk: GPIO7
pin_spi_mosi: GPIO9
pin_ep_cs: GPIO2
pin_ep_dc: GPIO4
pin_ep_busy: GPIO3
pin_ep_reset: GPIO1
packages:
board: !include boards/esp32_wroom_arduino.yaml
board: !include boards/esp32-S3.yaml
device_base: !include common/common.yaml
connection: !include common/wifi_nosens.yaml
logger: !include templates/logger.yaml
@@ -22,6 +31,7 @@ packages:
esphome:
includes:
- include/epaper75.h
- include/text_utils.h
external_components:
# - source:
@@ -116,7 +126,14 @@ font:
- file: 'fonts/GothamRnd-Book.ttf'
id: font_weekday
size: 30
glyphs: ['a', 'd', 'e','F', 'h', 'i','M', 'n', 'o', 'r', 's','S', 't','T', 'u', 'W', 'y']
glyphs: &default-glyphs
['&', '@', '!', ',', '.', '"', '%', '(', ')', '+', '-', '_', ':', '°', '0',
'1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y', 'z','|', '/']
- file: 'fonts/GothamRnd-Book.ttf'
id: font_day
size: 65
@@ -194,6 +211,7 @@ sensor:
- !include { file: sensors/homeassistant.yaml, vars: { id: travel_euretco_time, entity_id: sensor.e_ink_display_data }}
- platform: wifi_signal
id: sensor_wifi_signal
name: "${device_name} WiFi"
@@ -225,6 +243,7 @@ sensor:
lambda: 'return id(recorded_display_refresh);'
unit_of_measurement: "refreshes"
text_sensor:
# - platform: homeassistant
# entity_id: weather.forecast_home
@@ -244,6 +263,8 @@ text_sensor:
- !include { file: sensors/homeassistant.yaml, vars: { id: travel_Best_name, entity_id: sensor.e_ink_display_data }}
- !include { file: sensors/homeassistant.yaml, vars: { id: travel_ASML_name, entity_id: sensor.e_ink_display_data }}
- !include { file: sensors/homeassistant.yaml, vars: { id: travel_euretco_name, entity_id: sensor.e_ink_display_data }}
- !include { file: sensors/homeassistant.yaml, vars: { id: day_full, entity_id: sensor.e_ink_display_data }}
- !include { file: sensors/homeassistant.yaml, vars: { id: datum, entity_id: sensor.e_ink_display_data }}
# Sunrise
- platform: sun
@@ -301,19 +322,19 @@ color:
# Pins for Waveshare ePaper ESP Board
spi:
clk_pin: GPIO13
mosi_pin: GPIO14
clk_pin: ${pin_spi_clk}
mosi_pin: ${pin_spi_mosi}
# Now render everything on the ePaper screen.
display:
- platform: waveshare_epaper
cs_pin: GPIO27
dc_pin: GPIO16
cs_pin: ${pin_ep_cs}
dc_pin: ${pin_ep_dc}
busy_pin:
number: 25
number: ${pin_ep_busy}
inverted: True
reset_pin: GPIO26
reset_pin: ${pin_ep_reset}
reset_duration: 2ms
model: 7.50in-bv2-rb
#model: 7.50in-bV2
@@ -327,25 +348,20 @@ display:
#define x_pad 10 // border padding
#define y_pad 10 // border padding
int wifi_x_a = xres-x_pad;
int wifi_y_a = yres-y_pad+2;
// int wifi_x_a = xres-x_pad;
// int wifi_y_a = yres-y_pad+2;
// Fill background in black.
it.fill(COLOR_OFF);
// clock section
int clk_yoffset = 50;
int clk_xoffset = 310;
int clk_xoffset = 50;
// Print full weekday name
it.strftime(clk_xoffset, clk_yoffset, id(font_weekday), TextAlign::TOP_RIGHT, "%A", id(esptime).now());
// Print time in HH:MM format 335
// it.strftime(clk_xoffset, clk_yoffset+105, id(font_time), TextAlign::BASELINE_RIGHT, "%H:%M", id(esptime).now());
it.printf(clk_xoffset, clk_yoffset, id(font_weekday), TextAlign::TOP_LEFT, "%s", id(day_full).state.c_str());
int day_size = GetTextWidth(&it, id(font_weekday), "%s", id(day_full).state.c_str());
it.printf(clk_xoffset + day_size+10, clk_yoffset, id(font_weekday), TextAlign::TOP_LEFT, "%s", id(datum).state.c_str());
// Print day of the month
it.strftime(clk_xoffset+100, clk_yoffset, id(font_day), TextAlign::TOP_RIGHT, "%d", id(esptime).now());
// Print abbreviated month name
it.strftime(clk_xoffset+100, clk_yoffset+105, id(font_month), TextAlign::BASELINE_RIGHT, "%b", id(esptime).now());
int sry_offset = 200; //sunrise/set y-offset
// Print sunrise
it.printf(60, sry_offset, id(font_mdi_medium), COLOR_RED, TextAlign::CENTER_RIGHT, "\U000F059C");
@@ -394,21 +410,23 @@ display:
it.line(30, forecast_yoffset+102, 420, forecast_yoffset+102);
// //afstand
int drvtime_yoffset = forecast_yoffset+132;
int drvtime_xoffset = 40;
it.printf(drvtime_xoffset, drvtime_yoffset, id(font_mdi_medium), COLOR_RED, TextAlign::TOP_CENTER, "%s", weather_icon_map["car"].c_str());
// int drvtime_xoffset = 40;
// it.printf(drvtime_xoffset, drvtime_yoffset, id(font_mdi_medium), COLOR_RED, TextAlign::TOP_CENTER, "%s", weather_icon_map["car"].c_str());
it.printf(drvtime_xoffset+90, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_Best_name).state.c_str());
it.printf(drvtime_xoffset+90, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_Best_time).state);
// it.printf(drvtime_xoffset+90, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_Best_name).state.c_str());
// it.printf(drvtime_xoffset+90, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_Best_time).state);
it.printf(drvtime_xoffset+210, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_ASML_name).state.c_str());
it.printf(drvtime_xoffset+210, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_ASML_time).state);
// it.printf(drvtime_xoffset+210, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_ASML_name).state.c_str());
// it.printf(drvtime_xoffset+210, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_ASML_time).state);
it.printf(drvtime_xoffset+330, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_euretco_name).state.c_str());
it.printf(drvtime_xoffset+330, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_euretco_time).state);
// it.printf(drvtime_xoffset+330, drvtime_yoffset, id(font_small_bold), TextAlign::TOP_CENTER, "%s", id(travel_euretco_name).state.c_str());
// it.printf(drvtime_xoffset+330, drvtime_yoffset+30, id(font_small_bold), TextAlign::TOP_CENTER, "%2.0f min", id(travel_euretco_time).state);
it.line(30, drvtime_yoffset+60, 420, drvtime_yoffset+60);
// it.line(30, drvtime_yoffset+60, 420, drvtime_yoffset+60);
// afval
int waste_yoffset = drvtime_yoffset+90;
int waste_xoffset = 60;
it.printf(waste_xoffset, waste_yoffset, id(font_mdi_medium), COLOR_RED, TextAlign::TOP_CENTER, "%s", weather_icon_map["trash"].c_str());