Closed
Description
I have two Innr SP 120 Smart Plugs (https://shop.innrlighting.com/en/shop/113/smart-plug) which is a unknown device.
I started with the "How to support new devices" Wiki.
After pairing the new entry in database.db:
{"id":7,"type":"Router","ieeeAddr":"0x00158d000217be5c","nwkAddr":34681,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"SP 120","epList":[1,2],"status":"offline","joinTime":null,"endpoints":{"1":{"profId":49246,"epId":1,"devId":16,"inClusterList":[0,3,4,5,6,8,10,1794,2820],"outClusterList":[3,10,25],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"10":{},"zclVersion":2,"appVersion":1,"stackVersion":2,"hwVersion":1,"manufacturerName":"innr","modelId":"SP 120","dateCode":"20171027-100","powerSource":1,"swBuildId":"2.0"}},"genIdentify":{"dir":{"value":3},"attrs":{"identifyTime":0}},"genGroups":{"dir":{"value":1},"attrs":{"nameSupport":0}},"genScenes":{"dir":{"value":1},"attrs":{"count":1,"currentScene":0,"currentGroup":0,"sceneValid":0,"nameSupport":0,"lastCfgBy":"0xffffffffffffffff"}},"genOnOff":{"dir":{"value":1},"attrs":{"onOff":0,"globalSceneCtrl":1,"onTime":0,"offWaitTime":0}},"genLevelCtrl":{"dir":{"value":1},"attrs":{"currentLevel":254,"remainingTime":0,"onOffTransitionTime":0}},"genTime":{"dir":{"value":3},"attrs":{"time":0,"timeStatus":0}},"genOta":{"dir":{"value":2},"attrs":{}},"seMetering":{"dir":{"value":1},"attrs":{"currentSummDelivered":{"0":0,"1":0},"status":0,"unitOfMeasure":0,"summaFormatting":42,"meteringDeviceType":0}},"haElectricalMeasurement":{"dir":{"value":1},"attrs":{"measurementType":0,"rmsVoltage":0,"rmsCurrent":0,"activePower":0}}}},"2":{"profId":49246,"epId":2,"devId":4096,"inClusterList":[4096],"outClusterList":[],"clusters":{"lightLink":{"dir":{"value":1},"attrs":{}}}}},"_id":"zgD1NYq2y3W3N0w9"}
Added new device with report in devices.js
{
zigbeeModel: ['SP 120'],
model: 'SP 120',
vendor: 'Innr',
description: 'Smart Plug',
supports: 'on/off, power measurement',
fromZigbee: [fz.generic_state, fz.ignore_onoff_change, fz.ignore_electrical_change, fz.SP120_power],
toZigbee: [tz.onoff],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 1000, repChange: 0};
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
(cb) => device.report('haElectricalMeasurement', 'rmsVoltage', 10, 1000, 1, cb),
(cb) => device.report('haElectricalMeasurement', 'rmsCurrent', 10, 1000, 1, cb),
(cb) => device.report('haElectricalMeasurement', 'activePower', 10, 1000, 1, cb),
];
execute(device, actions, callback);
},
},
fromZigbee.js
SP120_power: {
cid: 'haElectricalMeasurement',
type: 'attReport',
convert: (model, msg, publish, options) => {
return {
voltage: msg.data.data['rmsVoltage'],
current: msg.data.data['rmsCurrent'],
power: msg.data.data['activePower'],
};
},
},
If I started zigbee2mqtt with DEBUG=zigbee-shepherd* npm start
zigbee2mqtt:info 2018-11-12 09:14:03 MQTT publish, topic: 'zigbee2mqtt/0x00158d000217be5c', payload: '{"state":"ON","linkquality":92}'
zigbee-shepherd:msgHdlr IND <-- ZDO:permitJoinInd +60ms
zigbee-shepherd:msgHdlr IND <-- ZDO:mgmtPermitJoinRsp +0ms
zigbee-shepherd:msgHdlr IND <-- ZDO:bindRsp +53ms
zigbee-shepherd-converters:devices Configured '(cb) => device.bind('genOnOff', coordinator, cb)' with result 'OK' +0ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 1 +313ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +16ms
zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +24ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 1 +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +17ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +10ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee-shepherd-converters:devices Configured '(cb) => device.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb)' with result 'OK' +382ms
zigbee-shepherd-converters:devices Configured '(cb) => device.report('haElectricalMeasurement', 'rmsVoltage', 10, 1000, 1, cb)' with result 'Error: Profile: 49246 is not supported.' +320ms
zigbee2mqtt:error 2018-11-12 09:14:04 Failed to configure 0x00158d000217be5c 0x00158d000217be5c
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +12s
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +27ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +2ms
on/off via mqtt topic works. Incoming message would be send twice. No idea why...
zigbee2mqtt:debug 2018-11-12 09:58:04 Received mqtt message on topic 'zigbee2mqtt/0x00158d000217be5c/set' with data '{ "state": "ON" }'
zigbee2mqtt:info 2018-11-12 09:58:04 Zigbee publish to '0x00158d000217be5c', genOnOff - on - {} - {"manufSpec":0,"disDefaultRsp":0} - null
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 9 +4m
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +19ms
zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +15ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 9 +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +20ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +14ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 10 +6ms
zigbee2mqtt:info 2018-11-12 09:58:05 MQTT publish, topic: 'zigbee2mqtt/0x00158d000217be5c', payload: '{"state":"ON","linkquality":89}'
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +20ms
zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +21ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 10 +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +19ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +12ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 11 +2ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +12ms
zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +21ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 11 +0ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +13ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +17ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +2ms
zigbee2mqtt:debug 2018-11-12 09:58:05 Received zigbee message of type 'devChange' with data '{"cid":"genOnOff","data":{"onOff":1}}' of device 'SP 120' (0x00158d000217be5c)
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +762ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +7ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee2mqtt:debug 2018-11-12 09:58:05 Received zigbee message of type 'attReport' with data '{"cid":"genOnOff","data":{"onOff":1}}' of device 'SP 120' (0x00158d000217be5c)
zigbee2mqtt:info 2018-11-12 09:58:05 MQTT publish, topic: 'zigbee2mqtt/0x00158d000217be5c', payload: '{"state":"ON","linkquality":92}'
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 12 +37ms
zigbee-shepherd:request RSP <-- AF:dataRequest, status: 0 +20ms
zigbee-shepherd:af dispatchIncomingMsg(): type: dataConfirm, msg: [object Object] +20ms
zigbee-shepherd:msgHdlr IND <-- AF:dataConfirm, transId: 12 +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +11ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +4ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee2mqtt:debug 2018-11-12 10:00:59 Saving state to file /opt/zigbee2mqtt/data/state.json
No electrical measurement. What could I do next? Thx
Metadata
Assignees
Labels
No labels
Activity