(FHEM) 00 MQTT.pm: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 14: | Zeile 14: | ||
'''Get''' | '''Get''' | ||
− | version ( | + | version (steht nur im Programmcode, tauscht sonst nirgends auf) |
'''Readings''' | '''Readings''' | ||
| |
Version vom 7. August 2022, 21:16 Uhr
Inhaltsverzeichnis
00_MQTT.pm
Ein einzelnes MQTT-Gerät kann mehrere MQTT_DEVICE, MQTT_GENERIC_BRIDGE Clients und (veraltete) MQTT_BRIDGE Clients bedienen. Jedes MQTT_DEVICE fungiert als Brücke zwischen einem Fhem-Gerät und mqtt. Hinweis: Dieses Modul basiert auf Net::MQTT, das zuerst von CPAN installiert werden muss.
Define
define <name> MQTT <ip:port> [<username>] [<password>]
Set
set <name> connect set <name> disconnect set <name> publish [qos:?] [retain:?] <topic> <message>
Get
version (steht nur im Programmcode, tauscht sonst nirgends auf)
Readings
Attributes
keep-alive attr <name> last-will [qos:?] [retain:?] <topic> <message> attr <name> client-id client id on-connect, on-disconnect on-timeout
Erlaeuterungen
Clients: MQTT_DEVICE und MQTT_BRIDGE Abhaengigkeiten: DevIo.pm
Wenn eine 'Cannot load module MQTT' erscheint fhelt wohl das 'Net::MQTT'
cpan install Net::MQTT FHEM#>restart
Fehlermeldung:
2022.08.07 20:02:53.913 1: reload: Error:Modul 00_MQTT deactivated: Can't locate Net/MQTT/Constants.pm in @INC (you may need to install the Net::MQTT::Constants module) (@INC contains: ./lib ./FHEM . /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl ./FHEM/lib) at ./FHEM/00_MQTT.pm line 42. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 42. 2022.08.07 20:02:53.913 0: Can't locate Net/MQTT/Constants.pm in @INC (you may need to install the Net::MQTT::Constants module) (@INC contains: ./lib ./FHEM . /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl ./FHEM/lib) at ./FHEM/00_MQTT.pm line 42. BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 42.
Loesung: Leider habe ich noch keinen Hinweis dazu erhalten welche der 3 Net::MQTT Libraries die richtige ist.
cpan[5]> i /Net-MQTT/ Distribution BEANZ/Net-MQTT-1.163170.tar.gz Distribution JUERD/Net-MQTT-Simple-1.26.tar.gz Distribution KRENZKE/Net-MQTT-Simple-Auth-0.002.tar.gz 3 items found
cpan[6]> install BEANZ/Net-MQTT-1.163170.tar.gz
Nach dem Installieren war die Definition des Beispiels (s. u.) erfolgreich.
Beispiele
define 00_MQTT_Test MQTT
Erstmal kam eine Fehlermeldung. Loesung siehe oben.
Beim zweiten Anlauf war die Definition erfolgreich.