Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Denkanstoß Hue Birne dimmen mit HmIP-BDT

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Denkanstoß Hue Birne dimmen mit HmIP-BDT

Scheduled Pinned Locked Moved JavaScript
10 Posts 3 Posters 664 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CyberMicha
    wrote on last edited by
    #1

    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

    paul53P 1 Reply Last reply
    0
    • C CyberMicha

      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

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @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) ?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • C Offline
        C Offline
        CyberMicha
        wrote on last edited by CyberMicha
        #3

        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");
            }
        });
        
        paul53P 1 Reply Last reply
        0
        • C 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");
              }
          });
          
          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @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);
          });
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          C 1 Reply Last reply
          0
          • C Offline
            C Offline
            CyberMicha
            wrote on last edited by CyberMicha
            #5

            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
            0
            • C Offline
              C Offline
              CyberMicha
              wrote on last edited by
              #6

              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
              0
              • paul53P 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 Offline
                C Offline
                CyberMicha
                wrote on last edited by
                #7

                @paul53 oder hast du noch ein Idee?

                paul53P 1 Reply Last reply
                0
                • C CyberMicha

                  @paul53 oder hast du noch ein Idee?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @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 ?

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  C 1 Reply Last reply
                  0
                  • paul53P 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 Offline
                    C Offline
                    CyberMicha
                    wrote on last edited by
                    #9

                    @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
                    0
                    • C CyberMicha

                      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 Offline
                      G Offline
                      gammler2003
                      wrote on last edited by
                      #10

                      @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
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      608

                      Online

                      32.4k

                      Users

                      81.4k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe