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. Node-Red Modbus mehrere Slave ID´s abfragen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    10
    1
    63

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Node-Red Modbus mehrere Slave ID´s abfragen

Geplant Angeheftet Gesperrt Verschoben Node-Red
javascriptnode-red
36 Beiträge 4 Kommentatoren 5.0k Aufrufe 4 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.
  • M Malaus

    @mickym sagte in Node-Red Modbus mehrere Slave ID´s abfragen:

    Mir ist auch nicht klar, warum Dein Array oder Deine Objekte soviele Informationen haben (aber vielleicht ist das nur ein anderer Output), wenn Du dann bei Deinem ReadModbus dann die meisten Informationen wieder wegschmeisst.

    Das liegt daran, dass ich diese Daten direkt aus dem Modbus Adapter genommen habe. Aber wie du schon bemerkt hast, sind die meisten Daten irrelevant.

    So hier ein paar Optimierungsvorschläge: ;)

    Nun wie bekannt, bin ich kein Freund von Codierung und function Nodes, wenn es nicht sein muss. Wenn es also um reine Änderungen der payload geht - solltest Du es in meinen Augen vermeiden - dafür gibts die Change Nodes. Wie sowas geht habe ich Dir in meinem Flow mal gezeigt.

    Sehr schöne Idee, diese Change Nodes für sowas zu nutzen!

    Als erstes habe ich festgestellt, dass Du in Deiner split Node hier msg.parts eingetragen hast - ich weiß das Feld ist rot - aber Du kannst es ignorieren, weil Du ja kein Objekt aufsplittest, sondern ein Array. Insofern gilt das für Dich gar nicht.

    Das kam von ein paar vorherigen Versuchen, das ganze zu splitten, Modbus Abfrage und mit dessen Wert, das ganze wieder zusammenzufügen.

    Die 2. Variante entspricht in etwa der, die Du jetzt hast, wobei - da alles gleich ist bis auf die ID - ich diese 3 Flows halt zusammengefasst habe. In dem Fall musst Du wirklich mit einer function Nodes arbeiten, da diese einen Kontext hat, der durch das Array der IDs, durch die Du iterieren willst speichern kann und einen zugrhörigen pointer. Mit jeder payload wird der pointer wieder zurückgesetzt.

    Die 2. Variante funktioniert nicht. Ich vermute, dass es daran liegt, dass nun jeder Wert einzeln abgefragt wird und dadurch der Trigger next ID aktiviert wird. Durch mein Abfragen der Namen habe ich das verhindert.
    2441dc0a-20d4-4812-9813-ed2c9cacc875-image.png

    Auch und noch eine kleine Bemerkung:
    node.send zu nutzen, sollte man vermeiden und lieber return msg verwenden. Warum manche meinen sie wollen jetzt node.send verwenden, weiß ich nicht. node.send sollte man nur bei asynchroner Verarbeitung nutzen und dann auch mit node.done abschließen. Also sollte das immer der Sonderfall sein.

    Hier ein Auszug aus der Online Doku. Was sonst nämlich passieren kann ist, dass die function Node noch weiter wurschtelt und der Flow hinten dran schon munter weiter läuft.
    Bei Dir machte das zwar nichts aus, da es der letzte Befehl ist, aber muss ja nicht sein, wenn man mit return msg die function Node korrekt beenden kann.

    Danke für diesen Hinweis! Werde ich mir merken.

    EDIT:
    Es wird mir das topic nicht mitgenommen.
    vor dem Read Modbus
    f34fe674-440e-4db8-9b71-97190f3d102a-image.png

    Nach dem Read Modbus
    a86ac1e3-b268-472a-80c9-e8abc66edcc6-image.png

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #14

    @malaus Ok das war mein Fehler. Wenn das alles war - ansonsten schau ich gerade - dass man erst wenn sich die id wechselt triggert.

    Du musst die Change node im Read Modbus entsprechend ändern, um das topic zu setzen:

    17710ebd-33d0-463f-945d-4e7ead36a36d-image.png

    Bei Dir war aber der Name auch nicht Bestandteil der payload, sondern im topic:

    msg = {
        topic : msg.name,
        payload : {
                'fc': fc,
                'unitid': msg.unitId,//JSON.parse(unitid),
                'address': msg._address,//JSON.parse(y.number),
                'quantity': 2,
                'value': 2
            }
        }
    

    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.

    M 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @malaus Ok das war mein Fehler. Wenn das alles war - ansonsten schau ich gerade - dass man erst wenn sich die id wechselt triggert.

      Du musst die Change node im Read Modbus entsprechend ändern, um das topic zu setzen:

      17710ebd-33d0-463f-945d-4e7ead36a36d-image.png

      Bei Dir war aber der Name auch nicht Bestandteil der payload, sondern im topic:

      msg = {
          topic : msg.name,
          payload : {
                  'fc': fc,
                  'unitid': msg.unitId,//JSON.parse(unitid),
                  'address': msg._address,//JSON.parse(y.number),
                  'quantity': 2,
                  'value': 2
              }
          }
      
      M Offline
      M Offline
      Malaus
      schrieb am zuletzt editiert von Malaus
      #15

      @mickym ich hätte bei bei dem trigger ein switch benutzt, der Ausschau nach dem letzten Wert hält.
      5bbcd714-4c14-4d47-9f9b-27878ec09ffe-image.png

      Muss das nicht anders herum sein?
      Ich hab ja vor dem Read Modbus ein payload.name
      f749bcd1-2e52-4dfe-91e2-1f948c20d4e0-image.png
      und möchte diese nun als topic

      Dann sollte das doch so aussehen:
      9ef19dfb-a3cf-49b8-8a14-d864121b2dca-image.png

      Das kommt nach der Änderung zurück:
      71d7e840-127f-446a-b407-f2779c67a5dc-image.png

      mickymM 1 Antwort Letzte Antwort
      0
      • M Malaus

        @mickym ich hätte bei bei dem trigger ein switch benutzt, der Ausschau nach dem letzten Wert hält.
        5bbcd714-4c14-4d47-9f9b-27878ec09ffe-image.png

        Muss das nicht anders herum sein?
        Ich hab ja vor dem Read Modbus ein payload.name
        f749bcd1-2e52-4dfe-91e2-1f948c20d4e0-image.png
        und möchte diese nun als topic

        Dann sollte das doch so aussehen:
        9ef19dfb-a3cf-49b8-8a14-d864121b2dca-image.png

        Das kommt nach der Änderung zurück:
        71d7e840-127f-446a-b407-f2779c67a5dc-image.png

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #16

        @malaus Nein das sieht nicht andersrum aus. Du musst das Lesen wie es geschrieben ist.

        Setze msg.topic auf msg.payload.name. Du willst das topic doch setzen - das vorher gar nicht da war. ;)

        Bei mir kommt wenn du die Change Node entsprechend änderst, der Name aus dem ursprünglichen Objekt als payload an:

        61da66e0-e2f2-45a3-b2af-ac335ef4e06e-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.

        M mickymM 2 Antworten Letzte Antwort
        0
        • mickymM mickym

          @malaus Nein das sieht nicht andersrum aus. Du musst das Lesen wie es geschrieben ist.

          Setze msg.topic auf msg.payload.name. Du willst das topic doch setzen - das vorher gar nicht da war. ;)

          Bei mir kommt wenn du die Change Node entsprechend änderst, der Name aus dem ursprünglichen Objekt als payload an:

          61da66e0-e2f2-45a3-b2af-ac335ef4e06e-image.png

          M Offline
          M Offline
          Malaus
          schrieb am zuletzt editiert von
          #17

          @mickym achso habe das anders herum verstanden.
          Aber jetzt geht es! und mit dem Switch funktioniert auch.

          9c1fbaf8-4c52-4a9e-8280-363e59b5aed1-image.png

          Danke!

          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @malaus Nein das sieht nicht andersrum aus. Du musst das Lesen wie es geschrieben ist.

            Setze msg.topic auf msg.payload.name. Du willst das topic doch setzen - das vorher gar nicht da war. ;)

            Bei mir kommt wenn du die Change Node entsprechend änderst, der Name aus dem ursprünglichen Objekt als payload an:

            61da66e0-e2f2-45a3-b2af-ac335ef4e06e-image.png

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #18

            Wie sieht der switch aus? ggf. kannst dann auch eine filter Node nehmen. ;)

            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.

            M 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              Wie sieht der switch aus? ggf. kannst dann auch eine filter Node nehmen. ;)

              M Offline
              M Offline
              Malaus
              schrieb am zuletzt editiert von
              #19

              @mickym

              059dc944-14b4-4285-acd3-433616d618c2-image.png

              mickymM 1 Antwort Letzte Antwort
              0
              • M Malaus

                @mickym

                059dc944-14b4-4285-acd3-433616d618c2-image.png

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #20

                @malaus Na ja - ich verstehe, weil Du sagst das ist das letzte Element in Deinem array. Dann finde ich es intuitiver und besser - wirklich die id als topic zu nehmen und hab mal eine filter Node verwendet. Ich weiss nicht, ob aus dem unteren Teil einfach die Eingangsobjekte durchgereicht werden. Aber dann spart man sich das topic einfach.

                Falls also am unteren Ausgang der GETTER Node einfach das Eingangsobjekt durchkommt:
                Für mich wäre dann das am saubersten:

                8db35761-97e7-40f7-930b-891dc36509f7-image.png

                [
                   {
                       "id": "36239d1d9d361a2e",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "create Array",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "[\t            {\t                \"unitId\": payload,\t                \"_address\": 0,\t                \"name\": \"Voltage\",\t                \"description\": \"Voltage\",\t                \"unit\": \"V\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 6,\t                \"name\": \"Current\",\t                \"description\": \"Current\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 12,\t                \"name\": \"ActivePower\",\t                \"description\": \"Active Power\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 18,\t                \"name\": \"ApparentPower\",\t                \"description\": \"ApparentPower\",\t                \"unit\": \"VA\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 24,\t                \"name\": \"ReactivePower\",\t                \"description\": \"ReactivePower\",\t                \"unit\": \"VAr\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 30,\t                \"name\": \"PowerFactor\",\t                \"description\": \"PowerFactor\",\t                \"unit\": \"\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 70,\t                \"name\": \"Frequency\",\t                \"description\": \"Frequency\",\t                \"unit\": \"Hz\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 72,\t                \"name\": \"ActiveEnergy\",\t                \"description\": \"Active Energy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"ExportActiveEnergy\",\t                \"description\": \"ExportActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"TotalSystemPowerDemand\",\t                \"description\": \"TotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"ImportReactiveEnergy\",\t                \"description\": \"ImportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"MaxTotalSystemPowerDemand\",\t                \"description\": \"MaxTotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 78,\t                \"name\": \"ExportReactiveEnergy\",\t                \"description\": \"ExportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 88,\t                \"name\": \"ImportSystemPowerDemand\",\t                \"description\": \"ImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 90,\t                \"name\": \"MaxImportSystemPowerDemand\",\t                \"description\": \"MaxImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 92,\t                \"name\": \"ExportSystemPowerDemand\",\t                \"description\": \"ExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 94,\t                \"name\": \"MaxExportSystemPowerDemand\",\t                \"description\": \"MaxExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 258,\t                \"name\": \"CurrentDemand\",\t                \"description\": \"CurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 264,\t                \"name\": \"MaxCurrentDemand\",\t                \"description\": \"MaxCurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 342,\t                \"name\": \"TotalActiveEnergy\",\t                \"description\": \"TotalActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 344,\t                \"name\": \"TotalReactiveEnergy\",\t                \"description\": \"TotalReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            }\t]",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 730,
                       "y": 860,
                       "wires": [
                           [
                               "833e22472f593063"
                           ]
                       ]
                   },
                   {
                       "id": "8b8fb28987277d75",
                       "type": "function",
                       "z": "7e6af0015415146d",
                       "name": "Trigger IDs",
                       "func": "if (msg.payload) {\n    context.set(\"data\",msg.payload);\n    context.set(\"pointer\",0)\n}\nvar array = context.get(\"data\");\nvar pointer = context.get(\"pointer\");\npointer ++;\n\nif ( pointer <= array.length)\n{\n    msg.payload = array[pointer - 1];\n    context.set(\"pointer\",pointer);\n    return msg;\n}\n\n",
                       "outputs": 1,
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 550,
                       "y": 860,
                       "wires": [
                           [
                               "36239d1d9d361a2e"
                           ]
                       ]
                   },
                   {
                       "id": "6521f44463e25c3c",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "Mehrere IDs",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "[10,11,12]",
                       "payloadType": "json",
                       "x": 230,
                       "y": 860,
                       "wires": [
                           [
                               "8b8fb28987277d75",
                               "1332eadf8470bb16"
                           ]
                       ]
                   },
                   {
                       "id": "557989f42ddad473",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "Read Modbus",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t   \"fc\": 4,\t   \"unitid\": payload.unitId,\t   \"address\": payload._address,\t   \"quantity\": 2,\t   \"value\": 2\t}",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1080,
                       "y": 860,
                       "wires": [
                           [
                               "0f4f661c760aa72b"
                           ]
                       ]
                   },
                   {
                       "id": "833e22472f593063",
                       "type": "split",
                       "z": "7e6af0015415146d",
                       "name": "split Array",
                       "splt": "\\n",
                       "spltType": "str",
                       "arraySplt": 1,
                       "arraySpltType": "len",
                       "stream": false,
                       "addname": "",
                       "x": 900,
                       "y": 860,
                       "wires": [
                           [
                               "557989f42ddad473"
                           ]
                       ]
                   },
                   {
                       "id": "0f4f661c760aa72b",
                       "type": "function",
                       "z": "7e6af0015415146d",
                       "name": "Simulate Modbus getter",
                       "func": "var newmsg= {\n    payload : {\n        data : [0,0],\n        buffer: Buffer.alloc(3)\n    },\n    modbusRequest : {\n        address : 99,\n        quantity : 2\n    }\n}\n\n\nreturn [newmsg,msg];",
                       "outputs": 2,
                       "noerr": 0,
                       "initialize": "",
                       "finalize": "",
                       "libs": [],
                       "x": 1310,
                       "y": 860,
                       "wires": [
                           [
                               "5e5a202488c31ae0"
                           ],
                           [
                               "7b697360af0a0b1f"
                           ]
                       ]
                   },
                   {
                       "id": "5e5a202488c31ae0",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "WriteModbus",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t    \"value\": payload,\t    \"fc\": 6,\t    \"unitid\" : 1, /* unitId */\t    \"address\": modbusRequest.address,\t    \"quantity\": modbusRequest.quantity\t}",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1530,
                       "y": 840,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "112befc65439e8b7",
                       "type": "comment",
                       "z": "7e6af0015415146d",
                       "name": "Getriggert by Getter Node",
                       "info": "",
                       "x": 230,
                       "y": 800,
                       "wires": []
                   },
                   {
                       "id": "4a433464d06dc6d8",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "Trigger next ID",
                       "rules": [
                           {
                               "t": "set",
                               "p": "trigger",
                               "pt": "msg",
                               "to": "true",
                               "tot": "bool"
                           },
                           {
                               "t": "delete",
                               "p": "payload",
                               "pt": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 880,
                       "y": 920,
                       "wires": [
                           [
                               "8b8fb28987277d75"
                           ]
                       ]
                   },
                   {
                       "id": "7b697360af0a0b1f",
                       "type": "rbe",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "func": "rbe",
                       "gap": "",
                       "start": "",
                       "inout": "out",
                       "septopics": false,
                       "property": "payload.unitid",
                       "topi": "topic",
                       "x": 1310,
                       "y": 980,
                       "wires": [
                           [
                               "4a433464d06dc6d8",
                               "d3be5bf799cfff52"
                           ]
                       ]
                   },
                   {
                       "id": "1332eadf8470bb16",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "reset",
                               "pt": "msg",
                               "to": "true",
                               "tot": "bool"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 460,
                       "y": 980,
                       "wires": [
                           [
                               "7b697360af0a0b1f"
                           ]
                       ]
                   },
                   {
                       "id": "d3be5bf799cfff52",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "new ID",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1500,
                       "y": 980,
                       "wires": []
                   }
                ]
                

                Dann kann man nämlich auch mal eine andere Reihenfolge beim createArray erstellen verwenden ohne das es Folgen haben würde. ;)

                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.

                M 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @malaus Na ja - ich verstehe, weil Du sagst das ist das letzte Element in Deinem array. Dann finde ich es intuitiver und besser - wirklich die id als topic zu nehmen und hab mal eine filter Node verwendet. Ich weiss nicht, ob aus dem unteren Teil einfach die Eingangsobjekte durchgereicht werden. Aber dann spart man sich das topic einfach.

                  Falls also am unteren Ausgang der GETTER Node einfach das Eingangsobjekt durchkommt:
                  Für mich wäre dann das am saubersten:

                  8db35761-97e7-40f7-930b-891dc36509f7-image.png

                  [
                     {
                         "id": "36239d1d9d361a2e",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "create Array",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "[\t            {\t                \"unitId\": payload,\t                \"_address\": 0,\t                \"name\": \"Voltage\",\t                \"description\": \"Voltage\",\t                \"unit\": \"V\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 6,\t                \"name\": \"Current\",\t                \"description\": \"Current\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 12,\t                \"name\": \"ActivePower\",\t                \"description\": \"Active Power\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 18,\t                \"name\": \"ApparentPower\",\t                \"description\": \"ApparentPower\",\t                \"unit\": \"VA\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 24,\t                \"name\": \"ReactivePower\",\t                \"description\": \"ReactivePower\",\t                \"unit\": \"VAr\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 30,\t                \"name\": \"PowerFactor\",\t                \"description\": \"PowerFactor\",\t                \"unit\": \"\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 70,\t                \"name\": \"Frequency\",\t                \"description\": \"Frequency\",\t                \"unit\": \"Hz\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 72,\t                \"name\": \"ActiveEnergy\",\t                \"description\": \"Active Energy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"ExportActiveEnergy\",\t                \"description\": \"ExportActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"TotalSystemPowerDemand\",\t                \"description\": \"TotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"ImportReactiveEnergy\",\t                \"description\": \"ImportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"MaxTotalSystemPowerDemand\",\t                \"description\": \"MaxTotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 78,\t                \"name\": \"ExportReactiveEnergy\",\t                \"description\": \"ExportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 88,\t                \"name\": \"ImportSystemPowerDemand\",\t                \"description\": \"ImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 90,\t                \"name\": \"MaxImportSystemPowerDemand\",\t                \"description\": \"MaxImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 92,\t                \"name\": \"ExportSystemPowerDemand\",\t                \"description\": \"ExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 94,\t                \"name\": \"MaxExportSystemPowerDemand\",\t                \"description\": \"MaxExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 258,\t                \"name\": \"CurrentDemand\",\t                \"description\": \"CurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 264,\t                \"name\": \"MaxCurrentDemand\",\t                \"description\": \"MaxCurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 342,\t                \"name\": \"TotalActiveEnergy\",\t                \"description\": \"TotalActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 344,\t                \"name\": \"TotalReactiveEnergy\",\t                \"description\": \"TotalReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            }\t]",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 730,
                         "y": 860,
                         "wires": [
                             [
                                 "833e22472f593063"
                             ]
                         ]
                     },
                     {
                         "id": "8b8fb28987277d75",
                         "type": "function",
                         "z": "7e6af0015415146d",
                         "name": "Trigger IDs",
                         "func": "if (msg.payload) {\n    context.set(\"data\",msg.payload);\n    context.set(\"pointer\",0)\n}\nvar array = context.get(\"data\");\nvar pointer = context.get(\"pointer\");\npointer ++;\n\nif ( pointer <= array.length)\n{\n    msg.payload = array[pointer - 1];\n    context.set(\"pointer\",pointer);\n    return msg;\n}\n\n",
                         "outputs": 1,
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 550,
                         "y": 860,
                         "wires": [
                             [
                                 "36239d1d9d361a2e"
                             ]
                         ]
                     },
                     {
                         "id": "6521f44463e25c3c",
                         "type": "inject",
                         "z": "7e6af0015415146d",
                         "name": "Mehrere IDs",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[10,11,12]",
                         "payloadType": "json",
                         "x": 230,
                         "y": 860,
                         "wires": [
                             [
                                 "8b8fb28987277d75",
                                 "1332eadf8470bb16"
                             ]
                         ]
                     },
                     {
                         "id": "557989f42ddad473",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "Read Modbus",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t   \"fc\": 4,\t   \"unitid\": payload.unitId,\t   \"address\": payload._address,\t   \"quantity\": 2,\t   \"value\": 2\t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1080,
                         "y": 860,
                         "wires": [
                             [
                                 "0f4f661c760aa72b"
                             ]
                         ]
                     },
                     {
                         "id": "833e22472f593063",
                         "type": "split",
                         "z": "7e6af0015415146d",
                         "name": "split Array",
                         "splt": "\\n",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 900,
                         "y": 860,
                         "wires": [
                             [
                                 "557989f42ddad473"
                             ]
                         ]
                     },
                     {
                         "id": "0f4f661c760aa72b",
                         "type": "function",
                         "z": "7e6af0015415146d",
                         "name": "Simulate Modbus getter",
                         "func": "var newmsg= {\n    payload : {\n        data : [0,0],\n        buffer: Buffer.alloc(3)\n    },\n    modbusRequest : {\n        address : 99,\n        quantity : 2\n    }\n}\n\n\nreturn [newmsg,msg];",
                         "outputs": 2,
                         "noerr": 0,
                         "initialize": "",
                         "finalize": "",
                         "libs": [],
                         "x": 1310,
                         "y": 860,
                         "wires": [
                             [
                                 "5e5a202488c31ae0"
                             ],
                             [
                                 "7b697360af0a0b1f"
                             ]
                         ]
                     },
                     {
                         "id": "5e5a202488c31ae0",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "WriteModbus",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t    \"value\": payload,\t    \"fc\": 6,\t    \"unitid\" : 1, /* unitId */\t    \"address\": modbusRequest.address,\t    \"quantity\": modbusRequest.quantity\t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1530,
                         "y": 840,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "112befc65439e8b7",
                         "type": "comment",
                         "z": "7e6af0015415146d",
                         "name": "Getriggert by Getter Node",
                         "info": "",
                         "x": 230,
                         "y": 800,
                         "wires": []
                     },
                     {
                         "id": "4a433464d06dc6d8",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "Trigger next ID",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "trigger",
                                 "pt": "msg",
                                 "to": "true",
                                 "tot": "bool"
                             },
                             {
                                 "t": "delete",
                                 "p": "payload",
                                 "pt": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 880,
                         "y": 920,
                         "wires": [
                             [
                                 "8b8fb28987277d75"
                             ]
                         ]
                     },
                     {
                         "id": "7b697360af0a0b1f",
                         "type": "rbe",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "func": "rbe",
                         "gap": "",
                         "start": "",
                         "inout": "out",
                         "septopics": false,
                         "property": "payload.unitid",
                         "topi": "topic",
                         "x": 1310,
                         "y": 980,
                         "wires": [
                             [
                                 "4a433464d06dc6d8",
                                 "d3be5bf799cfff52"
                             ]
                         ]
                     },
                     {
                         "id": "1332eadf8470bb16",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "reset",
                                 "pt": "msg",
                                 "to": "true",
                                 "tot": "bool"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 460,
                         "y": 980,
                         "wires": [
                             [
                                 "7b697360af0a0b1f"
                             ]
                         ]
                     },
                     {
                         "id": "d3be5bf799cfff52",
                         "type": "debug",
                         "z": "7e6af0015415146d",
                         "name": "new ID",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1500,
                         "y": 980,
                         "wires": []
                     }
                  ]
                  

                  Dann kann man nämlich auch mal eine andere Reihenfolge beim createArray erstellen verwenden ohne das es Folgen haben würde. ;)

                  M Offline
                  M Offline
                  Malaus
                  schrieb am zuletzt editiert von
                  #21

                  @mickym
                  b7e59bee-f32b-4e6c-abb3-c75e9ccf6d14-image.png

                  Bei debug 19 erhalte ich keine Werte. Der Durchlauf wird nur mit einer ID gemacht.
                  Den Filter verstehe ich nicht so ganz:
                  a5443fb9-a5cf-4bfe-8617-41e7e02753eb-image.png

                  Bei Read Modbus hast du das Topic rausgenommen, ist das so gewollt? Ändert aber auch nichts, wenn ich es wieder einsetze.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • M Malaus

                    @mickym
                    b7e59bee-f32b-4e6c-abb3-c75e9ccf6d14-image.png

                    Bei debug 19 erhalte ich keine Werte. Der Durchlauf wird nur mit einer ID gemacht.
                    Den Filter verstehe ich nicht so ganz:
                    a5443fb9-a5cf-4bfe-8617-41e7e02753eb-image.png

                    Bei Read Modbus hast du das Topic rausgenommen, ist das so gewollt? Ändert aber auch nichts, wenn ich es wieder einsetze.

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #22

                    @malaus Ja ich weiss - ich war der Meinung . dass unten einfach die Eingangsobjekte rauskommen - deswegen habe ich das topic auch wieder raus genommen. Kannst Du mal die Nachrichten, die aus debug 18 rauskommen posten und ist da die ID drin? Ich kann halt immer nur Vermutungen anstellen, was die GETTER Node ausspukt. ;) Am Besten das ganze Nachrichtenobjekt in debug 18 ausgeben lassen und hier in CodeTags einbetten.

                    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.

                    M 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @malaus Ja ich weiss - ich war der Meinung . dass unten einfach die Eingangsobjekte rauskommen - deswegen habe ich das topic auch wieder raus genommen. Kannst Du mal die Nachrichten, die aus debug 18 rauskommen posten und ist da die ID drin? Ich kann halt immer nur Vermutungen anstellen, was die GETTER Node ausspukt. ;) Am Besten das ganze Nachrichtenobjekt in debug 18 ausgeben lassen und hier in CodeTags einbetten.

                      M Offline
                      M Offline
                      Malaus
                      schrieb am zuletzt editiert von
                      #23

                      @mickym
                      26511c59-dced-4006-904f-9c10dbf5c554-image.png

                      Die Getter Node spuckt mir jeden Wert einzeln aus.

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • M Malaus

                        @mickym
                        26511c59-dced-4006-904f-9c10dbf5c554-image.png

                        Die Getter Node spuckt mir jeden Wert einzeln aus.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #24

                        Nein ok - ich habe gerade einen Denkfehler gemacht - es wird ja nun bei jedem 1. Element geändert - sorry mein Fehler. Ich werde was einbauen, dass man das letzte Element automatisch erkennt. Sorry - einen Augenblick!!!
                        Noch eine Frage ich sehe gerade die GETTER node - und deshalb auch der Fehler die queued je ID. ;)

                        Kannst Du mal schauen, ob das letzte Element aus debug 18 queuelength 0 hat?

                        f7541025-64f1-4641-9da7-ee7f625253e7-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.

                        M 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          Nein ok - ich habe gerade einen Denkfehler gemacht - es wird ja nun bei jedem 1. Element geändert - sorry mein Fehler. Ich werde was einbauen, dass man das letzte Element automatisch erkennt. Sorry - einen Augenblick!!!
                          Noch eine Frage ich sehe gerade die GETTER node - und deshalb auch der Fehler die queued je ID. ;)

                          Kannst Du mal schauen, ob das letzte Element aus debug 18 queuelength 0 hat?

                          f7541025-64f1-4641-9da7-ee7f625253e7-image.png

                          M Offline
                          M Offline
                          Malaus
                          schrieb am zuletzt editiert von
                          #25

                          @mickym das letzte hat die 20

                          3fc02eb3-82ef-4a6b-afc3-feeab3a439a4-image.png

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • M Malaus

                            @mickym das letzte hat die 20

                            3fc02eb3-82ef-4a6b-afc3-feeab3a439a4-image.png

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #26

                            Ok danke. ;) - Das heißt die queuelänge baut sich auf und wird nur intern abgearbeitet ;)

                            Die msg.parts Eigenschaft scheint nicht durch zu kommen, sondern nur das topic - dann müssen wir ggf. doch das topic nutzen aber nicht anhand des Namens sondern dann würde ich wirklich nach der msg.parts Eigenschaft das topic setzen.

                            das heißt wir wissen ja wieviele Elemente kommen und setzten da topic entsprechend.

                            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.

                            M 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              Ok danke. ;) - Das heißt die queuelänge baut sich auf und wird nur intern abgearbeitet ;)

                              Die msg.parts Eigenschaft scheint nicht durch zu kommen, sondern nur das topic - dann müssen wir ggf. doch das topic nutzen aber nicht anhand des Namens sondern dann würde ich wirklich nach der msg.parts Eigenschaft das topic setzen.

                              das heißt wir wissen ja wieviele Elemente kommen und setzten da topic entsprechend.

                              M Offline
                              M Offline
                              Malaus
                              schrieb am zuletzt editiert von
                              #27

                              @mickym
                              das erste:
                              e8014b45-e262-4662-8f09-74729f4fbee8-image.png

                              das letzte:
                              cda61a06-3590-465e-bcb6-6ed44750a75d-image.png

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • M Malaus

                                @mickym
                                das erste:
                                e8014b45-e262-4662-8f09-74729f4fbee8-image.png

                                das letzte:
                                cda61a06-3590-465e-bcb6-6ed44750a75d-image.png

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #28

                                @malaus Ok wenn das topic das Einzige war was durchkommt (das msg.parts Objekt wird leider durch die GETTER Node nicht durchgereicht oder ist das enthalten?) , dann nehmen wir im Prinzip deine Lösung, setzen das topic aber nicht einen bestimmten Namen in dem array, sondern lassen einfach runterzählen. ;)

                                a933b1df-2e2c-4eac-98f6-3838033521a4-image.png

                                Das sollte dann aber auch tun. ;)

                                Ist also im Prinzip dein Flow mit dem switch als trigger nur das ich im topic nun die Anzahl der noch zu erwartenden Elemente durchreiche:

                                [
                                   {
                                       "id": "36239d1d9d361a2e",
                                       "type": "change",
                                       "z": "7e6af0015415146d",
                                       "name": "create Array",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "[\t            {\t                \"unitId\": payload,\t                \"_address\": 0,\t                \"name\": \"Voltage\",\t                \"description\": \"Voltage\",\t                \"unit\": \"V\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 6,\t                \"name\": \"Current\",\t                \"description\": \"Current\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 12,\t                \"name\": \"ActivePower\",\t                \"description\": \"Active Power\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 18,\t                \"name\": \"ApparentPower\",\t                \"description\": \"ApparentPower\",\t                \"unit\": \"VA\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 24,\t                \"name\": \"ReactivePower\",\t                \"description\": \"ReactivePower\",\t                \"unit\": \"VAr\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 30,\t                \"name\": \"PowerFactor\",\t                \"description\": \"PowerFactor\",\t                \"unit\": \"\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 70,\t                \"name\": \"Frequency\",\t                \"description\": \"Frequency\",\t                \"unit\": \"Hz\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 72,\t                \"name\": \"ActiveEnergy\",\t                \"description\": \"Active Energy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"ExportActiveEnergy\",\t                \"description\": \"ExportActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"TotalSystemPowerDemand\",\t                \"description\": \"TotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"ImportReactiveEnergy\",\t                \"description\": \"ImportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"MaxTotalSystemPowerDemand\",\t                \"description\": \"MaxTotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 78,\t                \"name\": \"ExportReactiveEnergy\",\t                \"description\": \"ExportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 88,\t                \"name\": \"ImportSystemPowerDemand\",\t                \"description\": \"ImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 90,\t                \"name\": \"MaxImportSystemPowerDemand\",\t                \"description\": \"MaxImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 92,\t                \"name\": \"ExportSystemPowerDemand\",\t                \"description\": \"ExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 94,\t                \"name\": \"MaxExportSystemPowerDemand\",\t                \"description\": \"MaxExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 258,\t                \"name\": \"CurrentDemand\",\t                \"description\": \"CurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 264,\t                \"name\": \"MaxCurrentDemand\",\t                \"description\": \"MaxCurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 342,\t                \"name\": \"TotalActiveEnergy\",\t                \"description\": \"TotalActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 344,\t                \"name\": \"TotalReactiveEnergy\",\t                \"description\": \"TotalReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            }\t]",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 730,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "833e22472f593063"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "8b8fb28987277d75",
                                       "type": "function",
                                       "z": "7e6af0015415146d",
                                       "name": "Trigger IDs",
                                       "func": "if (msg.payload) {\n    context.set(\"data\",msg.payload);\n    context.set(\"pointer\",0)\n}\nvar array = context.get(\"data\");\nvar pointer = context.get(\"pointer\");\npointer ++;\n\nif ( pointer <= array.length)\n{\n    msg.payload = array[pointer - 1];\n    context.set(\"pointer\",pointer);\n    return msg;\n}\n\n",
                                       "outputs": 1,
                                       "noerr": 0,
                                       "initialize": "",
                                       "finalize": "",
                                       "libs": [],
                                       "x": 550,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "36239d1d9d361a2e"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "6521f44463e25c3c",
                                       "type": "inject",
                                       "z": "7e6af0015415146d",
                                       "name": "Mehrere IDs",
                                       "props": [
                                           {
                                               "p": "payload"
                                           }
                                       ],
                                       "repeat": "",
                                       "crontab": "",
                                       "once": false,
                                       "onceDelay": 0.1,
                                       "topic": "",
                                       "payload": "[10,11,12]",
                                       "payloadType": "json",
                                       "x": 230,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "8b8fb28987277d75"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "557989f42ddad473",
                                       "type": "change",
                                       "z": "7e6af0015415146d",
                                       "name": "Read Modbus",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "topic",
                                               "pt": "msg",
                                               "to": "parts.count - parts.index - 1",
                                               "tot": "jsonata"
                                           },
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "{\t   \"fc\": 4,\t   \"unitid\": payload.unitId,\t   \"address\": payload._address,\t   \"quantity\": 2,\t   \"value\": 2\t}",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 1080,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "0f4f661c760aa72b"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "833e22472f593063",
                                       "type": "split",
                                       "z": "7e6af0015415146d",
                                       "name": "split Array",
                                       "splt": "\\n",
                                       "spltType": "str",
                                       "arraySplt": 1,
                                       "arraySpltType": "len",
                                       "stream": false,
                                       "addname": "",
                                       "x": 900,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "557989f42ddad473"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "0f4f661c760aa72b",
                                       "type": "function",
                                       "z": "7e6af0015415146d",
                                       "name": "Simulate Modbus getter",
                                       "func": "var msg2 = {\n    topic : msg.topic,\n    queueLengthByUnitId : {\n        unitID: msg.payload.unitid,\n        queueLength: msg.parts.index\n    }\n}\n\n\nvar msg1 = {\n    payload : {\n        data : [0,0],\n        buffer: Buffer.alloc(3)\n    },\n    modbusRequest : {\n        address : 99,\n        quantity : 2\n    }\n}\n\n\nreturn [msg1,msg2];",
                                       "outputs": 2,
                                       "noerr": 0,
                                       "initialize": "",
                                       "finalize": "",
                                       "libs": [],
                                       "x": 1310,
                                       "y": 860,
                                       "wires": [
                                           [
                                               "5e5a202488c31ae0"
                                           ],
                                           [
                                               "3a68bda0a135f481"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "5e5a202488c31ae0",
                                       "type": "change",
                                       "z": "7e6af0015415146d",
                                       "name": "WriteModbus",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "{\t    \"value\": payload,\t    \"fc\": 6,\t    \"unitid\" : 1, /* unitId */\t    \"address\": modbusRequest.address,\t    \"quantity\": modbusRequest.quantity\t}",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 1530,
                                       "y": 840,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "112befc65439e8b7",
                                       "type": "comment",
                                       "z": "7e6af0015415146d",
                                       "name": "Getriggert by Getter Node",
                                       "info": "",
                                       "x": 230,
                                       "y": 800,
                                       "wires": []
                                   },
                                   {
                                       "id": "4a433464d06dc6d8",
                                       "type": "change",
                                       "z": "7e6af0015415146d",
                                       "name": "Trigger next ID",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "trigger",
                                               "pt": "msg",
                                               "to": "true",
                                               "tot": "bool"
                                           },
                                           {
                                               "t": "delete",
                                               "p": "payload",
                                               "pt": "msg"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 780,
                                       "y": 920,
                                       "wires": [
                                           [
                                               "8b8fb28987277d75"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "315c37ef4aceb5d4",
                                       "type": "debug",
                                       "z": "7e6af0015415146d",
                                       "name": "next ID wenn topic 0 (array zu ende)",
                                       "active": true,
                                       "tosidebar": true,
                                       "console": false,
                                       "tostatus": false,
                                       "complete": "true",
                                       "targetType": "full",
                                       "statusVal": "",
                                       "statusType": "auto",
                                       "x": 1330,
                                       "y": 980,
                                       "wires": []
                                   },
                                   {
                                       "id": "3a68bda0a135f481",
                                       "type": "switch",
                                       "z": "7e6af0015415146d",
                                       "name": "",
                                       "property": "topic",
                                       "propertyType": "msg",
                                       "rules": [
                                           {
                                               "t": "eq",
                                               "v": "0",
                                               "vt": "num"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 1,
                                       "x": 1050,
                                       "y": 980,
                                       "wires": [
                                           [
                                               "4a433464d06dc6d8",
                                               "315c37ef4aceb5d4"
                                           ]
                                       ]
                                   }
                                ]
                                

                                Hier konntest Du ja auch nach dem topic filtern: https://forum.iobroker.net/post/947167 - also sollte es jetzt auch gehen.

                                Wie gesagt Deine Lösung https://forum.iobroker.net/post/947177 funktioniert ja auch - aber mich würde halt stören, dass ich als Marker für das array Ende einen festen Namen im Array verwenden muss. ;)

                                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.

                                M 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @malaus Ok wenn das topic das Einzige war was durchkommt (das msg.parts Objekt wird leider durch die GETTER Node nicht durchgereicht oder ist das enthalten?) , dann nehmen wir im Prinzip deine Lösung, setzen das topic aber nicht einen bestimmten Namen in dem array, sondern lassen einfach runterzählen. ;)

                                  a933b1df-2e2c-4eac-98f6-3838033521a4-image.png

                                  Das sollte dann aber auch tun. ;)

                                  Ist also im Prinzip dein Flow mit dem switch als trigger nur das ich im topic nun die Anzahl der noch zu erwartenden Elemente durchreiche:

                                  [
                                     {
                                         "id": "36239d1d9d361a2e",
                                         "type": "change",
                                         "z": "7e6af0015415146d",
                                         "name": "create Array",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "[\t            {\t                \"unitId\": payload,\t                \"_address\": 0,\t                \"name\": \"Voltage\",\t                \"description\": \"Voltage\",\t                \"unit\": \"V\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 6,\t                \"name\": \"Current\",\t                \"description\": \"Current\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 12,\t                \"name\": \"ActivePower\",\t                \"description\": \"Active Power\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 18,\t                \"name\": \"ApparentPower\",\t                \"description\": \"ApparentPower\",\t                \"unit\": \"VA\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 24,\t                \"name\": \"ReactivePower\",\t                \"description\": \"ReactivePower\",\t                \"unit\": \"VAr\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 30,\t                \"name\": \"PowerFactor\",\t                \"description\": \"PowerFactor\",\t                \"unit\": \"\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 70,\t                \"name\": \"Frequency\",\t                \"description\": \"Frequency\",\t                \"unit\": \"Hz\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 72,\t                \"name\": \"ActiveEnergy\",\t                \"description\": \"Active Energy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"ExportActiveEnergy\",\t                \"description\": \"ExportActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 74,\t                \"name\": \"TotalSystemPowerDemand\",\t                \"description\": \"TotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"ImportReactiveEnergy\",\t                \"description\": \"ImportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 76,\t                \"name\": \"MaxTotalSystemPowerDemand\",\t                \"description\": \"MaxTotalSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 78,\t                \"name\": \"ExportReactiveEnergy\",\t                \"description\": \"ExportReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 88,\t                \"name\": \"ImportSystemPowerDemand\",\t                \"description\": \"ImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 90,\t                \"name\": \"MaxImportSystemPowerDemand\",\t                \"description\": \"MaxImportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 92,\t                \"name\": \"ExportSystemPowerDemand\",\t                \"description\": \"ExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 94,\t                \"name\": \"MaxExportSystemPowerDemand\",\t                \"description\": \"MaxExportSystemPowerDemand\",\t                \"unit\": \"W\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 258,\t                \"name\": \"CurrentDemand\",\t                \"description\": \"CurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 264,\t                \"name\": \"MaxCurrentDemand\",\t                \"description\": \"MaxCurrentDemand\",\t                \"unit\": \"A\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 342,\t                \"name\": \"TotalActiveEnergy\",\t                \"description\": \"TotalActiveEnergy\",\t                \"unit\": \"kWh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            },\t            {\t                \"unitId\": payload,\t                \"_address\": 344,\t                \"name\": \"TotalReactiveEnergy\",\t                \"description\": \"TotalReactiveEnergy\",\t                \"unit\": \"kvarh\",\t                \"type\": \"floatbe\",\t                \"len\": 2,\t                \"factor\": 1,\t                \"offset\": 0,\t                \"formula\": \"\",\t                \"role\": \"level\",\t                \"room\": \"\",\t                \"cw\": false,\t                \"isScale\": false\t            }\t]",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 730,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "833e22472f593063"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "8b8fb28987277d75",
                                         "type": "function",
                                         "z": "7e6af0015415146d",
                                         "name": "Trigger IDs",
                                         "func": "if (msg.payload) {\n    context.set(\"data\",msg.payload);\n    context.set(\"pointer\",0)\n}\nvar array = context.get(\"data\");\nvar pointer = context.get(\"pointer\");\npointer ++;\n\nif ( pointer <= array.length)\n{\n    msg.payload = array[pointer - 1];\n    context.set(\"pointer\",pointer);\n    return msg;\n}\n\n",
                                         "outputs": 1,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "libs": [],
                                         "x": 550,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "36239d1d9d361a2e"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "6521f44463e25c3c",
                                         "type": "inject",
                                         "z": "7e6af0015415146d",
                                         "name": "Mehrere IDs",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "[10,11,12]",
                                         "payloadType": "json",
                                         "x": 230,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "8b8fb28987277d75"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "557989f42ddad473",
                                         "type": "change",
                                         "z": "7e6af0015415146d",
                                         "name": "Read Modbus",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "to": "parts.count - parts.index - 1",
                                                 "tot": "jsonata"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "{\t   \"fc\": 4,\t   \"unitid\": payload.unitId,\t   \"address\": payload._address,\t   \"quantity\": 2,\t   \"value\": 2\t}",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1080,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "0f4f661c760aa72b"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "833e22472f593063",
                                         "type": "split",
                                         "z": "7e6af0015415146d",
                                         "name": "split Array",
                                         "splt": "\\n",
                                         "spltType": "str",
                                         "arraySplt": 1,
                                         "arraySpltType": "len",
                                         "stream": false,
                                         "addname": "",
                                         "x": 900,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "557989f42ddad473"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "0f4f661c760aa72b",
                                         "type": "function",
                                         "z": "7e6af0015415146d",
                                         "name": "Simulate Modbus getter",
                                         "func": "var msg2 = {\n    topic : msg.topic,\n    queueLengthByUnitId : {\n        unitID: msg.payload.unitid,\n        queueLength: msg.parts.index\n    }\n}\n\n\nvar msg1 = {\n    payload : {\n        data : [0,0],\n        buffer: Buffer.alloc(3)\n    },\n    modbusRequest : {\n        address : 99,\n        quantity : 2\n    }\n}\n\n\nreturn [msg1,msg2];",
                                         "outputs": 2,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "libs": [],
                                         "x": 1310,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "5e5a202488c31ae0"
                                             ],
                                             [
                                                 "3a68bda0a135f481"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "5e5a202488c31ae0",
                                         "type": "change",
                                         "z": "7e6af0015415146d",
                                         "name": "WriteModbus",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "{\t    \"value\": payload,\t    \"fc\": 6,\t    \"unitid\" : 1, /* unitId */\t    \"address\": modbusRequest.address,\t    \"quantity\": modbusRequest.quantity\t}",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1530,
                                         "y": 840,
                                         "wires": [
                                             []
                                         ]
                                     },
                                     {
                                         "id": "112befc65439e8b7",
                                         "type": "comment",
                                         "z": "7e6af0015415146d",
                                         "name": "Getriggert by Getter Node",
                                         "info": "",
                                         "x": 230,
                                         "y": 800,
                                         "wires": []
                                     },
                                     {
                                         "id": "4a433464d06dc6d8",
                                         "type": "change",
                                         "z": "7e6af0015415146d",
                                         "name": "Trigger next ID",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "trigger",
                                                 "pt": "msg",
                                                 "to": "true",
                                                 "tot": "bool"
                                             },
                                             {
                                                 "t": "delete",
                                                 "p": "payload",
                                                 "pt": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 780,
                                         "y": 920,
                                         "wires": [
                                             [
                                                 "8b8fb28987277d75"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "315c37ef4aceb5d4",
                                         "type": "debug",
                                         "z": "7e6af0015415146d",
                                         "name": "next ID wenn topic 0 (array zu ende)",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "true",
                                         "targetType": "full",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1330,
                                         "y": 980,
                                         "wires": []
                                     },
                                     {
                                         "id": "3a68bda0a135f481",
                                         "type": "switch",
                                         "z": "7e6af0015415146d",
                                         "name": "",
                                         "property": "topic",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "eq",
                                                 "v": "0",
                                                 "vt": "num"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 1050,
                                         "y": 980,
                                         "wires": [
                                             [
                                                 "4a433464d06dc6d8",
                                                 "315c37ef4aceb5d4"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  Hier konntest Du ja auch nach dem topic filtern: https://forum.iobroker.net/post/947167 - also sollte es jetzt auch gehen.

                                  Wie gesagt Deine Lösung https://forum.iobroker.net/post/947177 funktioniert ja auch - aber mich würde halt stören, dass ich als Marker für das array Ende einen festen Namen im Array verwenden muss. ;)

                                  M Offline
                                  M Offline
                                  Malaus
                                  schrieb am zuletzt editiert von
                                  #29

                                  @mickym ich musste die zahlen um eins erhöhen, weil der die null nicht wollte aber jetzt funktioniert es.
                                  Die letzte Zahl ist also die 1.

                                  Ich habe den Trigger ID´s nochmal angepasst, damit am Ende es automatisch wieder von vorne anfängt.
                                  Ansonsten funktioniert es jetzt.
                                  Danke!

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • M Malaus

                                    @mickym ich musste die zahlen um eins erhöhen, weil der die null nicht wollte aber jetzt funktioniert es.
                                    Die letzte Zahl ist also die 1.

                                    Ich habe den Trigger ID´s nochmal angepasst, damit am Ende es automatisch wieder von vorne anfängt.
                                    Ansonsten funktioniert es jetzt.
                                    Danke!

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #30

                                    @malaus Ich habs zwar nicht verstanden, warum die 0 nicht funktioniert - aber wenn es jetzt funktioniert bin ich erst mal raus. Ich denke Du hast das Prinzip ja verstanden. Vielleicht setzt die GETTER Node ein eigenes topic wenn keines gesetzt war und interpretiert deshalb die 0 als falsch. Das kann natürlich sein und Du hast Dir ja dann geholfen. Wie gesagt, ich habe halt keine getter Nodes und tapse deshalb bissi im Dunkeln.

                                    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.

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @malaus Ich habs zwar nicht verstanden, warum die 0 nicht funktioniert - aber wenn es jetzt funktioniert bin ich erst mal raus. Ich denke Du hast das Prinzip ja verstanden. Vielleicht setzt die GETTER Node ein eigenes topic wenn keines gesetzt war und interpretiert deshalb die 0 als falsch. Das kann natürlich sein und Du hast Dir ja dann geholfen. Wie gesagt, ich habe halt keine getter Nodes und tapse deshalb bissi im Dunkeln.

                                      M Offline
                                      M Offline
                                      Malaus
                                      schrieb am zuletzt editiert von
                                      #31

                                      @mickym mir ist aufgefallen, wenn das ganze mal z.B. durch einen Neustart oä gestoppt wird, nicht von alleine weiter macht. Gibt es bei NodeRed sowas, dass bestimmte Sachen gestartet werden, wenn die Instanz startet?
                                      Ebenfalls habe ich das Gefühl, dass das ganze durch Backitup unterbrochen wird und danach nicht wieder anläuft.

                                      Oder ist sinnvoller eine Art Überwachung, wenn nach x Minuten keine neue Variable eingelesen wird, mache Neustart.

                                      Hast du Erfahrung mit sowas? Bzw. hattest du so einen ähnlichen Fall schon mal?

                                      mickymM 2 Antworten Letzte Antwort
                                      0
                                      • M Malaus

                                        @mickym mir ist aufgefallen, wenn das ganze mal z.B. durch einen Neustart oä gestoppt wird, nicht von alleine weiter macht. Gibt es bei NodeRed sowas, dass bestimmte Sachen gestartet werden, wenn die Instanz startet?
                                        Ebenfalls habe ich das Gefühl, dass das ganze durch Backitup unterbrochen wird und danach nicht wieder anläuft.

                                        Oder ist sinnvoller eine Art Überwachung, wenn nach x Minuten keine neue Variable eingelesen wird, mache Neustart.

                                        Hast du Erfahrung mit sowas? Bzw. hattest du so einen ähnlichen Fall schon mal?

                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #32

                                        @malaus
                                        Also einfach Deine Inject Node aufmachen - mehrere IDs.

                                        359ed340-5939-4547-a2aa-cfa9639d0ce7-image.png

                                        Anhaken, dass einmal nach x Sekunden getriggert wird. Dieses X Sekunden beziehen sich auf den Start von Node-Red oder in dem Fall auf die Adapterinstanz.

                                        Anasonsten kann natürlich alles andere auch triggern. Aber von irgendwas muss ein Flow ja angestossen werden, Hardware, Zeit,manuell oder eben einmal nach dem Start.

                                        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
                                        1
                                        • M Malaus

                                          @mickym mir ist aufgefallen, wenn das ganze mal z.B. durch einen Neustart oä gestoppt wird, nicht von alleine weiter macht. Gibt es bei NodeRed sowas, dass bestimmte Sachen gestartet werden, wenn die Instanz startet?
                                          Ebenfalls habe ich das Gefühl, dass das ganze durch Backitup unterbrochen wird und danach nicht wieder anläuft.

                                          Oder ist sinnvoller eine Art Überwachung, wenn nach x Minuten keine neue Variable eingelesen wird, mache Neustart.

                                          Hast du Erfahrung mit sowas? Bzw. hattest du so einen ähnlichen Fall schon mal?

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #33

                                          @malaus sagte in Node-Red Modbus mehrere Slave ID´s abfragen:

                                          Ebenfalls habe ich das Gefühl, dass das ganze durch Backitup unterbrochen wird und danach nicht wieder anläuft.

                                          Kann ich mir höchstens vorstellen wenn Dein Hardware durch das Backup überfordert wird und zuviel CPU verschlingt. Dann bleiben halt für die anderen Adapter nicht mehr soviel über. Ich bin ja auch grundsätzlich kein Freund - von solchen Pollmechanismen - also zyklisch die Hardware abzufragen - aber das ist eine andere Geschichte. Ich finde es besser immer die Hardware triggern zu lassen.

                                          Das sind aber prinzipielle Fragen - wie man solche Flows aufbaut. Ich hätte wesentlich eher die modbus reads genommen und die Hardware triggern lassen - also zyklisch abzufragen. In der Beschreibung zu der Node sieht man auch http trigger - die also auch nicht zyklisch, sondern von der Hardware initiiert das Auslesen der Getter-Nodes initiiieren.

                                          Lange Rede kurzer Sinn - Du musst halt schauen, ob Deine Hardware durch das Backup nicht in die Knie gezwingen wird.

                                          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.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          689

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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