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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst]Zeitschaltuhr mit Datenpunkt schalten

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
7 Beiträge 3 Kommentatoren 1.1k Aufrufe 2 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.
  • Dominik F.D Offline
    Dominik F.D Offline
    Dominik F.
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      0
      • paul53P paul53

        Bitte löschen.

        Dominik F.D Offline
        Dominik F.D Offline
        Dominik F.
        schrieb am zuletzt editiert von
        #3

        @paul53

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

        PeoplesP 1 Antwort Letzte Antwort
        0
        • Dominik F.D Dominik F.

          @paul53

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

          PeoplesP Offline
          PeoplesP Offline
          Peoples
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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.
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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.
                schrieb am zuletzt editiert von
                #7

                @Peoples

                Super, nun scheint alles zu funktionieren. Vielen lieben Dank

                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

                713

                Online

                32.6k

                Benutzer

                82.2k

                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