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. [Vorlage] Zeitschaltuhr mit 4 Zyklen ein aus einstellbar in vis inkl. Astro und manuell auto umschaltung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    492

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
66 Beiträge 22 Kommentatoren 23.1k Aufrufe 20 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.
  • smartboartS Offline
    smartboartS Offline
    smartboart
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • W Offline
      W Offline
      weimaraner
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • W Offline
        W Offline
        weimaraner
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • smartboartS Offline
          smartboartS Offline
          smartboart
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • smartboartS Offline
            smartboartS Offline
            smartboart
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • smartboartS Offline
              smartboartS Offline
              smartboart
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                nhbischo
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • smartboartS Offline
                  smartboartS Offline
                  smartboart
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • smartboartS Offline
                    smartboartS Offline
                    smartboart
                    schrieb am zuletzt editiert von
                    #9

                    6558_viewtimer.txt

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

                    jetzt sollte es gehen.

                    1 Antwort Letzte Antwort
                    0
                    • smartboartS Offline
                      smartboartS Offline
                      smartboart
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • smartboartS Offline
                        smartboartS Offline
                        smartboart
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • W Offline
                          W Offline
                          weimaraner
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • smartboartS Offline
                            smartboartS Offline
                            smartboart
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • W Offline
                              W Offline
                              weimaraner
                              schrieb am zuletzt editiert von
                              #14

                              Klickklack…

                              Der Groschen ist gefallen. :)

                              Danke und Grüße Andreas

                              1 Antwort Letzte Antwort
                              0
                              • smartboartS Offline
                                smartboartS Offline
                                smartboart
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • B Offline
                                  B Offline
                                  balear59
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    Conquest
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • GompmanG Offline
                                      GompmanG Offline
                                      Gompman
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • smartboartS Offline
                                          smartboartS Offline
                                          smartboart
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          649

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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