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. [gelöst] Rollo Script / Wie kann ich das Script kürzen?

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

[gelöst] Rollo Script / Wie kann ich das Script kürzen?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 935 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.
  • M Offline
    M Offline
    mctom
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich versuche mich gerade an meinem Rollo Sonnenschutz Script.

    An einer stelle habe ich folgende Function:

    function hochOst (Anwesenheit){
        var timer = 0;
        if (Anwesenheit === "anwesend") {
            if(getState(idRGaesteBad).val !== 100){setStateDelayed(idRGaesteBad,100,timer);timer = timer + 2000;}
            if(getState(idRArbeitenFenster).val !== 100){setStateDelayed(idRArbeitenFenster,100,timer);timer = timer + 2000;}
            if(getState(idRBad).val !== 100){setStateDelayed(idRBad,100,timer);timer = timer + 2000;}
            if(getState(idRLenn).val !== 100){setStateDelayed(idRLenn,100,timer);timer = timer + 2000;} 
    
        }
        if (Anwesenheit === "abwesend")
        {
            if(getState(idRGaesteBad).val !== 100 && getState(idKGaesteBad).val === false){setStateDelayed(idRGaesteBad,100,timer);timer = timer + 2000;}
            if(getState(idRArbeitenFenster).val !== 100 && getState(idKArbeitenFenster).val === false){setStateDelayed(idRArbeitenFenster,100,timer);timer = timer + 2000;}
            if(getState(idRBad).val !== 100 && getState(idKBad).val === 0){setStateDelayed(idRBad,100,timer);timer = timer + 2000;}
            if(getState(idRLenn).val !== 100 && getState(idKLenn).val === 0){setStateDelayed(idRLenn,100,timer);timer = timer + 2000;}
    
        }
        setState(idStatusOst,false);
        setState(idTimerOst,false);  
    }
    

    Also in Abhängigkeit der Abwesenheit soll noch der Fensterkontakt abgefragt werden.

    Jetzt die Frage an die Experten: Habt Ihr noch Idee wie man das alles kürzer scripten kann ?

    Gruß

    Michael

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      So ?

      var rollosR = [idRGaesteBad, idRArbeitenFenster, idRBad, idRLenn];
      var rollosK = [idKGaesteBad, idKArbeitenFenster, idKBad, idKLenn];
      function hochOst(Anwesenheit){
          var timer = 0;
          if (Anwesenheit === "anwesend") {
      		for (var r = 0; r < rollosR.length; r++) {
      			if (getState(rollosR[r]).val !== 100) setStateDelayed(rollosR[r], 100, (timer += 2000));
      		}        
          } else
          if (Anwesenheit === "abwesend") {
      		for (var r = 0; r < rollosR.length; r++) {
      			if (getState(rollosR[r]).val !== 100 && !getState(rollosK[r]).val === false) setStateDelayed(rollosR[r], 100, (timer += 2000));
      		}                
          }
          setState(idStatusOst, false);
          setState(idTimerOst,  false);  
      }
      
      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mctom
        schrieb am zuletzt editiert von
        #3

        Danke funktioniert super.

        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

        376

        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