[gelöst] Installieren eines FHEM-Moduls auf einen Raspberry Pi (24_TPLinkP100)

Begonnen von kosi, 05 Januar 2024, 18:15:53

Vorheriges Thema - Nächstes Thema

kosi

Hallo!

Ich habe mir neulich einen Raspberry Pi mit FHEM aufgesetzt um Tätigkeiten im Haushalt zu erleichtern. Habe alles extrem super gefunden, mir deswegen gleich zwei TP-Link Tapo P110 Steckdosen bestellt um weiter zu automatisieren. Ich kenne mich jedoch kaum mit FHEM oder Raspberry Pis aus, habe deswegen keine Ahnung wie man das Modul installieren würde.

Das Modul: https://github.com/eisenfunk/24_TPLinkP100

Wäre super wenn mir wer helfen könnte! Vielen Dank und LG ;D

MadMax-FHEM

Zitat von: kosi am 05 Januar 2024, 18:15:53Ich kenne mich jedoch kaum mit FHEM oder Raspberry Pis aus, habe deswegen keine Ahnung wie man das Modul installieren würde.
Dann wird es aber zukünftig schwer für dich...
Außer du willst lernen und tust es auch... :)

Gibt viele Möglichkeiten:

Eine ist das repo clonen und dann Datei kopieren, Rechte setzen und fhem neu starten bzw. reload 24_TPLinkP100.pm und dann das Device anlegen.
Vorher halt per ssh auf den PI einloggen, ich hoffe zumindest das kennst/kannst du schon 8)
git clone https://github.com/eisenfunk/24_TPLinkP100.git
cd -> durch clone angelegtes Verzeichnis
sudo cp 24_TPLinkP100.pm /opt/fhem/FHEM/
sudo chown fhem: /opt/fhem/FHEM/24_TPLinkP100.pm
Restart fhem oder reload 24_TPLinkP100.pm

Dann Device definieren usw. wie auf git beschrieben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

kosi

Hallo!

Vielen vielen Dank! Genau das wonach ich gesucht habe!

Zitat von: MadMax-FHEM am 05 Januar 2024, 18:39:59Dann wird es aber zukünftig schwer für dich...
Außer du willst lernen und tust es auch... :)

Natürlich! FHEM sowie der Raspberry scheinen bis jetzt sehr interessant zu sein! Habe jedoch bei diesem Problem keinen Schimmer gehabt wo ich anfangen sollte...

LG

MadMax-FHEM

Zitat von: kosi am 05 Januar 2024, 18:59:40Natürlich! FHEM sowie der Raspberry scheinen bis jetzt sehr interessant zu sein!
Dann viel Spaß!

Einfacher sind nat. Module, die in fhem integriert sind oder zumindest per "controls.txt" per "update add" als "Paketquelle" hinzugefügt werden können.
Bei dem Modul hier musst du selber prüfen/schauen, ob es Aktualisierungen gibt und sie dann erneut (umständlich) "besorgen"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

kosi

Hallo nochmal!

Tut mir leid nochmal stören zu müssen, aber beim definieren tritt der Fehler "Cannot load module TPLinkP100" auf. Ist das ein behebbarer Fehler oder ein Fehler beim Modul?

LG

MadMax-FHEM

#5
Kein Problem...

Lässt sich bestimmt beheben.
Vermutlich fehlt ein (oder mehrere) Perl-Libs (auf OS-Ebene).

Im fhem Log steht bestimmt (hoffentlich) genaueres drin...
...also welche Lib fehlt.

EDIT: ich hab mal in die Modul Hilfe geschaut (für dich verm.: help TPLinkP100 [in FHEMWEB eingeben + Enter]) und folgendes gelesen
ZitatThis module does require the following perl modules:
Digest::SHA
Crypt::CBC
Crypt::Cipher::AES
Crypt::OpenSSL::RSA
JSON
LWP
MIME::Base64

EDIT:
Bzgl. Digest::SHA evtl.:
sudo apt update
sudo apt install libdigest-sha-perl

Bzgl. Crypt::CBC evtl.:
sudo apt install libcrypt-cbc-perl

Bzgl. Crypt::Cipher::AES brauchst du wohl (leider) (immer noch) CPAN :\
sudo cpan install Crypt::Cipher::AES
Ich bevorzuge ja apt, da das der Paketmanager des OS ist und Updates dann einfach mit dem normalen OS-Update passieren.
CPAN muss extra irgendwie...
Bin da aber auch kein Experte, brauche nur "zufällig" das auch für eines meiner verwendeten Module...

Bzgl. Crypt::OpenSSL::RSA evtl.:
sudo apt install libcrypt-openssl-rsa-perl

Bzgl. JSON evtl.:
sudo apt install libjson-perl
sollte aber bei der Basisinstallation von fhem bereits installiert sein.

Bzgl. LWP evtl.:
sudo apt install libwww-perl
da bin ich aber SEHR UNSICHER...

Bzgl. MIME::Base64 evtl.:
sudo apt install libmime-base64-perl
Aber auch hier: sehr, sehr unsicher...

Finden/suchen:
schauen was im Log steht und dann z.B. mit "Google" suchen (meine Variante, geht bestimmt auch eleganter).
Beispiel: "Crypt::OpenSSL::RSA perl installieren apt" und dann sich das Ergebnis raussuchen was einem am ehesten "liegt" ;)
(meist probiere ich solche "Experimente" auf einem Testsystem und wenn ich weiß was ich brauche -> Notizen machen, installiere ich das dann "sauber" auf meinem "Hauptsystem" / die Notizen helfen auch bei einem Restore: System aufsetzen inkl. fhem Installation, Backup von fhem einspielen inkl. notierte "Erweiterungen" und gut)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

betateilchen

#6
Mach doch mal ein "reload TPLinkP100" dann sollte die zugehörige Fehlermeldung direkt im Frontend kommen.

In den requiremenst steht zumindest schonmal:

#  Requirements:
# SetExtensions
# Digest::SHA qw(sha1_hex)
# Crypt::CBC
# Crypt::Cipher::AES
# Crypt::OpenSSL::RSA
# JSON
# LWP
# MIME::Base64
# Data::Dumper

Da ist einiges dabei, das im Standard nicht vorhanden ist und nachinstalliert werden muss.

Und sogar auch was, das eigentlich keinen Sinn macht (LWP würde man nicht brauchen, wenn das Modul die FHEM-eigenen Mechanismen verwenden würde)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kosi

Hallo nochmal!

Vielen vielen Dank für eure Hilfe.

Habe dann im Endeffekt immer im Log nachgeschaut, nach welchen Modulen FHEM mich gebeten hat und die der Reihe nach installiert.

Installiert habe ich diese so:
sudo /usr/bin/perl -MCPAN -e 'install Crypt::Random'
Ich habe installieren müssen:
Crypt::Random
Crypt::Random::Seed
Crypt::Mode::CBC
Crypt::CBC

Dann dazwischen: sudo apt-get install libssl-devUnd dann noch
Crypt::OpenSSL::RSA

Vielen vielen Dank nochmal und LG!

betateilchen

Sinnvoller wäre es gewesen, Du hättest alle benötigten Pakete über Paketverwaltung apt installiert.

apt install libssl-dev libcrypt-openssl-random-perl libcrypt-random-seed-perl libcrypt-cbc-perl libcrypt-openssl-rsa-perl

So hast Du nun einen Mischmasch bei den installierten perl Paketen zwischen dem, was Deine Linux-Distribution mitbringt und dem, was per CPAN installiert wurde.

Die Pakete, die über CPAN kommen, werden nicht im regulären Betriebssystemupdate Deines Linux mit aktualisiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rabehd

Ich habe mein System letzte Woche neu aufgesetzt und auch dieses Modul in Nutzung.
In der Hilfe steht es doch.

ZitatDas Modul benötigt die folgenden Perl-Module:

Perl Module: IO::Socket::INET
Perl Module: IO::Socket::Timeout
Auch funktionierende Lösungen kann man hinterfragen.

jnewton957

Gestern hat mir ein Fehler
FATAL: padding_depad failed: Invalid argument provided. at /usr/local/lib/aarch64-linux-gnu/perl/5.36.0/Crypt/Mode/CBC.pm line 20.

das gesamte System zum Erliegen gebracht. Habe daher erstmal die TP-Link Devices deaktiviert.
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP