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) State-Änderung wird nicht mehr erkannt im JS

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

(gelöst) State-Änderung wird nicht mehr erkannt im JS

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 234 Aufrufe 1 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.
  • M Offline
    M Offline
    mwolle
    schrieb am zuletzt editiert von mwolle
    #1

    Moin zusammen,
    ich hatte mir ein kleines Programm geschrieben, welches mir über ein Zeitintervall einen Zähler hochzählt und bei erreichen einer bestimmten Zahl Geräte ausschaltet. Wenn sich aber in dem Raum jemand befindet, wird die Bewegung registriert und der Zähler wieder auf 0 gesetzt. Jetzt ist mir leider aufgefallen, dass die Bewegung nicht mehr als Auslöser erkannt wird und der Zäher dadurch nicht zurück gesetzt wird (und es Beschwerden der Kinder hagelt ;)). Das Problem fängt bei Zeile 38 an.

    schedule("*/10 * * * *", async function () {
    var Element3 = getState("javascript.0.Merker_Bewegung").val;   
    var Bewegung = getState("hue.0.Hue_motion_sensor_1.presence").val;
    var counterschleife = 0;  
    
     var Zeit = new Date();
     var Stunden = Zeit.getHours();
     var Minuten = Zeit.getMinutes();
     var Minuten_Tag = (Stunden * 60) + Minuten;
    
     var temp = 840; //Heizprogramm_E[703]; // 840 Minuten ab Mitternacht -> 10 Uhr
     var temp_2 = 1330; //Heizprogramm_E[45]; // 1320 Minuten ab Mitternacht -> 22 Uhr
    
        
        if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
            if (Bewegung == false) {
                Element3 += 1;
                setState("javascript.0.Merker_Bewegung", (Element3), true);
                counterschleife = 1;
            }
            if (Element3 == 3){
                setState("fritzdect.0.DECT_116300142272.state", (false));
                setState("hue.0.Hue_ambiance_spot_1__Mila.on", (false));
                setState("hue.0.Hue_ambiance_spot_2_Mila.on", (false));
                setState("hue.0.Hue_ambiance_spot_3_Mila.on", (false));
                Element3 = 0;
                setState("javascript.0.Merker_Bewegung", (Element3), true);
                counterschleife = 2;
            
       console.log(Bewegung);
       console.log(Element3); 
       console.log(Minuten_Tag);
       console.log(counterschleife); 
            
      }
      }
    });
    on({id: "hue.0.Hue_motion_sensor_1.presence"/*Hue motion sensor 1.presence*/, change: "ne"}, async function (obj) {
      var Bewegung = getState("hue.0.Hue_motion_sensor_1.presence").val;
      var Element3 = getState("javascript.0.Merker_Bewegung").val; 
      var Bewegung_Merker = getState("javascript.0.Spielzeit_Mila").val;
      var Zeit = new Date();
      var Stunden = Zeit.getHours();
      var Minuten = Zeit.getMinutes();
      var Minuten_Tag = (Stunden * 60) + Minuten;
    
     var temp = 840; //Heizprogramm_E[703]; // 840 Minuten ab Mitternacht -> 10 Uhr
     var temp_2 = 1290; //Heizprogramm_E[45]; // 1290 Minuten ab Mitternacht -> 21:30 Uhr
       if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
        if (Bewegung == true) {
          Element3 = 0;
          setState("javascript.0.Merker_Bewegung", (Element3), true);
          if (Bewegung_Merker > 4 && Bewegung_Merker < 50) {
              setState("fritzdect.0.DECT_116300142272.state", (true));
          
      
       console.log(Bewegung_Merker); 
       console.log(Bewegung);
       console.log(Element3);
          }
          }
      }
    });
    
    M 1 Antwort Letzte Antwort
    0
    • M mwolle

      Moin zusammen,
      ich hatte mir ein kleines Programm geschrieben, welches mir über ein Zeitintervall einen Zähler hochzählt und bei erreichen einer bestimmten Zahl Geräte ausschaltet. Wenn sich aber in dem Raum jemand befindet, wird die Bewegung registriert und der Zähler wieder auf 0 gesetzt. Jetzt ist mir leider aufgefallen, dass die Bewegung nicht mehr als Auslöser erkannt wird und der Zäher dadurch nicht zurück gesetzt wird (und es Beschwerden der Kinder hagelt ;)). Das Problem fängt bei Zeile 38 an.

      schedule("*/10 * * * *", async function () {
      var Element3 = getState("javascript.0.Merker_Bewegung").val;   
      var Bewegung = getState("hue.0.Hue_motion_sensor_1.presence").val;
      var counterschleife = 0;  
      
       var Zeit = new Date();
       var Stunden = Zeit.getHours();
       var Minuten = Zeit.getMinutes();
       var Minuten_Tag = (Stunden * 60) + Minuten;
      
       var temp = 840; //Heizprogramm_E[703]; // 840 Minuten ab Mitternacht -> 10 Uhr
       var temp_2 = 1330; //Heizprogramm_E[45]; // 1320 Minuten ab Mitternacht -> 22 Uhr
      
          
          if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
              if (Bewegung == false) {
                  Element3 += 1;
                  setState("javascript.0.Merker_Bewegung", (Element3), true);
                  counterschleife = 1;
              }
              if (Element3 == 3){
                  setState("fritzdect.0.DECT_116300142272.state", (false));
                  setState("hue.0.Hue_ambiance_spot_1__Mila.on", (false));
                  setState("hue.0.Hue_ambiance_spot_2_Mila.on", (false));
                  setState("hue.0.Hue_ambiance_spot_3_Mila.on", (false));
                  Element3 = 0;
                  setState("javascript.0.Merker_Bewegung", (Element3), true);
                  counterschleife = 2;
              
         console.log(Bewegung);
         console.log(Element3); 
         console.log(Minuten_Tag);
         console.log(counterschleife); 
              
        }
        }
      });
      on({id: "hue.0.Hue_motion_sensor_1.presence"/*Hue motion sensor 1.presence*/, change: "ne"}, async function (obj) {
        var Bewegung = getState("hue.0.Hue_motion_sensor_1.presence").val;
        var Element3 = getState("javascript.0.Merker_Bewegung").val; 
        var Bewegung_Merker = getState("javascript.0.Spielzeit_Mila").val;
        var Zeit = new Date();
        var Stunden = Zeit.getHours();
        var Minuten = Zeit.getMinutes();
        var Minuten_Tag = (Stunden * 60) + Minuten;
      
       var temp = 840; //Heizprogramm_E[703]; // 840 Minuten ab Mitternacht -> 10 Uhr
       var temp_2 = 1290; //Heizprogramm_E[45]; // 1290 Minuten ab Mitternacht -> 21:30 Uhr
         if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
          if (Bewegung == true) {
            Element3 = 0;
            setState("javascript.0.Merker_Bewegung", (Element3), true);
            if (Bewegung_Merker > 4 && Bewegung_Merker < 50) {
                setState("fritzdect.0.DECT_116300142272.state", (true));
            
        
         console.log(Bewegung_Merker); 
         console.log(Bewegung);
         console.log(Element3);
            }
            }
        }
      });
      
      M Offline
      M Offline
      mwolle
      schrieb am zuletzt editiert von
      #2

      @mwolle
      nachdem ich noch was geforscht habe, liegt es nicht am Skript, sondern wohl am Adapter, der keine Bewegungen mehr umsetzt. Ich werde das Thema hier schließen.

      haselchenH 1 Antwort Letzte Antwort
      0
      • M mwolle

        @mwolle
        nachdem ich noch was geforscht habe, liegt es nicht am Skript, sondern wohl am Adapter, der keine Bewegungen mehr umsetzt. Ich werde das Thema hier schließen.

        haselchenH Offline
        haselchenH Offline
        haselchen
        Most Active
        schrieb am zuletzt editiert von
        #3

        @paul53
        magst Du oben mal bitte über das Script gucken.
        Der Bewegungsmelder funktioniert jetzt, aber das Skript wird nicht abgearbeitet.

        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

        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

        695

        Online

        32.6k

        Benutzer

        82.2k

        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