Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Selber einen Dimmer programmieren (Wo ist der Fehler?)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Selber einen Dimmer programmieren (Wo ist der Fehler?)

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

      Hallo,

      das Ziel ist es, dass das Licht immer langsam hochgedreht wird, und später wieder langsam runter gedreht wird.

      Warum geht mein Script nicht?
      SCR-20221220-x7l.png

      M 1 Reply Last reply Reply Quote 0
      • M
        mrjeschke @Dave83 last edited by

        @dave83
        Versuch es mal in der Art.
        8629a57a-b400-4eb4-aacc-d67cb764975a-image.png

        1 Reply Last reply Reply Quote 0
        • D
          Dave83 last edited by

          Danke.

          Das funktioniert schon mal deutlich besser.

          Ich werde das die Tage testen. Es soll schön hochfahren und danach wieder runter fahren.

          Ich hab den Eindruck, dass es etwas "ruckelt". Eventuell liegt es an den Glühbirnen von Innr oder ioBroker kann nicht so viele Befehle in wenigen Millisekunden versenden.

          Mal schauen. Ich möchte da etwas schönes hinbekommen.

          Vermutlich, muss ich die Funktion dann in jedes Script reinkopieren, oder? Sowas wie die Funktion aufrufen und die Lampen mitgeben, geht über mehrere Skripte nicht?

          Asgothian paul53 3 Replies Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Dave83 last edited by Asgothian

            @dave83 sagte in Selber einen Dimmer programmieren (Wo ist der Fehler?):

            Ich hab den Eindruck, dass es etwas "ruckelt". Eventuell liegt es an den Glühbirnen von Innr oder ioBroker kann nicht so viele Befehle in wenigen Millisekunden versenden.
            Mal schauen. Ich möchte da etwas schönes hinbekommen.
            Vermutlich, muss ich die Funktion dann in jedes Script reinkopieren, oder? Sowas wie die Funktion aufrufen und die Lampen mitgeben, geht über mehrere Skripte nicht?

            Mal dumm gefragt - über welchen Adapter hast du die Birnen von Innr angeschlossen ?

            Sollte es der Zigbee Adapter sein, dann hast du zwei viel einfachere Möglichkeiten die Lampen langsam (und ohne zucken) zu dimmen:

            • Option 1:
              -- Lampe auf Helligkeit 1
              -- Lampe einschalten
              -- transitiontime auf die Zeit in der sie hell werden soll
              -- Lampe auf Helligkeit x
              -- transitiontime auf den alten Wert (üblicherweise 0) setzen.

            • Option 2:
              -- Lampe auf Helligkeit 1
              -- Lampe einschalten
              -- Datenpunkt brightness_move auf x (die Einheit von brightness_move sollte 1/255 s sein)
              -- nach Ablauf der Dimm-Zeit: brightness_move auf 0

            Etwas äquivalentes sollte auch bei Nutzung von deconz bzw. des Hue Adapters gehen - zumindest der Trick mit der Transition Time.

            A.

            Nachtrag: Sofern eine bestimmte Lampe immer langsam dimmen soll kannst du die Transitiontime generell auf einen höheren Wert setzen.

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

              @dave83 sagte: Eindruck, dass es etwas "ruckelt".

              Mit 50 ms Sendeabstand wird sicherlich die Schnittstelle (Zigbee?) überfordert.
              Wenn es innerhalb von 5 s durchlaufen werden soll, versuche es mal mit 150 ms und Schritten von 3 %.

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

                @dave83 sagte: Sowas wie die Funktion aufrufen und die Lampen mitgeben, geht über mehrere Skripte nicht?

                Doch: Wenn die Funktion in der Gruppe "global" erstellt wird. In Blockly benötigt man dann noch eine Javascript-Funktion, die wiederum die globale Funktion aufruft.

                // globale Funktion
                async function langsamLichtAn(idParent) {
                    setState(idParent + '.on', true);
                    setState(idParent + '.ct', 500);
                    let level = 1;
                    while (level <= 100) {
                        setState(idParent + '.level', level);
                        level += 3;
                        await wait(150);
                    }  
                }
                
                1 Reply Last reply Reply Quote 0
                • D
                  Dave83 last edited by

                  @Asgothian , Danke für den Tipp. Es war für mich nicht einfach, aber ich habe etwas hinbekommen.

                  So schaut es nun aus, und es funktioniert erstmal:
                  SCR-20221228-2bd.png

                  Ich habe herausgefunden, dass man die Lampen nicht einschalten muss, wenn man mit dem Level arbeitet. Aber beim herunterfahren, darf man nicht die 0 verwenden. Weil er dann nicht nimmt, sondern aus macht. Deswegen muss man zuerst auf 1% Level und danach manuell die Lampe aus setzen.

                  Danke für eure Hilfe. Ich werde das nun eine Woche mal laufen lassen. Es wird uns alle gefallen. Ist viel ruhiger. 😃

                  Sonstiges:
                  So schauen alle Möglichkeiten aus:
                  SCR-20221228-1yn.png

                  Ich habe auch etwas mit "dimdown" , "dimup" und "dipspeed" gespielt, aber das habe ich nicht verstanden. Weder wie man das aktiviert, deaktiviert, oder verstellt. Was das genau macht, hat sich mir auch nicht erschlossen. Aber das mag auch sein, dass ich etwas anderes verstellt hatte. Diese beiden Knöpfe sind bei mir aktiviert, ich weiß gar nicht, was die machen, oder ob ich die jetzt wieder aus machen muss.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  585
                  Online

                  32.0k
                  Users

                  80.5k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  638
                  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