HzJ Geschrieben January 26, 2022 at 21:22 Geschrieben January 26, 2022 at 21:22 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 Zitieren
photron Geschrieben January 27, 2022 at 10:12 Geschrieben January 27, 2022 at 10:12 Was steht denn in ~/cron.log? Zitieren
HzJ Geschrieben January 27, 2022 at 12:03 Autor Geschrieben January 27, 2022 at 12:03 broker-username und password habe ich richtig eingegeben Zitieren
photron Geschrieben January 27, 2022 at 12:22 Geschrieben January 27, 2022 at 12:22 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. Zitieren
HzJ Geschrieben January 27, 2022 at 15:14 Autor Geschrieben January 27, 2022 at 15:14 Mit dem Befehl "cat ~/cron.log" hatte ich keinen Erfolg. Ich habe den zweiten Befehl unter diesem Link gefunden. Ich weiß nicht ob der zweite Befehl für dich richtig ist/war. ;) Danke für deine Hilfe. https://linuxhint.com/check-cron-logs-linux/ Zitieren
photron Geschrieben January 27, 2022 at 16:05 Geschrieben January 27, 2022 at 16:05 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 Zitieren
HzJ Geschrieben January 27, 2022 at 17:38 Autor Geschrieben January 27, 2022 at 17:38 Could not read init file: Expecting value: line 1 column 1 (char 0) Zitieren
rtrbt Geschrieben January 28, 2022 at 07:56 Geschrieben January 28, 2022 at 07:56 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}, } } Zitieren
HzJ Geschrieben January 28, 2022 at 12:41 Autor Geschrieben January 28, 2022 at 12:41 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) Zitieren
rtrbt Geschrieben January 28, 2022 at 12:47 Geschrieben January 28, 2022 at 12:47 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} } } Zitieren
HzJ Geschrieben January 28, 2022 at 13:52 Autor Geschrieben January 28, 2022 at 13:52 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 Zitieren
rtrbt Geschrieben January 28, 2022 at 13:59 Geschrieben January 28, 2022 at 13:59 Gut zu hören. Wir müssen in der Doku deutlicher machen, dass die init-files und die Beispiele nicht das selbe sind. (oder eventuell auch init-files als Beispiele generieren.) Grüße, Erik Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.