Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Fhem adapter - auf Aliasname von obj zugreifen

    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

    Fhem adapter - auf Aliasname von obj zugreifen

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

      Hallo,

      ich habe einen einfachen trgger geschrieben und will den alias des fhem devices in log schreiben. Leider klappt das nicht so ganz

      var timeout;
      var waitTime =1000*10;
      var reg = new RegExp("^fhem\\.\\d+\\.MAX_\\d*\\.state$");
      on(reg , function (obj) {
      
        var name = obj.alias;
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        var aussentemp = getState("fhem.1.WPL13.AUSSENTEMP").val
      
        if (aussentemp < 15 && value == 'opened') {
          timeout = setTimeout(function () {
            log(name+'ist seit '+(waitTime/1000)+' Sekunden offen und draußen sind es nur '+aussentemp+ "°C");
          }, waitTime);
        } else {
          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
        }
      
       });
      
      

      obj.name ist undefined, obwohl in den objects der fhem alias korrekt angezeigt. Ich habe auch schon

      `obj.channel

      obj.channel.val

      obj.state.alias

      obj.state.alias.val`

      probiert. Leider ohne Erfolg.

      Was mache ich falsch?

      Gruß Frank
      9139_iobroker_objects.png

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

        Versuche es mal mit

          var name = obj.channelName;
        
        
        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Wenn Du wirklich auf den Wert des Datenpunktes alias zugreifen willst, ist es etwas komplizierter.

            var id = obj.id.substr(0, obj.id.indexOf('.state'));
            id = id + '.Attributes.alias';
            var name = getState(id).val;
          
          
          1 Reply Last reply Reply Quote 0
          • I
            intershopper last edited by

            Danke. Funktioniert

             var id = [color]obj.id.substr[/color](0, obj.id.indexOf('.state'));
              id = id + '.Attributes.alias';
              var name = getState(id).val;
            
            

            Gruß Frank

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

              @intershopper:

              Funktioniert `
              Das Thema im Betreff des ersten Beitrags bitte als [gelöst] markieren.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              925
              Online

              31.7k
              Users

              79.9k
              Topics

              1.3m
              Posts

              2
              5
              410
              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