TAPO P100

Begonnen von heig, 24 März 2021, 17:30:26

Vorheriges Thema - Nächstes Thema

heig

Hallo zusammen,

hat sich von euch schonmal jemand mit der TAPO P100 Steckdose beschäftigt? Ich habe gesehen, dass die Schnittstelle wohl komplett anders ist als die der HS100 von TP-Link.

Es gibt wohl auch schon ein Python Modul für die Steuerung: https://github.com/fishbigger/TapoP100 - allerdings habe ich keine Skills um das in PERL nachzubauen... Daher - vielleicht hat sich ja schon jemand dran gemacht? Über die Suche habe ich leider nichts gefunden :(

Danke


brembs

Habe auch gesucht und nichts gefunden. Sieht wohl schlecht aus...

Batocin

Also in NodeRed kann man die P100 steuern...dafür einfach node-red-contrib-tplink-tapo-connect-api installieren
Und NodeRed und FHEM kommunizieren dann mittels Mqtt

erdferkel

Hallo,

ich habe mir aus dem Python Code eine Perl Lib gebaut, die ich zum Schalten der P100 verwende.
Mit den FHEM Modulen kenne ich mich leider nicht aus, um das direkt in FHEM einzubauen. Aber vielleicht hilft der Code ja trotzdem irgend jemandem. ;)

Die Lib kann z.B. so genutzt werden:

use TapoP100;

my $p100=TapoP100->new('steckdose.mylan.de');
$p100->login('mail@example.org', 'secret');
$p100->switch(1);
print $p100->name().': '.($p100->isOn() ? 'on' : 'off')."\n";


Viele Grüße, Peter

jnewton957

Das klingt ja schon super.

Kannst (jemand) hier bitte etwas genauer post, wie man nun die Steckdosen einbindet und die defines macht.

Danke
Jörg
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

erdferkel

Hallo Jörg,

wie ich geschrieben hatte, kenne ich mich mit der Struktur/API der FHEM Module leider nicht aus, daher kann man die Steckdosen mit dieser Lib auch nicht direkt aus FHEM ansteuern.
Ich schalte die Dosen einfach per cronjob, was für meine Zwecke völlig ausreichend ist.
Aber vielleicht erbarmt sich ja irgend jemand und macht ein FHEM Modul daraus. ;)

Grüße, Peter

erdferkel

Hallo,

ich habe mich jetzt doch mal näher mit den FHEM Modulen beschäftigt und die Bibliothek entsprechend umgebaut.
Diese Perl Datei kann in den FHEM Ordner kopiert werden und nach Neustart sollte es möglich sein, die Steckdose einzubinden:
define <name> TapoP100 <hostname/IP> <username> <password>

Die Werte des Geräts werden regelmäßig ausgelesen und in Readings gespeichert. Geschaltet werden kann natürlich auch.

Gerne testen und berichten... :)

  Grüße, Peter

derHeimwerker

Hallo,
ich bekomme diese Fehlermeldung

Can't locate Crypt/CBC.pm in @INC (you may need to install the Crypt::CBC module) (@INC contains: /opt/fhem ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/99_TapoP100.pm line 16.
BEGIN failed--compilation aborted at ./FHEM/99_TapoP100.pm line 16.


erdferkel

Hallo,

das Modul benötigt verschiedene Bibltiotheken, von denen manche evtl. nicht installiert sind.
Die folgenden Pakete werden verwendet (dahinter jeweils der Paketname unter Debian/Ubuntu):
Crypt::CBC -> libcrypt-cbc-perl
Crypt::Cipher::AES -> libcryptx-perl
Crypt::OpenSSL::RSA -> libcrypt-openssl-rsa-perl
Digest::SHA -> libperl5.32
JSON -> libjson-perl
LWP -> libwww-perl
MIME::Base64 -> libperl5.32
UUID -> libuuid-perl

  Grüße, Peter

derHeimwerker

funktioniert wunderbar!!
Danke

derHeimwerker

muss mich leider korrigieren...
Seitdem funktioniert mein firmata device, der als Lichtschalter fungier,t nicht mehr :-(
Kannst du da weiter helfen?

erdferkel

#11
Firmata sagt mir jetzt leider gar nichts.
Ist das auch irgendwie mit dem Tapo Switch verbunden?
Funktioniert der Lichtschalter, wenn Du das Tapo Device wieder entfernst?

Ich habe noch verschiedene ZWave Sensoren und Steckdosen in FHEM eingebunden. Bisher konnte ich noch keine Probleme feststellen, seitdem das Tapo Device aktiv ist.

derHeimwerker

Sorry, da hatte ich noch einen anderen Fehler im System. Läuft jetzt alles. Vielen Dank!

erdferkel

Nachdem mir doch endlich die Entwickler Doku im Wiki begegnet ist 8) , habe ich das Modul nochmal überarbeitet.
Da es schon eine fertige Routine für HTTP Requests im Hintergrund gibt, ist der bisher verwendete BlockingCall nicht nötig.
Außerdem sollte der Dateiname nicht mit "99_" beginnen, da das Modul sonst auch ohne entsprechendes Device geladen wird.

Neue set-Funktionen: on-for-timer, off-for-timer, nickname, reboot

PS: Meine Schaltdosen haben bisher immer nach 49 Tagen den Dienst mit Fehlercode "9999" eingestellt. Evtl. kann man das mit einem regelmäßigen Reboot umgehen - habe ich aber noch nicht testen können. Die Funktion 'set ... reboot' gibt es jetzt jedenfalls im Modul.


chriskl

Hallo,
Da bin ich auch interessiert :)
Unterstützt das Modul auch die TAPO P110 bzw. P115? Also mit Energiemessung?

Danke vor ab

Christoph