Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Zeitschaltuhr mit 4 Zyklen ein aus einstellbar in vis inkl. Astro und manuell auto umschaltung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    533

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

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

[Vorlage] Zeitschaltuhr mit 4 Zyklen ein aus einstellbar in vis inkl. Astro und manuell auto umschaltung

Scheduled Pinned Locked Moved Skripten / Logik
66 Posts 22 Posters 24.1k Views 20 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • smartboartS Offline
    smartboartS Offline
    smartboart
    wrote on last edited by
    #1

    Hallo Leute habe pünktlich zu Weihnacheten mal ein Script gebastelt um eine Zeitschaltuhr mit täglichen Schaltungen und 4 Zyklen / mögliche Zeiten zum ein und ausschalten sowie umschalten zwischen Automatik ( Zeitschaltuhr ) und manuel ein aus sowie Astro Nachtschaltung umschaltbar realisiert.

    die 4 einstellbaren Zyklen sind dann täglich aktiv…Einzelne Wochentage sind nicht einstellbar..Dafür reichts noch nicht.

    Die Zyklen können leicht noch erweitert werden falls wer mehr wie 4 braucht...

    Mit der Vorwahl der Zyklen sind dann die Entsprechenden Zeiten auch aktiv oder eben nicht. Es werden dann auch nur die einstellbaren Zeiten in vis angezeigt, welche in vis vorgewählt werden.

    Eine Änderung der Zeiten setzt den entsprechenden Schedule zurück und schaltet den Aktor aus um einen definierten Zustand zu haben.

    Es können egal welche Aktoren geschaltet werden. Einfach euren aktor im Script beim entsprechenden const Eintrag hinterlegen..

    Bei mir ist es eine steckdose für die Weihnachtsbeleuchtung..

    Falls jemand Interess hat...

    Sollten verbesserunegn oder Fehler korrieiert werden, könnt ihr das ja hier mitteilen und zur Verfügung stellen.

    Für Anregungen bin ich offen...

    6558_unbenannt12345.png

    Script

    6558_timer.js

    //Script Timer Vis Ein Aus Steckdose 1
    //States Allgemein für Vorwahl in Vis
    createState('javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.viewechsel', {def: 'false', type: 'boolean', name: 'Zeitschaltung Steckdose 1 oeffnen'});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Vorwahl",{read: true,write: true,desc: "Vorwahl Anzahl Schaltzyklen,",type: "number", min:'1',max:'4',def:1});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Automatik",false,{read: true,write: true,desc: "Vorwahl Automatik",type: "boolean"});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Astro",false,{ read: true, write: true, desc: "Vorwahl Astro", type: "boolean"});
    //Einschalttrigger für Steckdose
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Zeitfenster",false,{read: true,write: true,desc: "Zeitfenster Osram Steckdose Lightify 1",type: "boolean"});
    //States für Zeiteingabe des 1\. Einschaltzyklus in Vis
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin1",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:19});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin1",{read: true,write: true,desc: "Zeiteingabe Minuten ein,",type: "number",min:'0', max:'60',def:5});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus1",{read: true,write: true,desc: "Zeiteingabe Stunden aus,",type: "number",min:'0', max:'24',def:20});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus1",{read: true,write: true,desc: "Zeiteingabe Minuten aus,",type: "number",min:'0', max:'60',def:5});
    //States für Zeiteingabe des 2\. Einschaltzyklus in Vis
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin2",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:19});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin2",{read: true,write: true,desc: "Zeiteingabe Minuten ein,",type: "number",min:'0', max:'60',def:5});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus2",{read: true,write: true,desc: "Zeiteingabe Stunden aus,",type: "number",min:'0', max:'24',def:20});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus2",{read: true,write: true,desc: "Zeiteingabe Minuten aus,",type: "number",min:'0', max:'60',def:5});
    //States für Zeiteingabe des 3\. Einschaltzyklus in Vis
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin3",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:19});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin3",{read: true,write: true,desc: "Zeiteingabe Minuten ein,",type: "number",min:'0', max:'60',def:5});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus3",{read: true,write: true,desc: "Zeiteingabe Stunden aus,",type: "number",min:'0', max:'24',def:20});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus3",{read: true,write: true,desc: "Zeiteingabe Minuten aus,",type: "number",min:'0', max:'60',def:5});
    //States für Zeiteingabe des 4\. Einschaltzyklus in Vis
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin4",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:19});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin4",{read: true,write: true,desc: "Zeiteingabe Minuten ein,",type: "number",min:'0', max:'60',def:5});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus4",{read: true,write: true,desc: "Zeiteingabe Stunden aus,",type: "number",min:'0', max:'24',def:20});
    createState("javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus4",{read: true,write: true,desc: "Zeiteingabe Minuten aus,",type: "number",min:'0', max:'60',def:5});
    
    //Logausgabe aktivieren deaktivieren
    var logging = true;
    //Timer Schedule 1\. Einschaltzyklus
    var TimerOnAus1 = null;
    var TimerOnEin1 = null;
    //Timer Schedule 2\. Einschaltzyklus
    var TimerOnAus2 = null;
    var TimerOnEin2 = null;
    //Timer Schedule 3\. Einschaltzyklus
    var TimerOnAus3 = null;
    var TimerOnEin3 = null;
    //Timer Schedule 4\. Einschaltzyklus
    var TimerOnAus4 = null;
    var TimerOnEin4 = null;
    
    //Konstanten ids zu den oben angelegten States
    const id0   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Vorwahl";//Vorwahl Anzahl Zyklen Steckdose ein aus
    const id1   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Zeitfenster";//Trigger für Steckdose einschalten
    const id2   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Automatik";//Automatik Vorwahl für Zyklen oder Astor aktiv
    const id3   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Astro";//Astrozeit aktiv
    const id4   ="zigbee.0.84182600000b343c.state";//Steckdose eintragen
    //Konstanten Zeiteingabe 1\. Zyklus
    const id15	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin1";//Verstellung 1.Zyklus Stunde Ein
    const id16	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin1";//Verstellung 1.Zyklus Minute Ein
    const id17   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus1";//Verstellung 1.Zyklus Stunde Aus
    const id18   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus1";//Verstellung 1.Zyklus Minute Aus
    //Konstanten Zeiteingabe 2\. Zyklus
    const id25	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin2";//Verstellung 2.Zyklus Stunde Ein
    const id26	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin2";//Verstellung 2.Zyklus Minute Ein
    const id27   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus2";//Verstellung 2.Zyklus Stunde Aus
    const id28   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus2";//Verstellung 2.Zyklus Minute Aus
    //Konstanten Zeiteingabe 3\. Zyklus
    const id35	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin3";//Verstellung 2.Zyklus Stunde Ein
    const id36	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin3";//Verstellung 2.Zyklus Minute Ein
    const id37   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus3";//Verstellung 2.Zyklus Stunde Aus
    const id38   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus3";//Verstellung 2.Zyklus Minute Aus
    //Konstanten Zeiteingabe 4\. Zyklus
    const id45	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeEin4";//Verstellung 2.Zyklus Stunde Ein
    const id46	="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteEin4";//Verstellung 2.Zyklus Minute Ein
    const id47   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.StundeAus4";//Verstellung 2.Zyklus Stunde Aus
    const id48   ="javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.MinuteAus4";//Verstellung 2.Zyklus Minute Aus
    
    //setzen der 1\. Einschaltzeit der Steckdose
    function TimerEin1() {     
    clearSchedule(TimerOnEin1);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeEin1 = getState(id15).val;
    var idTimerMinuteEin1 = getState(id16).val;
    var AufZeitEin1 = idTimerMinuteEin1 + ' ' + idTimerStundeEin1 + ' * * *';
    if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Ein Zyklus 1 geändert: " + AufZeitEin1); 
    	setState(id1, false);
    
    	TimerOnEin1 = schedule(AufZeitEin1, function(){
        if(Vorwahl>=1){
        setState(id1, true);
        if (logging) log('Zyklus 1 ein aktiv');
            }
        });
    }   
    // setzen der 1\. Ausschaltzeit der Steckdose 
    function TimerAus1() { 
    clearSchedule(TimerOnAus1);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeAus1 = getState(id17).val;
    var idTimerMinuteAus1 = getState(id18).val;
    var AufZeitAus1 = idTimerMinuteAus1 + ' ' + idTimerStundeAus1 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Aus Zyklus 1 geändert: " + AufZeitAus1);    
    
        TimerOnAus1 = schedule(AufZeitAus1, function(){
        if(Vorwahl>=1){    
        setState(id1, false);
        if (logging) log('Zyklus 1 aus aktiv');
            } 
        });
    }
    
    //setzen der 2\. Einschaltzeit der Steckdose
    function TimerEin2() {      
    clearSchedule(TimerOnEin2);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeEin2 = getState(id25).val;
    var idTimerMinuteEin2 = getState(id26).val;
    var AufZeitEin2 = idTimerMinuteEin2 + ' ' + idTimerStundeEin2 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Ein Zyklus 2 geändert: " + AufZeitEin2);    
    
        TimerOnEin2 = schedule(AufZeitEin2, function(){
        if(Vorwahl>=2){    
        setState(id1, true);
        if (logging) log('Zyklus 2 ein aktiv');
            }
        });
    }   
    // setzen der 2\. Ausschaltzeit der Steckdose 
    function TimerAus2() {    
    clearSchedule(TimerOnAus2);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeAus2 = getState(id27).val;
    var idTimerMinuteAus2 = getState(id28).val;
    var AufZeitAus2 = idTimerMinuteAus2 + ' ' + idTimerStundeAus2 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Aus Zyklus 2 geändert: " + AufZeitAus2);    
    
        TimerOnAus2 = schedule(AufZeitAus2, function(){
        if(Vorwahl>=2){    
        setState(id1, false);
        if (logging) log('Zyklus 2 aus aktiv');
            }
        });
    }
    
    //setzen der 3\. Einschaltzeit der Steckdose
    function TimerEin3() {    
    clearSchedule(TimerOnEin3);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeEin3 = getState(id35).val;
    var idTimerMinuteEin3 = getState(id36).val;
    var AufZeitEin3 = idTimerMinuteEin3 + ' ' + idTimerStundeEin3 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Ein Zyklus 3 geändert: " + AufZeitEin3);   
    
        TimerOnEin3 = schedule(AufZeitEin3, function(){
        if(Vorwahl>=3){    
        setState(id1, true);
        if (logging) log('Zyklus 3 ein aktiv');
            }
        });
    }
    
    // setzen der 3\. Ausschaltzeit der Steckdose 
    function TimerAus3() {  
    clearSchedule(TimerOnAus3);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeAus3 = getState(id37).val;
    var idTimerMinuteAus3 = getState(id38).val;
    var AufZeitAus3 = idTimerMinuteAus3 + ' ' + idTimerStundeAus3 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Aus Zyklus 3 geändert: " + AufZeitAus3);    
    
        TimerOnAus3 = schedule(AufZeitAus3, function(){
        if (Vorwahl >= 3) {    
        setState(id1, false);
        if (logging) log('Zyklus 3 aus aktiv');
            }
        });
    }
    
    //setzen der 4\. Einschaltzeit der Steckdose
    function TimerEin4() {     
    clearSchedule(TimerOnEin4);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeEin4 = getState(id45).val;
    var idTimerMinuteEin4 = getState(id46).val;
    var AufZeitEin4 = idTimerMinuteEin4 + ' ' + idTimerStundeEin4 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Ein Zyklus 4 geändert: " + AufZeitEin4);    
    
        TimerOnEin4 = schedule(AufZeitEin4, function(){
        if(Vorwahl>=4){    
        setState(id1, true);
        if (logging) log('Zyklus 4 ein aktiv');
            }
        });
    }   
    // setzen der 4\. Ausschaltzeit der Steckdose 
    function TimerAus4() {
    clearSchedule(TimerOnAus4);
    var Vorwahl = getState(id0).val;
    var	idTimerStundeAus4 = getState(id47).val;
    var idTimerMinuteAus4 = getState(id48).val;
    var AufZeitAus4 = idTimerMinuteAus4 + ' ' + idTimerStundeAus4 + ' * * *';
    	setState(id1, false);
        if (logging) log("Timer Steckdose OsramLightify_1 Zeitfenster Aus Zyklus 4 geändert: " + AufZeitAus4);    
    
        TimerOnAus4 = schedule(AufZeitAus4, function(){
        if(Vorwahl>=4){    
        setState(id1, false);
        if (logging) log('Zyklus 4 aus aktiv');
           }
        });
    }
    
    //Steckodes einschalten
    function TriggerSteckdose() { 
    var Zeitfenster = getState(id1).val;
    var Automatik = getState(id2).val;
    var Astro = getState(id3).val;
            if(Zeitfenster === true && Automatik === true && Astro === false){
        setState(id4,true);//Steckdose ein
        if(logging)log('Steckdose OsramLightify_1 eingeschaltet');
        }else{
        if(Zeitfenster === false && Automatik === true && Astro === false) {
            setState(id4,false);//Steckdose  aus
            if(logging)log('Steckdose OsramLightify_1 ausgeschaltet');
            }
        }
    }
    
    function Astroein() {
    var Zeitfenster = getState(id1).val;
    var Automatik = getState(id2).val;
    var Astro = getState(id3).val;
            if(Automatik === true  && Astro === true){
        setState(id4,true);//Steckdose ein
        if(logging)log('Steckdose OsramLightify_1 nach Astro eingeschaltet');
        }
    }
    
    function Astroaus() {
    var Zeitfenster = getState(id1).val;
    var Automatik = getState(id2).val;
    var Astro = getState(id3).val;
            if(Automatik === true  && Astro === true){
        setState(id4,false);//Steckdose aus
        if(logging)log('Steckdose OsramLightify_1 nach Astro ausgeschaltet');
        }
    }
    
    //script start Timer bei Scriptstart setzen
     TimerAus1();
     TimerAus2();
     TimerAus3();
     TimerAus4();
     TimerEin1();
     TimerEin2();
     TimerEin3();
     TimerEin4();
    
    //Trigger Anzahl der möglichen Schaltzyklen  
    on(id0, function(dp) { 
        if(logging)log("Trigger Vorwahl der möglichen Schalttzyklen geändert");
        var Vorwahl=getState(id0).val;
        if (Vorwahl===0){ 
     TimerAus1();
     TimerAus2();
     TimerAus3();
     TimerAus4();
     TimerEin1();
     TimerEin2();
     TimerEin3();
     TimerEin4();
    }else{
    if (Vorwahl===1){   
     //TimerAus1();
     TimerAus2();
     TimerAus3();
     TimerAus4();
     //TimerEin1();
     TimerEin2();
     TimerEin3();
     TimerEin4();
    }else{
        if (Vorwahl===2){   
     //TimerAus1();
     //TimerAus2();
     TimerAus3();
     TimerAus4();
     //TimerEin1();
     //TimerEin2();
     TimerEin3();
     TimerEin4();
    }else{
        if (Vorwahl===3){   
     //TimerAus1();
     //TimerAus2();
     //TimerAus3();
     TimerAus4();
     //TimerEin1();
     //TimerEin2();
     //TimerEin3();
     TimerEin4();
                }
            }
        }
    }
    });
    
    //###################################################################
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 1 Stunde
    on(id15, function(dp) {
    TimerEin1();
    if(logging)log("Trigger Stunde 1 ein");
    });
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 1 Minute
    on(id16, function(dp) {
    TimerEin1();
    if(logging)log("Trigger Minute 1 ein");
    });
    
    //Trigger Zeitverstellung Ausschaltzeit für Zyklus 1 Stunde
    on(id17, function(dp) {
    TimerAus1();
    if(logging)log("Trigger Stunde 1 aus");
    });
    
    //Trigger Zeitverstellung Ausschaltzeit für Zyklus 1 Minute
    on(id18, function(dp) {   
    TimerAus1();
    if(logging)log("Trigger Minute 1 aus");
    });
    
    //#################################################################
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 2 Stunde
    on(id25, function(dp) {
    TimerEin2();
    if(logging)log("Trigger Stunde 2 ein");
    });
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 2 Minute
    on(id26, function(dp) {
    TimerEin2();
    if(logging)log("Trigger Minute 2 ein");
    });
    
    //Trigger Zeitverstellung Ausschaltzeit für Zyklus 2 Stunde
    on(id27, function(dp) {
    TimerAus2();
    if(logging)log("Trigger Stunde 2 aus");
    });
    
    //Trigger Zeitverstellung Ausnschaltzeit für Zyklus 2 Minute
    on(id28, function(dp) {   
    TimerAus2();
    if(logging)log("Trigger Minute 2 aus");
    });
    
    //#################################################################
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 3 Stunde
    on(id35, function(dp) {
    TimerEin3();
    if(logging)log("Trigger Stunde 3 ein");
    });
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 3 Minute
    on(id36, function(dp) {
    TimerEin3();
    if(logging)log("Trigger Minute 3 ein");
    });
    
    //Trigger Zeitverstellung Ausschaltzeit für Zyklus 3 Stunde
    on(id37, function(dp) {
    TimerAus3();
    if(logging)log("Trigger Stunde 3 aus");
    });
    
    //Trigger Zeitverstellung Ausnschaltzeit für Zyklus 3 Minute
    on(id38, function(dp) {   
    TimerAus3();
    if(logging)log("Trigger Minute 3 aus");
    });
    
    //#################################################################
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 4 Stunde
    on(id45, function(dp) {
    TimerEin4();
    if(logging)log("Trigger Stunde 4 ein");
    });
    
    //Trigger Zeitverstellung Einschaltzeit für Zyklus 4 Minute
    on(id46, function(dp) {
    TimerEin4();
    if(logging)log("Trigger Minute 4 ein");
    });
    
    //Trigger Zeitverstellung Ausschaltzeit für Zyklus 4 Stunde
    on(id47, function(dp) {
    TimerAus4();
    if(logging)log("Trigger Stunde 4 aus");
    });
    
    //Trigger Zeitverstellung Ausnschaltzeit für Zyklus 4 Minute
    on(id48, function(dp) {   
    TimerAus4();
    if(logging)log("Trigger Minute 4 aus");
    });
    
    //################################################################
    
    //Trigger für Steckdose einschalten und ausschalten
    //on(id1, function(dp) {
    on({id:"javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Zeitfenster", change: 'any'},function(obj){
    TriggerSteckdose();
    if(logging)log("Trigger Zeitfenster aktiv Steckdose ein aus ");
    });
    
    //######################################################################
    
    //Schedule für Steckdose ein aus nach Astro. Zeitschaltuhr  inakiv wenn Astro gesetz
    schedule({astro: "sunrise"}, function () {
      Astroaus();
    if(logging)log("Trigger sunrise Astro aktiv ");
    });
    schedule({astro: "sunset"}, function () {
    if(logging)log("Trigger sunset Astro aktiv ");
      Astroein();
    });
    
    

    view für vis ( rufe die view über ein im view in widget auf )
    6558_timerview.txt

    1 Reply Last reply
    0
    • W Offline
      W Offline
      weimaraner
      wrote on last edited by
      #2

      Super. Danke. Ich werde es ausprobieren. Allerdings erst im Sommer, wenn ich die Pumpe vom Pool damit schalten werde. :D

      Aber genau sowas mit vis Darstellung habe ich gebraucht.

      Grüße Andreas

      1 Reply Last reply
      0
      • W Offline
        W Offline
        weimaraner
        wrote on last edited by
        #3

        Wo ich jetzt noch etwas auf dem Schlauch stehe ist der Export der View. Wenn ich view exportieren ausführe sehe ich zum einen die Kästchen für die Einschaltzeiten nicht und ich habe noch nicht so richtig verstanden, was es mit dem im view im widget auf sich hat.

        Kannst Du mir auf die Sprünge helfen?

        Grüße Andreas

        1 Reply Last reply
        0
        • smartboartS Offline
          smartboartS Offline
          smartboart
          wrote on last edited by
          #4

          Du musst die view importieren….

          Vlt.die hintergrundfarbe mal ändern?

          Ist ne ganz normale view...

          Ich oeffne bzw zeige sie halt über ein widget (view in widget) an

          Gesendet von meinem CLT-L09 mit Tapatalk

          1 Reply Last reply
          0
          • smartboartS Offline
            smartboartS Offline
            smartboart
            wrote on last edited by
            #5

            Habe noch einen kleine Fehler bei der Vorwahl der Schaltzyklen bereinigt…

            Das script oben hbe ich ausgetauscht...

            die Änderung ist im Bereich der Vorwahl für die Schaltzyklen erfolgt...

            //Trigger Anzahl der möglichen Schaltzyklen  
            on(id0, function(dp) { 
                if(logging)log("Trigger Vorwahl der möglichen Schalttzyklen geändert");
                var Vorwahl=getState(id0).val;
                if (Vorwahl===0){ 
             TimerAus1();
             TimerAus2();
             TimerAus3();
             TimerAus4();
             TimerEin1();
             TimerEin2();
             TimerEin3();
             TimerEin4();
            }else{
            if (Vorwahl===1){   
             //TimerAus1();
             TimerAus2();
             TimerAus3();
             TimerAus4();
             //TimerEin1();
             TimerEin2();
             TimerEin3();
             TimerEin4();
            }else{
                if (Vorwahl===2){   
             //TimerAus1();
             //TimerAus2();
             TimerAus3();
             TimerAus4();
             //TimerEin1();
             //TimerEin2();
             TimerEin3();
             TimerEin4();
            }else{
                if (Vorwahl===3){   
             //TimerAus1();
             //TimerAus2();
             //TimerAus3();
             TimerAus4();
             //TimerEin1();
             //TimerEin2();
             //TimerEin3();
             TimerEin4();
                        }
                    }
                }
            }
            });
            
            1 Reply Last reply
            0
            • smartboartS Offline
              smartboartS Offline
              smartboart
              wrote on last edited by
              #6

              @weimaraner:

              Super. Danke. Ich werde es ausprobieren. Allerdings erst im Sommer, wenn ich die Pumpe vom Pool damit schalten werde. :D

              Aber genau sowas mit vis Darstellung habe ich gebraucht.

              Grüße Andreas `

              Für die Poolpumpe habe ich ein script, welches in Abhängigkeit der Aussentemperatur und Sonne scheint die Pumpe steuert…4 feste Zyklen und je nach Temperatur mit verlängerter Laufzeit...Dazu habe ich aber keine Vis... geplant ist noch die Wassertrübung und Wassertemperatur mit rein zu nehmen...Aber das mach ich erst, wenn der Bagger angerückt ist und der Pool einem festen weichen muss.

              1 Reply Last reply
              0
              • N Offline
                N Offline
                nhbischo
                wrote on last edited by
                #7

                Moin !

                Finde Dein Skript auch gut. Nur habe ich das selbe Problem wie Weimaraner. Ganz normal importiert. Hintergrund geändert. Sehe gleichfalls keine Einstellungsmöglichkeiten in VIS. VIS Version 1.1.8. 2421_bildschirmfoto_vom_2018-12-05_18-00-24.png

                1 Reply Last reply
                0
                • smartboartS Offline
                  smartboartS Offline
                  smartboart
                  wrote on last edited by
                  #8

                  OK ist Vlt. Bei meinem export was schief gegangen… Die einzelnen zeiteinstellungs Fenster sind bei mir jeweils gruppiert... Vlt. Liegt es daran...

                  Lade es gleich nochmal hoch...

                  nachdem ich die gruppierung raus genommen habe...

                  1 Reply Last reply
                  0
                  • smartboartS Offline
                    smartboartS Offline
                    smartboart
                    wrote on last edited by
                    #9

                    6558_viewtimer.txt

                    so konnte es nachvollziehen. klappte bei mir auch nicht. lag an der gruppierung der widgets….

                    jetzt sollte es gehen.

                    1 Reply Last reply
                    0
                    • smartboartS Offline
                      smartboartS Offline
                      smartboart
                      wrote on last edited by
                      #10

                      durch das Auflösen der Gruppen sind die Sichtbarkeitseinstellungen der widgets natürlich weg… Wer das wieder möchte, also das nur die Zeiteingabe angezeigt wird welche vorgewählt wurden, muss die einzelnen Eingabefelder wieder gruppieren und bei Sichtbarkeit entsprechend den Datenpunkt hinterlegen.Oder eben die Sichtbarkeitseinstellung für alle widgets vornehmen. Ansosnten werden alle Felder angezeigt, was auch nicht tragisch ist...aktiv sind z.B bei Einstellung Zyklus 2 nur die Eingabefelder 1 und 2.Bei Einstellung 3 dann Zeiteingabe 1, 2 und 3 usw.
                      6558_unbenannt.png
                      6558_unbenannt2.png
                      6558_unbenannt1.png

                      1 Reply Last reply
                      0
                      • smartboartS Offline
                        smartboartS Offline
                        smartboart
                        wrote on last edited by
                        #11

                        Hi, habe heute noch 3 kleine Fehler im Script beseitigt . Davon ein copy and paste Fehler für Zyklus 4 und eine unsaubere Sache im Bereich der Steckdosen Trigger. Änderung auf change: 'any' damit bei bei Änderung der Timer auch die Steckdose zurück gestezt wird.

                        Ebenfalls habe ich die Verriegelung ein aus bzw Abfrage ob Steckdose ein ist entfallen lassen…

                        Lässt das Script alles etwas sauberer laufen..

                        Aktualisiert ist es bereits im 1. post..

                        1 Reply Last reply
                        0
                        • W Offline
                          W Offline
                          weimaraner
                          wrote on last edited by
                          #12

                          Der Import der view klappt jetzt. Vielen Dank dafür!

                          Jetzt aber doch noch eine Frage. Ich bin immer noch ein vis Anfänger… ;)

                          Wie bekomme ich es mit diesem "view in widget" hin, daß ich ein widget(?) drücke und dann dieses Fenster aufgeht. Bestimmt über Sichtbarkeit? Aber was löst aus, daß das view in widget sichtbar wird?

                          Grüße Andreas

                          1 Reply Last reply
                          0
                          • smartboartS Offline
                            smartboartS Offline
                            smartboart
                            wrote on last edited by
                            #13

                            Der state viewWechsel… Wenn true zeige view in widget... Nehm dir ein Button welche diesen state auf True setzt. Das view in widget soll sichtbar sein wenn dieser state viewWechsel true ist.. Suche bei der widget Auswahl einfach nach view...

                            In diesem widget trägst du den view Namen ein..

                            In meiner view ist bereits ein Button welcher den viewwechsel auf false setzt...

                            So das die view in widget wieder zu geht und du wieder auf der Seite bist welche den Button beinhaltet welcher fuer den Aufruf zuständig ist.

                            Gesendet von meinem CLT-L09 mit Tapatalk

                            1 Reply Last reply
                            0
                            • W Offline
                              W Offline
                              weimaraner
                              wrote on last edited by
                              #14

                              Klickklack…

                              Der Groschen ist gefallen. :)

                              Danke und Grüße Andreas

                              1 Reply Last reply
                              0
                              • smartboartS Offline
                                smartboartS Offline
                                smartboart
                                wrote on last edited by
                                #15

                                habe im 1. Beitrag oben das script und die view ausgetauscht.

                                Die view beinhaltet die hier im Beitrag genannten Einstellungen zur Sichtbarkeit der widgets zur Zeiteinstellung.

                                Das Script wurde erweitert um die Funktion Zeit stellen bei Scriptstart. somit auch bei neutsrat des Javascriptadapters.

                                Wenn irgendwelche Fehler bekannt werden, bitte kurz melden…

                                Überwache das Script bzw. die Ansteuerung der Steckdosen mit nem floatchart um Fehlfunktionen auszuschließen...

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  balear59
                                  wrote on last edited by
                                  #16

                                  Hallo und Moin,

                                  wollte mich einfach mal bedanken für Deine Arbeit. Jetzt funktioniert es super. Genau das hat mir immer gefehlt.

                                  viel Spass noch

                                  Jens

                                  1 Reply Last reply
                                  0
                                  • C Offline
                                    C Offline
                                    Conquest
                                    wrote on last edited by
                                    #17

                                    Sehr schönes Script kann man für die Weihnachtsbeleuchtung oder so gut gebrauchen danke. Wenn du es noch mit Tagesauswahl hinbekommen würdest würde ich mich sehr freuen.

                                    Gruß Torsten

                                    Gesendet von meinem MHA-L29 mit Tapatalk

                                    1 Reply Last reply
                                    0
                                    • GompmanG Offline
                                      GompmanG Offline
                                      Gompman
                                      wrote on last edited by
                                      #18

                                      Hi super Arbeit!!!

                                      bei uns ist es oft der Fall das mit Astro eingeschaltet und um Uhrzeit x ausgeschaltet wird.

                                      Hättest jemand eine Idee wie man das integrieren könnte?

                                      1 Reply Last reply
                                      0
                                      • smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        wrote on last edited by
                                        #19

                                        @Gompman:

                                        Hi super Arbeit!!!

                                        bei uns ist es oft der Fall das mit Astro eingeschaltet und um Uhrzeit x ausgeschaltet wird.

                                        Hättest jemand eine Idee wie man das integrieren könnte? ` Man müsste nur noch einen state anlegen z. B. Zyklus1nachAstroEinschalten.. Wenn dieser true ist, wird der einschaltzyklus mit der astrofunktion überschrieben… Bei Zyklus 1 evtl.

                                        Gingen aber auch fuer jeden zyklus eine Astro Vorwahl zum einschalten.. Wäre dann konsequent...

                                        Gesendet von meinem CLT-L09 mit Tapatalk

                                        1 Reply Last reply
                                        0
                                        • smartboartS Offline
                                          smartboartS Offline
                                          smartboart
                                          wrote on last edited by
                                          #20

                                          @Gompman:

                                          Hi super Arbeit!!!

                                          bei uns ist es oft der Fall das mit Astro eingeschaltet und um Uhrzeit x ausgeschaltet wird.

                                          Hättest jemand eine Idee wie man das integrieren könnte? `

                                          Habe es mal für Zyklus 1 reingenommen.

                                          Wenn der State "javascript.1.Zeitsteuerung.Steckdose.OsramLightify_1.Zyklus1AstroEin " true ist und Zyklus 1 vorgewählt wurde, sollte Zyklus 1 nach Astro eingeschaltet werden…

                                          Habe keine Zeit es zu testen und benötige es auch nicht...Aber kannst ja mal ausprobieren...

                                          6558_zeitschaltung_mit_astro_ein.js

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          589

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe