FIX-NETATMO-04: Hintergrund auf echtes Weiss fuer ACeP-Display

ACeP rendert warm-creme (252,248,240) als nicht-weisses Pixel und
laesst den Hintergrund verfaerbt/gruengelbstichig aussehen.
PAPER_BG auf (255,255,255) und alle Box-Fills auf reines weiss gesetzt.
Chart-Fill (225,240,225) entfernt — Linie allein reicht.
Box-Trennlinien und Akzent-Farben unveraendert.
This commit is contained in:
Hermes
2026-08-29 20:40:41 +04:00
parent 1aa11f5843
commit c55cc90bda
+13 -11
View File
@@ -27,17 +27,19 @@ from palette import (
)
# ── WarmNews Farbpalette ────────────────────────────────────────────────────
PAPER_BG = (252, 248, 240)
# Hintergrund: ECHTES WEISS (255,255,255) für ACeP-Display.
# Auf ACeP wird warm-creme als nicht-weiss gerendert und sieht verfärbt aus.
PAPER_BG = (255, 255, 255) # echtes weiss
INK = ( 18, 12, 8)
INK_MID = (130, 110, 90)
INK_LIGHT = (220, 210, 190)
FAINT = (235, 228, 215)
INK_MID = (110, 110, 110)
INK_LIGHT = (200, 200, 200)
FAINT = (230, 230, 230)
RED = (200, 50, 40)
GREEN = ( 50, 120, 60)
BLUE = ( 60, 70, 160)
INFO_BL = ( 50, 100, 160)
PURPLE = (100, 80, 150)
YELLOW = (180, 140, 40)
YELLOW = (200, 160, 40)
BATT_LOW = (200, 50, 40)
BATT_MID = (220, 160, 30)
@@ -366,7 +368,7 @@ class Widget(Widget):
# ── Aussen ──────────────────────────────────────────────────────────
def _draw_aussen(self, draw, x, y, w, h, main, out, modules):
# Box
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 252, 245))
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 255, 255))
draw.rectangle((x, y, x + w - 1, y + STRIP_H), fill=GREEN)
self._text(draw, "AUSSEN", x + 12, y + STRIP_H + 4, font_size=14, color=GREEN)
# Batterie + Signal oben rechts
@@ -425,7 +427,7 @@ class Widget(Widget):
self._right_text(draw, right_text, x, chart_label_y, w - SAFE_PAD, f_clbl, INK_MID)
self._draw_line_chart(draw, x + SAFE_PAD, chart_label_y + 18,
w - 2 * SAFE_PAD, h - (chart_label_y - y) - 32,
history, GREEN, fill_color=(225, 240, 225))
history, GREEN)
# Footer
foot_y = chart_label_y + 18 + (h - (chart_label_y - y) - 32) + 4
if foot_y + 12 <= y + h - 4:
@@ -435,7 +437,7 @@ class Widget(Widget):
# ── Wind ────────────────────────────────────────────────────────────
def _draw_wind(self, draw, x, y, w, h, wind):
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 252, 245))
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 255, 255))
draw.rectangle((x, y, x + w - 1, y + STRIP_H), fill=BLUE)
self._text(draw, "WIND", x + 12, y + STRIP_H + 4, font_size=14, color=BLUE)
if wind.get("battery_pct") is not None:
@@ -464,7 +466,7 @@ class Widget(Widget):
# ── Regen ───────────────────────────────────────────────────────────
def _draw_regen(self, draw, x, y, w, h, rain):
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 252, 245))
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 255, 255))
draw.rectangle((x, y, x + w - 1, y + STRIP_H), fill=INFO_BL)
self._text(draw, "REGEN", x + 12, y + STRIP_H + 4, font_size=14, color=INFO_BL)
if rain.get("battery_pct") is not None:
@@ -509,7 +511,7 @@ class Widget(Widget):
# ── Indoor ──────────────────────────────────────────────────────────
def _draw_indoor(self, draw, x, y, w, h, indoor):
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 252, 245))
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 255, 255))
draw.rectangle((x, y, x + w - 1, y + STRIP_H), fill=RED)
self._text(draw, f"INNEN x{len(indoor)}", x + 12, y + STRIP_H + 4,
font_size=14, color=RED)
@@ -589,7 +591,7 @@ class Widget(Widget):
# ── Forecast (Open-Meteo) ──────────────────────────────────────────
def _draw_forecast(self, draw, x, y, w, h, forecast):
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 252, 245))
draw.rectangle((x, y, x + w - 1, y + h - 1), fill=(255, 255, 255))
draw.rectangle((x, y, x + w - 1, y + STRIP_H), fill=PURPLE)
self._text(draw, "FORECAST", x + 12, y + STRIP_H + 4,
font_size=14, color=PURPLE)