MQTT fehlt

Wie sieht denn deine mqtt.conf aus?

Meine Config sieht so aus:

# mqtt.conf
# MQTT settings.
# Set this to "true" to enable MQTT.
# Default: false
enabled = true
# Hostname or IP address of your MQTT message broker.
brokerHostname = mqtt.konig
# Port of your MQTT message broker.
brokerPort = 1883
# Name of this client.
clientName = Homegear
# The prefix to use. Every topic starts with this prefix.
# Default: homegear
prefix = piwko
# Unique ID of this Homegear instance. Change this, have you have multiple
# Homegear installations.
# This is not used for IBM Bluemix Watson IOT platform
homegearId = konig
# Tells the MQTT server to retain received MQTT messages. New clients will then
# receive the last value of a topic on connection.
# Variables of type "Action" are not retained.
retain = true
# When authentication by username and password is enabled, uncomment the following two lines and fill in your username and password.
#username = myUser
#password = myPassword
# The number of parallel processing threads.
processingThreadCount = 5
### Topic payload encodings ###
# Enable topic: homegear/HOMEGEAR_ID/plain/PEERID/CHANNEL/VARIABLE_NAME
# Contains the value as is. E. g.: 43.7.
plainTopic = true
# Enable topic: homegear/HOMEGEAR_ID/json/PEERID/CHANNEL/VARIABLE_NAME
# Puts the value in a JSON array to be JSON-compliant: [43.7].
jsonTopic = true
# Enable topic: homegear/HOMEGEAR_ID/jsonobj/PEERID/CHANNEL/VARIABLE_NAME
# Puts the value into a JSON object. The key is value: { "value": 43.7 }.
jsonobjTopic = true
 ### TLS options ###
# Set to "true" to enable SSL encryption for MQTT.
enableSSL = false
# The path to the certificate authority's certificate
#caFile = /path/to/ca-certficate
# verifyCertificate checks if the server certificate received by the
# MQTT broker is signed by one of the root CAs in /etc/ssl/certs. If you use
# a self signed certificate, please put your root certificate in that
# directory. Only disable the verification for testing purposes. Without
# verification any attacker can pose as your MQTT broker.
# Default: verifyCertificate = true
#verifyCertificate = true
# The path to the PEM encoded client certificate.
#certPath = /etc/homegear/mqtt.crt
# The path to the PEM encoded client keyfile.
#keyPath = /etc/homegear/mqtt.key
### IBM Bluemix Watson IOT platform settings ###
# Uses bmx*, retain, processingThreadCount and TLS settings, all others are skipped. Please note that it was tested without TLS encryption only.
# bmxTopix enables IBM Bluemix adapter and blocks all other topic types as IBM Bluemix Watson IOT Platform disconnects when unsupported packet types appear
#bmxTopic = false
# For IBM Bluemix Watson IOT Platform use messaging.internetofthings.ibmcloud.com, do not add the <orgId> at the beginning
#bmxHostname=messaging.internetofthings.ibmcloud.com
# Port for MQTT broker
#bmxPort = 1883
# Set this to your orgId created in Bluemix
 #bmxOrgId = orgId
# Set this to your gateway typeId created in Bluemix. This has to be created as "gateway type", not "device type"
#bmxGwTypeId = gwTypeId
#This sets the device ID for devices created by MQTT adapter in Bluemix. Requested device type is created automatically by IOT platform.
#bmxDevTypeId = devTypeId
# Should be set to "iot-2/type"
#bmxPrefix = iot-2/type
# Set to use-token-auth if using token authentication
#bmxUsername = use-token-auth
 # Set to token generated for this gateway
#bmxToken = myBluemixToken

nicht viel geändert!

Nee, sieht auch ok aus. Wollte nur sicher gehen. Namensauflösung vom Host auf mqtt.konig funktioniert?

Mqtt.konig funktioniert!
Habe einen internen DNS-Server, der löst das Problem.

:+1:

Wie gesagt, wollte nur sicher gehen und hatte es nicht als Problem gesehn :wink:

Wo könnte ich den jetzt schauen, damit ich mein Problem lösen kann?
Ist ein Problem von Homegaer, das er den Topic nicht zum Mqtt schickt?

Hm… @Sim hat schon recht. Es ist die nightly… auch wenn das natürlich funktionieren sollte. @sathya, kannst du was dazu sagen?

Ansonsten mach mal ne Installation mit der Stable. Vorher halt config sichern und so.
Oder geht mit dem Nightly Script ein paar Tage/Wochen zurück, wie @Sim ja schon vorgeschlagen hat:

Hallo @Piwko,

welche Nightly-Version läuft bei dir? Im aktuellen Nightly sollte es eigentlich funktionieren - ich habe es gerade noch einmal mit deiner Konfiguration getestet.

Falls es noch nicht gehen sollte, hättest du ein homegear.log vom Homegearstart + 1 Minute auf Loglevel 4 für mich?

Viele Grüße

Sathya

Hallo @sathya,

hoffe ich habe es richtig gemacht, auf Loglevel 4 gestellt und ein Restart durchgeführt. Dann ein ca. eine Minute warten und absichtlich ein paar mqtt ausführen lassen über die Schaltung.

Ich habe noch mal in mein System geschaut, seit Januar 2020 läuft es auf ein Pi4 und am Anfang war der Mqtt-topic aufrufbar. Jetzt sieben Monate später weg. Ist vielleicht im Moment nicht wichtig, aber wollte es trotzdem einmal sagen.

homegear.zip (301,6 KB)

Danke

Hallo @Piwko,

das ist die aktuelle Stable-Version. Damit geht es nicht? Homegear scheint die Topics sauber zu publishen. Sonst müsste es auch eine Fehlermeldung geben.

Magst du mal folgendes machen:

apt install tcpdump
tcpdump -w /tmp/dump.pcap
systemctl restart homegear

Magst du mir die dump.pcap anschließend schicken oder posten?

Das sollte aufzeigen, was da los ist.

Viele Grüße

Sathya

Liege schon flach, werde ich dann morgen machen.

Die dump.pcap posten?

Dieser Befehl schreibt alle Netzwerkpakete in /tmp/dump.pcap.

Hallo @Piwko,

ich habe mir den Dump angesehen. Vielen Dank! Da ist kein MQTT-Paket. Hattest du Homegear während der Aufzeichnung einmal neugestartet? Ich nehme an, während der Aufzeichnung waren Publish-Meldungen im Homgear-Log?

Könntest du beides noch einmal bestätigen? Bzw. ansonsten noch einmal einen Dump schicken?

Viele Grüße

Sathya

Guten Morgen @sathya,

ich bin gerade ein wenig überfordert und stelle fest, ich weiß nix! :slight_smile:

Beim ersten Versuch hatte ich mit " sudo tcpdump -w /temp/datei" gestartet und dann “service homegear restart”. Die Tür hat sich verriegelt, eine Meldung aufs Handy und dann habe ich “STRG + C” das Programm beendet und dir die Datei geschickt.

Im zweiten Versuch habe ich das gleich gemacht, nur habe ich dies mal zwei mal neu gestartet, um sich er zu gehen, das die Daten aufgezeichnet werden. Ich packe mal die Homegear.log mit dabei, ich werde im Moment eh nicht daraus schlau.

Was mir aber aufgefallen ist, in der Datei “dump” sind hin und wieder teile nicht im Klartext, sondern irgendwie defekt. Wenn ich nach mqtt.konig suche, kommt die Meldung, gibs nicht. Suche ich aber nach mqtt, werde ich in den unleserlichen Teilen fünding. Dort steht dann "mqttkonig "

Einen entspannten Tag wünsche ich Dir
und den anderen natürlich auch!

Piwko

Documents.zip (701,4 KB)

Hallo @Piwko,

ich frag mal ganz doof: Den Dump hast du auf dem Pi erstellt, oder? Hintergrund ist, dass keinerlei Kommunikation von und zu Port 1883 aufgezeichnet wurde - und das kann ja eigentlich nicht sein.

Viele Grüße

Sathya

Hallo @sathya!

Gib keine dumme Frage, sonst dürfte ich ja auch nicht fragen.

Aktuell läuft es auf einem Pi4. Der 3er, war zu schwach und am Anfang konnte ich auch alles anzeigen lassen. Weil ich den Batteriestatus später mir vom Handsender anzeigen lassen wollte, ist es mir dann aufgefallen

Ciao
Piwko

D. h., tcpdump wurde auf dem Pi ausgeführt?

Ja, habe ich!

Ist das falsch?

Guten Morgen!

Ich konnte noch was feststellen! Alle Topic die jetzt aktuell drin sind, laufen ohne Problem. Ich kann die auch von extern anstoßen und die jeweilige Aktion wird aufgeführt. Jetzt wollte ich einen neuen Topic einfügen, z.B. “garten/teich/pumpe” und möchte eine die Pumpe steuern, kommt kein Topic bis an Node-blue herrein. Auch der Debug, sagt mir, ich bekomme keine Infos.
Ich überlegen ernsthaft, ob ich Homegear neu aufsetzen muss. Habe dazu keine Lust, aber wird mir wohl nix anderes übrig bleiben.

EIn schönes Wochenende wünsche ich uch allen!

Hallo Leute!

@sathya: Ich habe den Fehler gefunden!!!

Erst dachte ich, ich hätte irgwann was kaputt gemacht, deswegen haben ich alles neu gemacht und habe jetzt die Version 0.7.45-3101. Leider wurde mir immer noch kein Topic angezeigt!
Kein Grund in Panik zu verfallen, irgendwo muss der Fehler doch sein. Nächster Schritt Topic zu Fuß verschicken, auch das klappte. Dann habe ich meine Hostname in eine IP verwandelt, vielleicht wird ja auch nicht aufgelöst. Auch hier wollte Homegear kein Topic schreiben, aber alles andere funktionierte.
Wo lag mein Fehler?

mosquitto_sub -h mqtt.konig -t test -m “test”
mosquitto_sub -h mqtt.konig -t /test -m “test”
Sehen im ersten Moment gleich aus und funktionieren auch irgendwie, aber dann kam der Punkt auf einmal nicht mehr.
Mein Fehler lag in der mqtt.conf, im Prefix fehlter der “/” und deshalb war die Funktion da, aber es wurde nix mitgeschrieben.

Vielen Dank an alle die mir geholfen haben, den Fehler zu finden. Wer mich jetzt zum nächsten Fehler auf machen.
Schönes Wochenende

3 Likes