Community

Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread


#181

Wo kommen deine Werte her ?
Sind das Zahlen oder strings ?

Du kannst grundsätzlich deine Werte in einer globalen Variable speichern und mit dieser kannst du dann rechnen.

Gib mal bitte mehr Input.

VG Micha

Edit : die Werte scheinen vom homee Node zu kommen… Dann kannst du auch die Werte direkt aus dem Speicher holen und rechnen.
@stfnhmplr hat sein Node so aufgebaut, das alle Werte global zur Verfügung stehen.

VG Micha


#182

Guten Morgen

Die werte kommen aus der function:

var attribute = msg.payload.attribute;
if(!attribute){ return }
else if ( attribute.id === 973){
return {payload: attribute.current_value}}

Dann sind das doch Zahlen? Aus diesen baue ich dann Diagramme und Gauges.
Wie im Bild vom Dashboard gezeigt.

Doch wie rechne ich mit den Zahlen? Ich versteh nicht wie ich die Zahlen eindeutig benenne. Die beiden Werte heißen beide gleich wenn ich sie extrahiert habe…oder?

Wenn ich natürlich in der Rechnung die id irgendwie verwenden könnte und er mir gleich aus einer function den berechneten Wert ausspuckt wäre natürlich klasse…

@stfnhmplr hat sein Node so aufgebaut, das alle Werte global zur Verfügung stehen.
Hab ich mir angeschaut…

Mein Hauptprobelm ist, glaub, das ich noch nicht wirklich diese Variablengeschichten verstanden habe und wie ich damit arbeiten kann…gibt es da vielleicht ein Tip wie und wo ich das leicht verständlich lernen kann? Wenigstens so rudimentär…youtube , website,?
Ich hab natürlich schon Onkel google bemüht und einiges gefunden und angesehen, aber vielleicht gibt es noch mehr?

Danke schon mal…


#183

Die aktuellen Werte sind im globalen Kontext verfügbar. Siehe dazu hier: https://nodered.org/docs/writing-functions#storing-data
Die Werte sind unter der Variable homee verfügbar. Z.b. homee.nodes

Eine gute Quelle für den allgemeinen Einstieg in JS ist https://developer.mozilla.org/de/docs/Web/JavaScript/Guide/Einführung


#184

Hallo in die Runde,

wie kann ich denn z.B. ein “Get:Nodes” o.ä. über homee abfragen? Mir fehlt da gerade ein kleines Stückchen das Verständnis…

Danke.
:coffee:


#185

Hallo
ich brauch da nochmal Hilfe bitte.
Input: object

topic: “vorlauf”

payload: 29.059

Und das gleiche nochmal vom Rücklauf…topic “ruecklauf”

Function: topic.data = topic.data || {};
var vorlauf = { payload :msg.topic[vorlauf] };
var rueck = { payload :msg.topic[rueck] };
var spreizung = {payload: vorlauf.payload - rueck.payload};
return [spreizung];

Ergebnis: NaN :slight_smile:
Irgendwas ist falsch, können die Profis mir bitte mal helfen?
Vielen Dank


#186

Irgendwie komme ich nicht ganz mit.
Kannst du deinen Funktion als Screenshot senden?

Kommen deine Werte denn gleichzeitig mit dem Topic oder nacheinander ?

VG Micha


#187

Hier für die Bastler unter uns.
Wer das Icon der Geräte ändern möchte kann das machen.
Habe die Icon nicht für jedes Gerät getestet. Also einfach probieren und schauen ob es klappt.

Gebt folgendes in den Inject Node ein ( als String)

PUT:/nodes/123/?image=nodeicon_xxxxx

Die 123 muss durch die Node ID ausgetauscht werden.
Hier die Entsprechenden Icon (für die xxxx).

homeegram
bulb
camera
doorsensor
doublebulb
doubleplug
garagedoor
motiondetector
plug
shutter
speaker
temperature
tv
windowhandle
brightnesssensor
co2
doorbell
flooddetector
gesturecontrol
netatmorainmodule
netatmowindmodule
onebuttonremote
presence
radiator
remote
siren
smokedetector
twobuttonremote
armchair
bed
bolt
house
lock
pot
shield
star
suitcase
sun
teddy
turtle
turtle2
xmastree

Viel Spaß dabei.
VG Micha


#188

Hier mal der Flow…


Der wo die set msg topic function drin ist. Diese bewirkt nur dass der lange topic aus dem iobroker lesbar wird bzw. Vorlauf oder rueck.


#189

Hallo @Hamudulu,

deine Funktion kann so nicht funktionieren.
Dadurch das deine Werte für Vorlauf und Rücklauf nicht in einem Payload stecken,
sondern in getrennten , kann die Funktion nicht richtig rechnen.
Deshalb bekommst du auch als Ergebnis NaN.

Es gibt mehrere Möglichkeiten das zu lösen.
Du kannst mit dem iobroker GET Node arbeiten und den jeweils anderen Wert abrufen oder du legst deine Werte in einer Globalen Variablen ab.

Wenn du Fragen hast zu den Globalen Variablen dann nur zu.
VG Micha


#190

Wie funktioniert das mit der Get Node? Kannst du mir aufmalen wieder flow ausehen muss?
Das mit dem Global hab ich schon mal gehört und auch schon viel gesehen und gelesen, aber irgendwie macht es nicht klick. Wo stell ich das ein?

edit: https://www.youtube.com/watch?v=1MeR8sopLNA das hier war hilfreich, so versuch ich das mal…


#191

Du kannst auch in den Node Red slack kommen ( weiter oben ), dort kann man Dir das schneller erklären. Da kannst du auch deinen flow einstellen ( exportieren).

VG Micha