mirror of
https://github.com/skydiver/ewelink-api.git
synced 2025-12-24 22:39:26 +01:00
* refactor websocket / power usage * cooldown between api requests during testing * refactor power state methods * remove unused code * cooldown between api requests during testing * version bump
31 lines
739 B
JavaScript
31 lines
739 B
JavaScript
const WebSocket = require('../WebSocket');
|
|
const payloads = require('../../lib/payloads');
|
|
const { _get } = require('../../lib/helpers');
|
|
|
|
class ChangeState extends WebSocket {
|
|
static async set({ apiUrl, at, apiKey, deviceId, params, state }) {
|
|
const payloadLogin = payloads.wssLoginPayload({ at, apiKey });
|
|
|
|
const payloadUpdate = payloads.wssUpdatePayload({
|
|
apiKey,
|
|
deviceId,
|
|
params,
|
|
});
|
|
|
|
const response = await this.WebSocketRequest(apiUrl, [
|
|
payloadLogin,
|
|
payloadUpdate,
|
|
]);
|
|
|
|
const error = _get(response[1], 'error', false);
|
|
|
|
if (error === 403) {
|
|
return { error, msg: response[1].reason };
|
|
}
|
|
|
|
return { status: 'ok', state };
|
|
}
|
|
}
|
|
|
|
module.exports = ChangeState;
|