Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Meßwertreihenfolge des Outdoor Weather Bricklet mit MQTT Binding variiert

Featured Replies

Geschrieben

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}
}

Geschrieben

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

Geschrieben
  • Autor
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.

 

Geschrieben

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.

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...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.