PERL Pushover auf QNAP Hilfe benötigt

Begonnen von Miriel, 08 Dezember 2013, 16:28:20

Vorheriges Thema - Nächstes Thema

Miriel

Hallo,

seit einigen Jahren benutze ich erfolgreich FHEM auf meinen QNAP-Devices.
Jedoch beiße ich mir gerade die Zähne aus Pushover zum laufen zu bekommen, weill immer wieder irgendwelche Perl Module angeblich fehlen usw.

Jedoch habe ich alles installiert.
Kann jemand mir Hilfestellung geben denn derzeit erhalte ich noch eine Fehlermeldung, das die Datei /Net/SSLeay/autosplit.ix fehlt.


Habt schon mal Dank ::)

tpm88

Hallo Miriel,

ich hatte auch Schwierigkeiten, Pushover auf meinem QNAP TS259 Pro+ ans Laufen zu bekommen - jetzt funktioniert es aber....

Also:

1. Optware ipkg perl Pakete

Folgende Pakete müssen für PushOver ggf. nachinstalliert werden:

perl-crypt-ssleay
perl-libwww
perl-net-ssleay

Achtung - das Paket perl-io-socket-ssl NICHT via ipkg installieren, da die Optware Version des Pakets zu alt ist. Beim Versuch, PushOver Messages zu verschicken erhält man sonst den Fehler:

Error: 500 Can't connect to api.pushover.net:443 (Illegal seek) 

Zum Vergleich - bei mir sind folgende Optware perl Pakete auf dem QNAP installiert - nicht verwirren lassen - einige davon sind nur für DbLog notwendig.


perl 5.10.0-6
perl-class-accessor 0.30-2
perl-class-data-inheritable 0.04-2
perl-class-trigger 0.10-2
perl-clone 0.29-1
perl-compress-zlib
perl-crypt-ssleay 0.55-1
perl-dbd-sqlite 1.35-1
perl-dbi 1.620-1
perl-dbix-contextualfetch 1.03-2
perl-html-parser 3.60-1
perl-html-tagset 3.04-4
perl-ima-dbi 0.34-2
perl-io-stringy 2.110-2
perl-libwww 5.825-1
perl-net-ssleay 1.30-1
perl-universal-moniker 0.08-2
perl-uri 1.35-3
perl-version 0.74-1


2. Modul IO::Socket::SSL (v1.962) von CPAN holen, auspacken und das Unterverzeichnis Socket in den Perl5 Library Pfad wie folgt kopieren:


/opt/lib/perl5/site_perl/5.10.0/IO

# find /opt/lib/perl5/site_perl/5.10.0/IO/Socket/
/opt/lib/perl5/site_perl/5.10.0/IO/Socket/
/opt/lib/perl5/site_perl/5.10.0/IO/Socket/SSL
/opt/lib/perl5/site_perl/5.10.0/IO/Socket/SSL/Intercept.pm
/opt/lib/perl5/site_perl/5.10.0/IO/Socket/SSL/Utils.pm
/opt/lib/perl5/site_perl/5.10.0/IO/Socket/SSL.pm


3. Modul Mozilla::CA von CPAN holen, auspacken und das Unterverzeichnis Mozilla in den Perl5 Library Pfad wie folgt kopieren:


/opt/lib/perl5/5.10.0

# find /opt/lib/perl5/5.10.0/Mozilla/
/opt/lib/perl5/5.10.0/Mozilla/
/opt/lib/perl5/5.10.0/Mozilla/CA.pm
/opt/lib/perl5/5.10.0/Mozilla/CA
/opt/lib/perl5/5.10.0/Mozilla/CA/cacert.pem


4. Modul 70_Pushover aus dem SourceForge FHEM SVN herunterladen.

Siehe hierzu den ersten Post unter http://forum.fhem.de/index.php/topic,16215.0.html

5. Editieren des Moduls 70_Pushover.pm wie folgt:

Auskommentieren der Zeile


#use IO::Socket::SSL;


Das Modul und das Versenden der Pushover Messages funktioniert auch, wenn diese Zeile auskommentiert ist. Ist sie es nicht, schlägt beim Laden des Moduls 70_Pushover eine Versionsprüfung zu...

Net::SSLeay version 1.46 required--this is only version 1.30 at /opt/lib/perl5/site_perl/5.10.0/IO/Socket/SSL.pm line 17.

6. Modul 70_Pushover in FHEM laden und testen


reload 70_Pushover

define my_PushOver Pushover <Token>  <User Key>

set my_PushOver msg 'mytest01' 'This is a text.' '' 0 ''


FERTIG.

Mir ist bewußt, daß das manuelle Bereitstellen der Perl Module wie oben beschrieben nicht sauber ist. Dafür sollte man eigentlich die cpan Shell benutzen, die die Module inkl. Check der Abhängigkeiten direkt von cpan.org herunterlädt und installiert. Auf Anhieb hat die cpan Shell aber nicht funktioniert - ich vermute auch, dass das nicht mit der Optware perl Paketverwaltung harmoniert. Das Risiko war/ist mir daher zu groß, die gesamte Perl Installation zu zerschießen.

Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

Miriel

Danke für die Super Anleitung,
jedoch bin ich auf Raspberry umgestiegen :-)

besitzer

Hallo Tobias,

du schreibst unter Punkt 1, dass man die Pakete nachinstallieren soll. Ich bin nicht unbedingt der Linux Fachmann. Auf dem Raspberry habe ich per apt-get nachinstalliert. Allerdings konnte ich da bei Problemen meine PI direkt wieder neu aufsetzen. Muss ich hier jetzt ipkg install nehmen oder wie installiere ich die Module nach? Wie kann ich mir anzeigen lassen welche Module ich bereits installiert habe?
Wie kann ich dann perl-io-socket-ssl nachinstallieren wenn nicht über ipkg?

Danke für Deine Hilfe.

Gruß Sven

besitzer

Hallo Tobias,

ich habe herausgefunden wie ich die 3 erstgenannten Pakete über ipkg nachinstallieren kann. Allerdings bekomme ich Fehlermeldungen:

[~] # ipkg install perl-crypt-ssleay
Installing perl-crypt-ssleay (0.55-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/perl-crypt-ssleay_0.55-1_i686.ipk
Ignoring unknown parameter "display charset"
Ignoring unknown parameter "force directory security mode"
Ignoring unknown parameter "conn log"
Nothing to be done
An error ocurred, return value: 22.
Collected errors:
ipkg_download: ERROR: Command failed with return value 1: `wget --passive-ftp    -q -P /opt/ipkg-WM1cKj http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/perl-crypt-ssleay_0.55-1_i686.ipk'
Failed to download perl-crypt-ssleay. Perhaps you need to run 'ipkg update'?


ipkg update bringt die gleichen Fehlermeldungen.

Muss ich da noch was freischalten bzw. wget nachinstallieren?

Gruß Sven

tpm88

Hallo Sven,

sehr merkwürdig. Ich habe bei mir eben auf dem QNAP nachgesehen. Ich habe zwar auch das ipkg wget-ssl installiert:


ipkg install wget-ssl

wget-ssl - 1.12-2 - A network utility to retrieve files from the Web


Somit habe ich zwei wget Binaries auf dem QNAP - das Original unter /usr/bin von QNAP und das aus dem ipkg Paket unter /opt/bin.

Kann mir aber eigentlich trotzdem nicht vorstellen, daß das Voraussetzung zur Installation der perl ipkg Pakete ist. Musst Du ausprobieren.

Zu den Punkten der Anleitung weiter oben.
Punkt 4 entfällt natürlich, seit das PushOver Modul im Standard ausgeliefert wird.
Punkt 5 ist ebenfalls obsolet

Gruss
Tobias

Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

tpm88

Zitat von: besitzer am 20 August 2014, 08:46:31
[~] # ipkg install perl-crypt-ssleay
...
An error ocurred, return value: 22.
Collected errors:
ipkg_download: ERROR: Command failed with return value 1: `wget --passive-ftp    -q -P /opt/ipkg-WM1cKj http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/perl-crypt-ssleay_0.55-1_i686.ipk'
Failed to download perl-crypt-ssleay. Perhaps you need to run 'ipkg update'?

Ich fürchte, das Optware / ipkg Repository ist jetzt endgültig tot. Siehe diesen Thread im QNAP Forum:
http://forum.qnap.com/viewtopic.php?f=124&t=96735

Fakt ist, daß die ipkg Pakete seit mindestens zwei Jahren bereits nicht mehr gepflegt wurden. Ich habe zwischenzeitlich ein aktuelles Debian in einer chroot Umgebung auf meinem QNAP installiert. Damit lassen sich dann alle aktuellen Debian Pakete direkt mit apt-get installieren und somit auch alle Perl Dependencies für FHEM. Ausnahme sind natürlich Kernelmodule, die müssen zum laufenden QNAP Linux Kernel passen. Ich werde meinen laufenden FHEM Server auf dem QNAP demnächst in das chroot Debian umziehen.

Ich habe keine Step-by-Step Anleitung hierfür zur Hand - aber Google hilft weiter. Das zentrale Tool, um eine Debian chroot Umgebung zu bauen, ist debootstrap. Einfach mit den Stichwörtern "debootstrap" und "QNAP" einmal Dr. Google befragen.

Gruss
Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

tpm88

Die NSLU2 Webseite mit dem Optware Repository ist wieder online.
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT