Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. ioBroker input lesen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ioBroker input lesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hi last edited by Hi

      [Bearbeitet (12.3, 21:25 Uhr)]
      Hi,
      mein aktuelles problem ist, dass ich von ioBroker zwei werte miteinander multiplizieren möchte. Diese beiden werte werden über modbus/TCP von unserer PV anlage abgefragt. Diese werte möchte ich nun in Node JS importieren und miteinander zu multiplizieren um den aktuellen verbrauch in Watt zu bekommen.

      node version: 18.19.1
      npm verison: 10.2.4
      iobroker version: 6.13.16
      adapter: Node red version 3.1.6

      Hardware: raspberry pi 4b 8gb, raspbian 64 lite

      DJMarc75 Samson71 2 Replies Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @Hi last edited by

        @hi

        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

        bitte beachten !

        1 Reply Last reply Reply Quote 0
        • Samson71
          Samson71 Global Moderator @Hi last edited by

          @hi
          Ich denke @DJMarc75 möchte darauf hinweisen, dass hier sicher noch die Basis fehlt um helfen zu können, wie z.B. die Werte/Datenpunkte um die es (konkret) geht. Die Beschreibung ist so etwas "abstrakt" 😉
          Bei Node-Red selbst kann ich aber leider auch nicht helfen.

          H 1 Reply Last reply Reply Quote 2
          • H
            Hi @Samson71 last edited by

            @samson71 Jo, bin aktuell dabei es zu verbessern...

            Samson71 1 Reply Last reply Reply Quote 0
            • Samson71
              Samson71 Global Moderator @Hi last edited by

              @hi
              Gleich der nächste Hinweis:
              Wenn Du den Ursprungspost editierst dies bitte kenntlich machen oder besser die geforderten Angaben als neuen/ergänzenden Post. Das liest sonst oben ggf keiner mehr, bzw erkennt es nicht.

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active last edited by mickym

                Also ich kann Dir helfen 2 Werte in NodeRed zu multiplizieren - was das mit NodeJS zu tun hat weiß ich aber nicht.

                Am besten mach mal einem Flow mit den Werten, die mulitplizieren möchtest - ich geh mal davon aus, dass Du diese über iobroker-IN Nodes triggern lässt.

                H 1 Reply Last reply Reply Quote 0
                • H
                  Hi @mickym last edited by

                  @mickym
                  Ja, ich habe jetzt die ioBroker-IN Nodes drin und jetzt ist mein Problem, dass ich nicht weiß wie ich die Werte aus dieser Node bekomme

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Hi last edited by mickym

                    @hi Über iobroker IN Nodes kommen die Werte nur, wenn diese aktualisiert werden. Wenn Du aktiv Werte auf Kommando holen möchtest musst du den Flow selbst triggern und dann via get Nodes die Werte holen.

                    Letztlich musst Du beide Werte in einem Nachrichtenobjekt sammeln. Das geht entweder über eine JOIN Node oder über den Flow Kontext. (also Variablen).

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      Hi @mickym last edited by

                      @mickym
                      Die werte werden alle 3 sekunden aktualisiert, dies kommt auch bei der IN node an (unten die kleine preview zeigt den Wert an)

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Hi last edited by

                        @hi Na dann sammle beide Werte in einer JOIN Node. Dann kannst diese Objekteigenschaften miteinander multiplizieren.

                        7bd0a491-7145-42fd-91c1-1643e0d55bd0-image.png

                        Statt der Inject nodes hängst halt Deine iobroker In Nodes dran und änderst die topics dementsprechend.

                        Hier der Flow zum Import:

                        [{"id":"1294479ebef1d214","type":"inject","z":"27cc87995d951128","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Wert1","payload":"5","payloadType":"num","x":910,"y":1180,"wires":[["444d72549d7aad6a"]]},{"id":"9b5cbbe28b4f9881","type":"inject","z":"27cc87995d951128","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Wert2","payload":"4","payloadType":"num","x":910,"y":1220,"wires":[["444d72549d7aad6a"]]},{"id":"444d72549d7aad6a","type":"join","z":"27cc87995d951128","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1090,"y":1200,"wires":[["c4c7d61f1aadb0d8","b45936755e6c29fa"]]},{"id":"c4c7d61f1aadb0d8","type":"debug","z":"27cc87995d951128","name":"Objekt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1250,"y":1160,"wires":[]},{"id":"b45936755e6c29fa","type":"change","z":"27cc87995d951128","name":"Multipliziere Wert1 * Wert2","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.Wert1 * payload.Wert2","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1320,"y":1200,"wires":[["2823bccf62186142"]]},{"id":"2823bccf62186142","type":"debug","z":"27cc87995d951128","name":"Produkt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1540,"y":1200,"wires":[]}]
                        

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          Hi @mickym last edited by

                          @mickym
                          01c937bd-1c2d-4d17-bbc7-2514b96986b2-grafik.png
                          ich habe es jetzt so wie oben aufgebaut, jedoch kommt der rechts gezeigte wert die ganze zeit und ich werde nich aus dem manual mode schlau.

                          mickym 2 Replies Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Hi last edited by

                            @hi Du musst das auf manuell stellen.

                            5579053b-498c-4c58-b0ab-31e7a113eb6d-image.png

                            Das topic ist der Pfad bei der iobroker inNode - ich würde Dir empfehlen ein kurzes topic in Form von 2 Change Nodes zu erstellen. Ich ändere meinen Flow nochmal ab - den kannst Du einfach importieren.

                            a76f0c93-961e-4b4f-ab15-1aed3ed68529-image.png

                            hier nochmal zum Import:

                            [{"id":"1294479ebef1d214","type":"inject","z":"27cc87995d951128","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"5","payloadType":"num","x":690,"y":1180,"wires":[["be576b4b3863f064"]]},{"id":"9b5cbbe28b4f9881","type":"inject","z":"27cc87995d951128","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"4","payloadType":"num","x":690,"y":1220,"wires":[["dfa23b486d6efcce"]]},{"id":"444d72549d7aad6a","type":"join","z":"27cc87995d951128","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1090,"y":1200,"wires":[["c4c7d61f1aadb0d8","b45936755e6c29fa"]]},{"id":"c4c7d61f1aadb0d8","type":"debug","z":"27cc87995d951128","name":"Objekt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1250,"y":1160,"wires":[]},{"id":"b45936755e6c29fa","type":"change","z":"27cc87995d951128","name":"Multipliziere Wert1 * Wert2","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.Wert1 * payload.Wert2","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1320,"y":1200,"wires":[["2823bccf62186142"]]},{"id":"2823bccf62186142","type":"debug","z":"27cc87995d951128","name":"Produkt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1540,"y":1200,"wires":[]},{"id":"be576b4b3863f064","type":"change","z":"27cc87995d951128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Wert1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":1180,"wires":[["444d72549d7aad6a"]]},{"id":"dfa23b486d6efcce","type":"change","z":"27cc87995d951128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Wert1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":1220,"wires":[["444d72549d7aad6a"]]}]
                            

                            Mit den ChangeNodes kannst Du eine kurze sprechede Objekteigenschaft erstellen.

                            {"Wert1":5,"Wert2":4}
                            
                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Hi last edited by

                              @hi sagte in ioBroker input lesen:

                              ich habe es jetzt so wie oben aufgebaut, jedoch kommt der rechts gezeigte wert die ganze zeit und ich werde nich aus dem manual mode schlau.

                              Die JOIN Node macht ein Objekt mit einer Objekteigenschaft aus dem topic und dem Wert.

                              In meinem Beispiel sind Wert1 und Wert2 topics - die dann zu Objekteigenschaften des neuen Objektes werden.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.3k
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              javascript node-red
                              4
                              13
                              279
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo