Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Bei Filmstart Tradfri runterdimmer

    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

    Bei Filmstart Tradfri runterdimmer

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer last edited by

      @Marcel85:

      Wenn man jetzt noch die Dimmgeschwindigkeit regeln könnte, wäre es absolut perfekt. `
      Steht auf der TODO-Liste, kommt in Kürze:

      transitionTime: 5, // TODO: <- make this configurable
      
      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer last edited by

        Geht jetzt auch (teilweise): http://forum.iobroker.net/viewtopic.php?p=86551#p86551

        Nur scheint on/off den Wert zu ignorieren. Du könntest jedoch schummeln:

        an: transitionTime => Wunschdauer, Brightness => 254

        aus: transitionTime => Wunschdauer X, Brightness => 1. nach X sekunden: on/off => false

        1 Reply Last reply Reply Quote 0
        • M
          Marcel85 last edited by

          Ich habe heute Mittag das Skript nochmal getestet.

          Die Lampe schaltet sich nach dem Film ein obwohl der Status vorher aus war.

          Wie genau muss das Skript denn mit der transitiontime aussehen?

          Ich weiß leider nicht wo ich das einbauen muss.

          Danke fürs helfen und dafür das du die transitiontime mit einprogrammiert hast.

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            @Marcel85:

            Die Lampe schaltet sich nach dem Film ein obwohl der Status vorher aus war. `
            Habe die Logausgabe mal ergänzt, was zeigt der Log an bei folgendem Skript?

            ! ````
            var idStatus = "tradfri.0.L-65537.lightbulb.state";
            ! var statusBeiStart;
            ! on("kodi.0.state", function (obj) {
            log("State geändert: " + obj.state.val);
            switch (obj.state.val) {
            case "play":
            statusBeiStart = getState(idStatus).val;
            log("Video läuft, schalte Licht aus... Licht war " + (statusBeiStart ? "an" : "aus"));
            setState(idStatus, false);
            break;
            ! case "pause":
            case "stop":
            log("Video läuft nicht mehr, stelle Status <" + (statusBeiStart ? "an" : "aus") + "> wieder her...");
            setState(idStatus, statusBeiStart);
            break;
            }
            });

            
            Ein Versuch mit TransitionTime könnte wie folgt aussehen (ungetestet):
            
            >! ````
            var idStatus = "tradfri.0.L-65537.lightbulb.state";
            var idTime = "tradfri.0.L-65537.lightbulb.transitionDuration";
            var idBrightness = "tradfri.0.L-65537.lightbulb.brightness";
            >! var transitionTime = 2; // Zeit in Sekunden
            >! var statusBeiStart;
            >! function an() {
                setState(idTime, transitionTime); // Dimm-Dauer festlegen
                setState(idBrightness, 254);      // maximale Helligkeit ansteuern
            }
            function aus() {
                setState(idTime, transitionTime); // Dimm-Dauer festlegen
                setState(idBrightness, 1);      // minimale Helligkeit ansteuern
                setStateDelayed(idStatus, false, transitionTime*1000) // <transitiontime>sek später komplett abschalten
            }
            >! on("kodi.0.state", function (obj) {
                log("State geändert: " + obj.state.val);
                switch (obj.state.val) {
                    case "play":
                        statusBeiStart = getState(idStatus).val;
                        log("Video läuft, schalte Licht aus... Licht war " + (statusBeiStart ? "an" : "aus"));
                        if (statusBeiStart) aus();
                        break;
            >!         case "pause":
                    case "stop":
                        log("Video läuft nicht mehr, stelle Status <" + (statusBeiStart ? "an" : "aus") + "> wieder her...");
            >!             if (statusBeiStart) an();
                        else aus();
            >!             break;
                }
            });</transitiontime> 
            

            Edit: Fehlerkorrektur

            1 Reply Last reply Reply Quote 0
            • N
              nelzon last edited by

              Und..erfolgreich getestet??

              1 Reply Last reply Reply Quote 0
              • M
                Marcel85 last edited by

                Ich werde es heute Abend mal testen.

                1 Reply Last reply Reply Quote 0
                • M
                  Marcel85 last edited by

                  Funktioniert!

                  Ich musste nur von transitionTime auf transitionDuration ändern.

                  Dies wurde mal im Adapter geändert.

                  Was man vielleicht noch ändern könnte, wenn die Lampen nicht eingeschaltet sind und man einen Film startet, dann schalten die Lampen einmal ein und dann direkt wieder aus.

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    @Marcel85:

                    Was man vielleicht noch ändern könnte, wenn die Lampen nicht eingeschaltet sind und man einen Film startet, dann schalten die Lampen einmal ein und dann direkt wieder aus. `
                    Macht Sinn. Dazu muss dieser Abschnitt angepasst werden:

                            case "play":
                                statusBeiStart = getState(idStatus).val;
                                log("Video läuft, schalte Licht aus... Licht war " + (statusBeiStart ? "an" : "aus"));
                                aus();
                                break;
                    

                    zu

                            case "play":
                                statusBeiStart = getState(idStatus).val;
                                log("Video läuft, schalte Licht aus... Licht war " + (statusBeiStart ? "an" : "aus"));
                                if (statusBeiStart) aus();
                                break;
                    
                    1 Reply Last reply Reply Quote 0
                    • M
                      Marcel85 last edited by

                      Das sieht sehr gut aus!!!

                      Vielen Dank!

                      edit: Leider etwas zu früh gefreut. Die Lampe schaltet sich bei Filmende (Stop, Pause) wieder kurz ein und danach wieder aus. (Lampe war aus)

                      1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer last edited by

                        @Marcel85:

                        edit: Leider etwas zu früh gefreut. Die Lampe schaltet sich bei Filmende (Stop, Pause) wieder kurz ein und danach wieder aus. (Lampe war aus) `
                        Entferne diese Zeile (recht am Ende):

                        else aus();
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        552
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        4
                        25
                        3900
                        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