Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Denkanstoß Hue Birne dimmen mit HmIP-BDT

    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

    Denkanstoß Hue Birne dimmen mit HmIP-BDT

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

      Hallo zusammen,
      ich brauche mal einen kleinen Denkanstoß. Möchte gerne eine Hue Birne mit dem HmIP-DT bei langem Tastendruck auf/ab dimmen.

      Aktuell sieht es so aus aber irgendwo hab ich einen Logik Fehler wegen den >10, da es dann sofort umspringt.
      Kann ich das auch eleganter lösen ausser einer zweiten if Abfrage?

      Vielleicht hat ja jemand schon etwas ähnliches oder genau so was programmiert.

      on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_LONG$/}, function(dp) {
          if(getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val > 10){
              setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val - 10);
              log("Nach unten");
          } else {
              setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val + 10);
              log("Nach oben");
          }
      });
      

      Bin offen für Ideen 🙂

      LG Michael

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

        @CyberMicha
        PRESS_LONG ist zum Dimmen wenig geeignet, da es erst beim Loslassen der Taste aktualisiert wird. Besser ist PRESS_CONT geeignet, das alle 250 ms aktualisiert wird, solange die Taste gedrückt ist.
        Soll mit mehreren Tasten des gleichen Gerätes gedimmt werden (RegExp) ?

        1 Reply Last reply Reply Quote 0
        • C
          CyberMicha last edited by CyberMicha

          Den PRESS_CONT habe ich nicht.
          PRESS_LONG wird ständig gesendet / aktualisiert bei dem Schalter soweit ich das nachvollziehen kann. Das Log ist auf jedenfall voll gespamt wenn ich gedrückt halte.

          20:14:21.836	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:22.060	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:22.406	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:22.562	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:22.809	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:23.063	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:23.308	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:23.570	info	javascript.0 script.js.Licht.Küche: Nach unten
          20:14:23.817	info	javascript.0 script.js.Licht.Küche: Nach unten
          
          

          Ja genau, ich möchte entweder auf oder ab dimmen unabhängig ob oben oder unten gedrückt wird.

          80086848-0e99-4744-8988-b31d943cc463-image.png
          Bei SHORT funktioniert das auch wunderbar aber da schalte ich halt nur an bzw aus je nach Status.

          on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_SHORT$/}, function(dp) {
              if(getState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/).val){
                  setState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/, false);
                  log("Short aus");
              }else{
                  setState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/, true);
                  log("Short an");
              }
          });
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @CyberMicha last edited by paul53

            @CyberMicha sagte:

            PRESS_LONG wird ständig gesendet / aktualisiert

            Dann verhält sich bei deinen Tasten (HmIP) PRESS_LONG so wie bei meinen (HM) PRESS_CONT.
            Vorschlag:

            var delta = 5;
            var level = getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val;
            
            on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_LONG$/}, function() {
              if (level < 5) delta = 5;
              else if (level > 95) delta = -5;
              level = level + delta;
              setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, level);
            });
            
            C 1 Reply Last reply Reply Quote 0
            • C
              CyberMicha last edited by CyberMicha

              Cool danke, dann werde ich das mal testen. 🙂 Erweiterung wäre dann noch Dimmen bis los lassen und dann aufhellen. Also ein Wechselspiel quasi aber dazu wäre dann wohl noch eine globale Variable nötig, die den letzten Status speichert wenn ich richtig denke.

              Edit: Was mir noch etwas Sorgen macht ist die Geschwindigkeit aber das ist wohl nicht zu ändern. Gefühlt sieht man die Steps und es ist nicht flüssig. Was aber dann wohl an der Kommunikation Homematic->ioBroker->Hue zu schulden ist. Sind halt lange Wege.

              Ich glaube ich denke einfach zu kompliziert.
              Nen Kumpel hat alles ( Heizung Rolläden Licht ) über Alexa gelöst und 0 Plan von Programmieren. Denke da ist jeder Ansatz anders.
              Bei mir ist es Homematic, Alexa, ioBroker und Hue.
              Aber anderes Thema 🙂

              LG Micha

              1 Reply Last reply Reply Quote 0
              • C
                CyberMicha last edited by

                Huhu.
                Funktioniert leider nicht, weil die Signale vom Schalter zu schnell kommen und ioBroker sie nicht so schnell an Hue weiterleiten kann bzw hue zu träge ist.
                Also wohl doch ne normale Birne.

                G 1 Reply Last reply Reply Quote 0
                • C
                  CyberMicha @paul53 last edited by

                  @paul53 oder hast du noch ein Idee?

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

                    @CyberMicha sagte:

                    hast du noch ein Idee?

                    @CyberMicha sagte in Denkanstoß Hue Birne dimmen mit HmIP-BDT:

                    hue zu träge ist.

                    Da ich Hue nicht kenne: Gibt es die Möglichkeit eine Dimmrampe einzustellen und dann das Dimmen zu starten und zu stoppen ?

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

                      @paul53 sagte in Denkanstoß Hue Birne dimmen mit HmIP-BDT:

                      Dimmrampe einzustellen und dann das Dimmen zu starten und zu stoppen ?

                      In Hue meinst du? Hmm nicht das ich wüsste.

                      1 Reply Last reply Reply Quote 0
                      • G
                        gammler2003 @CyberMicha last edited by

                        @CyberMicha
                        Wenn auch etwas spät - aber vielleicht interessiert sich doch noch jemand dafür.
                        Ich habe das bei mir so gelöst, dass ich nur jeden 4. Impuls vom Schalter an die Dimmen-Funktion weitergebe. Damit kommt die Hue klar...

                        var count=0;
                        var level=0;
                        
                        on({id: 'hm-rpc.1.XXXXXX.1.PRESS_LONG', val: true}, function() {
                        count=count+1;
                        if (count>=4)
                        {
                        count=0;
                        dim();
                        }
                        
                        
                        });
                        
                        function dim() {
                            if (getState("hue.0.Esszimmer.on").val=true) {
                            level= getState("hue.0.Esszimmer.level").val;
                            if (getState("0_userdata.0.dim_esszimmer").val=="up") {
                                if (level<100)
                                {
                                level=level+10;
                                setState("hue.0.Esszimmer.level", level);
                                console.log(level);
                                }
                                else
                                {
                                setState("0_userdata.0.dim_esszimmer", "down");    
                                }
                                }
                            else
                            {
                                if (level>=10)
                                {
                                level=level-10;
                                setState("hue.0.Esszimmer.level", level);
                                console.log(level);
                                }
                                else
                                {
                                setState("0_userdata.0.dim_esszimmer", "up");
                                }
                            }
                        
                        }
                        };
                        

                        Bei Fragen gerne melden.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        964
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        504
                        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