Hallo zusammen,
ich habe Probleme bei der Verwendung der MQTT Bindings: Es gelingt mir nicht die Callbacks zu registrieren. Hoffe hier kann mir jemand weiterhelfen.
Ich orientiere mich an der Doku und gehe wie folgt vor:
1. Abonnieren des Callback-Topics:
mosquitto_sub -v -t tinkerforge/callback/rgb_led_button_bricklet/Doe/button_state_changed
2. Registieren Callback:
mosquitto_pub -t tinkerforge/register/rgb_led_button_bricklet/Doe/button_state_changed -m '{"register": true}'
Über das abonnierte Callback-Topic bekomme ich dann immer folgende Fehlermeldung, wenn ich die Nachricht zur Registrierung des Callbacks sende:
tinkerforge/callback/rgb_led_button_bricklet/Doe/button_state_changed {"_ERROR": "Could not parse payload for button_state_changed callback registration of <class '__main__.RGBLEDButtonBricklet'> rgb_led_button_bricklet as JSON encoding a boolean: the JSON object must be str, not 'bytes'"}
Als Alternative zum Mosquitto-Client habe ich das Registrieren des Callbacks auch mittels der MQTT-Funktionalität von NodeRED versucht. Dies führt zum gleichen Fehler.
Grundsätzlich funktioniert die Kommunikation zwischen Tinkerforge Hardware, MQTT Bindings, Broker und Clients übrigens offenbar, denn wenn ich die request und response Topics nutze, arbeitet alles wie erwartet.
Ein paar Daten zum verwendeten System:
Betriebssystem: Raspian
MQTT Bindings V2.0.4
MQTT Broker: Mosquitto
Viele Grüße
FTR