DIY EnergieOptimierungsSystem - Aktuelles

Install Anweisungen:

Jörg von meintechblog hat es bereits installiert und einen Log aufgeschrieben:

Andreas Schmitz - Jörg installiert mein EnergieOptimierungsSystem :nerd_face: - meintechblog.de

Auch als Livestream Session:

Andreas Schmitz - Jörg installiert mein EnergieOptimierungsSystem :nerd_face: (nur für Entwickler) (youtube.com)

Ansonsten die Readme in github für weitere Anweisungen!

GitHub - Akkudoktor-EOS/EOS: This repository features an Energy Optimization System (EOS) that optimizes energy distribution, usage for batteries, heat pumps& household devices. It includes predictive models for electricity prices (planned), load forecasting& dynamic optimization to maximize energy efficiency & minimize costs. Founder Dr. Andreas Schmitz (YouTube @akkudoktor) -> Readme

GitHub Repo:

Zugriff:
Repo ist offen. Bitte auf GitHub

1 „Gefällt mir“

Moin,

ich fand den Beitrag auf Youtube sehr spannend, habe aber auch ein paar Anmerkungen und Dinge, die mir aufgefallen sind.

  • Sprache: In der Softwareentwicklung würde ich versuchen, auf deutsche Begriffe im Code zu verzichten, bspw. bei der Konfiguration, den Variablen, etc.

  • Zeitzonen: Python kann das ganz gut und berücksichtigt auch so Dinge wie Schaltjahre nativ, man muss nur die richtigen Typen verwenden

  • Funktionsnamen: sollten sprechend sein, damit nicht nur @drbacke das versteht, sondern auch alle anderen.

Ich kann gerne anbieten dabei zu untersützen, da etwas aufzuräumen... Was man auch direkt zu Beginn klären sollte, wäre das Lizenzmodell - damit da keine Fragen aufkommen...

2 „Gefällt mir“

Moin,
Wurden eigentlich schon über https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/github-repo-zugriffsanfrage/ beantragte Zugriffe zum EOS Repository freigeschaltet? Ich kann mir vorstellen, dass es auch viele andere dringende Aktivitäten gibt, und ich habe meinen Request ja erst vor 5 Tagen gestellt, aber ich hätte gerade etwas Luft um das anzusehen und habe keine Ahnung, wann die Zugriffe erlaubt werden. Wäre schön, wenn ich da etwas planen könnte.
Gruß aus Kölle vom Nordlicht

@einnordlicht Ich komme nicht hinterher und werde es demnächst komplett freigeben. Morgen oder übermorgen

Um das ein bisschen zu automatisieren könnte man einen batch schreiben, dann fällt das viele tippen weg, ungefähr so:

Als *.sh speichern und mit chmod ausführbar machen. Vorher entsprechend anpassen!

#!/bin/bash
# Wechsle in das Verzeichnis /opt
cd /opt || exit
# Git Repository klonen (Bitte den Token durch den korrekten Token ersetzen)
sudo git clone https://dein_github_username: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@github.com/Akkudoktor-EOS/EOS.git
# Benutzerrechte ändern
sudo chown -R $USER:$USER /opt/EOS
# In das geklonte Verzeichnis wechseln
cd /opt/EOS || exit
# Virtuelle Umgebung erstellen
python3 -m venv venv
# Virtuelle Umgebung aktivieren
source venv/bin/activate
# Benötigte Bibliotheken installieren
sudo apt-get install -y libmariadb-dev
# Python-Abhängigkeiten installieren
pip install -r requirements.txt
# Konfigurationsdatei kopieren
cp config.example.py config.py
# Flask-Server starten (kann im Hintergrund gestartet werden)
python ./flask_server.py &
# Lastgang-Link (Ausgabe zum Kopieren)
echo "Lastgang 10MWh Jahresverbrauch:"
echo "http://192.168.3.220:5000/gesamtlast_simple?year_energy=10000000"
# Benutzer zur Gruppe 'systemd-journal' hinzufügen
sudo usermod -aG systemd-journal jay
# Verzeichnisrechte ändern
sudo chown -R jay:jay /opt/EOS
# Flask-Server-Skript ausführbar machen
chmod +x /opt/EOS/flask_server.py
# Aufforderung zur Bearbeitung der systemd Service-Datei
echo "Bitte die folgende Datei manuell bearbeiten:"
echo "sudo nano /etc/systemd/system/eos-flask.service"
echo "Trage den folgenden Inhalt ein und speichere die Datei:"
echo "
[Unit]
Description=EOS Flask Server
After=network.target
[Service]
User=jay
WorkingDirectory=/opt/EOS
ExecStart=/opt/EOS/venv/bin/python /opt/EOS/flask_server.py
Environment=\"PATH=/opt/EOS/venv/bin\"
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
"
# systemd neu laden, Service aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable eos-flask.service
sudo systemctl start eos-flask.service
# Status des Flask-Services anzeigen
sudo systemctl status eos-flask.service

Wenn Ihr meint:" Jetzt ist es geil" kann man ein Paket für debian daraus bauen, dann kann der user es später installieren mit:

dpkg -i eos_1.1.0-0_amd64.deb (Als Beispiel)

chmod u+x datei.sh

  • u = User
  • x = execute = ausführbar

Danke, werde ich ausprobieren.

--

Ich hoffe, dass die Foren Software das Zitat komprimiert und als Spoiler-Tag oder Expandable Text angezeigt.

(i) Ui, tut sie auf dem iPhone in Safari zumind. nicht.

@landix

das hier funktioniert leider nicht mehr so:

# Konfigurationsdatei kopieren
cp config.example.py config.py
# Flask-Server starten (kann im Hintergrund gestartet werden)
python ./flask_server.py &

@joergw das war auch nur als Beispiel batch gemeint.

Anpassungen werden immer erforderlich sein, bevor das ein package werden kann.

Hallo Leute,

bei mir startet der flask-server nicht

(.venv) holger@eos:~/EOS/src/akkudoktoreosserver$ nano flask_server.py
(.venv) holger@eos:~/EOS/src/akkudoktoreosserver$ python . Link entfernt &
[1] 3127
(.venv) holger@eos:~/EOS/src/akkudoktoreosserver$ Traceback (most recent call last):
File "/home/holger/EOS/src/akkudoktoreosserver/. Link entfernt ", line 15, in <module>
from akkudoktoreos.class_load import LoadForecast
ModuleNotFoundError: No module named 'akkudoktoreos'

was hab ich falsch gemacht oder vergessen ?

mfg

Damit geht es bei mir weiter:

Temporäre Lösung:

Füge dem Skript vor dem Import von akkudoktoreos Folgendes hinzu:
import sys sys.path.append('/home/holger/EOS/src')