Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Zyklische Ausführung endet nicht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zyklische Ausführung endet nicht

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

      Hallo community,

      Hat jemand ne Idee warum die Schleife unten nicht endet?
      Raspi 4 läuft mit komplett neuem System

      Danke im voraus!

      A5135541-CB32-4464-B4D0-293D7FB65C74.jpeg

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @rolf_iobroker last edited by

        @rolf_iobroker sagte:

        warum die Schleife unten nicht endet?

        Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

        1 Reply Last reply Reply Quote 0
        • R
          rolf_iobroker last edited by

            i = 125;
              timeout = 0;
              Intervall = 0;
              setState("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.powerState"/*powerState*/, true);
              setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.brightness"/*brightness*/, 100, 100, false);
              setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.colorName"/*colorName*/, 13, 200, false);
              setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.colorName"/*colorName*/, 13, 1000, false);
              setState("alexa2.0.Smart-Home-Devices.77b9a5e1-ef7a-444c-816b-5333cd173e00.active"/*active*/, true);
              Intervall = setInterval(function () {
                i = (typeof i == 'number' ? i : 0) + -2;
                Dimmer = i * 2;
                setState("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.brightness"/*brightness*/, i);
                setState("hue.0.Schlafzimmer.bri"/*Schlafzimmer.bri*/, Dimmer);
                console.log(i);
                if (i <= 1) {
                  (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                  setStateDelayed("hue.0.Schlafzimmer.on"/*Schlafzimmer.on*/, false, 1000, false);
                  setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.powerState"/*powerState*/, false, 1500, false);
                  console.log('vorbei');
                }
              }, 2000);
            }
          });
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @rolf_iobroker last edited by

            @rolf_iobroker
            Das ist nicht der vollständige Code. Es fehlt der Anfang mit der Variablendeklaration.

            1 Reply Last reply Reply Quote 0
            • R
              rolf_iobroker last edited by

              Ah ok,

              hier ist dann mal alles

              var i, timeout, Intervall, Dimmer;
              
              
              on({id: 'admin.1.Eigene_Objekte.Schlafen', change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("admin.1.Eigene_Objekte.Schlafen").val == true) {
                  setState("admin.1.Eigene_Objekte.Nacht"/*Nacht*/, true);
                  setState("hm-rpc.0.OEQ0268404.1.LEVEL"/*Rolllade 1.LEVEL*/, 0);
                  setState("hm-rpc.0.OEQ0269720.1.LEVEL"/*Rolllade 2.LEVEL*/, 0);
                  setState("hm-rpc.0.OEQ0265601.1.LEVEL"/*Roll Bad.LEVEL*/, 0);
                  if (getState("daswetter.0.NextHours2.Location_1.Day_1.current.temp").val <= 8) {
                    setState("hm-rpc.0.OEQ0265657.1.LEVEL"/*Roll SZ.LEVEL*/, 0);
                  }
                  setStateDelayed("hue.0.Wohnzimmer.on"/*Wohnzimmer.on*/, false, 45000, false);
                  if (getState("admin.1.Eigene_Objekte.TV_Schalter").val == true) {
                    setState("admin.1.Eigene_Objekte.TV_Schalter"/*admin.1.Eigene_Objekte.TV_Schalter*/, false);
                  }
                  if (getState("admin.1.Eigene_Objekte.Sky").val == true) {
                    setState("admin.1.Eigene_Objekte.Sky"/*admin.1.Eigene_Objekte.Sky*/, false);
                  }
                  setState("alexa2.0.Echo-Devices.90F0081872710283.Player.controlPause"/*controlPause*/, true);
                  setState("hm-rpc.0.NEQ1780109.1.STATE"/*Palmen.STATE*/, false);
                  setState("hm-rpc.0.NEQ1780109.2.STATE"/*Bambus.STATE*/, false);
                  setState("admin.1.Eigene_Objekte.Schlafen"/*Schlafen*/, null);
                  i = 125;
                  timeout = 0;
                  Intervall = 0;
                  setState("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.powerState"/*powerState*/, true);
                  setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.brightness"/*brightness*/, 100, 100, false);
                  setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.colorName"/*colorName*/, 13, 200, false);
                  setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.colorName"/*colorName*/, 13, 1000, false);
                  setState("alexa2.0.Smart-Home-Devices.77b9a5e1-ef7a-444c-816b-5333cd173e00.active"/*active*/, true);
                  Intervall = setInterval(function () {
                    i = (typeof i == 'number' ? i : 0) + -2;
                    Dimmer = i * 2;
                    setState("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.brightness"/*brightness*/, i);
                    setState("hue.0.Schlafzimmer.bri"/*Schlafzimmer.bri*/, Dimmer);
                    console.log(i);
                    if (i <= 1) {
                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                      setStateDelayed("hue.0.Schlafzimmer.on"/*Schlafzimmer.on*/, false, 1000, false);
                      setStateDelayed("alexa2.0.Smart-Home-Devices.bf96ff8b-8f2c-46e6-9c98-c0c9dc79a537.powerState"/*powerState*/, false, 1500, false);
                      console.log('vorbei');
                    }
                  }, 2000);
                }
              });
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @rolf_iobroker last edited by paul53

                @rolf_iobroker
                Entferne mal die beiden Befehle

                • setze timeout auf 0
                • setze Intervall auf 0
                1 Reply Last reply Reply Quote 0
                • R
                  rolf_iobroker last edited by

                  OK, versuche das mal

                  1 Reply Last reply Reply Quote 0
                  • R
                    rolf_iobroker last edited by

                    Scheint zu funktionieren. Danke!

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @rolf_iobroker last edited by paul53

                      @rolf_iobroker sagte:

                      Scheint zu funktionieren.

                      Um zu verhindern, dass mehrere Intervalle gleichzeitig laufen können, füge vor Ausführen Intervall alle 2 Sek ein:

                      • stop zyklische Ausführung Intervall
                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      935
                      Online

                      31.9k
                      Users

                      80.2k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      545
                      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