21 Commits

Author SHA1 Message Date
Martin M
b87d092a71 Release v3.1.0 (#93)
* set APP_ID and APP_SECRET from main class

* add APP_ID and APP_SECRET as class constructor parameters

* updated test case

* updated test case

* added new test case

* docs updated

* Release v3.1.0 - "setWSDevicePowerState" (#96)

* new mixing to control devices using websocket

* switch status on single channel devices

* working on deviceControl mixin

* better error handling

* working on fix for shared devices

* refactor/cleanup

* added helper function

* added docs for new method

* return device new status

* added test cases

* properly close websocket connection and clean used properties

* added test cases

* error detection enhancements

* added test cases

* error detection enhancements

* added new test file to jest setup

* method renamed

* fix for closing websocket connection

* new getWSDevicePowerState method

* added test cases

* re-arrange tests

* added new test cases

* extract helpers methods

* added test case

* close WebSocket connection on auth error

* updated docs

* updated dependencies

* fix for "forbidden" error

* updated dependencies
2020-10-12 19:01:57 -03:00
Martin M
c11b3a8ab7 Release v3.0.0 (#85)
* updated dependencies

* code linting

* added new app id & app secret

* cleanup requests payloads

* remove unused function

* update test cases

* enabled firmware tests

* refactor getDevice to use right api endpoint

* error messages improvements

* error messages improvements

* error messages improvements

* error messages improvements

* error messages improvements

* payload cleanup

* refactor setDevicePowerState to use right api endpoint

* update test exepectation

* removed deprecated class

* updated tests to reflect new error codes

* error messages improvements

* refactoring project structure: devices methods

refactoring project sturcture

* refactoring project structure: firmware methods

* refactoring project structure: temperature/humidity

* refactoring project structure: credentials methods

* refactoring project structure: power usage methods

* refactoring project structure: power state methods

* refactoring project structure: websocket methods

* removed deprecated login method from docs

* refactoring project structure: power usage methods

* refactoring project structure: zeroconf classes

* refactoring project structure: websocket classes

* refactoring project structure: zeroconf classes

* refactor and cleanup

* refactoring project structure: firmware methods

* moved parsers to own directory

* update tests with methods renames

* export missing temperature/humidity methods

* removed unused package

* refactor and cleanup

* fix test expectation

* refactoring project structure: moved data files

* refactoring project structure: moved data files

* refactoring project structure: moved helpers files

* refactoring project structure: moved helpers files

* refactoring project structure: moved payload files

* refactor and cleanup

* refactor getDevicePowerState

* setDevicePowerState returns channel

* convert error 400 to 404 for clarity

* updated test cases

* remove console.log

* cache path for zeroconf cache files

* installed nock

* using nock to simulate server requests during testing

* moved credentials file to config folder

* update request url when using nock

* refactor nock helper file

* move cooldown delay to setupTests file

* updating testing instructions

* restored delete code block

* fix wrong error code

* accept phone number to login to ewelink

* added test cases for initialize main class

* improvements on class initialization parameters

* allow login using phone number

* rename test file

* updated test case

* fixed regression bug

* Release v3.0.0 - use node-fetch (#87)

* replaced deprecated request library with node-fetch

* refactor: moved makeRequest to own mixin file

* refactor to use node-fetch

* fixes

* update config

* created helper method

* constant rename

* ignore files from final package

* version bump
2020-05-23 03:07:52 -03:00
Martin M
098011b285 Release v2.0.0 (#44)
* 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>
2020-01-11 01:39:29 -03:00
Martin M
6e240c181f Release v1.10.0 (#38)
* 100% coverage for mixins/user/regionMixin.js

* check if websocket connection is valid json

* removed unnecessary delays

* added more test cases

* move constants to json files

* renamed login method to getCredentials

* mixin renamed

* don’t export internal methods

* mixin renamed

* keep socket connection opened

* using new getCredentials method

* reanmed login to credentials

* version bump
2019-11-29 02:25:38 -03:00
Martin M
98b8d8a97c Release v1.8.1 (#28)
* new method to get user region

* added new test

* version bump
2019-11-11 00:22:08 -03:00
Martin M
e6f60724f1 Release v1.8.0 (#23)
* new method to check for device firmware updates

* moved mixin

* generate firmware update payload

* new method to check for devices firmware updates

* removed unused function

* moved firmware tests to own file

* added firmware test cases

* return device id on response

* updated credentials list

* version bump
2019-11-02 22:42:55 -03:00
Martin M
bff733adc5 Release v1.6.1 (#16)
* refactor temperature/humidity methods

* updating temperature/humidity tests

* version bump

* updated jest config

* fix: when logged user is not device owner, can’t change power state

* fix: when logged user is not device owner, can’t get power usage

* reverted extra code changes

* updated tests
2019-09-29 11:13:43 -03:00
Martin M
4a21470978 Release v1.6.0 (#15)
* added new method to listen for websocket messages

* version bump

* updated README
2019-09-15 01:48:13 -03:00
Martin M
1cd87a8d90 Release v1.5.1 (#14)
* updated dependencies

* disabled temp/humidity test

* refactor big main class into smaller mixins

* updated jest config

* version bump
2019-09-14 22:12:56 -03:00
NickDub
5b4361a23d Added current temperature, humidity and firmware (#10)
* Added current temperature, humidity and firmware

* fixed wrong parameter

* linting

* fixed test cases

* fixed serverless test cases

* fixed test cases

* variable renamed

* version bump
2019-09-13 23:15:29 -03:00
Martin M
024aaa8a2c Release v1.4.1 (#13)
* specific error when requested channel is bigger than total

* fix for multi-channel devices

* updated test expectations

* fixes with uiid api changes

* fix wrong error message

* added new test cases

* return expected error on wrong channel number

* added more devices

* version bump
2019-09-11 23:46:17 -03:00
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
Martin M
90f7cde28c Release v1.3.0 (#8)
* helper method to login into ewelink if no auth credentials found

* return websocket reponse as JSON

* created function to get raw consumption data

* created function to parse raw consumption data and return daily usage

* renamed property

* created function to get current month power usage

* created function to get raw power usage

* added new test cases

* catch websocket connection errors

* power usage enhancements

* added new test case

* removed unused code

* updated credentials file

* version bump

* updated dependencies

* tests reorganized
2019-07-27 14:52:12 -03:00
Martin M
d1cf9da212 Release v1.2.2 (#7)
* refactor websocket request

* return response from websocket request

* move request payloads to own file

* refactor: removed duplicate device request

* code linting

* JSDoc methods

* version bump
2019-07-23 21:30:25 -03:00
Martin M
513c2f660a Release v1.2.1 (#6)
* tests refactored

* moved test config files

* removed deprecated command

* added missing test case

* updated eslint config

* removed unused function / renamed helper

* added missing test cases

* code enhancement
2019-07-20 12:43:05 -03:00
NickDub
ec66219ed7 Added multi-channel devices and get/set power state (#2)
* added multi-channel device

* added get and set power state

* added some fixes

* add “this” to call class methods
* create params object before build payload
* typo fixed on “switches” param

* added new test cases

* improved error message

* added more test cases

* added authentication error

* added fix channel number too high

* added region change if wrong

* linting + small fixes

* linting + renamed method

* linting
2019-07-17 02:23:26 -03:00
Ig0rr0
003b88053b * fix region (#1)
[example: eu insteal us]
2019-07-06 19:03:19 -03:00
Martín M
2962566679 class refactor 2019-06-28 23:24:46 -03:00
Martín M
7dbc0f2331 throw error when device not found 2019-06-26 23:14:31 -03:00
Martín M
d8971ee2b5 fixed bug with undefined variable 2019-06-26 21:49:31 -03:00
Martín M
11be3e0d58 created ewelink class 2019-06-26 21:29:43 -03:00