mirror of
https://github.com/skydiver/ewelink-api.git
synced 2025-12-21 13:23:05 +01:00
* Added arpTableSolver (#18) * Added arpTableSolver * fix package import * linting class * changed arp library * refactor arp class * using arpping fork * refactor arpTableSolver class * Added Zero Conf functionality (LAN mode) (#46) * added crypto-js * zeroconf helper functions * zeroconf update payload * new method to save devices cache file * class renamed * refactor Zeroconf class * return cached device if exists * moved method to get local ip address * fix mac addresses without leading zeroes * refactor Zeroconf class * using new zeroconf functionality * zeroconf working with single and multichannel devices * save device mixin enhancement * working on zeroconf test cases * catch errors on filesystem methods * zeroconf: added extra test cases * better error handling * zeroconf: 100% code coverage * removed deprecated login method * updates on credentials file * version bump * Docs for v2.0 (#52) * added v1 docs * added zeroconf docs * updated readme * docs updated * removed zeroconf article warning * updated vscode config Co-authored-by: Luis Llamas <luisllamas@hotmail.com>
18 lines
512 B
JavaScript
18 lines
512 B
JavaScript
const { encryptationData } = require('../ewelink-helper');
|
|
|
|
const zeroConfUpdatePayload = (selfApikey, deviceId, deviceKey, params) => {
|
|
const encryptedData = encryptationData(JSON.stringify(params), deviceKey);
|
|
const timeStamp = new Date() / 1000;
|
|
const sequence = Math.floor(timeStamp * 1000);
|
|
return {
|
|
sequence: sequence.toString(),
|
|
deviceid: deviceId,
|
|
selfApikey,
|
|
iv: encryptedData.iv,
|
|
encrypt: true,
|
|
data: encryptedData.data,
|
|
};
|
|
};
|
|
|
|
module.exports = zeroConfUpdatePayload;
|