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. JavaScript beenden mittels anderem Skript?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

JavaScript beenden mittels anderem Skript?

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 3 Kommentatoren 797 Aufrufe 1 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.
  • H Offline
    H Offline
    Hc-Yami
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,
    ich kenne mich leider überhaupt nicht mit JavaScript aus und kann meistens nur irgendwelche Dinge im Internet kopieren und ggf. für mich anpassen.

    Ich habe in iQontrol folgende Ansicht:

    5c16458b-369f-4ea6-85dd-0ae36bda4053-grafik.png

    Hinter den Schaltern "Normal: "Zuhause:" & "Urlaub: befinden sich die jeweiligen Datenpunkte in ioBroker:

    bc8fc172-350e-42f4-abb8-f436ad8bbef7-grafik.png

    Die Skripte dienen dazu der Homematic CCU3 mitzuteilen, dass das Wochenprogramm gewechselt werden soll:

    Normal:

    // 0 = Wochenprogramm 1 (normales Wochenprogramm)
    // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
    // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
    // ++++ Heizung auswählen
    
    
    //Schlafzimmer
    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
    
        log(JSON.stringify(res));
    
    });
    
    //Wohnzimmer
    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
    
        log(JSON.stringify(res));
    
    });
    
    //Badezimmer groß
    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
    
        log(JSON.stringify(res));
    
    });
    
    setState(Heizung.Test, true);
    
    
    

    Zur Zeit muss ich wenn ich das Wochenprogramm tauschen möchte den Schieberegler deaktivieren und dann mein jeweiliges Wochenprogramm auswählen. Hier wäre es nun mega cool, dass in dem jeweiligem Skript die anderen beiden Skripte deaktiviert werden. So müsste ich bspw. nur noch "Zuhause:" aktivieren. Wenn in dem Moment "Normal:" aktiv wäre würde dies automatisch deaktiviert.

    Ich denke das ist relativ trivial, oder? Könnte mich jemand hier unterstützen?

    Danke und Grüße! :)

    HomoranH 1 Antwort Letzte Antwort
    0
    • H Hc-Yami

      Hallo zusammen,
      ich kenne mich leider überhaupt nicht mit JavaScript aus und kann meistens nur irgendwelche Dinge im Internet kopieren und ggf. für mich anpassen.

      Ich habe in iQontrol folgende Ansicht:

      5c16458b-369f-4ea6-85dd-0ae36bda4053-grafik.png

      Hinter den Schaltern "Normal: "Zuhause:" & "Urlaub: befinden sich die jeweiligen Datenpunkte in ioBroker:

      bc8fc172-350e-42f4-abb8-f436ad8bbef7-grafik.png

      Die Skripte dienen dazu der Homematic CCU3 mitzuteilen, dass das Wochenprogramm gewechselt werden soll:

      Normal:

      // 0 = Wochenprogramm 1 (normales Wochenprogramm)
      // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
      // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
      // ++++ Heizung auswählen
      
      
      //Schlafzimmer
      sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
      
          log(JSON.stringify(res));
      
      });
      
      //Wohnzimmer
      sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
      
          log(JSON.stringify(res));
      
      });
      
      //Badezimmer groß
      sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': 0}}, res => {
      
          log(JSON.stringify(res));
      
      });
      
      setState(Heizung.Test, true);
      
      
      

      Zur Zeit muss ich wenn ich das Wochenprogramm tauschen möchte den Schieberegler deaktivieren und dann mein jeweiliges Wochenprogramm auswählen. Hier wäre es nun mega cool, dass in dem jeweiligem Skript die anderen beiden Skripte deaktiviert werden. So müsste ich bspw. nur noch "Zuhause:" aktivieren. Wenn in dem Moment "Normal:" aktiv wäre würde dies automatisch deaktiviert.

      Ich denke das ist relativ trivial, oder? Könnte mich jemand hier unterstützen?

      Danke und Grüße! :)

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @hc-yami sagte in JavaScript beenden mittels anderem Skript?:

      Hier wäre es nun mega cool, dass in dem jeweiligem Skript die anderen beiden Skripte deaktiviert werden. So müsste ich bspw. nur noch "Zuhause:" aktivieren.

      Bei Javascript werden Skripte nicht deaktiviert, um sie auszusetzen.
      Javascripte laufen eigentlich immer und reagieren auf Trigger(Änderungen)

      In deinem Fall könntest du wahrscheinlich mit einem Skript einen selbst erstellten Datenpunkt ändern, auf dessen Änderung die Ausführung der anderen Skripte unterbunden wird.
      Nach Rücksetzung würden die anderen Skripte dies "merken" und ihre Aufgabe wieder aufnehmen

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      paul53P 1 Antwort Letzte Antwort
      1
      • HomoranH Homoran

        @hc-yami sagte in JavaScript beenden mittels anderem Skript?:

        Hier wäre es nun mega cool, dass in dem jeweiligem Skript die anderen beiden Skripte deaktiviert werden. So müsste ich bspw. nur noch "Zuhause:" aktivieren.

        Bei Javascript werden Skripte nicht deaktiviert, um sie auszusetzen.
        Javascripte laufen eigentlich immer und reagieren auf Trigger(Änderungen)

        In deinem Fall könntest du wahrscheinlich mit einem Skript einen selbst erstellten Datenpunkt ändern, auf dessen Änderung die Ausführung der anderen Skripte unterbunden wird.
        Nach Rücksetzung würden die anderen Skripte dies "merken" und ihre Aufgabe wieder aufnehmen

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @homoran sagte: Bei Javascript werden Skripte nicht deaktiviert, um sie auszusetzen.

        Richtig. Vorschlag für ein Script, das durch eigene Datenpunkte getriggert wird:

        // 0 = Wochenprogramm 1 (normales Wochenprogramm)
        // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
        // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
        const idUrlaub  = '0_userdata.0.Heizung.Urlaub';
        const idZuhause = '0_userdata.0.Heizung.Zuhause';
        
        var urlaub, zuhause;
        if(existsState(idUrlaub)) urlaub = getState(idUrlaub).val;
        else createState(idUrlaub, false, {type: 'boolean', name: 'Urlaub', role: 'switch'});
        if(existsState(idZuhause)) zuhause = getState(idZuhause).val;
        else createState(idZuhause, false, {type: 'boolean', name: 'Zuhause', role: 'switch'});
        
        function setWeek() {
            let week = 0;
            if(urlaub) week = 1;
            else if(zuhause) week = 2;
            //Schlafzimmer
            sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                log(JSON.stringify(res));
            });
            //Wohnzimmer
            sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                log(JSON.stringify(res));
            });
            //Badezimmer groß
            sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                log(JSON.stringify(res));
            });
        }
        
        setWeek(); // Script start
        on(idUrlaub, function(dp) {
            urlaub = dp.state.val;
            setWeek();
        });
        on(idZuhause, function(dp) {
            zuhause = dp.state.val;
            setWeek();
        });
        

        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

        HomoranH H 2 Antworten Letzte Antwort
        1
        • paul53P paul53

          @homoran sagte: Bei Javascript werden Skripte nicht deaktiviert, um sie auszusetzen.

          Richtig. Vorschlag für ein Script, das durch eigene Datenpunkte getriggert wird:

          // 0 = Wochenprogramm 1 (normales Wochenprogramm)
          // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
          // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
          const idUrlaub  = '0_userdata.0.Heizung.Urlaub';
          const idZuhause = '0_userdata.0.Heizung.Zuhause';
          
          var urlaub, zuhause;
          if(existsState(idUrlaub)) urlaub = getState(idUrlaub).val;
          else createState(idUrlaub, false, {type: 'boolean', name: 'Urlaub', role: 'switch'});
          if(existsState(idZuhause)) zuhause = getState(idZuhause).val;
          else createState(idZuhause, false, {type: 'boolean', name: 'Zuhause', role: 'switch'});
          
          function setWeek() {
              let week = 0;
              if(urlaub) week = 1;
              else if(zuhause) week = 2;
              //Schlafzimmer
              sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                  log(JSON.stringify(res));
              });
              //Wohnzimmer
              sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                  log(JSON.stringify(res));
              });
              //Badezimmer groß
              sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                  log(JSON.stringify(res));
              });
          }
          
          setWeek(); // Script start
          on(idUrlaub, function(dp) {
              urlaub = dp.state.val;
              setWeek();
          });
          on(idZuhause, function(dp) {
              zuhause = dp.state.val;
              setWeek();
          });
          
          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @paul53 sagte in JavaScript beenden mittels anderem Skript?:

          {type: 'boolean', name: 'Urlaub', role: 'switch'})

          Was bewirkt (im allgemeinen!) die role "Switch"?
          ich habe als role bisher immer value verwendet

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          paul53P 1 Antwort Letzte Antwort
          1
          • HomoranH Homoran

            @paul53 sagte in JavaScript beenden mittels anderem Skript?:

            {type: 'boolean', name: 'Urlaub', role: 'switch'})

            Was bewirkt (im allgemeinen!) die role "Switch"?
            ich habe als role bisher immer value verwendet

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @homoran sagte: ich habe als role bisher immer value verwendet

            "value" sind laut Doku "read only" Zahlen.

            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

            1 Antwort Letzte Antwort
            2
            • paul53P paul53

              @homoran sagte: Bei Javascript werden Skripte nicht deaktiviert, um sie auszusetzen.

              Richtig. Vorschlag für ein Script, das durch eigene Datenpunkte getriggert wird:

              // 0 = Wochenprogramm 1 (normales Wochenprogramm)
              // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
              // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
              const idUrlaub  = '0_userdata.0.Heizung.Urlaub';
              const idZuhause = '0_userdata.0.Heizung.Zuhause';
              
              var urlaub, zuhause;
              if(existsState(idUrlaub)) urlaub = getState(idUrlaub).val;
              else createState(idUrlaub, false, {type: 'boolean', name: 'Urlaub', role: 'switch'});
              if(existsState(idZuhause)) zuhause = getState(idZuhause).val;
              else createState(idZuhause, false, {type: 'boolean', name: 'Zuhause', role: 'switch'});
              
              function setWeek() {
                  let week = 0;
                  if(urlaub) week = 1;
                  else if(zuhause) week = 2;
                  //Schlafzimmer
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                      log(JSON.stringify(res));
                  });
                  //Wohnzimmer
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                      log(JSON.stringify(res));
                  });
                  //Badezimmer groß
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                      log(JSON.stringify(res));
                  });
              }
              
              setWeek(); // Script start
              on(idUrlaub, function(dp) {
                  urlaub = dp.state.val;
                  setWeek();
              });
              on(idZuhause, function(dp) {
                  zuhause = dp.state.val;
                  setWeek();
              });
              
              H Offline
              H Offline
              Hc-Yami
              schrieb am zuletzt editiert von Hc-Yami
              #6

              @paul53 danke für deinen Skriptvorschlag. :)

              Ich benötige jedoch auch einen "Normal" Datenpunkt für iQontrol damit mir der Schieberegler "normal" als true angezeigt wird falls das Wochenprogramm "normal" ist.
              Wäre das so richtig?

              
              
              // 0 = Wochenprogramm 1 (normales Wochenprogramm)
              
              // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
              
              // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
              
              const idUrlaub  = '0_userdata.0.Heizung.Urlaub';
              
              const idZuhause = '0_userdata.0.Heizung.Zuhause';
              
              const idNormal = '0_userdata.0.Heizung.Normal';
              
              var urlaub, zuhause, normal;
              
              if(existsState(idUrlaub)) urlaub = getState(idUrlaub).val;
              
              else createState(idUrlaub, false, {type: 'boolean', name: 'Urlaub', role: 'switch'});
              
              if(existsState(idZuhause)) zuhause = getState(idZuhause).val;
              
              else createState(idZuhause, false, {type: 'boolean', name: 'Zuhause', role: 'switch'});
              
              if(existsState(idNormal)) normal = getState(idNormal).val;
              
              else createState(idNormal, false, {type: 'boolean', name: 'Normal', role: 'switch'});
               
              function setWeek() {
              
                  if(normal) week = 0;
              
                  else if(urlaub) week = 1;
              
                  else if(zuhause) week = 2;
              
                  //Schlafzimmer
              
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
              
                      log(JSON.stringify(res));
              
                  });
              
                  //Wohnzimmer
              
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
              
                      log(JSON.stringify(res));
              
                  });
              
                  //Badezimmer groß
              
                  sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
              
                      log(JSON.stringify(res));
              
                  });
              
              }
              
              setWeek(); // Script start
              
              on(idUrlaub, function(dp) {
              
                  urlaub = dp.state.val;
              
                  setWeek();
              
              });
              
              on(idZuhause, function(dp) {
              
                  zuhause = dp.state.val;
              
                  setWeek();
              
              });
              
              on(idNormal, function(dp) {
              
                  normal = dp.state.val;
              
                  setWeek();
              
              });
              
              

              Ich denke ich habe den Aufbau des Skriptes verstanden, was ich nur nicht verstanden habe ist wofür folgender Schnipsel ist:

              on(idZuhause, function(dp) {
              
                  zuhause = dp.state.val;
              
                  setWeek();
              
              });
              

              Könntest du mir dafür noch eine Erläuterung geben?
              Auch dir @Homoran vielen Dank für deine Hilfe! :)

              paul53P 1 Antwort Letzte Antwort
              0
              • H Hc-Yami

                @paul53 danke für deinen Skriptvorschlag. :)

                Ich benötige jedoch auch einen "Normal" Datenpunkt für iQontrol damit mir der Schieberegler "normal" als true angezeigt wird falls das Wochenprogramm "normal" ist.
                Wäre das so richtig?

                
                
                // 0 = Wochenprogramm 1 (normales Wochenprogramm)
                
                // 1 = Wochenprogramm 2 (Urlaub- oder Feiertagsprogramm)
                
                // 2 = Wochenprogramm 3 (derzeit nicht genutzt)
                
                const idUrlaub  = '0_userdata.0.Heizung.Urlaub';
                
                const idZuhause = '0_userdata.0.Heizung.Zuhause';
                
                const idNormal = '0_userdata.0.Heizung.Normal';
                
                var urlaub, zuhause, normal;
                
                if(existsState(idUrlaub)) urlaub = getState(idUrlaub).val;
                
                else createState(idUrlaub, false, {type: 'boolean', name: 'Urlaub', role: 'switch'});
                
                if(existsState(idZuhause)) zuhause = getState(idZuhause).val;
                
                else createState(idZuhause, false, {type: 'boolean', name: 'Zuhause', role: 'switch'});
                
                if(existsState(idNormal)) normal = getState(idNormal).val;
                
                else createState(idNormal, false, {type: 'boolean', name: 'Normal', role: 'switch'});
                 
                function setWeek() {
                
                    if(normal) week = 0;
                
                    else if(urlaub) week = 1;
                
                    else if(zuhause) week = 2;
                
                    //Schlafzimmer
                
                    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000001', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                
                        log(JSON.stringify(res));
                
                    });
                
                    //Wohnzimmer
                
                    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000002', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                
                        log(JSON.stringify(res));
                
                    });
                
                    //Badezimmer groß
                
                    sendTo('hm-rpc.1', 'putParamset', {ID: 'INT0000003', paramType: 'MASTER', params: {'WEEK_PROGRAM_POINTER': week}}, res => {
                
                        log(JSON.stringify(res));
                
                    });
                
                }
                
                setWeek(); // Script start
                
                on(idUrlaub, function(dp) {
                
                    urlaub = dp.state.val;
                
                    setWeek();
                
                });
                
                on(idZuhause, function(dp) {
                
                    zuhause = dp.state.val;
                
                    setWeek();
                
                });
                
                on(idNormal, function(dp) {
                
                    normal = dp.state.val;
                
                    setWeek();
                
                });
                
                

                Ich denke ich habe den Aufbau des Skriptes verstanden, was ich nur nicht verstanden habe ist wofür folgender Schnipsel ist:

                on(idZuhause, function(dp) {
                
                    zuhause = dp.state.val;
                
                    setWeek();
                
                });
                

                Könntest du mir dafür noch eine Erläuterung geben?
                Auch dir @Homoran vielen Dank für deine Hilfe! :)

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @hc-yami sagte Ich benötige jedoch auch einen "Normal" Datenpunkt für iQontrol

                Nein, wenn weder "Urlaub" noch "zu Hause" dann ist "Normal".

                @hc-yami sagte in JavaScript beenden mittels anderem Skript?:

                wofür folgender Schnipsel ist:

                Es wird bei Wertänderung des Datenpunktes "idZuhause" getriggert, dann der Wert des Trigger-Datenpunktes in die Variable zuhause geschrieben und anschließend die Funktion setWeek() aufgerufen, in der die Variablen zuhause und urlaub ausgewertet werden.

                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

                H 1 Antwort Letzte Antwort
                1
                • paul53P paul53

                  @hc-yami sagte Ich benötige jedoch auch einen "Normal" Datenpunkt für iQontrol

                  Nein, wenn weder "Urlaub" noch "zu Hause" dann ist "Normal".

                  @hc-yami sagte in JavaScript beenden mittels anderem Skript?:

                  wofür folgender Schnipsel ist:

                  Es wird bei Wertänderung des Datenpunktes "idZuhause" getriggert, dann der Wert des Trigger-Datenpunktes in die Variable zuhause geschrieben und anschließend die Funktion setWeek() aufgerufen, in der die Variablen zuhause und urlaub ausgewertet werden.

                  H Offline
                  H Offline
                  Hc-Yami
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 ich benötige den Datenpunkt nicht für das Skript anfürsich, sondern für iQontrol dem ich ja was mitgeben muss:

                  c14397a8-52e0-41e2-a8ca-f632f25282c1-grafik.png

                  Hier kann ich jetzt leider nicht sagen "wenn Zuhause oder Urlaub an -> Normal" aus. Entsprechend wäre am sinnvollsten das auch über das Skript laufen zu lassen, oder?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • H Hc-Yami

                    @paul53 ich benötige den Datenpunkt nicht für das Skript anfürsich, sondern für iQontrol dem ich ja was mitgeben muss:

                    c14397a8-52e0-41e2-a8ca-f632f25282c1-grafik.png

                    Hier kann ich jetzt leider nicht sagen "wenn Zuhause oder Urlaub an -> Normal" aus. Entsprechend wäre am sinnvollsten das auch über das Skript laufen zu lassen, oder?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @hc-yami
                    Entferne den "Knopf Normal". Der muss doch nicht vorhanden sein?
                    Weise den beiden anderen Knöpfen die Datenpunkte unter "0_userdata.0" zu.

                    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

                    H 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @hc-yami
                      Entferne den "Knopf Normal". Der muss doch nicht vorhanden sein?
                      Weise den beiden anderen Knöpfen die Datenpunkte unter "0_userdata.0" zu.

                      H Offline
                      H Offline
                      Hc-Yami
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 daran habe ich noch gar nicht gedacht. :laughing:

                      Gäbe es nun noch die Möglichkeit, dass wenn ich bspw. "Zuhause" auf true gesetzt habe und "Urlaub" auf true ist, "Urlaub" automatisch auf false gesetzt wird & andersherum?

                      Grüße :)

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • H Hc-Yami

                        @paul53 daran habe ich noch gar nicht gedacht. :laughing:

                        Gäbe es nun noch die Möglichkeit, dass wenn ich bspw. "Zuhause" auf true gesetzt habe und "Urlaub" auf true ist, "Urlaub" automatisch auf false gesetzt wird & andersherum?

                        Grüße :)

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #11

                        @hc-yami sagte: Gäbe es nun noch die Möglichkeit, dass wenn ich bspw. "Zuhause" auf true gesetzt habe und "Urlaub" auf true ist, "Urlaub" automatisch auf false gesetzt wird & andersherum?

                        Ja, habe den unteren Teil des Scripts ergänzt:

                        on(idUrlaub, function(dp) {
                            urlaub = dp.state.val;
                            if(urlaub && zuhause) setState(idZuhause, false);
                            else setWeek();
                        });
                        on(idZuhause, function(dp) {
                            zuhause = dp.state.val;
                            if(urlaub && zuhause) setState(idUrlaub, false);
                            else setWeek();
                        });
                        

                        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

                        H 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @hc-yami sagte: Gäbe es nun noch die Möglichkeit, dass wenn ich bspw. "Zuhause" auf true gesetzt habe und "Urlaub" auf true ist, "Urlaub" automatisch auf false gesetzt wird & andersherum?

                          Ja, habe den unteren Teil des Scripts ergänzt:

                          on(idUrlaub, function(dp) {
                              urlaub = dp.state.val;
                              if(urlaub && zuhause) setState(idZuhause, false);
                              else setWeek();
                          });
                          on(idZuhause, function(dp) {
                              zuhause = dp.state.val;
                              if(urlaub && zuhause) setState(idUrlaub, false);
                              else setWeek();
                          });
                          
                          H Offline
                          H Offline
                          Hc-Yami
                          schrieb am zuletzt editiert von
                          #12

                          @paul53 das funktioniert mega, vielen 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

                          387

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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