Jambalaya Geschrieben December 26, 2020 at 10:44 Geschrieben December 26, 2020 at 10:44 Hallo, ich besitze eine WS-6147 Außen-Wetterstation und mehrere TH-6148 Sensoren, dazu ein Outdoor Weather Bricklet und ein Master Brick 2.1. Angeschlossen ist das ganze an einem Raspberry PI mit MQTT Binding. Das funktioniert soweit. Was mich allerdings stört ist, daß die Reihgenfolge der Meßwerte variiert also z.B. mal so ist: {"identifier": 45, "battery_low": false, "rain": 0, "wind_speed": 0, "humidity": 50, "wind_direction": "s", "temperature": 203, "gust_speed": 0} {"identifier": 27, "temperature": 194, "humidity": 53} und wenn ich den Befehl: python3 /home/pi/tf/tinkerforge_mqtt --broker-host localhost --init-file /home/pi/tf/outdoor_weather_config.txt abbreche und neu starte dann z.B.: {"humidity": 49, "identifier": 45, "battery_low": false, "wind_speed": 0, "wind_direction": "s", "temperature": 206, "rain": 0, "gust_speed": 0} {"humidity": 52, "temperature": 206, "identifier": 59} Daher meine Frage: Wie kann ich erreichen, daß die Werte immer in der gleichen Reihenfolge kommen und wie kann ich diese festlegen? Die outdoor_weather_config.txt hat folgenden Inhalt: { "tinkerforge/request/outdoor_weather_bricklet/SvZ/set_station_callback_configuration": {"enable_callback": true}, "tinkerforge/request/outdoor_weather_bricklet/SvZ/set_sensor_callback_configuration": {"enable_callback": true}, "tinkerforge/register/outdoor_weather_bricklet/SvZ/station_data": {"register": true}, "tinkerforge/register/outdoor_weather_bricklet/SvZ/sensor_data": {"register": true} } Zitieren
duaw Geschrieben December 27, 2020 at 11:38 Geschrieben December 27, 2020 at 11:38 Hallo! Wie verarbeitest Du die Nachrichten denn? Auch in C, Java, ... könntest Du doch flexibel die Position der Größe suchen, die dich interessiert. Ich nehme NodeRED / Javascript. Da spielt die konkrete Reihenfolge eine absolut untergeordnete Rolle. MQTT und Reaktion auf eingehende Nachrichten ist ... einfach Klasse! Gruß, Uwe Zitieren
Jambalaya Geschrieben December 28, 2020 at 11:24 Autor Geschrieben December 28, 2020 at 11:24 vor 23 Stunden schrieb duaw: Hallo! Wie verarbeitest Du die Nachrichten denn? Auch in C, Java, ... könntest Du doch flexibel die Position der Größe suchen, die dich interessiert. Ich nehme NodeRED / Javascript. Da spielt die konkrete Reihenfolge eine absolut untergeordnete Rolle. MQTT und Reaktion auf eingehende Nachrichten ist ... einfach Klasse! Gruß, Uwe Hallo Uwe, ich verarbeite die Nachrichten mittels mosquitto_sub in einem Shellscript und da wäre es natürlich einfacher wenn diese immer die selbe Struktur hätten. Aber egal, ich parse jetzt die Nachrichten und da spielt es keine Rolle mehr in welcher Reihenfolge die enthaltenen Daten gesendet werden. Die Sensoren sollen eine alte ELV Wetterstation ablösen und da setze ich, um den Umstellungsaufwand gering zu halten, auf deren Datenformat auf auch wenn das ingesamt gesehen vielleicht etwas unsinnig erscheint. Zitieren
rtrbt Geschrieben January 4, 2021 at 08:30 Geschrieben January 4, 2021 at 08:30 Moin, Über die Reihenfolge hast du, wenn du Callbacks benutzt, keine Kontrolle, da die Bricklets asynchron zueinander laufen. Du kannst aber über das Topic gehen: Die Callbacks tauchen ja auf tinkerforge/callback/outdoor_weather_bricklet/SvZ/station_data bzw. tinkerforge/callback/outdoor_weather_bricklet/SvZ/sensor_data auf. D.h. du könntest mit jeweils einem Shellscript eins der Topics subscriben. 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.