- Herunterladen der yasdi-Bibliotheken von SMA über diesen Link
- Entpacken der Archivdatei
- Übersetzen und Installieren der yasdi-Bibliotheken gemäß der Anleitung in der README-Datei im Hauptverzeichnis des entpackten Archivs
- Herunterladen (siehe oben) in das Unterverzeichnis projects und Entpacken des yasdi-daemon-Archivs mit
tar -xzvf yasdi-0.0.2.tgz
- Wechsel ins Verzeichnis yasdi-0.0.2
perl Makefile.PL
make
make test
make install
Aktuell wird der Daemon noch nicht in irgendeiner Weise aktiviert. Das muss derzeit noch manuell erfolgen, z.B. durch Anlegen eines Scripts mit dem Namen "S99yasdid" in /etc/rc2.d etwa in dieser Form:
#!/bin/bash
cd /usr/local/lib/perl/<perlversion>
./yasdid.pl -d 3 -D
Es existieren zwei Konfigurationsdateien, die per default unter /etc/yasdi liegen:
yasdi.ini
Diese Datei wird für die SMA-yasdi-Bibliotheken benötigt. Die Parameter sind dort beschrieben.
yasdid.ini
Das ist die Konfigurationsdatei für den Daemon.
Es existieren mindestens zwei Abschnitte, [global] und [DEV1] (für das erste Device, weitere Devices entsprechend [DEV2], [DEV3],...,[DEVn]):
[global]
enthält alle globalen Einstellungen, derzeit gibt es die Werte pollinginterval und protocol:
pollinginterval=n
Wert in Sekunden
legt fest, alle wieviel Sekunden der SunnyBoy abgefragt werden soll
protocol=type:parameters
legt den Typ und Ort des Protokolls fest
mögliche Werte:
file
bewirkt die Speicherung der ausgelesenen Daten als CSV-Datei
parameters ist in diesem Fall der Speicherort und Name der Datei
Beispiel:
protocol=file:/var/log/sunny/protocol0.dat
legt für den Kanal 1 die Daten in der Datei protocol0_1.dat im Verzeichnis /var/log/sunny ab, für Kanal 2 wäre der Dateiname dann protocol0_2.dat usw.
mysql
bewirkt die Speicherung der ausgelesenen Daten in einer MySQL-Datenbank
parameters hat hier folgende Struktur:
<servername>:<datenbase>:<username>:<password>:<tablename>
Beispiel:
protocol=mysql:mysqlsrv.t0000000.de:solardb:myuser:mypass:sddata
legt für den Kanal 1 die Daten in der Tabelle sddata_1 auf dem angegebenen MySQL-Server ab.
Gleichzeitig wird eine Tabelle sddata_total mitgeführt, in welcher die Tagessummen abgelegt werden.
[DEVn]
enthält alle Device-spezifischen Einstellungen, derzeit gibt es hier nur die Werte serial und channel:
serial=1234567890
Hier muss die 10stellige Seriennummer des devices eingetragen werden, damit die Zuordnung eindeutig ist.
channel=xxxxxx
Dieser Wert kann mehrfach bei einem Device aufgeführt werden.
Der Parameter xxxxxx wird belegt mit dem Wert eines Kanals, der protokolliert werden soll. Für jeden Kanal ist also eine channel-Zeile erforderlich.
Beispiel:
channel=E-Total
channel=h-Total
channel=Status
Inhalt einer Beispieldatei:
[global]
pollinginterval=20
protocol=mysql:mysql.t000001.de:mydatabase:myusername:mypassword:sddata
[DEV1]
serial=2000167812
channel=Pac
channel=E-Total
channel=h-Total
channel=Status
Ist diese angekommen?
MfG Frank