Skip to content

Installation GEN24_Ladesteuerung auf einem RaspberryPi

Wiggal edited this page Apr 15, 2024 · 27 revisions

(ACHTUNG: Die Beschreibung ist aus dem Gedächnis erstellt und noch nicht überprüft)

💾 Installation GEN24_Ladesteuerung auf einem RaspberryPi

Von folgenden Voraussetzungen wird ausgegangen:

  • Die Grundinstallation des RaspberryPI auf der SD-Karte erfolgt auf einem Debian-Linux.
  • Der Benutzer auf dem RaspberryPi ist der Standard-USER „pi“
  • Die Scripte von https://github.com/wiggal/GEN24_Ladesteuerung werden unter /home/GEN24/ abgelegt

Am besten die Scripte mit git holen, dann könen sie einfach upgedatet werden, ohne geänderte Dateien zu überschreiben.

# Erstinstallation unter /home/GEN24 (Verzeichnis ist noch leer)
git clone https://github.com/wiggal/GEN24_Ladesteuerung.git .
# Anpassungen in config.ini und php/config.php machen, oder aus früherer Installation übernehmen, 
# evtl. auch PV_Daten.sqlite.
# nun können die Neuerungen immer mit git geholt werden, ohne die Änderungen zu überschreiben
# Update mit git
git pull

Installation System:

  • Raspberry Pi Imager installieren
    sudo apt install rpi-imager
  • Micro-SD Karte einlegen
  • Raspberry Pi Imager starten
    Betriebssystem auswählen → Raps Pi OS (other) → Rasp Pi OS Lite (64-bit) SD-Karte wählen
  • Erweiterte Optionen
    x Hostname „raspberrrypi.local“
    x SSH aktivieren → Password zur Authentifizierung verwenden
    x Wifi einrichten → SSID = "WLAN-Name" → Password "XXX" → Wifi-Land = DE
    x Spracheinstellungen → Zeitzone=Berlin → Tastaturlayout=de
    Speichern
    SCHREIBEN → alles löschen → JA
  • MicroSD in Raspberry einlegen und warten bis er hochgefahren ist

Python Installationen

Die Pakte mit Versionsangabe (z.B. pyModbusTCP==v0.1.10) sind nur unter dieser Version lauffähig.

sudo apt install python3
sudo apt install python3-pip
sudo pip install pyModbusTCP==v0.1.10
sudo pip install pickledb
sudo pip install pytz
sudo pip install xmltodict
sudo pip install NumPy==v1.23.1
sudo pip install requests
sudo pip install ping3

Skripte GEN24_Ladesteuerung installieren

  • Verzeichnis /home/GEN24 erzeugen, Scripte downloaden, entpacken und Rechte setzen.
    Die Befehle müssen mit sudo ausgeführt erden, da unter /home/ nur root Schreibrechte hat.
cd /home/
sudo wget https://github.com/wiggal/GEN24_Ladesteuerung/archive/refs/heads/main.zip
sudo unzip main.zip
sudo rm main.zip
sudo mv GEN24_Ladesteuerung-main GEN24
sudo chown -R pi:pi /home/GEN24
sudo chmod +x /home/GEN24/start_PythonScript.sh
  • Konfiguration der Ladesteuerung
    In der conifig.ini alle nötigen Parameter anpassen, siehe hierzu auch conifig.ini.info und die README.md

  • Crontabeinträge
    crontab -e # Editor wählen und folgende Einträge machen.
    SymoGen24Controller2.py immer eine Minute nach vollen fünf Minuten ausführen (1-56/5), da der GEN24 die Daten immer etwa zur vollen fünf Minute bereitstellt. Da das Smartmeter die Daten aktuell hat, kann bei Ausführen von SymoGen24Controller2.py zu vollen fünf Minuten passieren, dass die Daten vom GEN24 noch nicht zur Verfügung stehen. Dadurch entstehen unschöne Zacken in den Tagesgrafik.

1-56/5 * * * * /home/GEN24/start_PythonScript.sh SymoGen24Controller2.py schreiben
33 5,8,10,12,14,19 * * * /home/GEN24/start_PythonScript.sh WeatherDataProvider2.py
8 5,7,9,11,13,15,17 * * * /home/GEN24/start_PythonScript.sh Solarprognose_WeatherData.py
1 6,8,11,13,15 * * * /home/GEN24/start_PythonScript.sh Solcast_WeatherData.py
#Crontab.log jeden Montag abräumen
0 5 * * 1 mv /home/GEN24/Crontab.log /home/GEN24/Crontab.log_weg
  • Editor mit schreiben beenden, folgende Meldung muss erscheinen, damit die Conjobs aktiv sind:
    „crontab: installing new crontab“

Apache und PHP installieren und konfigurieren

sudo apt update && sudo apt upgrade
sudo apt install apache2 php php-sqlite3

Änderungen der Apachekonfiguration unter /etc/apache2/:
ApacheUser auf „pi“ und DokumetRoot auf /home/GEN24/html/ ändern

  • /etc/apache2/apache2.conf <Directory /var/www/> nach <Directory /home/GEN24/html/> ändern.
  • /etc/apache2/envvars export APACHE_RUN_USER=www-data nach export APACHE_RUN_USER=pi ändern.
  • /etc/apache2/envvars export APACHE_RUN_GROUP=www-data nach export APACHE_RUN_GROUP=pi ändern.
  • /etc/apache2/sites-enabled/000-default.conf DocumentRoot /var/www/html nach DocumentRoot /home/GEN24/html ändern.

Apache neu starten
sudo service apache2 restart