From a59277e33e853463cfa1d80ed3f965c142d7d36a Mon Sep 17 00:00:00 2001 From: "m0@nas" Date: Tue, 15 Sep 2026 16:42:52 +0200 Subject: [PATCH] Solar: neue Energiefluss-Uebersicht, anpassbar je Haus Das feste realtime.svg ist ersetzt durch einen Katalog (js/solar/energieflussKatalog.js: jeder Kreis einmal, samt Werten aus MQTT) und einen Renderer (js/solar/energiefluss.js): Ringe mit Segmenten, Fluesse als Boegen mit laufenden Punkten, Fuellstandswelle fuer Batterie und Auto, animierte Symbole, Plaketten, Hochkant-Ansicht auf schmalen Schirmen. Hierarchie und Lage wie bisher: Quellen -> Wechselrichter -> Verbrauch -> OG/EG/UG -> Wallboxen, Heizstab. Einstellungen -> Uebersicht: Kreise ein/aus (Kinder ruecken eine Ebene hoeher), Namen, Lage per Ziehen in der Vorschau, PV-Flaechen. Gespeichert werden nur Abweichungen in homeMesh.energiefluss. Der PV-Lageplan hinter der Sonne liegt unveraendert als assets/img/pvplan.svg und ist ueber den Umschalter Uebersicht/Anlage erreichbar. Co-Authored-By: Claude Opus 5 --- README.md | 42 +- ajax/settings.php | 18 + assets/img/pvplan.svg | 192 ++++++ assets/img/realtime.svg | 893 -------------------------- css/solar.css | 170 +++++ homeMesh_energiefluss.sql | 33 + index.php | 7 +- js/solar/energiefluss.js | 556 ++++++++++++++++ js/solar/energieflussEinstellungen.js | 279 ++++++++ js/solar/energieflussKatalog.js | 290 +++++++++ js/solar/solarMQTT.js | 299 ++------- restricted/energiefluss.php | 105 +++ restricted/settings.php | 43 ++ restricted/solar.php | 33 +- 14 files changed, 1812 insertions(+), 1148 deletions(-) create mode 100644 assets/img/pvplan.svg delete mode 100644 assets/img/realtime.svg create mode 100644 homeMesh_energiefluss.sql create mode 100644 js/solar/energiefluss.js create mode 100644 js/solar/energieflussEinstellungen.js create mode 100644 js/solar/energieflussKatalog.js create mode 100644 restricted/energiefluss.php diff --git a/README.md b/README.md index eee0177..9c92757 100644 --- a/README.md +++ b/README.md @@ -183,13 +183,13 @@ genau die Topics, die auf den Kacheln stehen (`tileTopics()` in `rooms.php`). | Seite (`?action=`) | Vorlage | Seitenskripte | holt per fetch | hört auf MQTT | |---|---|---|---|---| -| `solar` (Vorgabe) | `solar.php` | `jahresstatistik.js`, `solarMQTT.js` | `getProdData`, `getConsData`, `getForecastData`, `getSunrise`, `getStats`, `carEG`, `carOG`, `heater`, `watering` | `solarManager/#`, `weatherStation/#`, `wattpilot/#`, `go-eCharger/#`, `Gartenwasser/#` | +| `solar` (Vorgabe) | `solar.php` | `jahresstatistik.js`, `energieflussKatalog.js`, `energiefluss.js`, `solarMQTT.js` | `getProdData`, `getConsData`, `getForecastData`, `getSunrise`, `getStats`, `carEG`, `carOG`, `heater`, `watering` | `solarManager/#`, `weatherStation/#`, `wattpilot/#`, `go-eCharger/#`, `Gartenwasser/#` | | `home` | `home.php` | `autoActionFuncs.js`, `zeitleiste.js`, `homeMQTT.js` | `room.php`, `AutoAction.php` | die Topics der Kacheln, `Raumtemp/#` | | `heat` | `heat.php` | `heatMQTT.js` | `getHeaterData`, `getWaterData`, `getSunrise` | `solarManager/#`, `weatherStation/#`, Wallbox-Topics | | `history` | `history.php` | `jahresstatistik.js`, `historyMQTT.js` | `energyHistory` (6 ×), `getStats` | — | | `skoda` | `skoda.php` | `skodaMQTT.js` | `skoda.php?was=…`, `skodaCmd.php`, `tile.php` | `solarManager/#` | | `weather` | `weather.php` | `weatherMQTT.js` | nichts — das Meteogramm ist ein fremdes Dokument im `