mirror of
https://github.com/skydiver/ewelink-api.git
synced 2025-12-24 06:28:30 +01:00
checkDeviceUpdate: use v2 API
This commit is contained in:
@@ -11,38 +11,25 @@ module.exports = {
|
||||
*/
|
||||
async checkDeviceUpdate(deviceId) {
|
||||
const device = await this.getDevice(deviceId);
|
||||
|
||||
const error = _get(device, 'error', false);
|
||||
|
||||
if (error) {
|
||||
return device;
|
||||
}
|
||||
|
||||
const deviceInfoList = parseFirmwareUpdates([device]);
|
||||
|
||||
const deviceInfoListError = _get(deviceInfoList, 'error', false);
|
||||
|
||||
if (deviceInfoListError) {
|
||||
return deviceInfoList;
|
||||
}
|
||||
|
||||
const update = await this.makeRequest({
|
||||
method: 'post',
|
||||
url: this.getOtaUrl(),
|
||||
uri: '/app',
|
||||
uri: '/v2/device/ota/query',
|
||||
body: { deviceInfoList },
|
||||
});
|
||||
|
||||
const isUpdate = _get(update, 'upgradeInfoList.0.version', false);
|
||||
const isUpdate = _get(update, 'otaInfoList.0.version', false);
|
||||
|
||||
if (!isUpdate) {
|
||||
return { status: 'ok', msg: 'No update available' };
|
||||
}
|
||||
|
||||
return {
|
||||
status: 'ok',
|
||||
msg: 'Update available',
|
||||
version: isUpdate,
|
||||
};
|
||||
return isUpdate
|
||||
? {
|
||||
status: 'ok',
|
||||
msg: 'Update available',
|
||||
version: isUpdate,
|
||||
}
|
||||
: {
|
||||
status: 'ok',
|
||||
msg: 'No update available',
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
const { _get } = require('../helpers/utilities');
|
||||
const errors = require('../data/errors');
|
||||
|
||||
const parseFirmwareUpdates = devicesList =>
|
||||
devicesList.map(device => {
|
||||
const model = _get(device, 'extra.extra.model', false);
|
||||
const parseFirmwareUpdates = (devicesList) =>
|
||||
devicesList.map((device) => {
|
||||
const model = _get(device, 'extra.model', false);
|
||||
const fwVersion = _get(device, 'params.fwVersion', false);
|
||||
|
||||
if (!model || !fwVersion) {
|
||||
return { error: 500, msg: errors.noFirmware };
|
||||
throw new Error(`${errors.noFirmware}`);
|
||||
}
|
||||
|
||||
return { model, version: fwVersion, deviceid: device.deviceid };
|
||||
|
||||
Reference in New Issue
Block a user