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. Array durchlaufen und Inhalt erweitern?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Array durchlaufen und Inhalt erweitern?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 1 Kommentatoren 566 Aufrufe
  • Ä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.
  • C Offline
    C Offline
    CyberMicha
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    vermutlich für die Profis eine doofe Frage :oops: aber wie kann ich

    var lights = [
        "hue.0.Philips_hue.Wohnzimmer", 
        "hue.0.Philips_hue.Teich",
        ];
    
    

    durchlaufen und in folgenden Code einbauen? Hier muss ich dann ja jedes Item mit .command, .level, etc. erweitern.

    function fadeIN10to80(transTime){
        log("Funktion: fadeIN10to80()");
    
        // transTime kommt mit Minuten, also transTime *60 / 0.1 = fadeTime
        // da es zu schnell dunkel wird nur die halbe Zeit nehmen
        var fadeTime = transTime * 60 / 0.1 / 2;
    
        // Command leeren
        setState("hue.0.Philips_hue.Wohnzimmer.command"/*Philips_hue.Wohnzimmer.command*/,"{}");
    
        // Lampen anschalten ( command greift sonst nicht )
        setState("hue.0.Philips_hue.Wohnzimmer.on"/*Philips_hue.Wohnzimmer.on*/,true);
    
        // Initial level auf 10% setzen
        setState("hue.0.Philips_hue.Wohnzimmer.level"/*Philips_hue.Wohnzimmer.level*/,10);
    
        // 3 Sekunden warten, dann command ausfühen ( klappt nicht direkt nach einschalten )
        setTimeout(function() {
            var com = "{\"on\":true,\"level\":80,\"transitiontime\":" + fadeTime + "}";
            setState("hue.0.Philips_hue.Wohnzimmer.command"/*Philips_hue.Wohnzimmer.command*/,com);
        },3000);
    }
    
    
    function CheckStatus(){
        // Wenn Lampe aus
        if (getState("hue.0.Philips_hue.Wohnzimmer.on").val === false ){
            // Wenn restl. Zeit bis Sonneuntergang ( zwischen 2 und 0 Minuten )
            if(sunsetrest <= 2 && sunsetrest >=0){
                log("Sonnenuntergang beginnt");
                // dann führe function fadeINto80() aus
                fadeIN10to80(Time1_2);
            // sonst tue nichts.
            } else {
                log("Nothing to do. Sonnenuntergang in " + sunsetrest + " Minuten");
            }
        }
        // sonst tue nichts.
        else {
                log("Nothing to do. Lampenstatus: " + getState("hue.0.Philips_hue.Wohnzimmer.on").val);
        }
    }
    

    So vielleicht?

    function fadeIN10to80(transTime){
        log("Funktion: fadeIN10to80()");
    
        // transTime kommt mit Minuten, also transTime *60 / 0.1 = fadeTime
        // da es zu schnell dunkel wird nur die halbe Zeit nehmen
        var fadeTime = transTime * 60 / 0.1 / 2;
        lights.forEach(function(element) {
            // Command leeren
           setState(element +".command","{}");
    
           // Lampen anschalten ( command greift sonst nicht )
           setState(element +".on",true);
    
           // Initial level auf 10% setzen
           setState(element+".level",10);
    
           // 3 Sekunden warten, dann command ausfühen ( klappt nicht direkt nach einschalten )
           setTimeout(function() {
           var com = "{\"on\":true,\"level\":80,\"transitiontime\":" + fadeTime + "}";
           setState(element+".command",com);
           },3000);
        });
    }
    
    function CheckStatus(){
    
      lights.forEach(function(element) {
          // Wenn Lampe aus
          if (getState(element+".on").val === false ){
              // Wenn restl. Zeit bis Sonneuntergang ( zwischen 2 und 0 Minuten )
              if(sunsetrest <= 2 && sunsetrest >=0){
                  log("Sonnenuntergang beginnt");
                  // dann führe function fadeINto80() aus
                  fadeIN10to80(Time1_2);
              // sonst tue nichts.
              } else {
                  log("Nothing to do. Sonnenuntergang in " + sunsetrest + " Minuten");
              }
          }
          // sonst tue nichts.
          else {
                  log("Nothing to do. Lampenstatus: " + getState(element+".on").val);
          }
        });
    }
    
    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      CyberMicha
      schrieb am zuletzt editiert von
      #2

      Erledigt :)

      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

      322

      Online

      32.6k

      Benutzer

      82.1k

      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