Akkudoktor
(Akkudoktor)
6. September 2024 um 07:25
1
Install Anweisungen:
Jörg von meintechblog hat es bereits installiert und einen Log aufgeschrieben:
Andreas Schmitz - Jörg installiert mein EnergieOptimierungsSystem - meintechblog.de
Auch als Livestream Session:
Andreas Schmitz - Jörg installiert mein EnergieOptimierungsSystem (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:
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)
Zugriff:
Repo ist offen. Bitte auf GitHub
1 „Gefällt mir“
njoerd
(njoerd)
6. September 2024 um 08:26
2
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
Akkudoktor
(Akkudoktor)
15. September 2024 um 19:53
4
@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)
tomtom68de
(tomtom68de)
19. Oktober 2024 um 18:51
7
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 Link entfernt
# 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 . Link entfernt &
# Lastgang-Link (Ausgabe zum Kopieren)
echo "Lastgang 10MWh Jahresverbrauch:"
echo " Link entfernt "
# 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 Link entfernt
# Aufforderung zur Bearbeitung der systemd Service-Datei
echo "Bitte die folgende Datei manuell bearbeiten:"
echo "sudo nano Link entfernt "
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 Link entfernt
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)
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.
joergw
(JoergW)
21. Oktober 2024 um 15:04
8
@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.
olby2
(olby2)
21. Oktober 2024 um 18:06
10
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
olby2
(olby2)
21. Oktober 2024 um 19:12
11
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')