Beiträge von HResa

    Der Beschreibung auf der Webseite zum einrichten von 123solar zufolge liest dieses Tool die Konfigurationsdatei von SBFspot aus und weiß deshalb, wo die SQLite-Datei liegt.


    Einmal muss dazu natürlich die Konfigutrationsdatei gefunden und gelesen werden können, und zweitens auch Leserechte für den Webserver auf die SQLite-Datei vorhanden sein.

    Ausgabe von minicom:


    c×ʉv%6ªJbbrcqc0yP÷ÿïÿ×ÿÿÿÿÿÿÿõÿÿ.þwþûåÿÿÿÿ�VÿÙO·▒×þÿþúÇ÷מVÿÙÿÿÿßÿö?큇gÖ÷ v%%֪Dc 1!w¦ÐUÂw�▒Çǂÿ!!q��U�ììiïç^lî�쏪cjãªòH㪰ïÒ»qÙﻤ¶«9UiôÊW+AOaa!¿up»AÁ▒%!�aÉɍ (J㉖

    das sieht ganz nach einer falschen Baudrate aus.

    Man mit einer anderen Geschwindigkeit auslesen.

    In der MySQL-Datenbank muss für den Benutzer, der Daten in die Datenbank schreiben darf (in deinem Fall der mit der Variablen "SQL_Username" definierte Benutzer) die Rechte zum Eintragen von Daten haben, und zwar von dem System (oder IP), auf dem SMFspot läuft.


    Die Datenbank läuft bei dir ja auf "mysqldb-Virtual-Machine"
    Das System wird vom PI auch erreicht? (DNS oder IP-Adresse in der "/etc/hosts" eingetragen?)

    Das sieht nach einer kaputten ext4-Partition aus.


    Auf der SD-Karte ist das OS wohl per NOOBS installiert, und das liegt auf einer eigenen Partition, die im normalen Betrieb nicht beschrieben wird.


    Die SD-Karten sind beim PI ein bekanntes Problem, da sie bei den vielen Schreibvorgängen 'schnell' zerschrieben werden.
    Ein USB-Stick, auf dem das laufende OS liegt, ist stabiler.


    Man kann auch einfach den Teil, der stark beschrieben wird, auf einen USB-Stick auslagern, oder gleich auf eine vielleicht laufendes NAS-Freigabe schreiben.


    Wenn man ein NAS und einen PI 3 hat, könnte man, so das NAS es anbietet, den PI auch vollständig aus dem Netz starten und auf das NAS schreiben lassen.

    Nach einen Artikel in der Heise sollen diese Steckdosensolaranlagen in D auch erlaubt werden, man müsste sich dann aber wohl als Erzeuger anmelden.


    Auch wenn die Webseite der BNertzA dazu wohl erste 2019/2020 fertig wird ;-)


    Eine Sache, die bei solchen Niederspannungsanlagen gerne vergessen werden, sind die auf den Leitungen fließenden Ströme, die oft vernachlässigt werden. Und dann steigen, bei zu dünnen Leitungen, die Verluste.
    Besonders, wenn zwischen den Solarpanels und dem Einsatzort eine etwas längere Strecke liegt (Solarpanel auf dem Dach, Akku und Verbraucher im Keller)
    Wenn man überlegt, welchen Leiterquerschnitt eine normale Anlage hat, die dann mit 8 Panels in Serie ~300V am Wechselrichter anliefert, sollte man diese Ströme nicht vergessen.


    Auf der positiven Seite wäre der Wegfall der Wandlerverluste der Netzteile.

    Bei mit steht auf dem PI in der Crontab:

    Code
    */5 5-23 * * * /home/pi/scripte/SBFspot.sh


    Und in der Datei selber:

    Bash
    #!/bin/bash
    ls -la /media/linux/
    /usr/local/bin/sbfspot.3/SBFspot -v


    Das "ls" soll nur sicherstellen, dass der Automount das NFS-Share gemountet hat, in das geschrieben wird.


    Ich habe mal die Zeilen aus der "SBFspot.cfg", die nicht mit # beginnen (sortiert) zusammengefasst:


    Die "SBFspot.cfg" liegt im gleichen Verzeichnis wie das Programm.


    Ich habe ein "SB2.5-1VL-40" WR und greife über das LAN auf ihn zu. Beim SBFSpot erstellt mir die CSV-Dateien und schreibt auch in die Datenbank.


    Übrigens, man kann auch eine MySQL-Datenbank befüllen. Man muss dort wohl nur die passenden Tabellen vorher anlegen, oder dem User das recht geben. Keine Ahnung.
    In der cfg stehen unten die (auskommentierten) Zugangsbedingungen für die Datenbank.

    Es gibt ja mehrere CSV-Dateien.


    (Dateien von heute)
    In der "MyPlant-201701.csv" wird z.B. der aktuelle Summenertragswert des Tages und der Gesamtertrag gespeichert.
    In der Datei "MyPlant-20170127.csv" die aktuellen Daten Gesamtertrag und ertrag für den letzten Messintervall.
    Und in der Datei "MyPlant-Spot-20170127.csv" die in der Kopfspalte genannten Werte.


    Code
    dd.MM.yyyy HH:mm:ss;DeviceName;DeviceType;Serial;Pdc1;Pdc2;Idc1;Idc2;Udc1;Udc2;Pac1;Pac2;Pac3;Iac1;Iac2;Iac3;Uac1;Uac2;Uac3;PdcTot;PacTot;Efficiency;EToday;ETotal;Frequency;OperatingTime;FeedInTime;BT_Signal;Condition;GridRelay;Temperature


    Bei der Datenbank gibt es mehrere Tabellen in der DB, man kann diese sich mit dem Firefox-AddOn "SQLite Manager" ansehen

    Mein SBFSpot läuft auch auf einem PI, die Dateien liegen aber auf einem bei NFS erreichbaren Rechner mit "echter" Festplatte ;-)
    So wird nicht auf die SD-Karte geschrieben.


    Das Problem beim Starten von Programmen per Crontab ist, dass dort nicht die gesamte Umgebung (Pfad, Variablen, ..) des Benutzers, unter dessen Kennung der Job läuft, vorhanden ist.
    Und so kommt es, dass sich Programme unterschiedlich verhalten.


    Ich habe mir angewöhnt, in dem Script, das ich automatisch ausführen lasse, immer alles zu definieren. Auch gebe ich komplette Pfade an oder wechsele sogar in das Verzeichnis, in dem die ausführbare Datei liegt.


    Und dann beim Editor darauf achten, dass er den richtigen Zeilenumbruch speichert ;-)

    Wie es aussieht, ist die Netzwerkeinstellung nicht ganz richtig.


    Eine Frage am Rande:
    Warum lässt du das Programm nicht seine SQLite-Datei beschreiben? Aus dieser Datenbank kannst und man ganz einfach mittels Datenbankabfragen die Daten, die du haben willst, extrahieren und in eine eigene Datenbank schreiben.


    Oder nutze die CSV-Dateien.
    Das aus der Aufgabe, die das Programm auf die Konsole ausgibt, zu machen, wäre mir zu viel Aufwand.