Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. goto in node red

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    goto in node red

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bynight @mickym last edited by

      @mickym Danke! Das deckt sich mit meiner Annahme. Also hänge ich die an den Mitternachts-Zweig an und entferne den zusätzlichen Trigger. 😉

      B 1 Reply Last reply Reply Quote 0
      • B
        bynight @bynight last edited by bynight

        @bynight Hallo Micky, ich hab schon wieder ne Frage:

        ich bekomme von dem Shelly die 3 Phasen korrekt angezeigt.
        Aber sobald ich den SummenNode für die Gesamtleistung anhänge bekomme ich TypeError: Cannot read properties of undefined (reading 'toString'). Hinter den Victron Nodes funktioniert der SummenNode aber.
        Lese ich den Shelly falsch aus oder fehlt weiter hinten noch was oder passt der Summen Node nicht?

        Danke und Gruß,
        Ronald

        [{"id":"89fd986bbb999da8","type":"ui_artlessgauge","z":"82e5452c01cee4bf","group":"e428548ce9e7be58","order":14,"width":8,"height":1,"name":"Summe Shelly 3EM #02","icon":"fa-bar-chart","label":"Summe Shelly 3EM #02","unit":"W","layout":"linear","decimals":"0","differential":true,"minmax":false,"colorTrack":"#555555","style":"","colorFromTheme":true,"property":"payload","secondary":"secondary","inline":false,"animate":true,"sectors":[{"val":-10000,"col":"#00ff00","t":"min","dot":1},{"val":-2000,"col":"#28c828","t":"sec","dot":0},{"val":0,"col":"#cccc00","t":"sec","dot":0},{"val":4400,"col":"#fb6565","t":"sec","dot":0},{"val":7000,"col":"#ff00ff","t":"sec","dot":0},{"val":10000,"col":"#ff00ff","t":"max","dot":1}],"lineWidth":"5","bgcolorFromTheme":true,"diffCenter":"0","x":1270,"y":2560,"wires":[]},{"id":"47f64f65b6d5e911","type":"shelly-gen1","z":"82e5452c01cee4bf","hostname":"192.168.178.84","description":"Shelly 3EM #02","mode":"polling","verbose":false,"server":"","outputmode":"event","uploadretryinterval":5000,"pollinginterval":"5000","pollstatus":true,"getstatusoncommand":true,"devicetype":"SHEM-3","devicetypemustmatchexactly":true,"outputs":1,"x":638,"y":2581,"wires":[["38c5a45ce8d0c7b5","d7ba4e620986b182","197d5eb7ccfdfac4"]]},{"id":"06b36d06d4c01cc4","type":"ui_artlessgauge","z":"82e5452c01cee4bf","group":"e428548ce9e7be58","order":15,"width":8,"height":1,"name":"Shelly 3EM #03","icon":"fa-bar-chart","label":"Shelly 3EM #03","unit":"W","layout":"linear","decimals":"0","differential":true,"minmax":false,"colorTrack":"#555555","style":"","colorFromTheme":true,"property":"payload","secondary":"secondary","inline":false,"animate":true,"sectors":[{"val":-4000,"col":"#00ff00","t":"min","dot":1},{"val":-2000,"col":"#28c828","t":"sec","dot":0},{"val":0,"col":"#cccc00","t":"sec","dot":0},{"val":4400,"col":"#fb6565","t":"sec","dot":0},{"val":7000,"col":"#ff00ff","t":"sec","dot":0},{"val":10000,"col":"#ff00ff","t":"max","dot":1}],"lineWidth":"5","bgcolorFromTheme":true,"diffCenter":"0","x":540,"y":2680,"wires":[]},{"id":"70c8facf6744462c","type":"debug","z":"82e5452c01cee4bf","name":"debug 62","active":false,"tosidebar":true,"console":true,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1009,"y":2561,"wires":[]},{"id":"38c5a45ce8d0c7b5","type":"function","z":"82e5452c01cee4bf","name":"function 7","func":"var newmsg = {payload: msg.payload.emeters[0].power};\nreturn newmsg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":838,"y":2581,"wires":[["70c8facf6744462c","686c871ac2585c7e"]]},{"id":"af6c890c54e4ec5a","type":"debug","z":"82e5452c01cee4bf","name":"debug 64","active":false,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1008,"y":2621,"wires":[]},{"id":"d7ba4e620986b182","type":"function","z":"82e5452c01cee4bf","name":"function 8","func":"var newmsg = {payload: msg.payload.emeters[1].power};\nreturn newmsg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":838,"y":2621,"wires":[["af6c890c54e4ec5a"]]},{"id":"e3f2e33ffab7bb36","type":"debug","z":"82e5452c01cee4bf","name":"debug 65","active":false,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1009,"y":2681,"wires":[]},{"id":"197d5eb7ccfdfac4","type":"function","z":"82e5452c01cee4bf","name":"function 9","func":"var newmsg = {payload: msg.payload.emeters[2].power};\nreturn newmsg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":838,"y":2661,"wires":[["e3f2e33ffab7bb36"]]},{"id":"686c871ac2585c7e","type":"sum","z":"82e5452c01cee4bf","name":"","topic":"","x":1190,"y":2620,"wires":[["89fd986bbb999da8","55c58fb1d96329a5"]]},{"id":"55c58fb1d96329a5","type":"debug","z":"82e5452c01cee4bf","name":"Summe Shelly","active":false,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1250,"y":2680,"wires":[]},{"id":"e428548ce9e7be58","type":"ui_group","name":"links","tab":"2dbf5f84d75bd5b7","order":1,"disp":false,"width":8,"collapse":false,"className":""},{"id":"2dbf5f84d75bd5b7","type":"ui_tab","name":"ATB18 Dashboard","icon":"fa-flash","order":1,"disabled":false,"hidden":false}]
        

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

          @bynight Mit Summennodes oder so einem Schmarn arbeite ich nicht. Ich benutze für einfache Berechnungen immer nur die Standardnodes. Ausserdem vermeide ich function Nodes wo immer es geht. Wenn Du aber Summen periodisch zusammenzählen willst, dann benötigst du wohl den Kontext der function Nodes - insofern kann Deine Summennode eine Vereinfachung darstellen.

          Wenn die Summennode hinter der Shelly Node funktioniert, hinter der function Node nicht, dann hast du mit der function Node das Nachrichtenobjekt so verändert, dass diese nicht mehr funktioniert.

          Dazu müsstest Du über eine Debug ausgabe - die Nachrichtenobjekte, sowie den Fehler aus der Summennode sowie deren Definition zeigen.

          4644b5e2-3ab9-4ac8-bea7-045cf3488be5-image.png

          Ich kann mir leider nicht jede Node installieren, die sich irgendjemand mal installiert hat.

          B 1 Reply Last reply Reply Quote 0
          • B
            bynight @mickym last edited by bynight

            @mickym wie komme ich an den Kontext einzelner Nodes, speziell der Funktion Node?
            Der Summennode funktioniert hinter den Victrons, nicht hinter dem Shelly!
            Im Debug hinter den Function Nodes wird jeweils ordentlich der Leistungswert ausgegeben.
            Nur die Summe aller drei bekomme ich nicht hin. Sobald ich den Summen Node an einen der Function Nodes hänge, bekomme ich rote Fernster.

            NR Snap4.jpg

            Bei Victron funzt es, bei Shelly nicht:

            NR Snap5.jpg

            vllt passt ja der Text in den function Nodes nicht:

            var newmsg = {payload: msg.payload.emeters[1].power};
            return newmsg;

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

              @bynight klick halt mal auf die node-id umzu sehen, welche node den fehler ausspukt.

              B 1 Reply Last reply Reply Quote 0
              • B
                bynight @mickym last edited by

                @mickym es ist die node-red-contrib-sum:

                NR Snap6.jpg

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

                  @bynight Gut dann kann ja der Fehler nur aus der function Node 8 kommen. Also diese auf Fehler überprüfen bzw. im Protokoll schauen, ob da manchmal keine Zahlenwerte rauskommen.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    bynight @mickym last edited by

                    @mickym ist nicht nur bei der 8, auch bei 7 und 9... auch wenn ich einen Switch verwende :

                    NR Snap9.jpg
                    NR Snap8.jpg

                    selbes Ergebnis... 😕

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

                      @bynight Ja dann scheint halt nicht immer dieser Wert aus dem Shelly zu kommen und Du musst ggf. abfangen, wenn dieser Wert Null ist.

                      1 Reply Last reply Reply Quote 0
                      • B
                        bynight last edited by bynight

                        @mickym nach langer Suche im Netz bin ich nun fündig geworden:
                        Shelly scheint die Summe zu liefern, obwohl ich den Wert im Array nicht finden kann:

                        NR Snap10.jpg

                        Somit ist es ganz einfach, entweder per Function oder per Switch:

                        NR Snap12.jpg

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

                          @bynight Na dann ist ja alles gut! 🙂

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            bynight @mickym last edited by bynight

                            @mickym ja endlich :-))) und nun hab ich auch noch das Summieren rausgekriegt...
                            im Switch:

                            NR Snap13.jpg

                            oder in Function:

                            NR Snap15.jpg

                            überall dasselbe Ergebnis :-)))

                            NR Snap16.jpg

                            Du hast das Thema übrigens 2023 schon mal behandelt. Der Fragesteller hat fast dieselben Ansätze gehabt wie ich... 😉
                            Die Lösung habe ich dann aber erst hier ganz unten gefunden...

                            link text

                            Danke für die Hilfe!
                            Und Grüße,
                            Ronald

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

                              @bynight Das geht aber mit JSONATa viel einfacher.

                              Zeig mal das komplette Array hier in CodeTags. Kopiere einfach den Wert über die Schaltfläche aus dem Debugfenster und stell ihn hier in CodeTags ein.

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                bynight @mickym last edited by bynight

                                @mickym meinst Du das hier?

                                17.8.2024, 01:43:01node: debug 66
                                msg : Object
                                object
                                status: object
                                wifi_sta: object
                                cloud: object
                                mqtt: object
                                time: "01:43"
                                unixtime: 1723851795
                                serial: 391
                                has_update: false
                                mac: "485519DB63BC"
                                cfg_changed_cnt: 0
                                actions_stats: object
                                relays: array[1]
                                emeters: array[3]
                                0: object
                                1: object
                                2: object
                                total_power: 272.12
                                emeter_n: object
                                fs_mounted: true
                                v_data: 1
                                ct_calst: 0
                                update: object
                                ram_total: 49920
                                ram_free: 30904
                                fs_size: 233681
                                fs_free: 153612
                                uptime: 7981
                                payload: object
                                relays: array[1]
                                0: object
                                emeters: array[3]
                                0: object
                                1: object
                                2: object
                                _msgid: "5ae6ba6a42a5c12a"
                                

                                Jetzt sehe ich auch die Total Power im Status. Bisher habe ich immer nur relays und emeters gesehen. Den Status Reiter habe ich bisher nie gesehen... 😕
                                Was soll denn einfacher gehen als ein Switch mit status.total_power drin oder eben die 3 Power Werte addiert?

                                Das ist alles für 3 Shellys und 9 Phasen...
                                NR Snap17.jpg

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

                                  @bynight sagte in goto in node red:

                                  @mickym meinst Du das hier?

                                  17.8.2024, 01:43:01node: debug 66
                                  msg : Object
                                  object
                                  status: object
                                  wifi_sta: object
                                  cloud: object
                                  mqtt: object
                                  time: "01:43"
                                  unixtime: 1723851795
                                  serial: 391
                                  has_update: false
                                  mac: "485519DB63BC"
                                  cfg_changed_cnt: 0
                                  actions_stats: object
                                  relays: array[1]
                                  emeters: array[3]
                                  0: object
                                  1: object
                                  2: object
                                  total_power: 272.12
                                  emeter_n: object
                                  fs_mounted: true
                                  v_data: 1
                                  ct_calst: 0
                                  update: object
                                  ram_total: 49920
                                  ram_free: 30904
                                  fs_size: 233681
                                  fs_free: 153612
                                  uptime: 7981
                                  payload: object
                                  relays: array[1]
                                  0: object
                                  emeters: array[3]
                                  0: object
                                  1: object
                                  2: object
                                  _msgid: "5ae6ba6a42a5c12a"
                                  

                                  Nein so genau nicht. Nichts mit der Maus markieren, sondern das Objekt schön über die Schaltfläche Wert kopieren und dann in die Zwischen ablage kopieren und dann hier in Codetags reinstellen.

                                  copy path.gif

                                  Also wenn Deine payload bzw. Teile Deines Nachrichtenobjektes warscheinich so aussieht

                                  {
                                    "payload": {
                                      "emeters": [
                                        {
                                          "power": 20
                                        },{
                                          "power": 120
                                        },{
                                          "power": 220
                                        },{
                                          "power": 30
                                        }
                                      ]
                                    }
                                  }
                                  

                                  Dann kannst Du das mit JSONATA einfach so aufsummieren:

                                  $sum(payload.emeters.power)
                                  

                                  Testen kannst Du auch solche Sachen direkt im JSONATA exerciser: https://try.jsonata.org/Pel8ES7G0

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

                                    @bynight sagte in goto in node red:

                                    @mickym ja endlich :-))) und nun hab ich auch noch das Summieren rausgekriegt...
                                    im Switch:

                                    NR Snap13.jpg

                                    Ausserdem läst man in JSONATA das msg weg, sondern greift direkt auf die Namen des Objektes zu.

                                    45cd43a4-0b4c-4d5c-b020-c0ad12b43b9e-image.png

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    978
                                    Online

                                    31.7k
                                    Users

                                    79.7k
                                    Topics

                                    1.3m
                                    Posts

                                    6
                                    77
                                    3489
                                    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