Wer nutzt hier noch Node-Red

  • Ah okay. Da fehlt mir dann noch das Verständnis zu Node Red.

    Dachte ich könnte direkt mit den Werten Arbeiten die jetzt schon raus kommen, da ich sie am zu sehenden [definition=12,0]debug[/definition] Node schon als Werte erhalte.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Wenn sie da sind haben sie auch andere Namen, sei doch mal so gut und poste die [definition=12,4][definition='1','3']Debug[/definition][/definition] Ausgabe. Aufgeklappt oder Roh.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Werde ich heute Nachmittag/Abend machen.
    Dies ist eines der Systeme die ich bisher nicht von außen zugänglich haben wollte/möchte.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Wenn sie da sind haben sie auch andere Namen, sei doch mal so gut und poste die [definition=12,4][definition='1','3']Debug[/definition][/definition] Ausgabe. Aufgeklappt oder Roh.

    Das wäre die Ausgabe:

    Wenn ich es richtig identifiziere kommt es momentan nur als Text raus oder?

    Wenn ich nun mit ner Change Node arbeite bekomme ich diese Ausgabe:

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

    Einmal editiert, zuletzt von bennySB (24. Oktober 2022 um 19:29)

  • Du hast da zwei verschiedene Datentypen. Gaszähler gibt ein Array raus, die beiden anderen nur ein String.

    Was hast du jetzt bei den change node eingetragen?
    Der [definition=12,0]debug[/definition] node sollte übrigens so eingestellt sein:

    Dann sollte bei den beiden undefinied zumindest schonmal der Wert stehen.
    Fehlt noch der Gaszähler.
    Da musst du das Change Node für Ändern, wir müssen aber die gesamte Nachricht mal sehen.

    Kannst du die mir mal kopieren (geht mit den Symbolen in der [definition=12,4][definition='1','3']Debug[/definition][/definition] Liste)

  • Sieht nun so aus:

    Liegt es vielleicht daran das ich die falsche Node zum Einlesen der Werte nutze?

    Die Ausgaben wie folgt:

    [definition=12,4][definition='1','3']Debug[/definition][/definition] Node "Gaszaehler_m3"

    Code
    {"payload":[{"result":"Gaszaehler","table":0,"_start":"2022-10-24T16:56:43.131625387Z","_stop":"2022-10-24T17:56:43.131625387Z","_time":"2022-10-24T17:56:20.047544532Z","_field":"value","_measurement":"mqtt_consumer","host":"telegraf_zaehler","topic":"gaszaehler/main/value"}],"_msgid":"3939b93e341602b9","Gaszaehler_m3":1235.486}

    [definition=12,4][definition='1','3']Debug[/definition][/definition] Node "Gas_Zustandszahl"

    Code
    {"_msgid":"27dc1c412bf4da15","Gas_Zustandszahl":0.9112}


    [definition=12,4][definition='1','3']Debug[/definition][/definition] Node "Gas_Brennwert"

    Code
    {"_msgid":"27dc1c412bf4da15","Gas_Brennwert":11.266}

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Also erstmal haste nicht das gemacht wie ich es gesagt habe -g- dein Change node wechselt nicht zu msg.wert1,wert2 usw.
    Ist aber nicht schlimm. Lass es so.
    Verbinde mal alle Ausgaben mit einem Functions Array (du willst ja alle multiplizieren, nicht addieren - hatte mein Hirn im Brei)

    msg.payload = msg.Gas_Brennwert * msg.Gas_Zustandszahl * msg.Gaszaehler_m3;
    return msg;


    ob das so einfach jetzt geht weiß ich nicht. Rechnen mit Objekten im msg ist doof.

    maybe weiß es auch wer besser`?

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

    Einmal editiert, zuletzt von SkyBird1980 (24. Oktober 2022 um 20:40)

  • Hatte wert1 usw. gleich auf meine Benamung geändert^^

    Klappt noch nicht mit den Dateiformaten, msg.Gaszaehler_m3 kann ich problemlos mit konstanten Zahlen rechnen, sobald ich aber einen der Hilfswerte nehmen will kommt als Ergebnis nur NaN (Not a Number). Muss mal schauen wie ich den string-Wert konvertieren kann.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Jup zu einfach^^

    Glaube es liegt daran, dass einen Wert aus einem array mit zwei objects multiplizieren will.

    Edit:
    Das Rechnen in der function mit einer "msg." und einem statischen Wert, bspw. mit * 5, funktioniert immer. Sobald ich aber mehr als eine msg. miteinander rechnen lassen will geht es nicht mehr...

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

    Einmal editiert, zuletzt von bennySB (24. Oktober 2022 um 22:13)

  • Egal was ich mache, sobald ich versuche einen zweiten Wert mit in die Multiplikation zu nehmen kommt als payload nur noch NaN raus.

    Kannst du bei dir mal testen und einfach zwei Helfer und Home Assistant anzulegen vom Typ "Nummer", diese zu Node Red importieren und dann mit denen zu rechnen?

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • so ich hab das mal angesehen und du hast Recht.
    Das Problem ist man muss das objekt zwischenspeichern und dann danach verfahren,
    http://noderedguide.com/node-red-lectu…-function-node/

    Ich rechne dann doch lieber in Home Assistant und hol mir dann die passende Entinität.
    Dafür hab ich mir nen Template erstellt.
    Einmal eine Zeile in die configuration.yaml zum auslagern (sonst wird die zu unsauber)

    Danach die Sensors.yaml erstellt und einen zusätzliches template erstellt und einfach berechnet.

    et voila~

    Und wenn ich den Wert jetzt noch unbedingt in Node-Red haben will hol ich ihn mir einfach.


    Und jup, damit hab ich das Problem jetzt nicht gelöst sondern nur umgangen seitdem ich weis das da im Hintergrund die Daten von HomeAssistant kommen. Aber das Ergebnis zählt dann ja doch.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

    2 Mal editiert, zuletzt von SkyBird1980 (26. Oktober 2022 um 10:52)

  • Danke dir, wäre dann Variante B, halte ich mal vor.
    Ich werde wohl noch n bissl Jugend forscht betreiben und sonst auf den Weg um schwenken.

    Möchte halt möglichst die Dinge nicht so verteilen, daher der Ansatz und auch ne gewisse Flussrichtung für den Datenstrom vorsehen (bezogen auf meine telegraf Thematik)

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Ich habe es hinbekommen, endlich.

    Was habe ich gemacht:
    Ich habe nun drei mal msg.payload (je Wert einer). Diese verbinde ich zu einem Array mit dem join-Node. Um nun einfach rechnen zu können habe ich mir das node node-red-contrib-calc zusäätzlich installiert und dadurch calculator erhalten.
    Dieser node kann wunderbar Rechnen, einfach auswählen welche Rechenart genommen werden soll, die Ausgabe dann für meinen Bedarf auf zwei Stellen nach dem Komma begrenzt und schon habe ich endlich meinen kWh-Wert.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!