Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Automatisierung
  5. goto in node red

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

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

goto in node red

Scheduled Pinned Locked Moved Automatisierung
77 Posts 6 Posters 6.5k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

    @bynight sagte: in etwa so:

    In "normalen" Programmiersprachen gibt es kein goto. Ich kenne es nur von Basic. Anstelle von

    goto end;
    

    schreibt man

    return msg;
    
    B Offline
    B Offline
    bynight
    wrote on last edited by
    #26

    @paul53 hallo Paul,
    In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.
    Der Tip mit return msg statt exit oder break fehlte mir halt.

    Gruß Ronald

    mickymM OliverIOO CodierknechtC 3 Replies Last reply
    0
    • B bynight

      @paul53 hallo Paul,
      In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.
      Der Tip mit return msg statt exit oder break fehlte mir halt.

      Gruß Ronald

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      wrote on last edited by mickym
      #27

      @bynight Das mit dem return msg sieht hier nur als Abbruchbedingung aus. Das ist es aber nicht.
      Mit return mit msg gibst du nur die Kontrolle von der function Node wieder an den Flow zurück. Je nachdem was Du zurückgibst, also einfaches Objekt, Array von Objekten kannst Du ein oder mehrere Nachrichten an verschiedene Ausgänge des Flows zurückgeben.

      8977ec3f-291e-4011-89b3-899e1e980cd0-image.png

      Der Vorteil einer function Node ist auch, dass Du komplett neue Nachrichtenobjekte erzeugen kannst und Dich so einfach von den Eigenschaften des bisherigen Nachrichtenobjektes entledigen kannst.

      Aber wie gesagt meide function Nodes. Sie sind vor allem dann nützlich, wenn Du in einem NodeKontext Zustände speichern möchtest, um dann Berechnungen durchzuführen oder wenn Du andere NodeJS Module verwenden willst. Ansonsten schau Dir die Hilfe zu den Nodes an, auch zu der function Node:

      Neben return msg - kannst Du auch asynchron über node.send Nachrichten erzeugen. In der Hilfe ist außerdem ein Link zur Onlinedokumentation:
      15588c70-4d43-4b44-ae8f-3d428041ae85-image.png

      https://nodered.org/docs/user-guide/writing-functions

      Dort siehst Du wie Du über ein Array mehrere Ausgänge bedienen kannst

      2a99cecf-3448-41d5-b105-6e29cdd9ca96-image.png

      oder bei Arrays in Arrays mehrere Nachrichten aufeinmal an einen Ausgang schicken kannst.

      Im Übrigen ist es KEIN guter Stil mit return msg die function Node an unterschiedlichen Stellen abzubrechen, das macht das Debuggen unter Umständen schwierig und musst mit node.warn arbeiten. Aber das ist genau einer der Gründe warum man function NOdes meiden sollte.

      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.

      B 1 Reply Last reply
      0
      • B bynight

        @paul53 hallo Paul,
        In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.
        Der Tip mit return msg statt exit oder break fehlte mir halt.

        Gruß Ronald

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by
        #28

        @bynight sagte in goto in node red:

        In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.

        aber auch dort nicht gut. ist halt noch das erbe, das es in basic enthalten ist.
        auch dort kann man goto vermeiden (ausser bei der fehler behandlung on error goto)

        hier ein artikel, der versucht es verständlich zu machen.
        wen dein code nur 20/30 zeilen hat ok,

        nur der browseranteil für meine widgets zu rssfeed hat fast 900 zeilen.
        wenn da wild mit goto rumgesprungen wird bist du verloren.
        https://craftofcoding.wordpress.com/2022/03/28/ever-wondered-why-goto-is-considered-harmful/

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        B 1 Reply Last reply
        0
        • B bynight

          @paul53 hallo Paul,
          In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.
          Der Tip mit return msg statt exit oder break fehlte mir halt.

          Gruß Ronald

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #29

          @bynight sagte in goto in node red:

          In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.

          ... weil das Technik aus der Steinzeit ist.

          https://de.wikipedia.org/wiki/Spaghetticode

          Auch VB schreibt man heute komplett ohne GoTo. Außer - wie @OliverIO schon schrieb - beim "On Error Goto ...".

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          B 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @bynight sagte in goto in node red:

            In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.

            ... weil das Technik aus der Steinzeit ist.

            https://de.wikipedia.org/wiki/Spaghetticode

            Auch VB schreibt man heute komplett ohne GoTo. Außer - wie @OliverIO schon schrieb - beim "On Error Goto ...".

            B Offline
            B Offline
            bynight
            wrote on last edited by
            #30

            @codierknecht
            na ich bin ja auch aus der Steinzeit, und ich werde mit 58 sicher kein Hochleistungsprogrammierer mehr. :-)) Da bremsen mich ein paar seltene Goto Sprünge nicht aus. Mit nem 3 Seiten Bauernhof hat man auch reichlich anderes zu tun... :-))

            Gruß,
            Ronald

            CodierknechtC 1 Reply Last reply
            0
            • OliverIOO OliverIO

              @bynight sagte in goto in node red:

              In Batch Dateien und Visual Basic, was ich am Meisten nutze, ist es gebräuchlich.

              aber auch dort nicht gut. ist halt noch das erbe, das es in basic enthalten ist.
              auch dort kann man goto vermeiden (ausser bei der fehler behandlung on error goto)

              hier ein artikel, der versucht es verständlich zu machen.
              wen dein code nur 20/30 zeilen hat ok,

              nur der browseranteil für meine widgets zu rssfeed hat fast 900 zeilen.
              wenn da wild mit goto rumgesprungen wird bist du verloren.
              https://craftofcoding.wordpress.com/2022/03/28/ever-wondered-why-goto-is-considered-harmful/

              B Offline
              B Offline
              bynight
              wrote on last edited by
              #31

              @oliverio
              meine batch Dateien haben im Laufe der Jahre auch 300 bis 400 Zeilen gekriegt, bei 10 -15 goto Sprüngen, meist ans Ende oder zum Folgeabschnitt... aber noch nicht wild und nicht unübersichtlich... :-) Da habe ich mit komplexen Schleifen viel mehr Probleme...

              Gruß,
              Ronald

              1 Reply Last reply
              0
              • mickymM mickym

                @bynight Das mit dem return msg sieht hier nur als Abbruchbedingung aus. Das ist es aber nicht.
                Mit return mit msg gibst du nur die Kontrolle von der function Node wieder an den Flow zurück. Je nachdem was Du zurückgibst, also einfaches Objekt, Array von Objekten kannst Du ein oder mehrere Nachrichten an verschiedene Ausgänge des Flows zurückgeben.

                8977ec3f-291e-4011-89b3-899e1e980cd0-image.png

                Der Vorteil einer function Node ist auch, dass Du komplett neue Nachrichtenobjekte erzeugen kannst und Dich so einfach von den Eigenschaften des bisherigen Nachrichtenobjektes entledigen kannst.

                Aber wie gesagt meide function Nodes. Sie sind vor allem dann nützlich, wenn Du in einem NodeKontext Zustände speichern möchtest, um dann Berechnungen durchzuführen oder wenn Du andere NodeJS Module verwenden willst. Ansonsten schau Dir die Hilfe zu den Nodes an, auch zu der function Node:

                Neben return msg - kannst Du auch asynchron über node.send Nachrichten erzeugen. In der Hilfe ist außerdem ein Link zur Onlinedokumentation:
                15588c70-4d43-4b44-ae8f-3d428041ae85-image.png

                https://nodered.org/docs/user-guide/writing-functions

                Dort siehst Du wie Du über ein Array mehrere Ausgänge bedienen kannst

                2a99cecf-3448-41d5-b105-6e29cdd9ca96-image.png

                oder bei Arrays in Arrays mehrere Nachrichten aufeinmal an einen Ausgang schicken kannst.

                Im Übrigen ist es KEIN guter Stil mit return msg die function Node an unterschiedlichen Stellen abzubrechen, das macht das Debuggen unter Umständen schwierig und musst mit node.warn arbeiten. Aber das ist genau einer der Gründe warum man function NOdes meiden sollte.

                B Offline
                B Offline
                bynight
                wrote on last edited by
                #32

                @mickym

                hab noch ne Frage... ist es möglich die Bezeichung der Nodes auf 2 oder 3 Zeilen umzubrechen, also untereinander zu schreiben?

                Gruß,
                Ronald

                mickymM 1 Reply Last reply
                0
                • B bynight

                  @codierknecht
                  na ich bin ja auch aus der Steinzeit, und ich werde mit 58 sicher kein Hochleistungsprogrammierer mehr. :-)) Da bremsen mich ein paar seltene Goto Sprünge nicht aus. Mit nem 3 Seiten Bauernhof hat man auch reichlich anderes zu tun... :-))

                  Gruß,
                  Ronald

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  wrote on last edited by
                  #33

                  @bynight sagte in goto in node red:

                  ich werde mit 58

                  Willkommen im Club :grinning:

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Reply Last reply
                  0
                  • B bynight

                    @mickym

                    hab noch ne Frage... ist es möglich die Bezeichung der Nodes auf 2 oder 3 Zeilen umzubrechen, also untereinander zu schreiben?

                    Gruß,
                    Ronald

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #34

                    @bynight nein. Aber du kannst zu jeder Node eigene Texte verfassen und die kann man formatieren. Die stehen dann im info tab

                    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.

                    B 1 Reply Last reply
                    0
                    • mickymM mickym

                      @bynight nein. Aber du kannst zu jeder Node eigene Texte verfassen und die kann man formatieren. Die stehen dann im info tab

                      B Offline
                      B Offline
                      bynight
                      wrote on last edited by
                      #35

                      @mickym das weiße comment?

                      mickymM 1 Reply Last reply
                      0
                      • B bynight

                        @mickym das weiße comment?

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        wrote on last edited by
                        #36

                        @bynight sagte in goto in node red:

                        @mickym das weiße comment?

                        Wenn ich daheim bin schicke ich dir ein Screenshot

                        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.

                        B 1 Reply Last reply
                        0
                        • mickymM mickym

                          @bynight sagte in goto in node red:

                          @mickym das weiße comment?

                          Wenn ich daheim bin schicke ich dir ein Screenshot

                          B Offline
                          B Offline
                          bynight
                          wrote on last edited by
                          #37

                          @mickym
                          Danke vielmals,

                          ich glaub für's erste hab ich's nun... :-))
                          node red Snap3.jpg

                          Gruß Ronald

                          mickymM 1 Reply Last reply
                          0
                          • B bynight

                            @mickym
                            Danke vielmals,

                            ich glaub für's erste hab ich's nun... :-))
                            node red Snap3.jpg

                            Gruß Ronald

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            wrote on last edited by
                            #38

                            @bynight

                            f8b03ea1-495f-47ac-942f-4aa7b60b23cc-image.png

                            Grundsätzlich kannst Du über die Beschreibung/Comment Schaltfläche Deinen eigenen Text schreiben und den siehst Du dann beim Anklicken in dem Info Tab rechts.

                            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.

                            B 1 Reply Last reply
                            0
                            • mickymM mickym

                              @bynight

                              f8b03ea1-495f-47ac-942f-4aa7b60b23cc-image.png

                              Grundsätzlich kannst Du über die Beschreibung/Comment Schaltfläche Deinen eigenen Text schreiben und den siehst Du dann beim Anklicken in dem Info Tab rechts.

                              B Offline
                              B Offline
                              bynight
                              wrote on last edited by
                              #39

                              @mickym
                              Ja, aber da sieht man eben auch immer nur den Node den man angeklickt hat... Aber Danke für die Info!

                              mickymM 1 Reply Last reply
                              0
                              • B bynight

                                @mickym
                                Ja, aber da sieht man eben auch immer nur den Node den man angeklickt hat... Aber Danke für die Info!

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                wrote on last edited by
                                #40

                                @bynight Du kannst auch noch comment Nodes verwenden - oder Gruppen verwenden und diese beschriften.

                                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.

                                B 1 Reply Last reply
                                0
                                • mickymM mickym

                                  @bynight Du kannst auch noch comment Nodes verwenden - oder Gruppen verwenden und diese beschriften.

                                  B Offline
                                  B Offline
                                  bynight
                                  wrote on last edited by
                                  #41

                                  @mickym noch eine Frage... wie macht man aus einem fortlaufenden Wert einen täglichen Wert, also aus total kWh daily kWh? Dafür gibt es doch bestimmt auch einen Node?

                                  mickymM 1 Reply Last reply
                                  0
                                  • B bynight

                                    @mickym noch eine Frage... wie macht man aus einem fortlaufenden Wert einen täglichen Wert, also aus total kWh daily kWh? Dafür gibt es doch bestimmt auch einen Node?

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    wrote on last edited by
                                    #42

                                    @bynight Na so einfach ist das nicht. Ich weiß auch nichts über Deine Daten. Ich habe mal einen Subflow gemacht, der prüft die Zählerstände (als Deinen totalen Wert) aber in Verbindung mit dem iobroker.

                                    Ich hab mal einen eigenen Subflow gemacht, https://forum.iobroker.net/post/1148029

                                    Da kannst ja schauen, ob der Dir was hilft.

                                    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.

                                    B 1 Reply Last reply
                                    0
                                    • mickymM mickym

                                      @bynight Na so einfach ist das nicht. Ich weiß auch nichts über Deine Daten. Ich habe mal einen Subflow gemacht, der prüft die Zählerstände (als Deinen totalen Wert) aber in Verbindung mit dem iobroker.

                                      Ich hab mal einen eigenen Subflow gemacht, https://forum.iobroker.net/post/1148029

                                      Da kannst ja schauen, ob der Dir was hilft.

                                      B Offline
                                      B Offline
                                      bynight
                                      wrote on last edited by
                                      #43

                                      @mickym Danke! Das muß ich gleich mal schauen...
                                      In Homeassist gibt es unter Helfern eine Subroutine "Verbrauchszähler" Da läßt sich aus jedem Wert ein viertelstündlicher, täglicher, wöchentlicher, monatlicher... Wert kreieren. Den brauche ich ja z.B. bei allen Energiesteckdosen oder -schaltern die keinen täglichen Wert ausgeben, wie z.B. Shelly Geräte... Die Solarenergie messe ich z.B. mit einem Shelly 3EM vor dem Victron MPII. Die tägliche Anzeige sollte in dem Fall um Mitternacht wieder auf 0 springen...

                                      mickymM 1 Reply Last reply
                                      0
                                      • B bynight

                                        @mickym Danke! Das muß ich gleich mal schauen...
                                        In Homeassist gibt es unter Helfern eine Subroutine "Verbrauchszähler" Da läßt sich aus jedem Wert ein viertelstündlicher, täglicher, wöchentlicher, monatlicher... Wert kreieren. Den brauche ich ja z.B. bei allen Energiesteckdosen oder -schaltern die keinen täglichen Wert ausgeben, wie z.B. Shelly Geräte... Die Solarenergie messe ich z.B. mit einem Shelly 3EM vor dem Victron MPII. Die tägliche Anzeige sollte in dem Fall um Mitternacht wieder auf 0 springen...

                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        wrote on last edited by
                                        #44

                                        @bynight Ja dann musst Dir selber einen Flow basteln - ich würde Dir für die Zeiten die cronplus Node empfehlen, die ist am flexibelsten und am mächtigsten. Du musst halt die Daten irgendwo hinschreiben, wenn Du kein iobroker nutzt.

                                        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.

                                        B 1 Reply Last reply
                                        0
                                        • mickymM mickym

                                          @bynight Ja dann musst Dir selber einen Flow basteln - ich würde Dir für die Zeiten die cronplus Node empfehlen, die ist am flexibelsten und am mächtigsten. Du musst halt die Daten irgendwo hinschreiben, wenn Du kein iobroker nutzt.

                                          B Offline
                                          B Offline
                                          bynight
                                          wrote on last edited by bynight
                                          #45

                                          @mickym klappt nicht so recht... verstehe auch den Cron-plus nicht so recht... Es wird wohl je nach Einstellung alle Sekunden oder Minuten oder Stunden der aktuelle Zeitstempel ausgegeben. Aber die Trigger davor ändern daran gar nichts. Ich habe noch minutlich und sekundlich hinzugefügt. Aber die Ausgabe erfolgt immer sekündlich und minütlich. Hab dann sekündlich gelöscht dann erfolgt die Ausgabe minütlich. Ich dachte daß man mit den Triggern den Startpunkt von z.B. Minuten auf :00 setzen kann aber die Ausgabe erfolgt bei mir immer :51. Keine Ahnung wie ich das auf 00 bekomme und wofür diese Inject Nodes überhaupt gut sind.

                                          Der Verbrauchszähler funktioniert auch nicht, da es kein iO Broker.get und .out gibt. Weiß nicht wie das im Node Red von Cerbo GX aussehen müßte...

                                          Desweiteren ist mir nicht klar wie der Flow aussehen müßte. Ist der Shelly eine Eingangsgröße oder kommt er ans Ende wie bei Dir die Fritzboxen?
                                          Shelly Daily Snap1.jpg

                                          mickymM 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          421

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe