Solarview auf RPi - curl läuft nicht

  • Da meine gute alte Fritzbox kein Autostart von Fremdprogrammen mehr unterstützt, habe ich mir einen RPi zugelegt. Da ich den aber auch als Videostation benutzen will, habe ich nicht Raspbian, sondern OpenELEC installiert. Ich habe dann alle FB7390 Dateien rübergeschoben und die Binaries durch die aus dem RPi Verzeichnis ersetzt.
    Nach einigem hin und her läuft es auch, wie man hier sieht:

    Code
    405 root       0:00 ./solarview-fb -nodatexport -i 127.0.0.1 -p 10000 -c 1 -a
      407 root       0:00 ./solarview-fb -nodatexport -i 127.0.0.1 -p 10000 -c 1 -a
      408 root       0:00 ./fronius-fb.rpi -i 192.168.3.251 -p 10000 -c 1 -w 9000
      409 root       0:00 ./fronius-fb.rpi -i 192.168.3.251 -p 10000 -c 1 -w 9000


    email_test.sh schickt mir erfolgreich eine Mail, also scheint auch der Zugriff auf die Solaranlage zu funktionieren:

    Code
    WR 1:
    Tagesertrag: 39.6 kWh (4.4 kWh/p)
    Monatsertrag: 88 kWh (9.8 kWh/p)
    Jahresertrag: 7988 kWh (888 kWh/p)
    Gesamtertrag: 42609 kWh (4734 kWh/p)


    Was leider nicht funktioniert, ist der FTP Upload. Ich habe das Script ftp_test.sh angeworfen, dort stoße ich immer wieder auf solche Zeilen:

    Code
    ./curl -v --max-time 180 --connect-timeout 30  -u xxx:yyy -T /var/tmp/ solarview/0/months.js ftp://ftp.xxxxx.de/Solar/
    sh: ./curl: not found

    Also scheint was mir curl nicht zu stimmen. Aber wenn ich curl so aufrufe, geht es:

    Code
    RPi:~/Solarview # curl
    curl: try 'curl --help' for more Information

    Nur so geht es nicht:

    Code
    RPi:~/Solarview # ./curl
    -sh: ./curl: not found

    Verstehe ich nicht.

    PV Anlage: 9 kWp / 40 x Sunpower SPR-225-WHT-I / Wechselrichter Fronius IG Plus 100 / aktiv seit 15.12.2009
    solarview auf RaspberryPi mit LIBREELEC
    http://www.kriebel-net.de/Solar/

  • Wenn du ./PROGRAMMNAME eingibts, dann sucht deine Shell im aktuellen Ordner nach PROGRAMMNAME. Dort liegt aber kein curl.
    Wenn du nur curl eingibst geht es ja.
    In der ftp_test.sh müsste curl ... (parameter) stehen, nicht ./curl ....
    Ersetzte mal in der ftp_test.sh alle ./curl durch curl (sofern das da wirklich drin steht).

  • Hallo - Openelec ist ein Mediencenter mit nur einem minimalistischen Linux. Wer kann sagen, welche Libraries o.ä. fehlen?
    Ich würde Raspbian installieren und als Mediencenter Raspbmc.
    Gruß Helmut

  • Danke für die Antworten.


    TomiJay:
    curl befindet sich in dem Verzeichnis.

    Code
    Pi:~/Solarview # ls c*
    curl

    ftp_test.sh ist leider nur ein Aufruf von solarview-fb mit Testparametern. Ich kann also nichts ändern. Ich werde heute mal Versuche mit Hard/Softlinks machen, vielleicht kriege ich das Ding überlistet.


    PV_IS:
    Diesen Schritt möchte ich als allerletzes gehen, denn Openelec ist optimal für XBMC konfiguriert. Wenn solarview schon bei den ersten Versuchen die Flügel gestreckt hätte, hätte ich aufgegeben. Ich glaube nicht, dass es an fehlenden Libs liegt. Wenn ich im Debug-Output die fehlerhaften Zeilen einfach kopiere, zB diese:

    Code
    ./curl -v --max-time 180 --connect-timeout 30  -u xxx:yyy -T /var/tmp/ solarview/0/months.js ftp://ftp.xxxxx.de/Solar/

    und das "./" vor dem curl Aufruf rausnehme,

    Code
    curl -v --max-time 180 --connect-timeout 30  -u xxx:yyy -T /var/tmp/ solarview/0/months.js ftp://ftp.xxxxx.de/Solar/

    wird korrekt per FTP hochgeladen. Es ist also alles da. Der Tipp von TomiJay wäre also eine Lösung, leider kann ich nirgendwo etwas editieren.

    PV Anlage: 9 kWp / 40 x Sunpower SPR-225-WHT-I / Wechselrichter Fronius IG Plus 100 / aktiv seit 15.12.2009
    solarview auf RaspberryPi mit LIBREELEC
    http://www.kriebel-net.de/Solar/

  • Zitat von StefanKr

    Ich werde heute mal Versuche mit Hard/Softlinks machen, vielleicht kriege ich das Ding überlistet.

    Das war es. Das Program "curl", das im Solarview Paket mitgeliefert wurde, funktioniert nicht, es tut nichts, warum auch immer, ist aber egal, denn das "curl", das sich in /usr/bin befindet, funktioniert. Also habe ich im Solarview Verzeichnis "curl" gelöscht und durch einen Symlink ersetzt:

    Code
    ln -s /usr/bin/curl curl

    Das war alles, die Webseite steht wieder, siehe Signatur 8)
    Wahrscheinlich ist auch das "Solarview/busybox" überflüssig und könnt durch einen Symlink ersetzt werden.

    PV Anlage: 9 kWp / 40 x Sunpower SPR-225-WHT-I / Wechselrichter Fronius IG Plus 100 / aktiv seit 15.12.2009
    solarview auf RaspberryPi mit LIBREELEC
    http://www.kriebel-net.de/Solar/

  • Zitat von ManfredR

    Vermutlich hätte es auch gereicht, curl mittels chmod 755 curl als ausführbar zu markieren. Aber symbolische Links tuns auch, sofern das nötige binary vorhanden ist.

    Die Rechte von busybox, CSmtp, curl waren alle auf 755. Und nur curl "weigerte" sich. Sehr seltsam, aber egal, Lösung funktioniert. Jetzt krebse ich gerade am automatisierten Backup herum (crontab, ssh, tar usw), aber das ist ein anderes Thema ...

    PV Anlage: 9 kWp / 40 x Sunpower SPR-225-WHT-I / Wechselrichter Fronius IG Plus 100 / aktiv seit 15.12.2009
    solarview auf RaspberryPi mit LIBREELEC
    http://www.kriebel-net.de/Solar/

  • Hallo StefanKr,
    gut, dann wird da eine der Core-Libraries nicht gefunden. In dem Fall würde das Anlegen eines Symlinks reichen:

    Code
    sudo ln -s /lib/ld-linux-armhf.so3 /lib/ld-linuxso.3

    helfen. Wen es interessiert - herausfinden kann man solche Abhängigkeiten unter Linux mit ldd, z.B.:

    Code
    ldd busybox


    liefert dann folgendes zurück:

    Code
    /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6f4e000)
            libcrypt.so.1 => /lib/arm-linux-gnueabihf/libcrypt.so.1 (0xb6f0c000)
            libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6e9b000)
            libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d6c000)
            /lib/ld-linux.so.3 => /lib/ld-linux-armhf.so.3 (0xb6f5c000)


    Das sind dann die zusätzlich benötigten Libraries. Fehlt eine, wird das dann angezeigt. Beim Einfachen Ausführen des Programmes erhählt man nur das lapidare "... not found".



    Viele Grüsse,
    Manfred