funlogic-io/zwave-serialapi

View on GitHub
lib/serialapi/functions/func-50.js

Summary

Maintainability
A
0 mins
Test Coverage
const consts = require('../consts')
const { learnModeFormat, learnModeStatusFormat } = require('./formats')
const funcUtils = require('./func-utils')

const name = 'setLearnMode'
const funcId = consts.FUNC_ID_ZW_SET_LEARN_MODE

function encodeRequestData (request, params) {
  const data = []
  data.push(learnModeFormat.parse(request.mode))
  data.push(params.callbackId)
  return data
}

function decodeCallbackData (reader, result) {
  const callbackId = reader.readByte()
  result.status = reader.readByte(status => learnModeStatusFormat.format(status))
  result.nodeId = reader.readByte()
  result.nodeInfo = reader.readVarBytes()
  return { callbackId }
}

module.exports = {
  name,
  funcId,
  encodeRequest: funcUtils.buildRequestEncoder(funcId, encodeRequestData),
  decodeCallback: funcUtils.buildCallbackDecoder(funcId, decodeCallbackData)
}