GeekMagic Mini TV Anzeige

Die Anzeige hat sich heute nach dem ESP Update 2026.6.3 von dunklen hintergund zu hellen hintergrund verändert. Am ESPHome Code wurde nichts geändert. Was ist da nun falsch ?

esphome:
name: minitv
friendly_name: GeekMagic Mini-TV

esp8266:
board: d1_mini

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

#enable HA API
api:

ota:

platform: esphome

#enable logger
logger:

spi:
clk_pin: GPIO14
mosi_pin: GPIO13
id: spihwd

output:

platform: esp8266_pwm
pin: GPIO05
id: backlight_pwm
inverted: true

light:

platform: monochromatic
output: backlight_pwm
name: „Backlight“
id: backlight
restore_mode: RESTORE_AND_ON

time:

platform: homeassistant
id: ha_time

font:

file:
type: gfonts
family: Roboto
weight: 500
id: font_time
size: 50
glyphs: „0123456789:“

file:
type: gfonts
family: Roboto
weight: 500
id: font_tibberpreis
size: 50
glyphs: "0123456789.,-€ "

text_sensor:

platform: homeassistant
id: tibberpreis
entity_id: sensor.electricity_price_stable
internal: true

display:

platform: mipi_spi
model: st7789v
spi_id: spihwd
dc_pin: GPIO00
reset_pin: GPIO02
color_depth: 8
invert_colors: true
spi_mode: mode3
dimensions:
width: 240
height: 240
update_interval: 5s
lambda: |-
// Schwarzer Hintergrund
it.fill(Color(0, 0, 0));

auto now = id(ha_time).now();
if (!now.is_valid()) {
// Noch keine Zeit → einfach leerer Screen
return;
}

// Uhrzeit HH:MM
char time_str[6];
snprintf(time_str, sizeof(time_str),
„%02d:%02d“, now.hour, now.minute);

// Uhrzeit → grau
it.printf(120, 50, id(font_time),
Color(120, 120, 120),
TextAlign::CENTER, „%s“, time_str);

// Tibberpreis → blau
it.printf(120, 130, id(font_tibberpreis),
Color(0, 0, 255),
TextAlign::CENTER, „%s €“, id(tibberpreis).state.c_str());


Setze die invert_colors von true auf false

wenn du den „:“ noch unten mit bei font_tibberpreis reinpackst, kann font_time in die Tonne!

1 „Gefällt mir“

Ich habe es nun so gelößt

esphome:
name: minitv
friendly_name: GeekMagic Mini-TV

esp8266:
board: d1_mini

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

#enable HA API
api:

ota:

  • platform: esphome

#enable logger
logger:

spi:
clk_pin: GPIO14
mosi_pin: GPIO13
id: spihwd

output:

  • platform: esp8266_pwm
    pin: GPIO05
    id: backlight_pwm
    inverted: true

light:

  • platform: monochromatic
    output: backlight_pwm
    name: „Backlight“
    id: backlight
    restore_mode: RESTORE_AND_ON

time:

  • platform: homeassistant
    id: ha_time

font:

  • file:
    type: gfonts
    family: Roboto
    weight: 500
    id: font_time
    size: 50
    glyphs: „0123456789:“

  • file:
    type: gfonts
    family: Roboto
    weight: 500
    id: font_tibberpreis
    size: 50

    „L“ und „P“ wurden hier am Ende hinzugefügt

    glyphs: „0123456789.,-€ LP“

text_sensor:

  • platform: homeassistant
    id: tibberpreis
    entity_id: sensor.electricity_price_stable
    internal: true

  • platform: homeassistant
    id: ladepreis_tibber
    entity_id: input_number.ladepreis_tibber
    internal: true

display:

  • platform: mipi_spi
    model: ST7789V
    spi_id: spihwd
    dc_pin: GPIO00
    reset_pin: GPIO02
    color_depth: 8
    spi_mode: mode3
    invert_colors: false
    dimensions:
    width: 240
    height: 240
    update_interval: 5s
    lambda: |-
    // Weiss senden → Wird zu SCHWARZEM Hintergrund
    it.fill(Color(255, 255, 255));

    auto now = id(ha_time).now();
    if (!now.is_valid()) {
    return;
    }

    // 1. Uhrzeit HH:MM (Koordinate Y=50)
    char time_str[6];
    snprintf(time_str, sizeof(time_str),
    „%02d:%02d“, now.hour, now.minute);

    it.printf(120, 50, id(font_time),
    Color(60, 60, 60),
    TextAlign::CENTER, „%s“, time_str);

    // 2. Tibberpreis → Wird zu dunklem Ockergelb (Koordinate Y=125)
    it.printf(120, 125, id(font_tibberpreis),
    Color(40, 130, 230),
    TextAlign::CENTER, „%s €“, id(tibberpreis).state.c_str());

    // 3. Ladepreis → Reines Rot/Magenta senden (255, 0, 0)
    // ergibt nach der Invertierung ein satteres, echtes GRÜN mit „€ LP“ dahinter.
    it.printf(120, 190, id(font_tibberpreis),
    Color(255, 0, 0),
    TextAlign::CENTER, „%s € LP“, id(ladepreis_tibber).state.c_str());

ändere das doch in eine Font Definition

- file: type: gfonts
  family: Roboto
  weight: 500
  id: font_roboto_medium
  size: 50
  glyphs: „0123456789:.,-€LP“

und im fogenden Code dann nur noch

alle Vorkommen entsprechend anpassen!

1 „Gefällt mir“