Jump to content

MQTT Probleme Outdoor Weather Bricklet - iobroker


Recommended Posts

Geschrieben

Hallo, ich bin ein wenig verzweifelt,

ich habe ein Problem mit der MQTT Verbindung zwischen dem Outdoor Weather Bricklet und meinem iobroker.

Mein Ziel ist die Daten der Außen-Wetterstation WS-6147 per MQTT zu meinem MQTT-Broker im iobroker zu schicken.

Ich habe die Außen-Wetterstation WS-6147, das Outdoor Weather Bricklet und ein HAT Brick. Verbunden ist das HAT Brick mit einem Raspberry PI 4. Auf dem Raspberry läuft iobroker mit dem MQTT Adapter als Broker.

 

Ich empfange die Daten der Wetterstation und kann sie per Brick Viewer auf meinem Raspberry einsehen. Soweit funktioniert es. Ich kann auch einen Sonoff Basic der mit Tasmota läuft per MQTT mit meinem Broker verbinden. Soweit läuft auch der MQTT-Broker.

 

Ich habe mich an dieses Tutorial gehalten und alle Schritte soweit ausgeführt und immer wieder kontrolliert.

https://www.youtube.com/watch?v=TQlqzDLswJE

 

Weiter habe ich in die Tinkerforge Anleitung bis zum Satz ausgeführt. 

"Dann muss das tinkerforge_mqtt-Script so ausgeführt werden, dass es sich mit dem Brick Daemon, sowie dem MQTT-Broker verbinden kann."

https://www.tinkerforge.com/de/doc/Software/API_Bindings_MQTT.html#api-bindings-mqtt-install

 

Am Ende kommt aber keine Verbindung per MQTT zustande. 

 

Nach langer Erklärung die Frage ;)

 

Wie muss ich das Skript richtig ausführen?

 

Mit freundlichen Grüßen

 

Helge

 

Geschrieben

Nicht "crontab -e", sondern den Inhalt der Datei ~/cron.log auf dem Raspberry Pi.

Das Video Tutorial dem du gefolgt bist fügt den Befehlt zum Start der MQTT Bindings in crontab ein.

Die Meldungen die tinkerforge_mqtt ausgibt werden dann durch den verwendeten Befehl nach ~/cron.log umgeleitet. Die Meldungen würde ich gerne sehen, um zu verstehen was da potentiel nicht richtig funktoniert.

Du kannst dir die ~/cron.log Datei am einfachsten mit "cat ~/cron.log" auf dem Raspberry Pi ausgeben lassen.

Geschrieben

Das es ~/cron.log nicht gibt ist schon mal in sich ein Hinweis.

Was kommt denn bei raus, wenn du den Befehl mal von Hand ausführst, anstatt ihn mit cron ausführen zu lassen (natürlich mit den XXX durch die richtigen Werte ersetzt)?

/usr/bin/python3 /usr/local/bin/tinkerforge_mqtt --debug --broker-host XXX --broker-username XXX --broker-password XXX --init-file /usr/local/bin/outdoor_weather_config.txt
Geschrieben

Die Beispiele auf den einzelnen Seiten der MQTT-Dokumentation sind nicht in der Syntax für das init file, sondern eher Anweisungen an den Leser. Für ein init file müsste das aussehen wie hier beschrieben: https://www.tinkerforge.com/de/doc/Software/API_Bindings_MQTT.html#laden-initialer-nachrichten-aus-einer-datei

Also in deinem Fall:

{
    "pre_connect": {
        "tinkerforge/register/outdoor_weather_bricklet/SEz/station_data": {"register": true},
        "tinkerforge/register/outdoor_weather_bricklet/SEz/sensor_data": {"register": true},
    },
    "post_connect": {
        "tinkerforge/request/outdoor_weather_bricklet/SEz/set_station_callback_configuration": {"enable_callback": true},
        "tinkerforge/request/outdoor_weather_bricklet/SEz/set_sensor_callback_configuration": {"enable_callback": true},
    }
}

 

Geschrieben

Danke für eure Rückmeldung. Ich habe es soweit angepasst und bekomme jetzt einen anderen Fehler wenn ich es ausführe. 

Could not read init file: Expecting property name enclosed in double quotes: line 9 column 5 (char 218)

Geschrieben

Ah sorry, JSON kann kein Komma hinter dem jeweils letzen Eintrag. So sollte es laufen:

{
    "pre_connect": {
        "tinkerforge/register/outdoor_weather_bricklet/SEz/station_data": {"register": true},
        "tinkerforge/register/outdoor_weather_bricklet/SEz/sensor_data": {"register": true}
    },
    "post_connect": {
        "tinkerforge/request/outdoor_weather_bricklet/SEz/set_station_callback_configuration": {"enable_callback": true},
        "tinkerforge/request/outdoor_weather_bricklet/SEz/set_sensor_callback_configuration": {"enable_callback": true}
    }
}

 

Geschrieben

Es läuft jetzt. ;) Es besteht eine Verbindung zum iobroker. Ab hier probiere ich selber weiter zu kommen. 

Ihr habt einen verzweifelten Anfänger glücklich gemacht. xD

Dankeschön!

 

Gruß

Helge

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...