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. JavaScript
  5. [gelöst] function in function

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[gelöst] function in function

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 5 Kommentatoren 569 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.
  • P Offline
    P Offline
    ptr
    schrieb am zuletzt editiert von ptr
    #1

    Hi,

    habe folgende Herausforderung:
    function2 soll in function1 ausgeführt werden.
    function1 und 2 sind auf der gleichen Ebene definiert.

    -> muss ich die function2 der function1 extra übergeben? Oder ist die function2 sowieso global?

    bahnuhrB paul53P 2 Antworten Letzte Antwort
    0
    • P ptr

      Hi,

      habe folgende Herausforderung:
      function2 soll in function1 ausgeführt werden.
      function1 und 2 sind auf der gleichen Ebene definiert.

      -> muss ich die function2 der function1 extra übergeben? Oder ist die function2 sowieso global?

      bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @ptr sagte in function in function:

      Hi,

      habe folgende Herausforderung:
      function2 soll in function1 ausgeführt werden.
      function1 und 2 sind auf der gleichen Ebene definiert.

      -> muss ich die function2 der function1 extra übergeben? Oder ist die function2 sowieso global?

      Zeig mal dein Beispiel.
      und mit global hat das gar nichts zu tun.


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • P ptr

        Hi,

        habe folgende Herausforderung:
        function2 soll in function1 ausgeführt werden.
        function1 und 2 sind auf der gleichen Ebene definiert.

        -> muss ich die function2 der function1 extra übergeben? Oder ist die function2 sowieso global?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @ptr sagte: muss ich die function2 der function1 extra übergeben?

        Nein, nur aufrufen.

        EDIT: Prinzip:

        function function2(x) {
            // x auswerten
        }
        
        function function1() {
            let a = 2;
            function2(a);
        }
        
        function1(); // Aufruf bei Skriptstart
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        P 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ptr sagte: muss ich die function2 der function1 extra übergeben?

          Nein, nur aufrufen.

          EDIT: Prinzip:

          function function2(x) {
              // x auswerten
          }
          
          function function1() {
              let a = 2;
              function2(a);
          }
          
          function1(); // Aufruf bei Skriptstart
          
          P Offline
          P Offline
          ptr
          schrieb am zuletzt editiert von
          #4

          @paul53 und @bahnuhr: Habe nun den Rechner da und kann das ganze Szenario darstellen. Vielleicht gibt es ja noch andere Lösungswege...:

          https://forum.iobroker.net/topic/62228/multitimeout-wie-function-übergeben-von-blockly-in-js

          OliverIOO 1 Antwort Letzte Antwort
          0
          • P ptr

            @paul53 und @bahnuhr: Habe nun den Rechner da und kann das ganze Szenario darstellen. Vielleicht gibt es ja noch andere Lösungswege...:

            https://forum.iobroker.net/topic/62228/multitimeout-wie-function-übergeben-von-blockly-in-js

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #5

            @ptr
            Funktioniert etwas nicht?

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

            P 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @ptr
              Funktioniert etwas nicht?

              P Offline
              P Offline
              ptr
              schrieb am zuletzt editiert von ptr
              #6

              @oliverio meine Antwort war ggf. etwas missverständlich formuliert. Die Antwort von paul53 funktioniert.

              Unter dem Link versuche ich eine funktion in einer funktion über Ihren Namen aufzurufen.
              Dabei übergebe ich den Namen als string, damit Blockly nicht automatisch die Bezeichnung der Variable ändert, falls diese die gleiche Bezeichnung wie die Funktion hat. -> wie ich dann wieder eine funktionsaufruf aus dem String mache ist aktuell das hauptproblem. - und dafür könnte es z.B. auch andere Lösungen geben...

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • P ptr

                @oliverio meine Antwort war ggf. etwas missverständlich formuliert. Die Antwort von paul53 funktioniert.

                Unter dem Link versuche ich eine funktion in einer funktion über Ihren Namen aufzurufen.
                Dabei übergebe ich den Namen als string, damit Blockly nicht automatisch die Bezeichnung der Variable ändert, falls diese die gleiche Bezeichnung wie die Funktion hat. -> wie ich dann wieder eine funktionsaufruf aus dem String mache ist aktuell das hauptproblem. - und dafür könnte es z.B. auch andere Lösungen geben...

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von Codierknecht
                #7

                @ptr
                Nur so als Hinweis aus meiner langjährigen beruflichen Erfahrung:
                Wenn ein System zu komplex wird, lässt es sich kaum noch warten. Selbst kleinste Änderungen führen dann mit schöner Regelmäßigkeit zu fatalen Fehlern, die aber aufgrund der Komplexität nur schwer zu finden sind.
                Die "eierlegende Wollmilchsau" ist also nicht unbedingt die Lösung aller Probleme, sondern verursacht oft nur noch weitere.
                Je komplexer ein System/Konstrukt, desto eher knallt es vor die Wand. Und nach releativ kurzer Zeit findet selbst der Entwickler nicht mehr ohne weiteres die Ursache.

                Aufgaben lieber in kleine Häppchen aufteilen, die sich gut lesen, warten und erweitern lassen.
                "... does one thing well" aus dem CleanCode-Umfeld beschreibt das eigentlich ganz gut. Ein Programm (-abschnitt) / eine Funktion soll genau eine Sache machen - und die möglichst gut, schnell und fehlerfrei.

                Die Scripte mögen zwar jeweils ein wenig kleiner werden, aber das unübersichtliche Konstrukt dahinter wäre mir persönlich ein Graus. Dann lieber konventionell jeweils im Script definieren. Dann weiß man wenigstens, wie etwas funktioniert und wo man einen Fehler suchen muss.

                Ich befürchte, Du verrennst Dich da ... prove me wrong

                "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

                P 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @ptr
                  Nur so als Hinweis aus meiner langjährigen beruflichen Erfahrung:
                  Wenn ein System zu komplex wird, lässt es sich kaum noch warten. Selbst kleinste Änderungen führen dann mit schöner Regelmäßigkeit zu fatalen Fehlern, die aber aufgrund der Komplexität nur schwer zu finden sind.
                  Die "eierlegende Wollmilchsau" ist also nicht unbedingt die Lösung aller Probleme, sondern verursacht oft nur noch weitere.
                  Je komplexer ein System/Konstrukt, desto eher knallt es vor die Wand. Und nach releativ kurzer Zeit findet selbst der Entwickler nicht mehr ohne weiteres die Ursache.

                  Aufgaben lieber in kleine Häppchen aufteilen, die sich gut lesen, warten und erweitern lassen.
                  "... does one thing well" aus dem CleanCode-Umfeld beschreibt das eigentlich ganz gut. Ein Programm (-abschnitt) / eine Funktion soll genau eine Sache machen - und die möglichst gut, schnell und fehlerfrei.

                  Die Scripte mögen zwar jeweils ein wenig kleiner werden, aber das unübersichtliche Konstrukt dahinter wäre mir persönlich ein Graus. Dann lieber konventionell jeweils im Script definieren. Dann weiß man wenigstens, wie etwas funktioniert und wo man einen Fehler suchen muss.

                  Ich befürchte, Du verrennst Dich da ... prove me wrong

                  P Offline
                  P Offline
                  ptr
                  schrieb am zuletzt editiert von ptr
                  #8

                  @codierknecht du hast Recht. Einfach ist einfach besser. Wenn es einen Timeout-Block in Blockly mit variablem Namen gäbe - wäre alles simpel gelöst.

                  Habe ich nicht gefunden, daher versuche ich das nachzustellen. Vielleicht hast du eine Idee wie ich das simpler hinbekomme.
                  Ich habe einen dp-Selektor-trigger der für viele Räume auf dessen Bewegungsmelder hört.
                  -> ich brauche zu jedem einen individuelles Timeout. vorstellbar, weil das Licht nach 1 Minute erst wieder ausgehen soll.

                  Anderes Beispiel: Tür öffnet -> Anwesenheit setzen. Timeout 15sek: Falls keine Bewegungssensor im Raum=true, dann -> Anwesenheit=false.

                  Von diesen Anwendungsfällen habe ich ungefähr eine Handvoll. Daher die Idee, ein object pro Skript, dass mir individuelle Timeouts - abhängig von Trigger - benennt.

                  Es geht um das Thema: https://forum.iobroker.net/topic/62228/multitimeout-wie-function-übergeben-von-blockly-in-js

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • P ptr

                    @codierknecht du hast Recht. Einfach ist einfach besser. Wenn es einen Timeout-Block in Blockly mit variablem Namen gäbe - wäre alles simpel gelöst.

                    Habe ich nicht gefunden, daher versuche ich das nachzustellen. Vielleicht hast du eine Idee wie ich das simpler hinbekomme.
                    Ich habe einen dp-Selektor-trigger der für viele Räume auf dessen Bewegungsmelder hört.
                    -> ich brauche zu jedem einen individuelles Timeout. vorstellbar, weil das Licht nach 1 Minute erst wieder ausgehen soll.

                    Anderes Beispiel: Tür öffnet -> Anwesenheit setzen. Timeout 15sek: Falls keine Bewegungssensor im Raum=true, dann -> Anwesenheit=false.

                    Von diesen Anwendungsfällen habe ich ungefähr eine Handvoll. Daher die Idee, ein object pro Skript, dass mir individuelle Timeouts - abhängig von Trigger - benennt.

                    Es geht um das Thema: https://forum.iobroker.net/topic/62228/multitimeout-wie-function-übergeben-von-blockly-in-js

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @ptr sagte in [gelöst] function in function:

                    Es geht um das Thema: https://forum.iobroker.net/topic/62228/multitimeout-wie-function-übergeben-von-blockly-in-js

                    Hatte ich schon gelesen und antworte daher dort ...

                    "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 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    674

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    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