Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Отсутствие deviceId в obj события

    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

    Отсутствие deviceId в obj события

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

      Добрый день,

      Разрабатывают взаимодействие с телеграмом, подписался на событие, оно приходит, только вот объект я получаю в котором нет deviceId - и соответственно не могу вытащить атрибуты девайса чтобы вставить его в сообщение.

      Код примерно вот такой (Я уже попробовал по разному вытаскивать значения deviceId, не помогает - возвращает undefined).

      При этом channelId приходит (но json его не видно).

      on({id: /^sonoff\.0\..*\.alive$/, change: 'ne'}, function (obj) {
        objRoom = getObject(obj.id,'rooms');
        if(obj.state.val===true) {
            sendTo('telegram.0', 'Device '+getObject(obj.channelId).common.name+' located in '+objRoom.enumNames+' is connected '+JSON.stringify(obj)+JSON.stringify(objRoom));
        } else {
            sendTo('telegram.0', 'Device '+getObject(obj.channelId).common.name+' located in '+objRoom.enumNames+' is disconnected'+JSON.stringify(obj)+JSON.stringify(objRoom));
        }
       }
      );
      

      Соответсвенно в obj лежит вот такое (нет deviceId)

      {"id":"sonoff.0.DVES_06FDF7.alive",
                "newState":{"val":true,"ts":1526974517438,"ack":true,"lc":1526974517438,"from":"system.adapter.sonoff.0"},
                "oldState":{"val":false,"ts":1526974506646,"ack":true,"lc":1526974295730,"from":"system.adapter.sonoff.0"},
                "state":{"val":true,"ts":1526974517438,"ack":true,"lc":1526974517438,"from":"system.adapter.sonoff.0"}}
      

      В objRoom вот такое

      {"_id":"sonoff.0.DVES_06FDF7.alive",
                 "common":{"type":"boolean","role":"indicator.connected","read":true,"write":false,"name":"DVES_06FDF7 alive"},
                 "type":"state",
                 "from":"system.adapter.sonoff.0",
                 "ts":1523040682783,
                 "acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"enumIds":[],"enumNames":[]}
      

      Это глюк кого? Адаптера sonoff или системы? Или я что-то не правильно понимаю?

      1 Reply Last reply Reply Quote 0
      • I
        instalator last edited by

        @glaz123:

        Добрый день,

        Разрабатывают взаимодействие с телеграмом, подписался на событие, оно приходит, только вот объект я получаю в котором нет deviceId - и соответственно не могу вытащить атрибуты девайса чтобы вставить его в сообщение.

        Код примерно вот такой (Я уже попробовал по разному вытаскивать значения deviceId, не помогает - возвращает undefined).

        При этом channelId приходит (но json его не видно).

        on({id: /^sonoff\.0\..*\.alive$/, change: 'ne'}, function (obj) {
          objRoom = getObject(obj.id,'rooms');
          if(obj.state.val===true) {
              sendTo('telegram.0', 'Device '+getObject(obj.channelId).common.name+' located in '+objRoom.enumNames+' is connected '+JSON.stringify(obj)+JSON.stringify(objRoom));
          } else {
              sendTo('telegram.0', 'Device '+getObject(obj.channelId).common.name+' located in '+objRoom.enumNames+' is disconnected'+JSON.stringify(obj)+JSON.stringify(objRoom));
          }
         }
        );
        

        Соответсвенно в obj лежит вот такое (нет deviceId)

        {"id":"sonoff.0.DVES_06FDF7.alive",
                  "newState":{"val":true,"ts":1526974517438,"ack":true,"lc":1526974517438,"from":"system.adapter.sonoff.0"},
                  "oldState":{"val":false,"ts":1526974506646,"ack":true,"lc":1526974295730,"from":"system.adapter.sonoff.0"},
                  "state":{"val":true,"ts":1526974517438,"ack":true,"lc":1526974517438,"from":"system.adapter.sonoff.0"}}
        

        В objRoom вот такое

        {"_id":"sonoff.0.DVES_06FDF7.alive",
                   "common":{"type":"boolean","role":"indicator.connected","read":true,"write":false,"name":"DVES_06FDF7 alive"},
                   "type":"state",
                   "from":"system.adapter.sonoff.0",
                   "ts":1523040682783,
                   "acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"enumIds":[],"enumNames":[]}
        

        Это глюк кого? Адаптера sonoff или системы? Или я что-то не правильно понимаю? `
        что такое deviceId?

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

        Support us

        ioBroker
        Community Adapters
        Donate

        836
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        2
        2
        1589
        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