Der Rahmen für diese Webseite wurde erstellt mit Hilfe dieses Grundkurses von Ralph Steyer.
Im Handbuch ist die Entwicklung mit allen Hürden beschrieben. Die PV-Anlage selbst ist hier beschrieben.
Das Cockpit wird bereitgestellt von einem Apache-Server auf einem Raspberry Pi CM4.
Es kommt WSGI und das Djange-Framework zu Einsatz.
Die Daten aus der PV-Anlage werden mit Paramiko über SSH und Victron DBUS ermittelt.
Prognose-, Ertrags- und Verbrauchsdaten kommen aus einer MariaDB-Datenbank, die auch auf dem CM4 läuft.
Mit Hilfe von psutil(Doku) werden die Systemwerte aus dem CM4 gelesen.
Für die Anzeige werden Google charts (vega) und eigene Gauge charts eingesetzt.
Die Verknüpfung der Daten mit der Anzeige ist mit einem Django-Model-View-Template realisiert:
- models.py - Bereitstellung von Datenklassen.
- views.py - Verknüpfung der Daten mit dem Html-Template.
- template.html - Webseite mit CSS, Javascript und Html und {}-Zugriffen auf die gerenderten Daten.
- d1/urls.py - regelt das URL-Mapping der beiden Anwendungen da1 (Test) und da4 (produktiv).
- da4/urls.py - regelt das URL-Mapping mit Parametern für die Anwendung da4.
WSGI ist konfiguriert über wsgi.py und apache.conf