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. JavaScript
  5. [gelöst]Zeitschaltuhr mit Datenpunkt schalten

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    770

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

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

[gelöst]Zeitschaltuhr mit Datenpunkt schalten

Scheduled Pinned Locked Moved JavaScript
javascript
7 Posts 3 Posters 1.1k Views 2 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.
  • Dominik F.D Offline
    Dominik F.D Offline
    Dominik F.
    wrote on last edited by Dominik F.
    #1

    Hallo zusammen,

    ich habe folgendes Skript für meine Weihnachtsbeleuchtung geschrieben:

    createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {name: 'Zeitschaltung Weihnachtsbeleuchtung'});
    
    let BeleuchtungAktiv = false;
      
    on({id: 'javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv'/*Zeitschaltung Weihnachtsbeleuchtung*/, change: 'ne'} , function (obj) {
         BeleuchtungAktiv = obj.state.val;
    });
    
    function Weihnachtsbeleuchtung_An() {
    setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, BeleuchtungAktiv);
    }
    function Weihnachtsbeleuchtung_Aus() {
    setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
    }
    schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
    schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
    

    Ich möchte die Zeitschaltung über den Datenpunkt ZeitschaltungWeihnachtsbeleuchtungInnenAktiv An/Aus schalten können. Ich habe das Skript ursprünglich für meine Poolpumpe gehabt. Die Schedules zum abschalten sind immer aktiv, so das die Pumpe nicht alleine durch deaktiveren der Zeitschaltung auf Dauerlauf geschaltet werden können. Nun möchte ich jedoch genau das Deaktivieren. Ich möchte, wenn der Datenpunkt auf True ist, dass die Zeitschaltung aktiv ist und wenn dieser auf false steht, halt nicht aktiv. Die Beleuchtung schaltet sich jedoch immer Aus und durch rumprobieren bekomme ich es leider nicht alleine hin. Kann mir da jemand helfen?

    paul53P 1 Reply Last reply
    0
    • Dominik F.D Dominik F.

      Hallo zusammen,

      ich habe folgendes Skript für meine Weihnachtsbeleuchtung geschrieben:

      createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {name: 'Zeitschaltung Weihnachtsbeleuchtung'});
      
      let BeleuchtungAktiv = false;
        
      on({id: 'javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv'/*Zeitschaltung Weihnachtsbeleuchtung*/, change: 'ne'} , function (obj) {
           BeleuchtungAktiv = obj.state.val;
      });
      
      function Weihnachtsbeleuchtung_An() {
      setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, BeleuchtungAktiv);
      }
      function Weihnachtsbeleuchtung_Aus() {
      setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
      }
      schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
      schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
      

      Ich möchte die Zeitschaltung über den Datenpunkt ZeitschaltungWeihnachtsbeleuchtungInnenAktiv An/Aus schalten können. Ich habe das Skript ursprünglich für meine Poolpumpe gehabt. Die Schedules zum abschalten sind immer aktiv, so das die Pumpe nicht alleine durch deaktiveren der Zeitschaltung auf Dauerlauf geschaltet werden können. Nun möchte ich jedoch genau das Deaktivieren. Ich möchte, wenn der Datenpunkt auf True ist, dass die Zeitschaltung aktiv ist und wenn dieser auf false steht, halt nicht aktiv. Die Beleuchtung schaltet sich jedoch immer Aus und durch rumprobieren bekomme ich es leider nicht alleine hin. Kann mir da jemand helfen?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      Bitte löschen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      Dominik F.D 1 Reply Last reply
      0
      • paul53P paul53

        Bitte löschen.

        Dominik F.D Offline
        Dominik F.D Offline
        Dominik F.
        wrote on last edited by
        #3

        @paul53

        hab ich etwas falsch gemacht das ich das thema löschen soll?

        PeoplesP 1 Reply Last reply
        0
        • Dominik F.D Dominik F.

          @paul53

          hab ich etwas falsch gemacht das ich das thema löschen soll?

          PeoplesP Offline
          PeoplesP Offline
          Peoples
          wrote on last edited by Peoples
          #4

          @Dominik-F
          Ich denke Paul meint seinen Beitrag mit bitte löschen nicht deinen.

          Zu deinem Script, versuch das mal so:

          createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {name: 'Zeitschaltung Weihnachtsbeleuchtung'});
          let BeleuchtungAktiv = false;
          
          // Das solltest du so nicht mehr brauchen
          //on({id: 'javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv'/*Zeitschaltung Weihnachtsbeleuchtung*/, change: 'ne'} , function (obj) {
          //     BeleuchtungAktiv = obj.state.val;
          //});
          
          
          function Weihnachtsbeleuchtung_An() {
              if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                  setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, BeleuchtungAktiv);
              }
          }
          function Weihnachtsbeleuchtung_Aus() {
              if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                  setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
              }    
          }
          schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
          schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
          

          Sollte eigentlich klappen.
          So wird zwar die Funktion aufgerufen zur gewünschten Uhrzeit, aber durch die vorgeschaltete If-Abfrage nach deinem Datenpunkt sollte nichts passieren.

          Evtl. könnte man jetzt durch das Umschalten deines Timer-Datenpunkts noch eine Funktion dazu machen, die beim Umschalten prüft ob die aktuelle Zeit zwischen der Wunschzeit liegt und dann entsprechend reagieren.

          Ich beantworte keine Fragen zu Themen via PN

          Dominik F.D 1 Reply Last reply
          0
          • PeoplesP Peoples

            @Dominik-F
            Ich denke Paul meint seinen Beitrag mit bitte löschen nicht deinen.

            Zu deinem Script, versuch das mal so:

            createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {name: 'Zeitschaltung Weihnachtsbeleuchtung'});
            let BeleuchtungAktiv = false;
            
            // Das solltest du so nicht mehr brauchen
            //on({id: 'javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv'/*Zeitschaltung Weihnachtsbeleuchtung*/, change: 'ne'} , function (obj) {
            //     BeleuchtungAktiv = obj.state.val;
            //});
            
            
            function Weihnachtsbeleuchtung_An() {
                if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                    setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, BeleuchtungAktiv);
                }
            }
            function Weihnachtsbeleuchtung_Aus() {
                if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                    setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
                }    
            }
            schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
            schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
            

            Sollte eigentlich klappen.
            So wird zwar die Funktion aufgerufen zur gewünschten Uhrzeit, aber durch die vorgeschaltete If-Abfrage nach deinem Datenpunkt sollte nichts passieren.

            Evtl. könnte man jetzt durch das Umschalten deines Timer-Datenpunkts noch eine Funktion dazu machen, die beim Umschalten prüft ob die aktuelle Zeit zwischen der Wunschzeit liegt und dann entsprechend reagieren.

            Dominik F.D Offline
            Dominik F.D Offline
            Dominik F.
            wrote on last edited by
            #5

            @Peoples

            Vielen Dank für deine Hilfe. So ganz funktioniert das ganze noch nicht. Ich habe zum Testen die Weihnachtsbeleuchtung angestellt und den Datenpunkt auf True gesetzt. Dann setzte der Timer für Weihnachtsbeleuchtung_An ein und schaltete die Weihnachtsbeleuchtung aus. Sollte ich BeleuchtungAktiv eventuell da weglassen und einfach true schreiben? hast du da vielleicht noch eine idee?

            PeoplesP 1 Reply Last reply
            0
            • Dominik F.D Dominik F.

              @Peoples

              Vielen Dank für deine Hilfe. So ganz funktioniert das ganze noch nicht. Ich habe zum Testen die Weihnachtsbeleuchtung angestellt und den Datenpunkt auf True gesetzt. Dann setzte der Timer für Weihnachtsbeleuchtung_An ein und schaltete die Weihnachtsbeleuchtung aus. Sollte ich BeleuchtungAktiv eventuell da weglassen und einfach true schreiben? hast du da vielleicht noch eine idee?

              PeoplesP Offline
              PeoplesP Offline
              Peoples
              wrote on last edited by Peoples
              #6

              @Dominik-F

              Mein Fehler hab ich überlesen, hier nochmal:

              
              
              createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {type: 'boolean',name: 'Zeitschaltung Weihnachtsbeleuchtung'});
              
              
              function Weihnachtsbeleuchtung_An() {
                  if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                      setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, true);
                  }
              }
              
              function Weihnachtsbeleuchtung_Aus() {
                  if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                      setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
                  }    
              }
              
              schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
              schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
              
              

              Gib nochmal Bescheid. Der Fehler war dass bei Aus -> false geschalten wurde und bei An -> BeleuchtungAktiv(was auch als false deklariert war)

              Ich beantworte keine Fragen zu Themen via PN

              Dominik F.D 1 Reply Last reply
              1
              • PeoplesP Peoples

                @Dominik-F

                Mein Fehler hab ich überlesen, hier nochmal:

                
                
                createState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv', false, {type: 'boolean',name: 'Zeitschaltung Weihnachtsbeleuchtung'});
                
                
                function Weihnachtsbeleuchtung_An() {
                    if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                        setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, true);
                    }
                }
                
                function Weihnachtsbeleuchtung_Aus() {
                    if(getState('javascript.0.VIS.ZeitschaltungWeihnachtsbeleuchtungInnenAktiv').val === true){
                        setState('scene.Weihnachtsbeleuchtung_Innen'/*Weihnachtsbeleuchtung Innen*/, false);
                    }    
                }
                
                schedule({astro: "sunsetStart"}, function () { Weihnachtsbeleuchtung_An(); } );
                schedule({hour: 22, minute: 00}, function () { Weihnachtsbeleuchtung_Aus(); } );
                
                

                Gib nochmal Bescheid. Der Fehler war dass bei Aus -> false geschalten wurde und bei An -> BeleuchtungAktiv(was auch als false deklariert war)

                Dominik F.D Offline
                Dominik F.D Offline
                Dominik F.
                wrote on last edited by
                #7

                @Peoples

                Super, nun scheint alles zu funktionieren. Vielen lieben Dank

                1 Reply Last reply
                0

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                324

                Online

                32.8k

                Users

                82.7k

                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