Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Ausgabe Node-Red an Datenpunkt

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Ausgabe Node-Red an Datenpunkt

Geplant Angeheftet Gesperrt Verschoben Node-Red
8 Beiträge 3 Kommentatoren 647 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    Toby 2
    schrieb am zuletzt editiert von
    #1

    Hallo,

    über Node-Red frage ich eine MySql Datenbank ab.
    Das Ergebnis ist im Beispiel der Wert "1878".
    Auf dem Datenpunkt im ioBroker kommt jedoch der gesamte Text mit an also "Sum(ack): 1878"

    Wie kann ich den Text entfernen so dass nu noch der Nummerische Wert übergeben wird?node-red.png

    mickymM 2 Antworten Letzte Antwort
    0
    • T Toby 2

      Hallo,

      über Node-Red frage ich eine MySql Datenbank ab.
      Das Ergebnis ist im Beispiel der Wert "1878".
      Auf dem Datenpunkt im ioBroker kommt jedoch der gesamte Text mit an also "Sum(ack): 1878"

      Wie kann ich den Text entfernen so dass nu noch der Nummerische Wert übergeben wird?node-red.png

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @toby-2 Indem Du aus dem Array von Objekten den Wert extrahierst. Am Besten ist immer Du gehst mit der Maus neben den Wert und kopierst den Pfad raus.

      copy path.gif

      Ich zeige es Dir an Deinem Beispiel. In Deinem Fall ist es ein klein wenig komplizierter, weil der Pfad in JS notation kommt, deswegen den Pfad wie folgt modifizieren.

      d89630b2-000c-422c-83d0-dce1917d9f7f-image.png

      Hier die Change-Node um den Wert zu extrahieren als Import:

      [
          {
              "id": "13349338e08d91ed",
              "type": "change",
              "z": "7e6af0015415146d",
              "name": "",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload.0[\"Sum (ack)\"]",
                      "tot": "msg"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 470,
              "y": 4240,
              "wires": [
                  [
                      "485afa41b273e7e6"
                  ]
              ]
          }
      ]
      

      Wie gesagt in Deinem Fall muss man leider an den Pfad Hand anlegen.

      Aus dem kopierten Pfad:

      payload[0]["Sum (ack)"]
      

      musst Du erst die Punkt-Notation nutzen.

      payload.0["Sum (ack)"]
      

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      T 1 Antwort Letzte Antwort
      0
      • T Toby 2

        Hallo,

        über Node-Red frage ich eine MySql Datenbank ab.
        Das Ergebnis ist im Beispiel der Wert "1878".
        Auf dem Datenpunkt im ioBroker kommt jedoch der gesamte Text mit an also "Sum(ack): 1878"

        Wie kann ich den Text entfernen so dass nu noch der Nummerische Wert übergeben wird?node-red.png

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #3

        @toby-2 Alternativ empfehle ich Dir aber in diesem Fall ein Array - also wenn ein Schwung von Werten kommt die erst in einzelne Nachrichten aufzudröseln.

        48bddaf5-7431-4858-b4ed-4521f847cd88-image.png

        Die spit Node macht also zum Beispiel aus dem Array einzelne Nachrichten wenn Du nun den Pfad kopierst dann kannst Du ihn direkt verwenden.

        payload["Sum (ack)"]
        

        Später kannst Du Dich auch mit JSONATA beschäftigen - eine sehr mächtige Bibliothek, die in NodeRed eingebaut ist und die Dir im ersten Schritt auch ein Array mit den extrahierten Werten aus dem Objekt liefert.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @toby-2 Indem Du aus dem Array von Objekten den Wert extrahierst. Am Besten ist immer Du gehst mit der Maus neben den Wert und kopierst den Pfad raus.

          copy path.gif

          Ich zeige es Dir an Deinem Beispiel. In Deinem Fall ist es ein klein wenig komplizierter, weil der Pfad in JS notation kommt, deswegen den Pfad wie folgt modifizieren.

          d89630b2-000c-422c-83d0-dce1917d9f7f-image.png

          Hier die Change-Node um den Wert zu extrahieren als Import:

          [
              {
                  "id": "13349338e08d91ed",
                  "type": "change",
                  "z": "7e6af0015415146d",
                  "name": "",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "payload.0[\"Sum (ack)\"]",
                          "tot": "msg"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 470,
                  "y": 4240,
                  "wires": [
                      [
                          "485afa41b273e7e6"
                      ]
                  ]
              }
          ]
          

          Wie gesagt in Deinem Fall muss man leider an den Pfad Hand anlegen.

          Aus dem kopierten Pfad:

          payload[0]["Sum (ack)"]
          

          musst Du erst die Punkt-Notation nutzen.

          payload.0["Sum (ack)"]
          
          T Offline
          T Offline
          Toby 2
          schrieb am zuletzt editiert von
          #4

          @mickym
          Super mickym, Vielen Dank!
          Das funktioniert klasse mit deinem ersten Vorschlag. Ich taste mich da mal weiter voran

          HomoranH 1 Antwort Letzte Antwort
          0
          • mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #5

            Wenn Du über die SQL-Abfrage nur 1 Feld abfragst, dann ist der Feldname eigentlich unwichtig und Deine Objekte bestehen nur aus einer Eigenschaft - dann ist der Name dieser Eigenschaft auch egal. Dann kannst Du auch direkt JSONATA verwenden. Diese Form ist also universell einsetzbar - solange Du nur 1 Feld abfragst!

            1b4aaa74-7c40-4f59-bf75-4d4e8d52d7ef-image.png

            Du siehst auch das funktioniert.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            mickymM 1 Antwort Letzte Antwort
            0
            • T Toby 2

              @mickym
              Super mickym, Vielen Dank!
              Das funktioniert klasse mit deinem ersten Vorschlag. Ich taste mich da mal weiter voran

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #6

              @toby-2 sagte in Ausgabe Node-Red an Datenpunkt:

              Super micky

              Screenshot_20231015-131604_Firefox.jpg

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              mickymM 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                Wenn Du über die SQL-Abfrage nur 1 Feld abfragst, dann ist der Feldname eigentlich unwichtig und Deine Objekte bestehen nur aus einer Eigenschaft - dann ist der Name dieser Eigenschaft auch egal. Dann kannst Du auch direkt JSONATA verwenden. Diese Form ist also universell einsetzbar - solange Du nur 1 Feld abfragst!

                1b4aaa74-7c40-4f59-bf75-4d4e8d52d7ef-image.png

                Du siehst auch das funktioniert.

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #7

                @mickym Und noch ein TIPP - vermeide function Nodes so gut es geht - auch wenn Du da oft Beispiele setzt.

                In Deiner function Node wird nur so was drinstehen:

                msg.topic = "SELECT ...."

                setzte das topic einfach über eine Change Node:

                4e07ffa3-6f14-4cc5-9582-896c04c764fe-image.png

                gewöhne Dir den anderen Mist gar nicht an.

                Auch wenn Du selbst mit einer Inject Node triggern willst. Auch dort kannst Du direkt Deine select Abfrage ins topic schreiben:

                2bd53fe7-e80f-400f-9d43-be405c0bd3f8-image.png

                Du siehst eine SQL Abfrage einfach in das topic der Nachrichteigenschaft rein schreiben, das geht auch mit einer Inject Node.

                Später wirst Du Dir für komplexere Abfragen aus verschiedenen Nachrichteneigenschaften Deine SQL Abfrage ggf. basteln:

                5f4b5799-93d5-42e8-9561-a87f94973413-image.png

                in diese Template Node (SQL get events) kannst Du dann Deine SQL Abfrage formulieren und variabel mit Deinen Nachrichteneigenschaften verändern.

                8de28a1b-f3de-4c6d-8315-cb095c0a99b2-image.png

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @toby-2 sagte in Ausgabe Node-Red an Datenpunkt:

                  Super micky

                  Screenshot_20231015-131604_Firefox.jpg

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @homoran :rolling_on_the_floor_laughing: :rolling_on_the_floor_laughing: :rolling_on_the_floor_laughing:

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  714

                  Online

                  32.5k

                  Benutzer

                  81.7k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe