Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Script] HomeMatic-RF Dimmer mit Tastern schalten

    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

    [Script] HomeMatic-RF Dimmer mit Tastern schalten

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

      Hallo zusammen,

      in einer HomeMatic-Installation von mir werden HM-wired und HM-RF Komponenten eingesetzt. Da bei HM - im Gegensatz zu HM-IP - keine direkten Verknüpfungen von wired auf Funk möglich sind und ich ursprünglich einmal vorhatte, alle Programme als Scripts in ioBroker umzusetzen, wollte ich mit einer Wired-Taste einen Dimmaktor ein- bzw. ausschalten (nicht dimmen).
      Von diesem Vorgehen bin ich zwar schon abgekommen, da ich nun alle Subsysteme in sich selbst werken lasse und ioBroker tatsächlich nur den Broker bei systemübergreifenden Funktionen darstellt. Aber, ich dachte, dass dieses Skript möglichweise auch überall dort sinnvoll sein und von jemanden gebraucht werden kann, wo ein HM-RF Dimmer über eine beliebige Taste eines anderen Systems geschaltet (beachte wieder: nicht gedimmmt) werden kann. Der Taster muss nur einen Datenpunkt auf true setzen beim betätigen.
      Leider reicht der LEVEL-Datenpunkt beim Dimmer alleine nicht aus, aber zum Glück bringt der Dimmer ja noch die Datenpunkte DIRECTION und WORKING mit, die auch benötigt werden, um ihn sauber auf- und abzudimmen.

      Hier das Script:

      /* ##################################################
         # Script schaltet einen Dimmaktor von            #
         # HomeMatic-RF aus und ein über einen beliebigen #
         # Taster (von HM wired, KNX, Amazon Dash, etc.). #
         #                                                #
         # Kos A. am 28.12.2017                           #
         ##################################################
      */
      
      // #### DIMMPEGEL ####
      const ON_LEVEL  = 100;      // Pegel mit dem eingeschaltet wird
      const OFF_LEVEL = 0;        // Pegel mit dem ausgeschaltet wird
      
      // #### TASTER ####
      // Hier alle Datenpunkte aller Taster angeben, die den Dimmer
      // schalten sollen. Wenn nur einer, dann ohne Beistrich hinten.
      // Wichtig: Taster muss true liefern beim betätigen.
      var idTaster    = [
          "hm-rpc.1.IEQ0382640.1.PRESS_SHORT",
          "hm-rpc.1.IEQ0382640.2.PRESS_SHORT"
          ];
      
      // #### DIMM-AKTOR ####
      // Hier die 3 richtigen Datenpunkte für LEVEL, WORKING und DIRECTION angeben:
      var idAktorLevel        = "hm-rpc.0.JEQ0053892.1.LEVEL";
      var idAktorWorking      = "hm-rpc.0.JEQ0053892.1.WORKING";
      var idAktorDirection    = "hm-rpc.0.JEQ0053892.1.DIRECTION";
      
      
      // ########### Nach dieser Zeile nicht mehr ändern ##############
      // ########### Do not change anything below this Line ###########
      
      on({id: idTaster, change: "any", val: true}, function(){
          var working = getState(idAktorWorking).val;
          var direction = getState(idAktorDirection).val;
      
          // Wenn der Dimmer gerade noch arbeitet (in eine Richtung dimmt)
          if (working) {
              // Wenn gerade DOWN-gedimmt wird, dann aufdimmen
              if (direction == 2)
                  setState(idAktorLevel, ON_LEVEL);
              // Wenn gerade UP-gedimmt wird, dann abdimmen
              if (direction == 1)
                  setState(idAktorLevel, OFF_LEVEL);
          } else {
              // Wenn der Dimmer gerade nicht arbeitet, dann abhängig vom derzeitigen
              // Status dimmen
              setState(idAktorLevel, getState(idAktorLevel).val > 0 ? OFF_LEVEL : ON_LEVEL);
          }
          
      });
      

      Liebe Grüße,
      Andreas

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

      Support us

      ioBroker
      Community Adapters
      Donate

      585
      Online

      31.9k
      Users

      80.2k
      Topics

      1.3m
      Posts

      javascript
      1
      1
      576
      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