Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Dimmwert mit Zeitsteuerung

    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

    Dimmwert mit Zeitsteuerung

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

      @SchuetzeSchulz:

      Hier mal mein Script: `
      Du hast zwar Timer deklariert, verwendest sie aber nicht. Vesuche es mal so:

      var level = getState("hm-rpc.0.NEQ1101060.1.LEVEL").val;
      var timer = null;
      
      function setDimmer() {
          setState("hm-rpc.0.NEQ1101060.1.LEVEL", level);
      }
      
      function DimmerEinAus_Licht_Flur_OG(){
          if (level > 0) level = 0;
          else if(compareTime("01:00", "05:00", "between")) level = 10;
                 else level = 100;
          setDimmer();
      }
      
      function DimmerHochDimmen_Licht_Flur_OG() {
          timer = setInterval(function() {
              if(level < 100) {
                  level = level + 5;
                  if (level > 100) level = 100;
                  setDimmer();
              }
              else if(timer) clearInterval(timer);
          }, 500);  
      }
      
      function DimmerRunterDimmen_Licht_Flur_OG() {
          timer = setInterval(function() {
              if(level) {
                  level = level - 5;
                  if (level < 0) level = 0;
                  setDimmer();
              }
              else if(timer) clearInterval(timer);
          }, 500);
      }
      
      function DimmerStop_Licht_Flur_OG() {
          if(timer) clearInterval(timer);
      }
      
      on({id: "hm-rpc.0.NEQ0890388.1.PRESS_SHORT", valNe: 2}, DimmerEinAus_Licht_Flur_OG);
      on({id: "hm-rpc.0.NEQ0890388.2.PRESS_SHORT", valNe: 2}, DimmerStop_Licht_Flur_OG);
      on({id: "hm-rpc.0.NEQ0890388.1.PRESS_LONG", valNe: 2}, DimmerHochDimmen_Licht_Flur_OG);
      on({id: "hm-rpc.0.NEQ0890388.2.PRESS_LONG", valNe: 2}, DimmerRunterDimmen_Licht_Flur_OG);
      
      
      1 Reply Last reply Reply Quote 0
      • S
        SchuetzeSchulz last edited by

        Hmm, das scheint leider nicht zu funktionieren. ioBroker schmiert ab mit folgenden Log Einträgen:

        hm-rpc.0	2017-07-03 18:52:03.959	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:03.959	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:03.959	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:03.959	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:03.444	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:03.444	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:03.092	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:03.092	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:02.936	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:02.936	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:02.583	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:02.583	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:02.432	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:02.432	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:01.935	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:01.935	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:01.919	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:01.919	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:01.404	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:01.404	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:01.388	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:01.388	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:00.873	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:00.873	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:52:00.544	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:00.544	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT
        hm-rpc.0	2017-07-03 18:52:00.388	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:52:00.370	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:51:59.837	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:51:59.837	error	binrpc -> setValue ["1","LEVEL",1] FLOAT
        hm-rpc.0	2017-07-03 18:51:59.837	error	Error: You are sending too fast
        hm-rpc.0	2017-07-03 18:51:59.837	error	binrpc -> setValue ["1","LEVEL",0.95] FLOAT 
        
        

        Noch ne Idee dazu? Bin ich denn der einzige der über einen Taster via Script einen LED Dimmer dimmen will?

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

          Der ständige Wechsel zwischen 0.95 und 1 sieht danach aus, als würde gleichzeitig hoch- und runtergedimmt. Dann sollte man vielleicht 2 unterschiedliche Timer Hoch und Runter verwenden ?

          Wenn man den Bereich von 0…100 % in 5 % Schritten durchläuft, muss 20 mal gesendet werden. Damit überschreitet man schnell den Duty cycle.

          Besser ist sicher eine Direkverknüpfung. Für das Einschalten lässt sich bestimmt eine Lösung finden, die den Dimmwert (10 % / 100 %) per ioBroker korrigiert.

          on({id: "hm-rpc.0.NEQ1101060.1.LEVEL", valGt: 0, oldVal: 0}, function() {
              var level = 100;
              if(compareTime("01:00", "05:00", "between")) level = 10;
              setState("hm-rpc.0.NEQ1101060.1.LEVEL", level);
          });
          
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Wird bei einer Direktverknüfung nicht mit einer Taste (PRESS_SHORT) eingeschaltet (lt. Bedienungsanleitung - ich habe keine HM-Dimmer) ? Dann sollte man diese zum Triggern der Übersteuerung nehmen.

            1 Reply Last reply Reply Quote 0
            • S
              SchuetzeSchulz last edited by

              Habe jetzt wieder Direktverknüpfungen eingerichtet und die Zeitsteuerung wie folgt im Script:

              on({id: "hm-rpc.0.NEQ0890388.2.PRESS_SHORT", change: "any"}, function() 
              {
                  var level = 100;
                  if (compareTime("18:00", "05:00", 'between'))
                      level = 10;
                  setState("hm-rpc.0.NEQ1101060.1.LEVEL", level);
              });
              
              

              Problem ist jetzt allerdings, dass er bei kurzem Tastendruck kurz auf Level 100 geht (die LEDs also mit voller Lichtstärke brennen) und dann

              erst auf Level 10 stellt.

              Die Zeitsteuerung ist für nachts für die Flurbeleuchtung gedacht, damit man nicht gleich geblendet wird. Daher die Idee…

              Nur so funktioniert das leider nicht. Ich vermute die Direktverknüpfung hat hier Vorrang?

              Das wäre jetzt die erste unlösbare Aufgabe für ioBroker die ich kenne... 🙂

              Bin für weitere Ratschläge offen.

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

                @SchuetzeSchulz:

                Ich vermute die Direktverknüpfung hat hier Vorrang? `
                Sie ist schneller. Hast Du vielleicht noch eine dritte Taste, um das Problem zu lösen ?

                1 Reply Last reply Reply Quote 0
                • S
                  SchuetzeSchulz last edited by

                  Leider nicht 😞

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

                    Kann man beim Dimmer nicht einstellen (evtl. bei der Direktverknüpfung), dass der Standardwert beim Einschalten 10 % beträgt ? In dem Fall würde er außerhalb der Zeit von 1:00 bis 5:00 Uhr erst auf 10 % gehen und kurz darauf durch das ioBroker-Programm auf 100 %.

                    1 Reply Last reply Reply Quote 0
                    • S
                      SchuetzeSchulz last edited by

                      Halo Paul,

                      erstmal vielen Dank für Deine Hilfe.

                      Habe das jetzt erstmal so gelöst dass der Dimmer 10% als Standardwert hat und nur via Script abhängig von der Zeit auf 100% geschaltet wird oder eher bei 10% geblieben wird.

                      Das ist zwar unschön, weil die Beleuchtung jetzt auf 10% angeht, dann für ca. 1 Sekunde da bleibt und dann auf 100% geht (wenn die Zeitspanne für dauerhaft-100% noch nicht ereicht ist), aber es tut erstmal was es soll.

                      Ich werde mal bezüglich des LED Dimmers einen neuen Thread erstellen, evtl. stimmt da ja was allgemein nicht.

                      Ich meine, wenn ich eh den Umweg über CCU-Direktverknüpfungen gehen muss find ich das blöd…

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

                        @SchuetzeSchulz:

                        Das ist zwar unschön, weil die Beleuchtung jetzt auf 10% angeht, dann für ca. 1 Sekunde da bleibt und dann auf 100% geht `
                        Aber gegenüber der Variante, in der Nacht erst einmal geblendet zu werden, sicherlich das kleinere Übel.

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

                          Ohne es jetzt getestet zu haben …

                          Wenn Du nur den Einschalt Press Short aus der Direktverknüpfung raus nimmst?

                          Man kann da mit den Expertensetting ziemlich viel machen.

                          https://homematic-forum.de/forum/viewtopic.php?t=7508

                          Ich würd den SHORT_ACTION_TYPE da einfach mal auf inactive stellen.

                          Theoretisch hast Du dann für die langen Tastendrücke die Direktverknüpfung und die kurzen steuerst Du mit IOBroker.

                          Hätte Charme ...

                          1 Reply Last reply Reply Quote 0
                          • S
                            SchuetzeSchulz last edited by

                            Das ist eine gute Idee die ich natürlich sofort ausprobiert habe.

                            Nur wenn ich den Action-Type auf "Inactive" stelle, scheint iOBroker den kurzen Tastendruck gar nicht mehr mitzubekommen 😞

                            Zumindest passiert da nix.

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

                              Mach mal ein Dummy Programm in der CCU, das auf den kurzen Tastendruck triggert.

                              Wenns das nicht gibt, hat der Taster keinen Grund, das an die CCU zu senden, dann kriegt die auch nix mit.

                              Einfach "Auf Tastendruck kurz" auslösen.

                              Die CCU wird dann an den Taster eine Konfigurationsänderung übertragen.

                              Siehe z.B. https://homematic-forum.de/forum/viewto … 10#p145232

                              1 Reply Last reply Reply Quote 0
                              • S
                                SchuetzeSchulz last edited by

                                Jupp, das war es. Danke für den Tip! Nun läufts! 🙂

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  Auch, wenn das Problem schon gelöst ist:

                                  Für Deine Anwendung wurden die Virtuellen Kanäle des Dimmers erfunden.

                                  In den Einstellungen des Dimmers kannst du die Verknüpfung der Kanäle 1-3 einstellen.

                                  ZB nutze ich Kanal 1 für die Helligkeit 0% bis 100%. Das stellen die Taster, die Schieberegler in VIS und Javascripte ein.

                                  Kanal 2 ist dann mit AND mit Kanal 1 verknüpft. Dabei gilt gleichzeitig, dass der niedrigere Wert (beider Kanäle) zählt.

                                  Ich setze Kanal 2 abends per Javascript und Szenenadapter auf 10% und morgens wieder auf 100%.

                                  Wenn ich nun nachts den Dimmer betätige (PIR oder Taster) wird Kanal 1 auf 100% gesetzt. Kanal 2 ist aber auf 10%, somit kommt am Ende 10% raus.

                                  Auf ähnlich Weise habe ich auch zwei PWM Dimmer mit jeweils Kaltweiss und warmweiss LED-Streifen in der Küche gesteuert.

                                  http://forum.iobroker.net/viewtopic.php … 903#p60903

                                  Gruß

                                  Pix

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

                                    ich habe gleiches mit dem virtuellen Kanal 2 gelöst.

                                    Ein CCU2 Programm setzt nun Kanal 2 um 21:00 auf 40% und um 5:00 wieder auf 100%

                                    Das Licht schaltet nachts nur auf 40%. soweit ok.

                                    Leider lässt sich dann allerdings der Dimmwert per Taster am Dimmer nicht mehr nach oben regulieren, da der Taster Kanal 1 steuert. >> Unter 40% geht dann noch aber durch die Verknüpfung nicht über 40%

                                    Setze ich dann in den Einstellungen die Taster am Kanal 2 nicht mehr auf inaktiv, sondern ein/aus heller/dunkler, dann lässt sich der Dimmer gar nicht mehr aktivieren.

                                    Wie wäre die Einstellung hier richtig um abends trotzdem bei Bedarf das Licht per Tastern noch zu erhöhen?

                                    Kann das leider aus den Beschreibungen nicht herauslesen 😕

                                    ja ich nutze auch ioBroker, aber ging davon aus, dass dies auch über die virtuellen Kanäle gehen muss. Bin ja eh schon begeistert über das Vorhandensein dieser Funktion 😄

                                    grüße

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    835
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    9
                                    25
                                    3121
                                    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