Ich versuche erstmals mit Node-Red ein kleine Anwendung zu realisieren, habe aber noch paar Probleme. Vielleicht kann mir jemand beim Einstieg helfen. Derzeit versuche ich aus eine String der aus einer UPD Quelle kommt, paar Daten herauszuholen und darzustellen. Den String sehe ich im Node-Red Debug- fenster. Mein Problem ist jetzt, wie kann ich aus dem Datenstrom das rausfiltern was ich benötige. Könnte mir da bitte jemand einen Tipp geben bzw. mir ein Beispiele irgendwo zeigen, auf dem ich aufbauen kann ? Dank sehr.
Zu wenige Infos! Wie sieht dein String aus, und was soll hinten heraus kommen?
Bot N. schrieb: > wie kann ich aus dem Datenstrom das > rausfiltern was ich benötige. Ich nutze dafür den Node "Switch". https://flowfuse.com/node-red/core-nodes/switch/ Für jede Abfrage wird ein Ausgang erstellt, mit dem man weitere Aktionen starten kann.
Der String ist etwa 1 kB lang und enthält dann irgendwo z.B. folgendes: ....."humidity:0":{"id": 0,"rh":36.3},..... ....."temperature:0":{"id": 0,"tC":23.1,"tF":73.6},...... Ich möchte z.B. gerne nur den Wert (hier) 36.3 und 23.1 ausfiltern. Reicht das ?
Bot N. schrieb: > Reicht das ? Sicher, dass du die Daten als String behandeln möchtest und nicht als das JSON-Objekt, das deine Daten eigentlich sind? Dann hättest du sie in msg.payload.[...].humidity.rh und in msg.payload.[...].temperature.tC
Sebastian R. schrieb: > Sicher, dass du die Daten als String behandeln möchtest und nicht als > das JSON-Objekt, das deine Daten eigentlich sind? > Keine Ahnung! Wie müsste ich das denn weiterverarbeiten ?
Bot N. schrieb: > Wie müsste ich das denn weiterverarbeiten ? Den gelben "json"-Converter-Block reinziehen... https://cookbook.nodered.org/basic/convert-json
Εrnst B. schrieb: > Bot N. schrieb: >> Wie müsste ich das denn weiterverarbeiten ? > > Den gelben "json"-Converter-Block reinziehen... > > https://cookbook.nodered.org/basic/convert-json Ist seit NodeRED 3 nicht mehr erforderlich. JSON wird autom. erkannt.
Kopier dir mal diesen Teil:
1 | [ |
2 | { |
3 | "id": "95032eca4c7dc401", |
4 | "type": "inject", |
5 | "z": "62a1b8b469090880", |
6 | "name": "", |
7 | "props": [ |
8 | { |
9 | "p": "payload" |
10 | }, |
11 | { |
12 | "p": "topic", |
13 | "vt": "str" |
14 | } |
15 | ], |
16 | "repeat": "", |
17 | "crontab": "", |
18 | "once": false, |
19 | "onceDelay": 0.1, |
20 | "topic": "", |
21 | "payload": "{\"humidity:0\":{\"id\":0,\"rh\":36.3},\"temperature:0\":{\"id\":0,\"tC\":23.1,\"tF\":73.6}}", |
22 | "payloadType": "json", |
23 | "x": 160, |
24 | "y": 170, |
25 | "wires": [ |
26 | [ |
27 | "8693ea96dad0697e" |
28 | ] |
29 | ] |
30 | } |
31 | ] |
via "Import" in dein NodeRED, und schau dir das Verhalten im Debug-Fenster an!. ...dann wirst du das -hoffentlich- verstehen. In deiner realen Anwendung ersetzt du den Inject-Node durch deine Datenquelle.
:
Bearbeitet durch User
Vielen Dank für die diversen Hinweise. Werde mir alles ansehen und dann (hoffentlich) verstehen wie das alles funktioniert.
Bot N. schrieb: > Werde mir alles ansehen und dann (hoffentlich) verstehen wie das > alles funktioniert. Gewöhn dich an JSON und JSON-Objekte, wenn du mit Node-RED arbeitest. Ist aber eigentlich recht intuitiv.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.