[Gelöst:]MQTT STATE disconnected

Begonnen von Pancake, 20 März 2021, 21:53:13

Vorheriges Thema - Nächstes Thema

Pancake

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


LuckyDay

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



Pancake

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:


LuckyDay

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

Pancake

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
durchgeführt.
Aktuell muss ich erstmal ein Backup einspielen. fhem ist gerade etwas tot.

TomLee

#5
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

Pancake

#6
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ß

rudolfkoenig

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.