[gelöst] Wie Net:MQTT installieren?

Begonnen von muellthos, 18 März 2015, 19:38:33

Vorheriges Thema - Nächstes Thema

muellthos

Hallo Leute,

wie installiert man unter Kubuntu Trusty das Modul Net:MQTT?

Versuch 1: apt-get


apt-get install libnet-mqtt-perl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libnet-mqtt-perl


Versuch 2: CPAN

cpan install Net:MQTT
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 18 Mar 2015 17:41:02 GMT
Warning: Cannot install Net:MQTT, don't know what it is.
Try the command

    i /Net:MQTT/

to find objects with matching identifiers.

cpan[1]> i /NET::MQTT/
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 18 Mar 2015 17:41:02 GMT
Module  < Net::MQTT::Constants   (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message     (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::ConnAck (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::Connect (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::Disconnect (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::JustMessageId (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PingReq (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PingResp (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PubAck (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PubComp (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PubRec (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::PubRel (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::Publish (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::SubAck (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::Subscribe (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::UnsubAck (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Message::Unsubscribe (BEANZ/Net-MQTT-1.143260.tar.gz)
Module  < Net::MQTT::Simple      (JUERD/Net-MQTT-Simple-1.20.tar.gz)
Module  < Net::MQTT::Simple::SSL (JUERD/Net-MQTT-Simple-1.20.tar.gz)
Module  < Net::MQTT::TopicStore  (BEANZ/Net-MQTT-1.143260.tar.gz)
20 items found



und jetzt?

Ratlos: muellthos



schka17

Versuche mit cpan und paket net::mqtt:simple und constants, aber die groß und Kleinschreibung so wie in deinem Output.

Gruß

Karl


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

muellthos

Danke schka17,

das würde gehen, anscheinend brauche ich es aber nicht, da sich das MQTT Device problemlos definieren lässt. Wahrscheinlich ist das Modul bereits bei der Installation des FHEM Debian Pakets mitgekommen.
Paralleler Versuch auf meiner Synology DS 212: Dort lässt sich das MQTT device nicht definieren:

Cannot load module MQTT

und im Log:

2015.03.18 20:19:57 1: reload: Error:Modul 00_MQTT deactivated:
Can't locate Net/MQTT/Constants.pm in @INC (@INC contains: /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 . /volume1/@appstore/FHEM/share/fhem/FHEM /volume1/@appstore/FHEM/share/fhem/FHEM/lib) at /volume1/@appstore/FHEM/share/fhem/FHEM/00_MQTT.pm line 72.
BEGIN failed--compilation aborted at /volume1/@appstore/FHEM/share/fhem/FHEM/00_MQTT.pm line 72.

2015.03.18 20:19:57 0: Can't locate Net/MQTT/Constants.pm in @INC (@INC contains: /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 . /volume1/@appstore/FHEM/share/fhem/FHEM /volume1/@appstore/FHEM/share/fhem/FHEM/lib) at /volume1/@appstore/FHEM/share/fhem/FHEM/00_MQTT.pm line 72.
BEGIN failed--compilation aborted at /volume1/@appstore/FHEM/share/fhem/FHEM/00_MQTT.pm line 72.


Dummerweise kann ich da das Modul nicht nachinstallieren, da dort keine vollständige Entwicklungsumgebung da ist. CPAN "meckert", das make fehlt... :(

Beste Grüße muellthos

schka17

Sorry, mit Synology kenn ich mich nicht aus, und einen gcc nachinstallieren geht auch nicht?


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

muellthos

Hallo schka17

Nee, ich wollte kein ipkg- Manager und kein OpenWRT zusätzlich zum Synology Betriebssystem auf der Synobox. Deshalb kein Make, kein GCC, keine Entwicklungsumgebung. Ausserdem kann ich nicht programmieren und das kryptische Perl verstehe ich erst recht nicht. Ich bin mir zwar fast sicher, dass Net:MQTT ohne lowlevel C auskommt. Ich habe keine Ahnung, weder wo ich die Perl-Dateien herbekomme, noch wohin ich sie "implantieren"  ;) müsste. Und Cross-Kompilieren von Perl ist laut Martin Fischer überhaupt nicht trival. Ist auch en Grund, warum ich FHEM über eher kurz als lang wieder von der Synology Box schmeißen und auf ODROID-C1 bringen werde. Der erste läufz schon testweise...

muellthos

schka17

Das verstehe ich, habe leider auch keine andere Möglichkeit als CPAN gefunden, habe leider einen Raspi bei dem das installieren über CPAN nicht funktioniert, mal schauen vielleicht habe ich am WE etwas Zeit dafür.

Gruß

Karl


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

chris_z

wie ist das gelöst ? Ich find auch keine Möglichkeit aufm Raspi mqtt support zu installieren.

schka17

#7
Hallo Chris,

Ich habe es bei dem störrischen Raspi dann manuell Schritt für Schritt erledigt, also zuerst den Download, dann unzippen, da gibts ein perl script, dann make, make install, und das wars. Ich muss morgen mal in die command history schauen, kann mich nicht mehr an alle Schritte im Detail erinnern.

Gruß

Karl

edit: hier die Schritte im Detail

Download der Pakete, cpan -i aufrufen, installation schägt fehl aber die Pakete sind runtergeladen.
dann in die Verzeichnisse wechseln und diese kommandos ausführen


cpan -i Net::MQTT::Simple
cd /root/.cpan/sources/authors/id/J/JU/JUERD/
unzip und tar Net-MQTT-Simple-1.20
cd Net-MQTT-Simple-1.20
perl Makefile.PL
make
make test
make install
cpan -i Net::MQTT::Constants
cd /root/.cpan/sources/authors/id/B/BE/BEANZ/
gunzip Net-MQTT-1.143260.tar.gz
tar -xvf Net-MQTT-1.143260.tar
cd Net-MQTT-1.143260/
perl Makefile.PL
make
make test
make install



Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

chris_z

OK damit scheidet das für mich aus, ich werd dann mal nen eigenen Client schreiben der FHEM Narichten in MQTT umwandelt, dann muss ich auch nicht extra für jedes Device ne Bridge anlegen.

chris_z

funktioniert. BEANZ hat cpan bei mir automatisch korrekt installiert

chris_z

#10
Übrigends hier ist der kleien Service der FHEM Nachrichten automatisch als MQTT Nachrichten publisht

https://github.com/cutec-chris/fhem2mqtt

schka17

Hallo Chris,

Der link ist nicht komplett, ich nehme an da fehlt das t. Was macht denn das genau?

Gruß
Karl


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

chris_z

Ja sry, korrigiert.

Das ist ein kleines Kommandozeilentool das sämtliche FHEM Nachrichten an einen MQTT Brooker verschickt. Habich mir gebaut weil ich auf lange Sicht sämtliche Daten über einen MQTT Brooker verteilen will und ne separate Web-GUI/Frontend direkt auf MQTT Nachrichten aufsetzen will. So hab ich dann ein schön modulares verteiltes System, und spar mit FHEM2FHEM, kann separate Automationen einfach anbinden (OpenHab z.b. kann auch MQTT) und kann mir eigene Logik einfach anbinden (Die FHEM Logik (DOIF,NOTIFY...) ist mir etwas zu durcheinander und wirkt unzuverlässig ausserdem wird fhem sehr schnell ziemlich lahm mit vielen Logikkomponenten).

schka17

Das habe ich mir fast gedacht, das gefällt mir. Ich möchte auch in diese Richtung weiterarbeiten, vor allem da Openhab auch stabiler läuft und multithreaded ist, dafür halt auch mehr Resourcen benötigt. Sobald ich ein bischen Zeit finde probiere ich das mal aus.

Gruß

Karl


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

chris_z

Ich hab im moment noch ekine Executables hochgeladen, meld dich dann einfach bei mir dann schick ich dir kompiliertes wenn dus nicht selbst kompilieren willst.