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. setstate aus Funktion rufen [Gelöst]

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

setstate aus Funktion rufen [Gelöst]

Geplant Angeheftet Gesperrt Verschoben JavaScript
15 Beiträge 6 Kommentatoren 1.1k Aufrufe 5 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.
  • WolfgangDW Offline
    WolfgangDW Offline
    WolfgangD
    schrieb am zuletzt editiert von WolfgangD
    #1

    Ich sende an ein RFlink Objekt den Befehl setstate.
    Direkt gehts, verpackt in einer Funktion nicht.

    var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"

    function ventilatorEin() {
    setState(ventilator,true);
    }

    function ventilatorAus(){
    setState(ventilator,false);
    }

    function vein(){
    setTimeout(ventilatorEin,20);
    }

    //setState(ventilator,true); // ok
    //ventilatorEin() //geht nicht
    setTimeout(ventilatorEin,20); //ok
    //vein; //geht auch nicht !!!

    var t = setTimeout(ventilatorAus,2000); // ok.

    diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

    arteckA OliverIOO 2 Antworten Letzte Antwort
    0
    • WolfgangDW WolfgangD

      Ich sende an ein RFlink Objekt den Befehl setstate.
      Direkt gehts, verpackt in einer Funktion nicht.

      var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"

      function ventilatorEin() {
      setState(ventilator,true);
      }

      function ventilatorAus(){
      setState(ventilator,false);
      }

      function vein(){
      setTimeout(ventilatorEin,20);
      }

      //setState(ventilator,true); // ok
      //ventilatorEin() //geht nicht
      setTimeout(ventilatorEin,20); //ok
      //vein; //geht auch nicht !!!

      var t = setTimeout(ventilatorAus,2000); // ok.

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @wolfgangd erstens LOG und CODE immer in Code Tag

      cecca142-89a4-4f05-8a04-e44ec9a194d0-grafik.png

      so ist es besser lesbar

      eine Script Sprache zu lernen heisst nicht alles austuprobieren.. obs geht ode rnicht.. soder sich mit der Syntax zu befassen und dessen Semantik

      setTimeout(function() {
              ventilatorAus();
          },  1000 * 20); // 20 sek
      

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      WolfgangDW 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @wolfgangd erstens LOG und CODE immer in Code Tag

        cecca142-89a4-4f05-8a04-e44ec9a194d0-grafik.png

        so ist es besser lesbar

        eine Script Sprache zu lernen heisst nicht alles austuprobieren.. obs geht ode rnicht.. soder sich mit der Syntax zu befassen und dessen Semantik

        setTimeout(function() {
                ventilatorAus();
            },  1000 * 20); // 20 sek
        
        WolfgangDW Offline
        WolfgangDW Offline
        WolfgangD
        schrieb am zuletzt editiert von
        #3

        @arteck
        Danke für den Codeformathinweis.
        Mein Problem ist sehr einfach dazustellen:

        var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
        
        setState(ventilator,true); // direkt im Programm aufgerufen geht.
        
        // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
        function ventilatorEin() {
           setState(ventilator,true);
        }
        ventilatorEin();
        
        // Das war schon alles. .......................................
        
        // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
        var t = setTimeout(ventilatorAus,2000);
        
        
        // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
        
        function vein(){
          setTimeout(function(){
              ventilatorEin;
          },20);
        }
        vein();   // geht leider so in der function verpackt auch nicht.
        
        // direkt gerufen gehts wie erwartet. 
        setTimeout(ventilatorEin, 20);
        
        
        // async geht übrigens auch nicht. 
        
        

        diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

        bahnuhrB paul53P 3 Antworten Letzte Antwort
        0
        • WolfgangDW WolfgangD

          @arteck
          Danke für den Codeformathinweis.
          Mein Problem ist sehr einfach dazustellen:

          var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
          
          setState(ventilator,true); // direkt im Programm aufgerufen geht.
          
          // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
          function ventilatorEin() {
             setState(ventilator,true);
          }
          ventilatorEin();
          
          // Das war schon alles. .......................................
          
          // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
          var t = setTimeout(ventilatorAus,2000);
          
          
          // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
          
          function vein(){
            setTimeout(function(){
                ventilatorEin;
            },20);
          }
          vein();   // geht leider so in der function verpackt auch nicht.
          
          // direkt gerufen gehts wie erwartet. 
          setTimeout(ventilatorEin, 20);
          
          
          // async geht übrigens auch nicht. 
          
          
          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          @wolfgangd

          @arteck hat doch geschrieben.

          Die Syntax von timeout ist falsch.
          Schreibe das richtig und es geht.


          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
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            Nachtrag:

            du schreibst:

            setState(ventilator,true); // direkt im Programm aufgerufen geht.
            

            aber dies müsste doch auch gehen:

            function ventilatorEin() {
               setState(ventilator,true);
            }
            ventilatorEin();
            

            müsste gehen, verstehe nicht so ganz warum dies nicht gehen soll.
            Habs auch gerade nachgestellt, klappt einwandfrei !


            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
            • WolfgangDW WolfgangD

              @arteck
              Danke für den Codeformathinweis.
              Mein Problem ist sehr einfach dazustellen:

              var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
              
              setState(ventilator,true); // direkt im Programm aufgerufen geht.
              
              // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
              function ventilatorEin() {
                 setState(ventilator,true);
              }
              ventilatorEin();
              
              // Das war schon alles. .......................................
              
              // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
              var t = setTimeout(ventilatorAus,2000);
              
              
              // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
              
              function vein(){
                setTimeout(function(){
                    ventilatorEin;
                },20);
              }
              vein();   // geht leider so in der function verpackt auch nicht.
              
              // direkt gerufen gehts wie erwartet. 
              setTimeout(ventilatorEin, 20);
              
              
              // async geht übrigens auch nicht. 
              
              
              bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @wolfgangd

              function vein(){
                setTimeout(function(){
                    ventilatorEin();
                },2000);
              }
              
              vein();
              

              Und dies klappt natürlich auch.
              Beachte: () hinter ventilatorEin
              und 20 sind 20 Millisekunden !


              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

              WolfgangDW 1 Antwort Letzte Antwort
              0
              • WolfgangDW WolfgangD

                @arteck
                Danke für den Codeformathinweis.
                Mein Problem ist sehr einfach dazustellen:

                var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                
                setState(ventilator,true); // direkt im Programm aufgerufen geht.
                
                // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
                function ventilatorEin() {
                   setState(ventilator,true);
                }
                ventilatorEin();
                
                // Das war schon alles. .......................................
                
                // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
                var t = setTimeout(ventilatorAus,2000);
                
                
                // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
                
                function vein(){
                  setTimeout(function(){
                      ventilatorEin;
                  },20);
                }
                vein();   // geht leider so in der function verpackt auch nicht.
                
                // direkt gerufen gehts wie erwartet. 
                setTimeout(ventilatorEin, 20);
                
                
                // async geht übrigens auch nicht. 
                
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @wolfgangd
                Fehler in Zeile 21: Es fehlen die Klammern des Funktionsaufrufs.

                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

                WolfgangDW 1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  @wolfgangd

                  function vein(){
                    setTimeout(function(){
                        ventilatorEin();
                    },2000);
                  }
                  
                  vein();
                  

                  Und dies klappt natürlich auch.
                  Beachte: () hinter ventilatorEin
                  und 20 sind 20 Millisekunden !

                  WolfgangDW Offline
                  WolfgangDW Offline
                  WolfgangD
                  schrieb am zuletzt editiert von
                  #8

                  @bahnuhr
                  Ja, rein theoretisch sollte das gehen.
                  Geht aber nicht. Du hast sicher keinen rflink Adapter?
                  Auch nicht mit ventilatorEin() geklammert. (ich hatte schon Hoffnung)
                  Und ja, 20 ms war gewollt.

                  diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @wolfgangd
                    Fehler in Zeile 21: Es fehlen die Klammern des Funktionsaufrufs.

                    WolfgangDW Offline
                    WolfgangDW Offline
                    WolfgangD
                    schrieb am zuletzt editiert von
                    #9

                    @paul53
                    Danke. Leider auch nicht mit ventilatorEin() geklammert. (ich hatte schon Hoffnung)
                    Ich vermute irgendwas ist an dem Adapter rflink die Ursache.

                    diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

                    bahnuhrB T 2 Antworten Letzte Antwort
                    0
                    • WolfgangDW WolfgangD

                      @paul53
                      Danke. Leider auch nicht mit ventilatorEin() geklammert. (ich hatte schon Hoffnung)
                      Ich vermute irgendwas ist an dem Adapter rflink die Ursache.

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

                      @wolfgangd sagte in setstate aus Funktion rufen:

                      Du hast sicher keinen rflink Adapter?

                      Haste recht, hab ich nicht.

                      Dann liegt deine Lösung in dem DP oder dem Adapter.

                      Das Script funktioniert einwandfrei.


                      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
                      • WolfgangDW WolfgangD

                        @paul53
                        Danke. Leider auch nicht mit ventilatorEin() geklammert. (ich hatte schon Hoffnung)
                        Ich vermute irgendwas ist an dem Adapter rflink die Ursache.

                        T Nicht stören
                        T Nicht stören
                        ticaki
                        schrieb am zuletzt editiert von
                        #11

                        @wolfgangd sagte in setstate aus Funktion rufen:

                        @paul53
                        Danke. Leider auch nicht mit ventilatorEin() geklammert. (ich hatte schon Hoffnung)
                        Ich vermute irgendwas ist an dem Adapter rflink die Ursache.

                        Du schreibst oben und im Script das setState(dp, true) geht. Dann geht es. Da ist noch ein Fehler im Skript. Wenn ich all die Hilfen mit deinem Skript kombiniere komme ich dazu das du nach 2000 ms den Ventilator ein und ausschaltest.

                        const ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                        
                        function ventilatorEin() {
                           setState(ventilator,true);
                        }
                        setTimeout(ventilatorEin,5000);
                        setTimeout(setState,15000, ventilator, false);
                        
                        // und natürlich geht auch async ;)
                        

                        Versuch mal damit - 5 Sekunden passiert nichts, dann ist der Ventilator für 10 Sekunden an. Das Skript muß laufen und darf in der Zeit nicht pausiert werden.

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        1 Antwort Letzte Antwort
                        0
                        • WolfgangDW WolfgangD

                          Ich sende an ein RFlink Objekt den Befehl setstate.
                          Direkt gehts, verpackt in einer Funktion nicht.

                          var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"

                          function ventilatorEin() {
                          setState(ventilator,true);
                          }

                          function ventilatorAus(){
                          setState(ventilator,false);
                          }

                          function vein(){
                          setTimeout(ventilatorEin,20);
                          }

                          //setState(ventilator,true); // ok
                          //ventilatorEin() //geht nicht
                          setTimeout(ventilatorEin,20); //ok
                          //vein; //geht auch nicht !!!

                          var t = setTimeout(ventilatorAus,2000); // ok.

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

                          @wolfgangd

                          also jemand hat hier geschrieben, das der syntax falsch ist.
                          das sehe ich nicht so. setTimeout nimmt als ersten Parameter einen Functionpointer oder Objektreferenz auf eine Funktion.
                          Diese kann man per anonyme Funktion adhoc erzeugen oder man definiert die Funktion separat und übergibt diese an die Funktion (das was du machst).
                          Wenn man eine anonyme Funktion adhoc erzeugt, dann bekommt diese Funktion den aktuellen Scope mit welcher notwendig ist um an die variable ventilator heranzu kommen.
                          wenn du die Funktionsreferenz mit übergibst, dann ist die variable ventialtor zum zeitpunkt der ausführung von setState nicht verfügbar, daher schlägt das fehl.

                          die Version von @ticaki funktioniert, weil über die weiteren parameter der ventilator parameter mitgegeben wird (das false dürfte überflüssig sein)

                          setTimeout(setState,15000, ventilator, false);
                          

                          das verhalten ist hier genauer beschrieben
                          https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#the_this_problem

                          var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                           
                          setState(ventilator,true); // direkt im Programm aufgerufen geht.
                           
                          // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
                          function ventilatorEin() {
                             setState(ventilator,true);
                          }
                          ventilatorEin();
                           
                          // Das war schon alles. .......................................
                           
                          // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
                          var t = setTimeout(ventilatorAus,2000);
                           
                           
                          // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
                           
                          function vein(){
                            setTimeout(function(){
                                ventilatorEin;
                            },20);
                          }
                          vein();   // geht leider so in der function verpackt auch nicht.
                           
                          // direkt gerufen gehts wie erwartet. 
                          setTimeout(ventilatorEin, 20);
                           
                           
                          // async geht übrigens auch 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

                          T 1 Antwort Letzte Antwort
                          0
                          • OliverIOO OliverIO

                            @wolfgangd

                            also jemand hat hier geschrieben, das der syntax falsch ist.
                            das sehe ich nicht so. setTimeout nimmt als ersten Parameter einen Functionpointer oder Objektreferenz auf eine Funktion.
                            Diese kann man per anonyme Funktion adhoc erzeugen oder man definiert die Funktion separat und übergibt diese an die Funktion (das was du machst).
                            Wenn man eine anonyme Funktion adhoc erzeugt, dann bekommt diese Funktion den aktuellen Scope mit welcher notwendig ist um an die variable ventilator heranzu kommen.
                            wenn du die Funktionsreferenz mit übergibst, dann ist die variable ventialtor zum zeitpunkt der ausführung von setState nicht verfügbar, daher schlägt das fehl.

                            die Version von @ticaki funktioniert, weil über die weiteren parameter der ventilator parameter mitgegeben wird (das false dürfte überflüssig sein)

                            setTimeout(setState,15000, ventilator, false);
                            

                            das verhalten ist hier genauer beschrieben
                            https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#the_this_problem

                            var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                             
                            setState(ventilator,true); // direkt im Programm aufgerufen geht.
                             
                            // aber, verpackt in ein function und diese dann aufrufen, geht nicht.
                            function ventilatorEin() {
                               setState(ventilator,true);
                            }
                            ventilatorEin();
                             
                            // Das war schon alles. .......................................
                             
                            // das Ausschalten geht immer,  in function verpackt. Direkt verzögert aufgerufen.
                            var t = setTimeout(ventilatorAus,2000);
                             
                             
                            // nun könnte man ja denken, verzögert gehts. (Ich hab mal unnötigerweise auch Deine Variante eingebaut!)
                             
                            function vein(){
                              setTimeout(function(){
                                  ventilatorEin;
                              },20);
                            }
                            vein();   // geht leider so in der function verpackt auch nicht.
                             
                            // direkt gerufen gehts wie erwartet. 
                            setTimeout(ventilatorEin, 20);
                             
                             
                            // async geht übrigens auch nicht. 
                             
                            
                            
                            T Nicht stören
                            T Nicht stören
                            ticaki
                            schrieb am zuletzt editiert von
                            #13

                            @oliverio sagte in setstate aus Funktion rufen:

                            Wenn ich deinen Beitrag richtig verstehe funktioniert das also nicht:

                            setTimeout(ventilatorEin,5000);
                            

                            Wohingegen sowas funktionieren würde

                            setTimeout(() => {ventilatorEin()},5000);
                            

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • T ticaki

                              @oliverio sagte in setstate aus Funktion rufen:

                              Wenn ich deinen Beitrag richtig verstehe funktioniert das also nicht:

                              setTimeout(ventilatorEin,5000);
                              

                              Wohingegen sowas funktionieren würde

                              setTimeout(() => {ventilatorEin()},5000);
                              
                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #14

                              @ticaki

                              beispiel 1 bedingt. wenn man an die funktion den aktuellen scope bindet, dann geht das auch

                              var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                              
                              var ventilatorEin = function() {
                                 setState(ventilator,true);
                              }.bind(this);
                              
                              setTimeout(ventilatorEin,5000);
                              
                              

                              ich persönlich finde die verwendung von bind allerdings sehr hässlich.
                              da finde ich die notation mit arrow viel besser, da sie auch keinen neuen scope erzeugt (also der unterschied zwischen verwendung mit function oder verwendung mit arrow.
                              siehe
                              https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions?retiredLocale=de
                              gleich am anfang
                              .

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

                              WolfgangDW 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @ticaki

                                beispiel 1 bedingt. wenn man an die funktion den aktuellen scope bindet, dann geht das auch

                                var ventilator = "rflink.0.channels.Kaku_1.SWITCH_1"
                                
                                var ventilatorEin = function() {
                                   setState(ventilator,true);
                                }.bind(this);
                                
                                setTimeout(ventilatorEin,5000);
                                
                                

                                ich persönlich finde die verwendung von bind allerdings sehr hässlich.
                                da finde ich die notation mit arrow viel besser, da sie auch keinen neuen scope erzeugt (also der unterschied zwischen verwendung mit function oder verwendung mit arrow.
                                siehe
                                https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions?retiredLocale=de
                                gleich am anfang
                                .

                                WolfgangDW Offline
                                WolfgangDW Offline
                                WolfgangD
                                schrieb am zuletzt editiert von WolfgangD
                                #15

                                @oliverio sagte in setstate aus Funktion rufen:

                                var ventilatorEin = function() {

                                Diese Variante geht! Sehr schön. Die Möglichkeit kannte ich noch nicht.

                                Ich habe von Euch viel über setTimeout() gelernt.
                                Nur war das ja nur ein Versuch, weil VentilEin nicht wollte!

                                Asche auf mein Haupt!
                                Heute geht es mit der Klammer, s.u.

                                ventilatorEin;  // geht nicht
                                ventilatorEin(); // geht. 
                                
                                

                                [Gelöst]

                                diverse Raspis, ESPs, ioBroker, Alexas, Sensoren, Heizungsregelung, Solaranlage mit Speicher, RTK-Rasenroboter

                                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

                                919

                                Online

                                32.4k

                                Benutzer

                                81.5k

                                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