Files
ewelink-api/classes/PowerState/ChangeState.js
Martin M 171faa617b Release v1.4.0 (#11)
* 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
2019-08-19 23:05:52 -03:00

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;