Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. HmIP-BROLL/iobroker - PRESS_SHORT/LONG triggern nicht

    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

    HmIP-BROLL/iobroker - PRESS_SHORT/LONG triggern nicht

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

      Liebe Community,

      um eine manuelle Übersteuerung meiner in iobroker implementierten Beschattungssteuerung (über an eine CCU3 angebundene HmIP-BROLL-Aktoren) zu ermöglichen, möchte ich gerne auf alle händischen Betätigungen meiner BROLLs reagieren können.

      Um die entsprechenden Events in iobroker zu empfangen, habe ich in der CCU3 Dummyprogramme angelegt, die auf Kanal 1 und 2 jeweils auf PRESS_SHORT und PRESS_LONG triggern, aber nichts tun.

      Die Events kommen in iobroker auch an. Eine subscription darauf reagiert leider nicht bzw. nur beim aller ersten Mal, wenn ein entsprechendes Event ausgelöst wird.

      Es scheint mir, als würden die Events keine echten Änderungen bewirken, siehe auch folgenden Screenshot und die fehlende Übereinstimmung zwischen "Zeit" und "Geändert":
      73075465-061d-4a9d-96f6-1cb7514f354b-image.png

      Vielleicht liegt es aber auch an meinem Selektor:

      const util = require('util');
      var RollladenSelektor = $('hm-rpc.0.00111A4*.PRESS_*');
      RollladenSelektor.on(function(obj){
          log('Rollladentaster betätigt');
          log(util.inspect(obj, { showHidden: true, depth: null }));
      })
      

      Er triggert wie beschrieben nicht bzw. nur beim allerersten Mal, obwohl er 68 Subscriptions (17 Rollläden à 4 Tasten) korrekt zu registrieren scheint.

      Zusatzinfo: Unter "Objekte" wird mir für alle Rollläden-PRESS-States zunächst "false" angezeigt. Bei erstmaliger Betätigung wechsel es zu "true" und bleibt dann dort für immer.

      Hat jemand eine Idee, wie ich das Problem beheben kann?

      Viele Grüße und besten Dank

      ceram

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

        @ceram
        $Selector().on() triggert nur bei Wertänderung. Verwende stattdessen on({id: RegExp}, function() {}).
        Alternative: Aus dem Selector ein Array machen:

        const util = require('util');
        const RollladenSelektor = $('hm-rpc.0.00111A4*.PRESS_*');
        const ids = [];
        RollladenSelektor.each(function(id, i) {
            ids[i] = id;
        });
        
        on({id: ids}, function(obj){
            log('Rollladentaster betätigt');
            log(util.inspect(obj, { showHidden: true, depth: null }));
        })
        
        1 Reply Last reply Reply Quote 1
        • C
          ceram last edited by

          @paul53

          Vielen Dank! So klappt es!

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

          Support us

          ioBroker
          Community Adapters
          Donate

          403
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          293
          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