MQTT fehlt

Ich habe ein älteres 0.8-nightly ausprobiert (vom 4.4.20) - nun funktioniert MQTT wieder.

1 Like

Ok, dann muss sich das @sathya in jedem Fall angucken. :+1:

Ich habe ein älteres 0.8-nightly ausprobiert (vom 4.4.20) - nun funktioniert MQTT wieder.

… und im nächsten Nightly auch. Da hat sich durch einen Bugfix ein Bug eingeschlichen.

Vielen Dank

Sathya

2 Likes

A post was split to a new topic: Fehlermeldungen im Log (Serial)

Puhh…das hat mich auch einige Analyse gekostet um festzustellen, dass es an der Nightly liegen muss. Nachdem ich dann auf die aktuelle Version upgedated habe, ging wieder alles.

Naja…dafür ist man ja mit der Nightly unterwegs. Trotzdem wäre es gut, wenn sich solche gravierenden Dinge in Zukunft vermeiden ließen - das hält mein Nervenkostüm nicht aus. :stuck_out_tongue:

haha, wenn sich Fehler vermeiden ließen, wären es keine Fehler mehr und das nightly nicht das nightly :wink: .
Unabhängig davon und rein informativ: wenn man das Gefühl hat, dass nach dem Update auf das aktuelle nightly etwas nicht richtig funktioniert, lässt sich das durch ein downgrade recht einfach testen:
wget -O /tmp/InstallNightly.sh https://downloads.homegear.eu/InstallNightly.sh && bash /tmp/InstallNightly.sh 202006xx

4 Likes

Hallo Leute!

Ich habe vor einigen Tagen auch festgestellt das mein Mqtt-Topic weg ist.

Erstmal zu meinem System.
Alles läuft auf einem Pi4, im Moment habe ich Nightly, die Version 0.7.45-3101.

Wenn ich aber mosquitto_sub aufrufe, verrät mir Homegaer keine Topics, auch wenn ich welche auslöse. Stoppe ich den den Mosquitto Dienst, läuft auch nix mehr an Aktion.

Im Grunde läuft es, aber ich würde gerne in den nächsten Tagen, ein paar Geräte hinzufügen und da wären die Topic nicht schlecht zu wissen.

Danke und einen schönen Abend erstmal an alle!

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