Remove epaper power display components
This commit is contained in:
+1
-233
@@ -183,29 +183,7 @@ sensor:
|
|||||||
entity_id: sensor.serverroom_serveraum_temperatur
|
entity_id: sensor.serverroom_serveraum_temperatur
|
||||||
id: temp_serverroom
|
id: temp_serverroom
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.netzleistung
|
|
||||||
id: power_total
|
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.serverraum_power
|
|
||||||
id: power_serverroom
|
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.schreibtisch_power
|
|
||||||
id: desk_livingroom
|
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.wohnzimmer_heimkino_power
|
|
||||||
id: media_livingroom
|
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.schlafzimmer_bett_power
|
|
||||||
id: bedlight_sleepingroom
|
|
||||||
|
|
||||||
- platform: homeassistant
|
|
||||||
entity_id: sensor.schlafzimmer_heimkino_power
|
|
||||||
id: media_sleepingroom
|
|
||||||
|
|
||||||
- platform: homeassistant
|
- platform: homeassistant
|
||||||
entity_id: sensor.radioaktive_strahlungsleistung
|
entity_id: sensor.radioaktive_strahlungsleistung
|
||||||
@@ -234,12 +212,7 @@ text_sensor:
|
|||||||
entity_id: weather.zuhause
|
entity_id: weather.zuhause
|
||||||
id: weather
|
id: weather
|
||||||
|
|
||||||
graph:
|
|
||||||
- id: line_power_graph
|
|
||||||
sensor: power_total
|
|
||||||
duration: 2h
|
|
||||||
width: 235
|
|
||||||
height: 100
|
|
||||||
|
|
||||||
time:
|
time:
|
||||||
- platform: homeassistant
|
- platform: homeassistant
|
||||||
@@ -1110,208 +1083,3 @@ display:
|
|||||||
ESP_LOGI("WiFi", "Unlikely");
|
ESP_LOGI("WiFi", "Unlikely");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- id: calendar
|
|
||||||
lambda: |-
|
|
||||||
/* Fetch today and tomorrow dates */
|
|
||||||
auto now = id(homeassistant_time).now();
|
|
||||||
int today_day = now.day_of_month;
|
|
||||||
int today_month = now.month;
|
|
||||||
int today_wday = now.day_of_week; // 0=Sunday .. 6=Saturday
|
|
||||||
const char* weekdays[] = {"So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"};
|
|
||||||
const char* today_weekday_str = weekdays[today_wday];
|
|
||||||
int today_year = now.year;
|
|
||||||
|
|
||||||
/* Tomorrow's date */
|
|
||||||
int tomorrow_day = today_day + 1;
|
|
||||||
int tomorrow_month = today_month;
|
|
||||||
int tomorrow_wday = (today_wday + 1) % 7;
|
|
||||||
const char* tomorrow_weekday_str = weekdays[tomorrow_wday];
|
|
||||||
int tomorrow_year = today_year;
|
|
||||||
|
|
||||||
/* C1024 logo */
|
|
||||||
it.image(10, 37, id(c1024_logo));
|
|
||||||
|
|
||||||
/* ── LEFT PANE: Today ── */
|
|
||||||
int leftX = 0;
|
|
||||||
int leftY = 85; // start below header row
|
|
||||||
|
|
||||||
it.print(10 + leftX, 10 + leftY, id(sensor_unit), "Heute");
|
|
||||||
it.filled_rectangle(64 + leftX, 21 + leftY, 370, 3);
|
|
||||||
|
|
||||||
/* Today's date strip */
|
|
||||||
it.printf(50 + leftX, 50 + leftY, id(big_sensor_font), "%d", today_day);
|
|
||||||
it.printf(130 + leftX, 45 + leftY, id(sub_sensor_font), "%s.", today_weekday_str);
|
|
||||||
it.printf(160 + leftX, 45 + leftY, id(sensor_unit), "%02d.%04d.", today_month, today_year);
|
|
||||||
|
|
||||||
/* Event placeholder row (top) */
|
|
||||||
int eventOffsetY = 90;
|
|
||||||
it.print(10 + leftX, 50 + leftY + eventOffsetY, id(mdi_med), TextAlign::BASELINE_LEFT, "");
|
|
||||||
it.print(40 + leftX, 50 + leftY + eventOffsetY, id(sub_sensor_font), "Eintrag 1");
|
|
||||||
|
|
||||||
/* Event placeholder row (bottom) */
|
|
||||||
it.print(10 + leftX, 85 + leftY + eventOffsetY, id(mdi_med), TextAlign::BASELINE_LEFT, "");
|
|
||||||
it.print(40 + leftX, 85 + leftY + eventOffsetY, id(sub_sensor_font), "Eintrag 2");
|
|
||||||
|
|
||||||
/* ── RIGHT PANE: Tomorrow ── */
|
|
||||||
int rightX = 390;
|
|
||||||
int rightY = 85;
|
|
||||||
|
|
||||||
it.print(10 + rightX, 10 + rightY, id(sensor_unit), "Morgen");
|
|
||||||
it.filled_rectangle(64 + rightX, 21 + rightY, 370, 3);
|
|
||||||
|
|
||||||
/* Date strip */
|
|
||||||
it.printf(50 + rightX, 50 + rightY, id(big_sensor_font), "%d", tomorrow_day);
|
|
||||||
it.printf(130 + rightX, 45 + rightY, id(sub_sensor_font), "%s.", tomorrow_weekday_str);
|
|
||||||
it.printf(160 + rightX, 45 + rightY, id(sensor_unit), "%02d.%04d.", tomorrow_month, tomorrow_year);
|
|
||||||
|
|
||||||
/* Event placeholder row (top) */
|
|
||||||
it.print(10 + rightX, 50 + rightY + eventOffsetY, id(mdi_med), TextAlign::BASELINE_LEFT, "");
|
|
||||||
it.print(40 + rightX, 50 + rightY + eventOffsetY, id(sub_sensor_font), "Eintrag 1");
|
|
||||||
|
|
||||||
/* Event placeholder row (bottom) */
|
|
||||||
it.print(10 + rightX, 85 + rightY + eventOffsetY, id(mdi_med), TextAlign::BASELINE_LEFT, "");
|
|
||||||
it.print(40 + rightX, 85 + rightY + eventOffsetY, id(sub_sensor_font), "Eintrag 2");
|
|
||||||
|
|
||||||
/* FOOTER */
|
|
||||||
it.strftime(614, 380, id(footer_font), TextAlign::BASELINE_RIGHT, "Aktualisiert um %d.%m.%Y %H:%M", id(homeassistant_time).now());
|
|
||||||
|
|
||||||
/* WiFi Signal strength */
|
|
||||||
if(id(wifisignal).has_state()) {
|
|
||||||
int x = 630;
|
|
||||||
int y = 384;
|
|
||||||
if (id(wifisignal).state >= -50) {
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
} else if (id(wifisignal).state >= -60) {
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
} else if (id(wifisignal).state >= -75) {
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
} else if (id(wifisignal).state >= -100) {
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
} else {
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- id: power
|
|
||||||
lambda: |-
|
|
||||||
|
|
||||||
float total_power = id(power_total).state;
|
|
||||||
float serverroom_power = id(power_serverroom).state;
|
|
||||||
float livingroom_desk = id(desk_livingroom).state;
|
|
||||||
float livingroom_media = id(media_livingroom).state;
|
|
||||||
float sleepingroom = id(media_sleepingroom).state + id(bedlight_sleepingroom).state;
|
|
||||||
int offsetX = 0;
|
|
||||||
int offsetY = 0;
|
|
||||||
|
|
||||||
/* BASEMENT */
|
|
||||||
it.print(10, 10, id(sensor_unit), "Keller");
|
|
||||||
/*
|
|
||||||
Draw the outline of a rectangle with the top left at [86,21],
|
|
||||||
a width of 297 and a height of 3
|
|
||||||
*/
|
|
||||||
it.filled_rectangle(76, 21, 307, 3);
|
|
||||||
|
|
||||||
/* C1024 logo */
|
|
||||||
it.image(10 , 37, id(c1024_logo));
|
|
||||||
|
|
||||||
/* Livingroom */
|
|
||||||
offsetY = 127;
|
|
||||||
it.print(10, 10 + offsetY, id(sensor_unit), "Wohnzimmer");
|
|
||||||
it.filled_rectangle(136, 21 + offsetY, 247, 3);
|
|
||||||
|
|
||||||
it.print(375, 75 + offsetY, id(mdi_small), TextAlign::BASELINE_CENTER, ""); // power-plug
|
|
||||||
it.print(375, 115 + offsetY, id(mdi_small), TextAlign::BASELINE_CENTER, ""); // power-plug
|
|
||||||
|
|
||||||
it.print(20, 75 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_LEFT, "Schreibtisch");
|
|
||||||
if(livingroom_desk >= 0) {
|
|
||||||
it.printf(357, 75 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, "%2.1f W", livingroom_desk);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it.print(357, 75 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, " - W");
|
|
||||||
}
|
|
||||||
|
|
||||||
it.print(20, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_LEFT, "Heimkino");
|
|
||||||
if(livingroom_media >= 0) {
|
|
||||||
it.printf(357, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, "%2.1f W", livingroom_media);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it.print(357, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, " - W");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sleepingroom */
|
|
||||||
offsetY = 247;
|
|
||||||
it.print(10, 10 + offsetY, id(sensor_unit), "Schlafzimmer");
|
|
||||||
it.filled_rectangle(144, 21 + offsetY, 239, 3);
|
|
||||||
|
|
||||||
it.print(375, 115 + offsetY, id(mdi_small), TextAlign::BASELINE_CENTER, ""); // power-plug
|
|
||||||
|
|
||||||
// it.print(20, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_LEFT, "Heimkino");
|
|
||||||
if(sleepingroom >= 0) {
|
|
||||||
it.printf(357, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, "%2.1f W", sleepingroom);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it.print(357, 115 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, " - W");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LINEPOWER */
|
|
||||||
offsetX = 390;
|
|
||||||
offsetY = 65;
|
|
||||||
it.print(10 + offsetX, 10, id(sensor_unit), "Gesamt");
|
|
||||||
it.filled_rectangle(90 + offsetX, 21, 155, 3);
|
|
||||||
|
|
||||||
it.print(227 + offsetX, 20 + offsetY, id(mdi_small), TextAlign::BASELINE_CENTER, ""); // transmission-tower
|
|
||||||
|
|
||||||
if(total_power >= 0) {
|
|
||||||
it.printf(207 + offsetX, 20 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, "W");
|
|
||||||
it.printf(170 + offsetX, 20 + offsetY, id(big_sensor_font), TextAlign::BASELINE_RIGHT, "%2.1f", total_power);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it.print(207 + offsetX, 20 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, " - W");
|
|
||||||
}
|
|
||||||
|
|
||||||
it.graph(10 + offsetX, 30 + offsetY, id(line_power_graph));
|
|
||||||
|
|
||||||
/* Serverroom */
|
|
||||||
offsetY = 247;
|
|
||||||
it.print(10 + offsetX, 10 + offsetY, id(sensor_unit), "Serverraum");
|
|
||||||
it.filled_rectangle(125 + offsetX, 21 + offsetY, 110, 3);
|
|
||||||
|
|
||||||
it.print(227 + offsetX, 110 + offsetY, id(mdi_small), TextAlign::BASELINE_CENTER, ""); // power-plug
|
|
||||||
|
|
||||||
if(serverroom_power >= 0) {
|
|
||||||
it.printf(207 + offsetX, 110 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, "W");
|
|
||||||
it.printf(170 + offsetX, 110 + offsetY, id(big_sensor_font), TextAlign::BASELINE_RIGHT, "%2.1f", serverroom_power);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it.print(207 + offsetX, 110 + offsetY, id(sub_sensor_font), TextAlign::BASELINE_RIGHT, " - W");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FOOTER */
|
|
||||||
it.strftime(614, 380, id(footer_font), TextAlign::BASELINE_RIGHT , "Aktualisiert um %d.%m.%Y %H:%M", id(homeassistant_time).now());
|
|
||||||
|
|
||||||
/* WiFi Signal strength */
|
|
||||||
if(id(wifisignal).has_state()) {
|
|
||||||
int x = 630;
|
|
||||||
int y = 384;
|
|
||||||
if (id(wifisignal).state >= -50) {
|
|
||||||
// Excellent
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
ESP_LOGI("WiFi", "Excellent");
|
|
||||||
} else if (id(wifisignal).state >= -60) {
|
|
||||||
// Good
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
ESP_LOGI("WiFi", "Good");
|
|
||||||
} else if (id(wifisignal).state >= -75) {
|
|
||||||
// Fair
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
ESP_LOGI("WiFi", "Fair");
|
|
||||||
} else if (id(wifisignal).state >= -100) {
|
|
||||||
// Weak
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
ESP_LOGI("WiFi", "Weak");
|
|
||||||
} else {
|
|
||||||
// Unlikely working signal
|
|
||||||
it.print(x, y, id(mdi_wifi), TextAlign::BASELINE_CENTER, "");
|
|
||||||
ESP_LOGI("WiFi", "Unlikely");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user