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.
    • 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

                          755
                          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