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 Ich danke dir 🙂

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

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

        const idTV = 'lgtv.0.states.on'; const idLicht1 = 'wifilight.0.192_168_178_90.on'; const idLicht2 = 'wifilight.0.192_168_178_93.on'; const idLicht3 = 'wifilight.0.192_168_178_95.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 jetzt ' + 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: "sunset"}, function () { if(tv) licht(true); }); schedule({astro: "sunrise"}, function () { licht(false); });

        Ist es auch möglich, dass das Licht auf Blau geht und sich auf 20% Helligkeit dimmt, wenn die Sonne untergeht und der TV an ist? Aber der Farbwechsel soll erst nach 3 Sekunden(nachdem licht an) gemacht werden und die Lichtdimmung erst nach 5 Sekunden. Ist das möglich?

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

          @Benni-Wartmann sagte:

          Licht auf Blau geht und sich auf 20% Helligkeit dimmt, wenn die Sonne untergeht und der TV an ist?

          Versuche es mal so:

          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);
             }
          });
          
          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):

                                                                                                                                        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

                                  408
                                  Online

                                  31.9k
                                  Users

                                  80.1k
                                  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