Abend,
mache gerade die ersten "Gehversuche" mit MQTT. Letzendlich soll ein Nodemcu (8266) Daten empfangen / senden.
Hierfür wurde ein externer Broker (Mosquitto) installiert, der auch funktioniert.
Über zwei Shell werden Daten übermittelt:
1. Shell (Publisher)
e@e-NUC7i3BNH ~ $ mosquitto_pub -h 127.0.0.1 -t Test/Temperature -m "19.5"
e@e-NUC7i3BNH ~ $ mosquitto_pub -h 127.0.0.1 -t Test/Temperature -m "1225"
e@e-NUC7i3BNH ~ $ mosquitto_pub -h 127.0.0.1 -t Test/Temperature -m "xxx"
2. Shell (Subcriber)
e@e-NUC7i3BNH ~ $ mosquitto_sub -h 127.0.0.1 -t Test/#
19.5
1225
xxx
Das ganze läuft auf einem NUC mit Linux Mint.
Hierher kommen die Informationen:
https://haus-automatisierung.com/hardware/fhem/2017/02/13/fhem-tutorial-reihe-part-26-esp8266-arduino-mqtt-temperatur-an-fhem.html
Für die Verbindung über fhem mit "define Mosquitto MQTT <ip>:1883" wird ein Device mit namen "Mosquitto"erstellt.
Problem: Das Device "Mosquitto" ist dauerhaft disconnected.
Was probiert wurde:
Mosquitto deinstalliert und installiert, mit anschließendem Neustart. -> Daten laufen über beide Shell.
Fhem upgedatet und neugestartet.
NUC neugestartet.
Mit einer Handy APP (MQTT Test) eine Verbindung zu Mosquitto aufzubauen -> funktioniert nicht.
Hat jemand noch eine Idee, was probiert werden kann?
MfG
Zitatdefine Mosquitto MQTT <ip>:1883
nimm die MQTT2 Module !
also in deinem Fall
defmod mqttclient_localhost MQTT2_CLIENT localhost:1883
attr mqttclient_localhost clientId localhost
Danke für die Info,
habe den externen Broker (Mosquitto) gestoppt, Mosquitto MQTT gelöscht und die beiden Sachen durchgeführt:
defmod mqttclient_localhost MQTT2_CLIENT localhost:1883
attr mqttclient_localhost clientId localhost
Ergebnis:
Internals:
CFGFN
DEF 192.168.1.35:1883
DeviceName 192.168.1.35:1883
FUUID 6056662a-f33f-229c-76c5-570b46eae9af2046
NAME myBroker
NEXT_OPEN 1616275106.94026
NOTIFYDEV global
NR 3616
NTFY_ORDER 50-myBroker
PARTIAL
STATE disconnected
TYPE MQTT
msgid 1
timeout 60
READINGS:
2021-03-20 22:17:26 state disconnected
messages:
Attributes:
Du musst Dich schon entscheiden.
Du brauchst erst noch LeseStunde im Wiki von Fhem.
Das was du da zeigst ist nicht die Definition, von mir!
brauchst du überhaupt den externen Broker oder ist der Fhem Brocker für dich nicht geeigneter!
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele)
brauche keinen externen Broker (nur einen Broker), habe nur das das Beispiel von hier:
https://haus-automatisierung.com/hardware/fhem/2017/02/13/fhem-tutorial-reihe-part-26-esp8266-arduino-mqtt-temperatur-an-fhem.html (https://haus-automatisierung.com/hardware/fhem/2017/02/13/fhem-tutorial-reihe-part-26-esp8266-arduino-mqtt-temperatur-an-fhem.html)
durchgeführt.
Aktuell muss ich erstmal ein Backup einspielen. fhem ist gerade etwas tot.
Zitathabe den externen Broker (Mosquitto) gestoppt, Mosquitto MQTT gelöscht und die beiden Sachen durchgeführt:
Hallo,
das hast du mit dem löschen missverstanden, die MQTT2_CLIENT-Definition wäre nötig gewesen iVm. dem Mosquitto Dienst.
Die Definition
defmod mqttclient_localhost MQTT2_CLIENT localhost:1883
ist jetzt überflüssig und kannst wieder löschen.
Die bisherige MQTT-Definition (das gezeigte List) auch.
Weiter gehts dann mit
define MQTT2_Server MQTT2_SERVER 1883 global
Danach landen alle über den Topic
Test/Temperature
gesendeten Werte in
einem neu erstellten MQTT2_Device.
Gruß
Thomas
edit:
das verlinkte Tutorial ist aus 2017
Danke,
nach dem Restoren vom Backup (07.03.2021), hier hatte ich schon einmal mit den fhem Brokern herumprobiert.
Mit den Einstellungen vom 07.03. funktioniert es.
Auch mit der Handy App besteht eine Verbindung.
Gruß
Zitathabe nur das das Beispiel von hier: https://haus-automatisierung.com/hardware/fhem/2017/02/13/...
Das ist 4 Jahre her, seitdem ist in FHEM auf diesem Gebiet (MQTT) viel passiert.
Wenn Du trotzdem auf diese alte Methode bestehst, dann am besten Support auf der verlinkten Seite suchen. Wir haben ja diese Ratschlaege nicht gegeben.