NEWS
Отсутствие deviceId в obj события
-
Добрый день,
Разрабатывают взаимодействие с телеграмом, подписался на событие, оно приходит, только вот объект я получаю в котором нет 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 - и соответственно не могу вытащить атрибуты девайса чтобы вставить его в сообщение.
Код примерно вот такой (Я уже попробовал по разному вытаскивать значения 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?