FHEM - Hausautomations-Systeme > MQTT

erledigt: Define myBroker MQTT localhost:1883 schlägt fehl

(1/3) > >>

walterschmitz:
Hallo,

nachdem ich lt. Wiki https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung einen Define

--- Code: ---DEFINE myBroker MQTT 127.0.0.1:1883
--- Ende Code ---
ausgeführt habe erhalte ich folgende Fehlermeldung:

--- Code: ---2018.01.26 00:39:04 1 : reload: Error:Modul 00_MQTT deactivated: Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) at FHEM/lib/Net/MQTT/Message.pm line 9. BEGIN failed--compilation aborted at FHEM/lib/Net/MQTT/Message.pm line 9. Compilation failed in require at ./FHEM/00_MQTT.pm line 78. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 78.
2018.01.26 00:39:04 0 : Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) at FHEM/lib/Net/MQTT/Message.pm line 9. BEGIN failed--compilation aborted at FHEM/lib/Net/MQTT/Message.pm line 9. Compilation failed in require at ./FHEM/00_MQTT.pm line 78. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 78.
--- Ende Code ---

Während ich die CPAN-Befehle ausgeführt habe, erhielt ich folgende Meldungen, mit denen ich aber noch nichts anfangen kann:

--- Code: ---Warning: Cannot install NET::MQTT:Simple, don't know what it is.
Try the command

    i /NET::MQTT:Simple/

to find objects with matching identifiers.
--- Ende Code ---
und

--- Code: ---sudo cpan install NET::MQTT:Constants
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/root/.cpan/Metadata'
  Database was generated on Thu, 25 Jan 2018 22:17:03 GMT
Warning: Cannot install NET::MQTT:Constants, don't know what it is.
Try the command

    i /NET::MQTT:Constants/

to find objects with matching identifiers.
--- Ende Code ---
Evtl. ist hier der Grund zu finden, warum das MQTT Module nicht geladen werden könnte?

Kann mir jemand helfen, was ich als nächstest tun sollte?

digiart:
Vielleicht hilft hier etwas: https://forum.fhem.de/index.php?topic=35201.0

walterschmitz:
ne leider auch nicht.

also der "Kram" mit CPAN macht grad die Probleme denke ich.
Ich habe es nach dem verlinkten Thread mal versucht.
Der erste Teil
--- Code: ---sudo CPAN -i Net:MQTT::Simple
--- Ende Code ---
erzeugt einen Fehler. Den Auszug habe ich entsprechend mal beigefügt:

--- Code: --- sudo cpan -i Net::MQTT::Simple
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/root/.cpan/Metadata'
  Database was generated on Sat, 27 Jan 2018 00:17:02 GMT
Running install for module 'Net::MQTT::Simple'
Checksum for /root/.cpan/sources/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.21.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring J/JU/JUERD/Net-MQTT-Simple-1.21.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::MQTT::Simple
Writing MYMETA.yml and MYMETA.json
  JUERD/Net-MQTT-Simple-1.21.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for J/JU/JUERD/Net-MQTT-Simple-1.21.tar.gz
cp lib/Net/MQTT/Simple/SSL.pm blib/lib/Net/MQTT/Simple/SSL.pm
cp lib/Net/MQTT/Simple.pm blib/lib/Net/MQTT/Simple.pm
cp bin/mqtt-simple blib/script/mqtt-simple
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mqtt-simple
Manifying 1 pod document
Manifying 2 pod documents
  JUERD/Net-MQTT-Simple-1.21.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/regex.t .. ok
t/use.t .... ok
All tests successful.
Files=2, Tests=561,  1 wallclock secs ( 0.36 usr  0.01 sys +  0.84 cusr  0.05 csys =  1.26 CPU)
Result: PASS
  JUERD/Net-MQTT-Simple-1.21.tar.gz
  /usr/bin/make test -- OK
Running make install
Manifying 1 pod document
Manifying 2 pod documents
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man1'
mkdir /usr/local/man: File exists at /usr/share/perl/5.24/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 at -e line 1.
Makefile:727: die Regel für Ziel „pure_site_install“ scheiterte
make: *** [pure_site_install] Fehler 17
  JUERD/Net-MQTT-Simple-1.21.tar.gz
  /usr/bin/make install  -- NOT OK

--- Ende Code ---
Ebenfalls und ähnlich sehen die Fehlermeldung von
--- Code: ---CPAN -i Net::MQTT::Constants
--- Ende Code ---
aus. Wobei ich mir hier nicht sicher bin, ob die Fehler darauf beruhen, dass die ::Simple noch nicht sauber installiert sind.

Grundsätzlich... anders als im verlinkten Thread muss ich das ganze per sudo ausführen. Ohne das geht es gar nicht weiter, aber das denke ich, ist auch entsprechend so gewollt und war zu erwarten.

Damit hat sich der Teil in FHEM mit
--- Code: ---define myBroker MQTT IP:1883
--- Ende Code ---
auch noch erledigt.
Habe es trotzdem mal versucht und die Fehlermeldung aus dem Eventmonitor / Log dort lautet wie folgt:

--- Code: ---2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_MOST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_QOS_EXACTLY_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_SUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_SUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PUBREC redefined
--- Ende Code ---
und aus dem EventMonitor

--- Code: ---at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PINGRESP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_QOS_AT_LEAST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PUBREL redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PUBLISH redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_UNSUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PINGREQ redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_PUBCOMP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_CONNECT_ACCEPTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : PERL WARNING: Constant subroutine MQTT::MQTT_DISCONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.2018.01.27 07:57:22 1 : reload: Error:Modul 00_MQTT deactivated:  Attempt to reload Net/MQTT/Message.pm aborted. Compilation failed in require at ./FHEM/00_MQTT.pm line 78. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 78. 2018.01.27 07:57:22 0 : Attempt to reload Net/MQTT/Message.pm aborted. Compilation failed in require at ./FHEM/00_MQTT.pm line 78. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 78. 2018-01-
--- Ende Code ---

und auf der FHEM Oberfläche wird weiterhin angezeigt:

--- Code: ---Cannot load module MQTT
--- Ende Code ---

Kann mir jemand weiterhelfen?

Vielen Dank für Hilfe

dev0:

--- Zitat ---ERROR: Can't create '/usr/local/man/man1'
mkdir /usr/local/man: File exists at /usr/share/perl/5.24/ExtUtils/Install.pm line 477.

--- Ende Zitat ---
Schau ins filesystem und prüfe ob die Ordner vorhanden sind und die Berechtigunen passen.
Vielleicht hift auch ein Blick in Install.pm um Zeile 477, was dort geprüft/gemacht wird.

pink99panther:
Hab jetzt nicht genau nachgesehen, ob Du es irgendwo geschrieben hast, aber wen das ein Raspi mit Rasbian Stretch ist
schau mal hier: STRETCH and MQTT

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln