Node Red: Objektwerte aufteilen

Gast #5991806
Lesenswert?

Hallo,

ich versuche, mein Problem mal verständlich zu schildern:

Node-Red:

Von einem Baustein bekomme ich 7 Objekte.
In jedem Objekt sind 15 Werte. Ein Wert (setpoint) ist für mich von 
Interesse.
Diesen habe ich mit folgender Funktion isoliert:

var D1  =   {payload: msg.payload.setpoint};
return [D1];

Nun bekomme ich 7x den jeweiligen Wert als msg.payload:number zurück.
Ich brauche aber nur die "erste und dritte" Nummer.

Wie kann ich diese herausfiltern?

mfg
Gast #5992151
Lesenswert?

War gerade am Reifenwechsel.
Der Tag heute bot sich an.
So, zurück zum Thema, ich benutze die MAXCUBE-Node und die wirft das 
raus:

object
rf_address: "15c24a"
initialized: true
fromCmd: false
error: false
valid: true
mode: "AUTO"
dst_active: true
gateway_known: true
panel_locked: false
link_error: false
battery_low: false
valve: 24
setpoint: 22
temp: 23.4

Das Ganze wie gesagt 7x für 7 Stellantriebe.
Ich sehe gerade, daß es nur 14 Werte sind, peinlich!

Nachdem ich den setpoint isoliert habe, bekomme ich das:

msg.payload : number
22

msg.payload : number
20

msg.payload : number
21

msg.payload : number
22

msg.payload : number
23

msg.payload : number
24

msg.payload : number
21

Wie gesagt, ich will nur den 1. und 3. Wert für mich.
Gast #5993836
Lesenswert?

Eric B. schrieb:
> Bist du dir sicher, dass es (immer!) die 1. und 3. sind, oder willst du
> die von 2 bestimmten nodes (rf_address)?
>
> Ansonsten: Objecte in ein Array sammeln und per array[0] und array[2]
> das 1. und 3. Element auswählen.

Würde ich auch so machen das Problem ist nur wen sich das ganze Objekt 
mal verändert oder defekt ist, ich würde mit der rf_address wenn die 
einmalig ist zusammen ein neues Objekt erzeugen das kann dann ja z.b. 
auch <addr>:<Wert> sein dann hast du das Problem nicht wenn da was 
durcheinander kommt z.b. bei nen Update der Steuerung und dann kannst 
dir anhand der Adresse den wert immer zielgenau rauspicken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren