Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang)

    This topic has been deleted. Only users with topic management privileges can see it.
    • BENNI32154
      BENNI32154 @paul53 last edited by

      @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang):

                                                                                                                                  schedule({astro: "sunset"}, function () {                                                                                                                                                                               if(tv) {                                                                                                                                                                                  licht(true);                                                                                                                                                                                  setTimeout(function() {                                                                                                                                                                                     var rgb = '#0000ff'; // ausprobieren !                                                                                                                                                                                     setState('wifilight.0.192_168_178_90.rgb', rgb);                                                                                                                                                                                     setState('wifilight.0.192_168_178_93.rgb', rgb);                                                                                                                                                                                     setState('wifilight.0.192_168_178_95.rgb', rgb);                                                                                                                                                                                  }, 3000);                                                                                                                                                                                  setTimeout(function() {                                                                                                                                                                                     setState('wifilight.0.192_168_178_90.bri', 20);                                                                                                                                                                                     setState('wifilight.0.192_168_178_93.bri', 20);                                                                                                                                                                                     setState('wifilight.0.192_168_178_95.bri', 20);                                                                                                                                                                                  }, 5000);                                                                                                                                                                               }                                                                                                                                                                            });
      

      Einfach am ende des Scripts hinzufügen?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @BENNI32154 last edited by paul53

        @Benni-Wartmann sagte:

        Einfach am ende des Scripts hinzufügen?

        Nein, einfach die Funktion

        schedule({astro: "sunset"}, function () {
           if(tv) licht(true);
        });
        

        erweitern bzw. die vorhandene ersetzen.

        1 Reply Last reply Reply Quote 0
        • BENNI32154
          BENNI32154 last edited by

          @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang):

                                                                                                                                      schedule({astro: "sunset"}, function () {                                                                                                                                                                               if(tv) licht(true);                                                                                                                                                                            });
          

          Also so

          const idTV     = 'lgtv.0.states.on';
          const idLicht1 = 'wifilight.0.192_168_178_95.on';
          const idLicht2 = 'wifilight.0.192_168_178_96.on';
          const idLicht3 = 'wifilight.0.192_168_178_97.on';
           
          var tv = getState(idTV).val;
           
          function licht(ein) {
             setState(idLicht1, ein);
             setState(idLicht2, ein);
             setState(idLicht3, ein);
             var txt = 'ausgeschaltet';
             if(ein) txt = 'eingeschaltet'; 
             if(tv) setState('lgtv.0.states.popup', 'Das Licht ist ' + txt);
          }
           
          // Skriptstart
          if(!isAstroDay() && tv) licht(true);
          else licht(false);
           
          on(idTV, function(dp) { // Triggert bei Wertänderung
             tv = dp.state.val;
             if(tv && !isAstroDay()) licht(true);
             else licht(false);
          });
           
          schedule({astro: "sunrise"}, function () {
             licht(false);
          });
          
          schedule({astro: "sunrise"}, function () {
             if(tv) {
                licht(true);
                setTimeout(function() {
                   var rgb = '#0000ff'; // ausprobieren !
                   setState('wifilight.0.192_168_178_95.rgb', rgb);
                   setState('wifilight.0.192_168_178_96.rgb', rgb);
                   setState('wifilight.0.192_168_178_97.rgb', rgb);
                }, 3000);
                setTimeout(function() {
                   setState('wifilight.0.192_168_178_95.bri', 20);
                   setState('wifilight.0.192_168_178_96.bri', 20);
                   setState('wifilight.0.192_168_178_97.bri', 20);
                }, 5000);
             }
          });
          

          oder habe ich einen Fehler gemacht?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @BENNI32154 last edited by paul53

            @Benni-Wartmann sagte:

            habe ich einen Fehler gemacht?

            "sunrise" --> "sunset"

            Zum Testen mal {astro: "sunset"} durch einen Zeitstring ersetzen, z.B. "30 15 * * *". Vorher TV einschalten.

            BENNI32154 1 Reply Last reply Reply Quote 0
            • BENNI32154
              BENNI32154 @paul53 last edited by

              @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang):

              Zum Testen mal {astro: "sunset"} durch einen Zeitstring ersetzen, z.B. "30 15 * * *".

              durch was genau ersetzen, damit es jetzt funktioniert?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @BENNI32154 last edited by

                @Benni-Wartmann

                schedule('40 15 * * *', function () {
                   if(tv) {
                

                für 15:40 Uhr.

                BENNI32154 1 Reply Last reply Reply Quote 0
                • BENNI32154
                  BENNI32154 @paul53 last edited by BENNI32154

                  @paul53 Hab es getestet. Licht "192_168_178_95" und "192_168_178_97" schalten sich für wenige Sekunden auf Blau und schalten sich dann auf originalzustand zurück. Licht "192_168_178_96" schaltet sich auf weiß für wenige sekunden und dann wieder auf vorherigen zustand.

                  EDIT:Durch die Farbe #0000ff00 sind alle auf Blau, schalten sich aber zurück. (außer "192_168_178_97",bleibt blau)

                  noch ein EDIT: wenn man den timeout raus nimmt, funktioniert "192_168_178_95" perfekt, bleibt blau und ist gedimmt, Licht "192_168_178_96" ist blau, aber nicht gedimmt. Licht "192_168_178_97" hat sich nur gedimmt, farbe nicht geändert

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @BENNI32154 last edited by

                    @Benni-Wartmann Da alle Lichter im Skript gleich behandelt werden, können die Unterschiede nicht am Skript liegen.

                    BENNI32154 2 Replies Last reply Reply Quote 0
                    • BENNI32154
                      BENNI32154 @paul53 last edited by

                      @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang):

                      @Benni-Wartmann Da alle Lichter im Skript gleich behandelt werden, können die Unterschiede nicht am Skript liegen.

                      Also ich hab es jetzt hinbekommen.

                      schedule('17 16 * * *', function () {
                         if(tv) {
                            licht(true);
                               var cmd = 'r:0, g:0, b:100, on:true, transition:0';{ // ausprobieren !
                               setState('wifilight.0.192_168_178_95.command', cmd);
                               setState('wifilight.0.192_168_178_96.command', cmd);
                               setState('wifilight.0.192_168_178_97.command', cmd);
                            }
                                      
                         }
                      });
                      

                      Ich habe die Dimm-Funktion komplett rausgenommen, trotzdem dimmt er auf die perfekte Helligkeit 🙂

                      1 Reply Last reply Reply Quote 0
                      • BENNI32154
                        BENNI32154 @paul53 last edited by

                        @paul53 Leider funktioniert es jetzt wieder nicht.. Kann man es irgendwie über alexa2 zum laufen bekommen?Unbenannt.PNG Also über die Gruppe Licht

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @BENNI32154 last edited by

                          @Benni-Wartmann sagte:

                          Kann man es irgendwie über alexa2 zum laufen bekommen?

                          Mit Alexa habe ich nichts am Hut, bin also der falsche Ansprechpartner.

                          BENNI32154 1 Reply Last reply Reply Quote 0
                          • BENNI32154
                            BENNI32154 @paul53 last edited by

                            @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang):

                            Mit Alexa habe ich nichts am Hut, bin also der falsche Ansprechpartner.

                            Hmm okay, aber an irgendetwas muss es ja liegen, weil es ja nicht klappt

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            643
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            3
                            37
                            1827
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo