Installation WebServer, PHP und sonstiges

(siehe Einrichten RASPBIAN Einrichten PVLogger)

Installation 123solar

Download 123solarXXX.tar.gz und Rest von 123solar.org -> jetzt auf github

Lt. Jeanmarc:

Clone Github but the main branch is considered as work in progress.
Example to clone Github on Apache :
git clone https://github.com/jeanmarc77/123solar.git
sudo mv 123solar /var/www/html/123solar
cd /var/www/html/
sudo chown -R www-data:www-data 123solar
sudo usermod -a -G uucp www-data
sudo nano /etc/apache2/sites-available/000-default.conf

add this to section <VirtualHost *:80>
<Directory /var/www/html>
# no authentificication here required
</Directory>
<Directory /var/www/html/123solar/admin/>
# authentificication here required for admin
AuthType Basic
AuthName "Secure area - Authentication required"
AuthUserFile /var/www/html/123solar/config/.htpasswd
Require valid-user
</Directory>

browse to //raspbian/123solar and set admin-Account-PW
maybe also neccessary:
sudo htpasswd -c /var/www/html/123solar/config/.htpasswd admin

 

 Selber gemacht:

123Solar im Verzeichnis /var/www/html entpacken

cd /home/pi
wget -c wget https://github.com/jeanmarc77/123solar/releases/tag/1.8.4.4/123solar1.8.4.4.tar.gz
cd /var/www/html
sudo tar -xzf /home/pi/123solar1.8.4.4.tar.gz

ganzen Verzeichnisbaum umgruppieren

sudo chown -R www-data:www-data 123solar

User www-data in die Gruppe uucp aufnehmen:

sudo usermod -a -G uucp www-data

Conf-Datei für Webserver anlegen

cd /etc/apache2/sites-available
sudo nano 123solar.conf

folgende Zeilen einfügen und speichern (Directory-Tag lässt http-Authentifikation zu)

<VirtualHost *:80>
        DocumentRoot /var/www/html/123solar
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/html/123solar/admin>
              AuthType Basic
              AuthName "admin"
              AuthUserFile /var/www/html/123solar/config/.htpasswd
              Require valid-user
       </Directory>

</VirtualHost>

Seite einlesen und Apache durchstarten

sudo a2ensite 123solar
sudo systemctl reload apache2

Seite //.../123solar aufrufen und admin-Account-PW eintragen

ggf. neues erzeugen:

sudo htpasswd -c /var/www/html/123solar/config/.htpasswd admin

Sollten PHP-Fehler auftreten, müssen ggf. noch die JSON, CURL und CALENDER-Module freigegeben werden:

sudo nano /etc/php/7.3/Apache2/php.ini

und dort unter "Dynamic Extensions" hinzufügen

extension=calendar
extension=json
extension=curl

Aktuell habe ich bei mir sowohl die o.a. Einträge in der 000-default.conf als auch 123solar.conf eingetragen - funzt damit !

 

Apache2-StatusFehler beseitigen

AH00558: Could not reliably determine the server's fully qualified domain name
-> in /etc/apache2/apache2.conf am Ende ServerName 127.0.0.1 einfügen und Apache reloaden

 

Konfigurationsdateien befüllen

Main (config_main.php)

 Main

 

Inverter (config_invt1.php)

ACHTUNG: als Port den vom Bluetooth-Adapter verwendeten USB-Port eintragen (-> lsusb!):
USB1 -> /dev/ttyUSB0
USB2 -> /dev/ttyUSB1
USB3 -> /dev/ttyUSB2
USB4 -> /dev/ttyUSB3 
BT-Adapter in der Folge IMMER an diesem USB-Port anstecken !

 Inverter1 1

Inverter1 2

Nach dem Speichern der config-Datei (UND VOR DEM TEST DER CONNECTION !) die SBFspot-Konfiguration der Inverter-Config anpassen (hier: SBFspot_0.cfg)

sudo cp /usr/local/bin/sbfspot.3/SBFspot.cfg /usr/local/bin/sbfspot.3/SBFspot_0.cfg

Kommunikation testen (-> Test Communication)

test

 

PVOutput (config_pvoutput.php)

 pvout

 

on         EINSCHALTEN !

 

123solar automatisch starten

Start-service herunterladen und starten

cd /etc/systemd/system/
sudo wget -c https://github.com/jeanmarc77/123solar/tree/main/misc/examples/123solar.service
sudo systemctl enable 123solar

und überprüfen

systemctl status 123solar.service

Bei mir musste ich noch den Start-Aufruf in der service-Datei verzögern:

sudo nano /etc/systemd/system/123solar.service
     [Service]
     Type=oneshot
->   ExecStart=sleep 10
     ExecStart=/usr/bin/curl http://localhost/123solar/scripts/boot123s.php

(THX TO ELETTRON!!!  - Hey Marc - couldn't you implement this in your service-file or Help-Section ?)

 

etza funktionierts !!!

 

 

OLD STUFF:

  

wenn keine Anmeldung möglich, muss ggf. noch folgendes in die /etc/apache2/sites-enabled/000-default eingetragen werden:

<Directory /var/www/123solar/admin/>
        AuthType Basic
        AuthName 'Restricted'
        AuthUserFile '/var/www/123solar/config/.htpasswd'
        Require valid-user
</Directory>

Nach einem Restart des Apache-Servers sollte dann eine Anmeldung möglich sein.

 

Grundkonfigurationen (Main und Inverter) vorgenommen

hier unbeding die CommunicationOption -nosql eingefügen !

Pfad für SBFspot hinzufügen:

vi /etc/profile

-> dort /usr/local/bin/sbfspot.3/ in die PATH="..."-Variablen einfügen

Einarbeiten der korrekten Pfade in die drei SBFspot-Dateien in /var/www/123solar/scripts/protocols:

Ersetze darin jeweils /usr/bin/ durch /usr/local/bin/sbfspot.3/.

Ersetzen der SMAspot-Aufrufe durch SBFspot-Aufrufe in den SMAspot-Scripten

(vorheriges Anlegen von Sicherungsdateien der Scripte schadet nie ;-) )

cd /var/www/123solar/scripts/protocols
sed s/SMAspot/SBFspot/g SMAspot_startup.php > SMAspot_startup.php.neu
sed s/SMAspot/SBFspot/g SMAspot_checks.php > SMAspot_checks.php.neu
sed s/SMAspot/SBFspot/g SMAspot.php > SMAspot.php.neu
mv SMAspot_startup.php.neu SMAspot_startup.php
mv SMAspot_checks.php.neu SMAspot_checks.php
mv SMAspot.php.neu SMAspot.php
(ggf vorher chmod 666 * ; ich musste allerdings die Änderung erst in eine andere Datei umleiten und diese dann wieder umbenennen ?!?)

Problem: SBFspot_0.cfg konnte nicht geöffnet werden

Ursache: in den SMAspot-Aufruden ist eine Variable $CFGDIR hinterlegt, die aus $SCRDIR."/config" gebildet wird; $SCRDIR wurde aber nicht übergeben.

alte Lösung: in den o.a. SMAspot-php-Dateien als Variable $CFGDIR den absoluten Pfad eingegeben:

$cfgdir = "/var/www/123solar/config";

aktuelle Lösung:

$SCRDIR = dirname(__FILE__);
$cfgdir = dirname($SCRDIR) . "/../config";

SBFspot.cfg aus /usr/local/bin/sbfspot.3 in /var/www/123solar/config/SBFspot_0.cfg umkopiert und Besitzer geändert

chown www-data:www-data /var/www/123solar/config/SBFspot_0.cfg

Ebenso die Dateien date_time_zonespec.csv und TagListDE-DE.txt umkopiert und Besitzer geändert

chown www-data:www-data date_time_zonespec.csv
root@raspbian:/var/www/123solar/config# chown www-data:www-data TagListDE-DE.txt

Danach funktionierte es (zumindest in der Konsole ;-)

Ums im "Browser" auch noch zum funktionieren zu bringen:

den absoluten Pfad /usr/local/bin/sbfspot.3 in den SMA-Dateien vor vor den SBFspot-Aufruf einfügen

(sicherheitshalber gleich auch noch die Timekill-Zeiten in den drei SMA-Dateien auf 30s 10s heraufsetzen)

Damit im Armaturenbrett ganz unten die Infos angezeigt werden und nicht der aufrufende Befehlt, musste in der Datei SBFspot_checks.php der $STATE-Aufruf wiefolgt angepasst werden:

// State
// Original-Aufruf auskommentiert
// $STATE = $timeout_setup." /usr/local/bin/sbfspot.3/SBFspot -finq -q -123s=STATE -cfg".$cfgdir."/SBFspot_${'ADR'.$invt_num}.cfg ${'COMOPTIO$

// dafür jetz so:
exec("timeout --kill-after=10s 5s /usr/local/bin/sbfspot.3/SBFspot -finq -q -123s=STATE -cfg/var/www/123solar/config/SBFspot_0.cfg -nosql", $$
$STATE = implode(PHP_EOL, $STATE);

 

Damit beim Boot 123solar gestartet wird:

sudo nano /etc/rc.local

vor exit 0 folgende Zeile einfügen

/usr/bin/curl http://127.0.0.1/123solar/scripts/boot123s.php

Nach einem Reboot sollte dann 123solar automatisch gestartet sein.

ACHTUNG: UNBEDINGT DEN DEBUG-MODUS AUF "NO" SETZEN (MAIN-CONFIG), ERST DANN FUNKTIONIERT ALLES !!!

 

 

zwischenzeitliche Probleme:

123solar war nach der Installation nicht zum Laufen zu bringen, folgende Versuche wurden in Abstimmung mit dem Entwickler getestet:

WEITERE TESTS, UM 123solar ZUM LAUFEN ZU BRINGEN:

In der Datei /var/www/123solar/scripts/loadcfg.php die Varaiable angepasst:

// $SCRDIR = dirname(__FILE__);
$SCRDIR = "/var/www/123solar";

LEIDER NICHT ERFOLGREICH - WIEDER ZURÜCKGESETZT

nächster Versuch:

über lsusb -t herausgefunden, dass der BT-DOngle scheinbar am Bus01.Port4 (Dev5 ) hängt

-> in Converter-Config als Port /dev/ttyUSB5 eingetragen

LEIDER AUCH NICHT ERFOLGREICH...

nächster Versuch:

in den php-Dateien die SCRDIR-Variable vorgegeben

// $cfgdir = "/var/www/123solar/config";
$SCRDIR = "/var/www/123solar/config";
$cfgdir = dirname($SCRDIR) . "/config";

WIEDER NIX... und zurückgesetzt

Kurios: wenn ich PVoutput-Export ausschalte, übernimmt er meine PVO-SYSID in die Converter-Data ?!?

Am End war lediglich der Debug-Mode zu beenden , schon klappte alles - grrrrr.

 

123Solar installieren (alte Version)

http://www.forum-raspberrypi.de/Thread-projekt-solar%C3%BCberwachung-solar-pi

1. Download 123solarXXX.tar.gz und Rest von http://123solar.org/downloads/123solar

2. 123Solar entpacken

tar -xzf 123solarXXX.tar.gz -C /home/anze10/123solar/

3. Link in WWW_Verzeichnis legen

sudo ln -s /home/anze10/123solar /var/www/123solar

4. ins Zielverzeichnis wechseln

cd /home/anze10/123solar/

5. 123Solar installieren

sudo ./install.sh