From e9ebf19258233a5ffce59fc1df2a05ab2de6fae6 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 24 Sep 2020 11:11:01 +0300 Subject: [PATCH 01/63] multiple upgrades --- README.md | 33 ++++++++++++++++++---- src/switcher.js | 74 +++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 23594c7..c66ef98 100644 --- a/README.md +++ b/README.md @@ -17,24 +17,30 @@ npm install switcher-js ```javascript const Switcher = require('switcher-js').Switcher; -var switcher = new Switcher('device-id', 'device-ip', 'phone-id', 'device-pass', 'log function'); +var switcher = new Switcher('device-id', 'device-ip', 'log function'); ``` To use the auto discover functionallity use: ```javascript const Switcher = require('switcher-js').Switcher; -var proxy = Switcher.discover('phone-id', 'device-pass', 'log function'); +var proxy = Switcher.discover('log function', 'identifier(optional)', 'discovery-timeout(optional)'); proxy.on('ready', (switcher) => { switcher.turn_on(); // switcher is a new initialized instance of Switcher class }); + + +setTimeout(() => { + proxy.close(); // optional way to close the discovery (if discovery-timeout is not set) +}, 10000); + ``` discover will emit a ready event when auto discovery completed. -phone-id (optional) - will be defaulted to 0000 if no value provided
-device-pass (optional) - will be defaulted to 00000000 if no value provided +identifier (optional) - you can provide the Switcher name, IP or device-id to detect specific device.
+discovery-timeout (optional) - set maximum time in seconds to scan for devices. Examples: ```javascript @@ -42,8 +48,20 @@ const Switcher = require('switcher-js').Switcher; var switcher = new Switcher('device-id', 'device-ip', 'phone-id', 'device-pass', 'log function'); -switcher.on('state', (state) => { // state is the new switcher state - +switcher.on('status', (status) => { // status broadcast message + console.log(status) + /* response: + { + name: 'Boiler', + state: 1, + remaining_seconds: 591, + default_shutdown_seconds: 5400, + power_consumption: 2447 // in watts + } + */ +}); +switcher.on('state', (state) => { // state is the new switcher state + console.log(state) // 1 }); switcher.on('error', (error) => { @@ -52,6 +70,9 @@ switcher.on('error', (error) => { switcher.turn_on(); // turns switcher on switcher.turn_on(15); // turns switcher on for 15 minutes switcher.turn_off(); // turns switcher off +switcher.status(status => { // get status + console.log(status); +}); switcher.close(); // closes any dangling connections safely ``` diff --git a/src/switcher.js b/src/switcher.js index 63b15b4..eb48974 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -54,7 +54,7 @@ class SwitcherUDPMessage { } extract_device_name() { - return this.data_str.substr(41, 32); + return this.data_str.substr(40, 32).replace(/\0/g, ''); // remove leftovers after the name } extract_device_id() { @@ -74,6 +74,22 @@ class SwitcherUDPMessage { time_left_section.substr(0, 2), 16); } + extract_default_shutdown_seconds() { + var shutdown_settings_section = this.data_hex.substr(310, 8); + return parseInt( + shutdown_settings_section.substr(6, 2) + + shutdown_settings_section.substr(4, 2) + + shutdown_settings_section.substr(2, 2) + + shutdown_settings_section.substr(0, 2), 16); + } + + extract_power_consumption() { + var power_consumption_section = this.data_hex.substr(270, 4); + return parseInt( + power_consumption_section.substr(2, 2) + + power_consumption_section.substr(0, 2), 16); + } + inet_ntoa(num) { // extract to utils https://stackoverflow.com/a/21613691 var a = ((num >> 24) & 0xFF) >>> 0; var b = ((num >> 16) & 0xFF) >>> 0; @@ -85,22 +101,22 @@ class SwitcherUDPMessage { class Switcher extends EventEmitter { - SWITCHER_PORT = 9957; - - constructor(device_id, switcher_ip, phone_id, device_pass, log) { + constructor(device_id, switcher_ip, log) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; - this.phone_id = phone_id || '0000'; - this.device_pass = device_pass || '00000000'; + this.phone_id = '0000'; + this.device_pass = '00000000'; + this.SWITCHER_PORT = 9957; this.log = log; this.p_session = null; this.socket = null; this.status_socket = this._hijack_status_report(); } - static discover(phone_id, device_pass, log) { + static discover(log, identifier, discovery_timeout) { var proxy = new EventEmitter.EventEmitter(); + var timeout = null var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { var ipaddr = rinfo.address; if (!SwitcherUDPMessage.is_valid(raw_msg)) { @@ -108,13 +124,39 @@ class Switcher extends EventEmitter { } var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id(); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, phone_id, device_pass, log)); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log.debug(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); + return; + } + + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log)); + clearTimeout(timeout); socket.close(); + socket = null; + }); socket.on('error', (error) => { proxy.emit(ERROR_EVENT, error); + clearTimeout(timeout); + socket.close(); + socket = null; }); socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + if (discovery_timeout); + timeout = setTimeout(() => { + log.debug(`stopping discovery, closing socket`); + socket.close(); + socket = null; + }, discovery_timeout*1000); + + proxy.close = () => { + log.debug('closing discover socket'); + if (socket) { + socket.close(); + log.debug('discovery socket is closed'); + } + } return proxy; } @@ -135,15 +177,21 @@ class Switcher extends EventEmitter { var socket = await this._getsocket(); socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { - var device_name = data.toString().substr(40, 32); - var state_hex = data.toString('hex').substr(150, 4); + var device_name = data.toString().substr(40, 32).replace(/\0/g, '');; + var state_hex = data.toString('hex').substr(150, 4); + var state = state_hex == '0000' ? OFF : ON; var b = data.toString('hex').substr(178, 8); var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - var state = state_hex == '0000' ? OFF : ON; + b = data.toString('hex').substr(194, 8); + var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); + b = data.toString('hex').substr(154, 4); + var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); callback({ name: device_name, state: state, remaining_seconds: remaining_seconds, + default_shutdown_seconds: default_shutdown_seconds, + power_consumption: power_consumption }); }); } @@ -210,7 +258,9 @@ class Switcher extends EventEmitter { this.emit(STATUS_EVENT, { name: udp_message.extract_device_name(), state: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds() + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() }) }); socket.on('error', (error) => { From 5463d98a49026983c0af2fbdf83af3b2d94eb15c Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 24 Sep 2020 11:11:44 +0300 Subject: [PATCH 02/63] fix README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c66ef98..2114cd2 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Examples: ```javascript const Switcher = require('switcher-js').Switcher; -var switcher = new Switcher('device-id', 'device-ip', 'phone-id', 'device-pass', 'log function'); +var switcher = new Switcher('device-id', 'device-ip', 'log function'); switcher.on('status', (status) => { // status broadcast message console.log(status) From 76543e8a7c6133376174fd05e83129992d546c1a Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 24 Sep 2020 23:11:59 +0300 Subject: [PATCH 03/63] add set_default_shutdown function + duration event --- src/switcher.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/switcher.js b/src/switcher.js index eb48974..d35b054 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -15,6 +15,7 @@ const STATUS_EVENT = 'status'; const READY_EVENT = 'ready'; const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; +const DURATION_CHANGED_EVENT = 'duration' const SWITCHER_UDP_IP = "0.0.0.0" @@ -170,6 +171,21 @@ class Switcher extends EventEmitter { this._run_power_command(on_command); } + async set_default_shutdown(duration=3600) { + var auto_close = this._set_default_shutdown(duration) + var p_session = await this._login(); + var data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log.debug(`sending default_shutdown command | ${duration} seconds`); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.emit(DURATION_CHANGED_EVENT, duration); // todo: add old state and new state + }); + + } + async status(callback) { // refactor var p_session = await this._login(); var data = "fef0300002320103" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; @@ -322,6 +338,16 @@ class Switcher extends EventEmitter { return struct.pack(' 86340) { + this.log.debug('Value can\'t be more than 23 hours and 59 minutes, setting to 86340') + seconds = 86340 + } else return struct.pack('I', crc16ccitt(Buffer.from(p_data, 'hex'), 0x1021)).toString('hex'); p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); From ed970fe121df8bca2351cc9000742c4473c6c957 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 25 Sep 2020 00:33:54 +0300 Subject: [PATCH 04/63] fix log of connection error --- src/switcher.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switcher.js b/src/switcher.js index d35b054..c15a37f 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -27,7 +27,7 @@ const ON = 1; class ConnectionError extends Error { constructor(ip, port) { - super('connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.'); + super(`connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.`); this.ip = ip; this.port = port; } From cc5b610ea4694ab2f288f522695ad78c014b4d3b Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 25 Sep 2020 22:24:25 +0300 Subject: [PATCH 05/63] catching errors and optimizing --- src/switcher.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index c15a37f..5a5b231 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -131,6 +131,7 @@ class Switcher extends EventEmitter { return; } + // log(`Found ${device_name} (${ipaddr})!`); proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log)); clearTimeout(timeout); socket.close(); @@ -213,12 +214,13 @@ class Switcher extends EventEmitter { } close() { - this.log.debug('closing sockets'); if (this.socket && !this.socket.destroyed) { + this.log.debug('closing sockets'); this.socket.destroy(); this.log.debug('main socket is closed'); } if (this.status_socket && !this.status_socket.destroyed) { + this.log.debug('closing sockets'); this.status_socket.close(); this.log.debug('status socket is closed'); } @@ -294,7 +296,12 @@ class Switcher extends EventEmitter { this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log.debug("login..."); - var socket = await this._getsocket(); + try { + var socket = await this._getsocket(); + } catch (err) { + reject(err) + return + } socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) @@ -309,7 +316,7 @@ class Switcher extends EventEmitter { } catch (error) { this.log('login failed due to an error', error); - this.emit(ERROR_EVENT, new Error('login failed due to an error: ${error.message}')); + this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); } return this.p_session; } @@ -321,6 +328,12 @@ class Switcher extends EventEmitter { data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log.debug('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); var socket = await this._getsocket(); + try { + var socket = await this._getsocket(); + } catch (err) { + this.log.debug(err) + return + } socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); // todo: add old state and new state From 22aa05ac1be030512b6c71bfcaccd00f7938d55e Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 26 Sep 2020 22:45:55 +0300 Subject: [PATCH 06/63] fixed is_valid + show status event only for the chosen device --- README.md | 5 ++++- package.json | 12 ++++++------ src/switcher.js | 27 ++++++++++++++++----------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 2114cd2..eab4be6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -# switcher-js +# switcher-js2 + +*Fork of @johnathanvidu JS implementation* + switcher-js is a native nodejs library for controling [switcher smart water heater](https://switcher.co.il/).
It is a native javascript port of a wonderful python script (can be found [here](https://github.com/NightRang3r/Switcher-V2-Python)) created as a result of the extensive work which has been done by Aviad Golan ([@AviadGolan](https://twitter.com/AviadGolan)) and Shai rod ([@NightRang3r](https://twitter.com/NightRang3r)).
It is a work in progress and there is still a lot of work left to do. diff --git a/package.json b/package.json index 67333f2..c571bef 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "switcher-js", - "version": "0.0.3", - "description": "switcher smart water heater api", + "name": "switcher-js2", + "version": "1.0.0", + "description": "switcher smart water heater api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { "python-struct": "^1.1.2" @@ -12,16 +12,16 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/johnathanvidu/switcher-js.git" + "url": "git+https://github.com/nitaybz/switcher-js.git" }, "keywords": [ "switcher", "switcher-js" ], - "author": "Johnathan Viduchinsky", + "author": "nitaybz", "license": "MIT", "bugs": { - "url": "https://github.com/johnathanvidu/switcher-js/issues" + "url": "https://github.com/nitaybz/switcher-js/issues" }, "homepage": "https://github.com/johnathanvidu/switcher-js#readme" } diff --git a/src/switcher.js b/src/switcher.js index 5a5b231..4f94100 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -40,8 +40,8 @@ class SwitcherUDPMessage { } static is_valid(message_buffer) { - return !(message_buffer.toString('hex').substr(0, 4) != 'fef0' && - message_buffer.byteLength() != 165); + return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && + Buffer.byteLength(message_buffer) === 165); } extract_ip_addr() { @@ -118,7 +118,7 @@ class Switcher extends EventEmitter { static discover(log, identifier, discovery_timeout) { var proxy = new EventEmitter.EventEmitter(); var timeout = null - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var socket = dgram.createSocket({'type' : 'udp4', 'reuseAddr' : true}, (raw_msg, rinfo) => { var ipaddr = rinfo.address; if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message @@ -204,6 +204,7 @@ class Switcher extends EventEmitter { b = data.toString('hex').substr(154, 4); var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); callback({ + device_id: this.device_id, name: device_name, state: state, remaining_seconds: remaining_seconds, @@ -268,18 +269,22 @@ class Switcher extends EventEmitter { } _hijack_status_report() { - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var socket = dgram.createSocket({'type' : 'udp4', 'reuseAddr' : true}, (raw_msg, rinfo) => { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } var udp_message = new SwitcherUDPMessage(raw_msg); - this.emit(STATUS_EVENT, { - name: udp_message.extract_device_name(), - state: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), - power_consumption: udp_message.extract_power_consumption() - }) + + var device_id = udp_message.extract_device_id() + if (device_id === this.device_id) + this.emit(STATUS_EVENT, { + device_id: device_id, + name: udp_message.extract_device_name(), + state: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() + }) }); socket.on('error', (error) => { this.emit(ERROR_EVENT, new Error("status report failed. error: " + error.message)); // hoping this will keep the original stack trace From 5b12a8be15ad8f64adc666301cc7dd0938089779 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Mon, 28 Sep 2020 23:09:56 +0300 Subject: [PATCH 07/63] add listen function and remove this.status_socket from default + adjust readme --- README.md | 75 +++++++++++++++++++++++++--------- index.js | 4 +- package.json | 2 +- src/switcher.js | 104 ++++++++++++++++++++++++++++++++++-------------- 4 files changed, 134 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index eab4be6..38d6649 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,35 @@ # switcher-js2 -*Fork of @johnathanvidu JS implementation* +*Fork of [@johnathanvidu JS implementation](https://github.com/johnathanvidu/switcher-js)* -switcher-js is a native nodejs library for controling [switcher smart water heater](https://switcher.co.il/).
+switcher-js is a native nodejs library for controling [Switcher](https://switcher.co.il/) smart water heater and sockets.

It is a native javascript port of a wonderful python script (can be found [here](https://github.com/NightRang3r/Switcher-V2-Python)) created as a result of the extensive work which has been done by Aviad Golan ([@AviadGolan](https://twitter.com/AviadGolan)) and Shai rod ([@NightRang3r](https://twitter.com/NightRang3r)).
It is a work in progress and there is still a lot of work left to do. I built it according to my specific needs and my specific device. If any issue arises, please feel free to open an issue and I'll do my best to help.
Current supported devices known to work with switcher-js:
-- **Switcher V3** (Switcher touch) - FW **V1.51** +- **Switcher V3**: (Switcher touch) - Firmware **V1.51** +- **Switcher V2**: Firmware **3.21** (Based on ESP chipset) +- **Switcher V2**: Firmware**72.32** (Qualcomm chipset) ## Installation Use [npm](https://www.npmjs.com/) to install switcher-js. ```bash -npm install switcher-js +npm install switcher-js2 ``` -## Usage +## Usage Examples: ```javascript -const Switcher = require('switcher-js').Switcher; +const Switcher = require('switcher-js2'); -var switcher = new Switcher('device-id', 'device-ip', 'log function'); +var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen(boolean)'); ``` +### Discover + To use the auto discover functionallity use: ```javascript -const Switcher = require('switcher-js').Switcher; +const Switcher = require('switcher-js2'); var proxy = Switcher.discover('log function', 'identifier(optional)', 'discovery-timeout(optional)'); @@ -45,18 +49,20 @@ discover will emit a ready event when auto discovery completed. identifier (optional) - you can provide the Switcher name, IP or device-id to detect specific device.
discovery-timeout (optional) - set maximum time in seconds to scan for devices. -Examples: + +### Control + ```javascript -const Switcher = require('switcher-js').Switcher; +const Switcher = require('switcher-js2'); -var switcher = new Switcher('device-id', 'device-ip', 'log function'); +var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen'); // set listen to true if you want to listen for status messages -switcher.on('status', (status) => { // status broadcast message +switcher.on('status', (status) => { // status broadcast message - only works when listen=true console.log(status) /* response: { - name: 'Boiler', - state: 1, + device_id: 'e3a845', + power: 1, remaining_seconds: 591, default_shutdown_seconds: 5400, power_consumption: 2447 // in watts @@ -73,21 +79,54 @@ switcher.on('error', (error) => { switcher.turn_on(); // turns switcher on switcher.turn_on(15); // turns switcher on for 15 minutes switcher.turn_off(); // turns switcher off +switcher.set_default_shutdown(3600) // set the default auto shutdown to 1 hour (must be between 3600 and 86340) switcher.status(status => { // get status console.log(status); }); switcher.close(); // closes any dangling connections safely ``` -switcher-js exposes two states for convenience +### Listen + +Global listen functionality that listens to a single or multiple switcher devices for status messages. + +To use the listen functionallity use: ```javascript -const switcher = require('switcher-js'); +const Switcher = require('switcher-js2'); + +var proxy = Switcher.listen('log function', 'identifier(optional)'); + +proxy.on('message', (message) => { + console.log(message) + /* response: + { + device_id: 'e3a845', + device_ip: '10.0.0.1', + name: 'Boiler', + state: { + power: 1, + remaining_seconds: 591, + default_shutdown_seconds: 5400, + power_consumption: 2447 // in watts + } + } + */ +}); + +proxy.close(); // close the listener socket -switcher.ON = 0 -switcher.OFF = 1 ``` +proxy will emit a message event every time it receives a message from a switcher device. + +identifier (optional) - you can provide the Switcher name, IP or device-id to filter specific device messages. + +## Multiple Connections + +Don't use Discover, Listen and Switcher with (listen=true) at the same time as it will return error since this socket is being used. +If you want to listen to multiple devices, use the global listen function to get all statuses, and use the switcher instance without the listen capability. + ## Contributing Pull requests are more than welcome. For major changes, please open an issue first to discuss what you would like to change. Even coding tips and standards are welcome, I have very limited experience with javascript, so there's a lot of things I don't know are cleaner or more standarized in the industry. diff --git a/index.js b/index.js index 168c9c2..f1ea6bf 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,4 @@ const switcher = require('./src/switcher'); -module.exports = { - Switcher: switcher.Switcher -} \ No newline at end of file +module.exports = switcher.Switcher \ No newline at end of file diff --git a/package.json b/package.json index c571bef..4ecdff1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.0.0", + "version": "1.1.0", "description": "switcher smart water heater api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 4f94100..9a3f328 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -12,6 +12,7 @@ const P_SESSION = '00000000'; const P_KEY = '00000000000000000000000000000000'; const STATUS_EVENT = 'status'; +const MESSAGE_EVENT = 'message' const READY_EVENT = 'ready'; const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; @@ -102,7 +103,7 @@ class SwitcherUDPMessage { class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log) { + constructor(device_id, switcher_ip, log, listen) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; @@ -112,13 +113,14 @@ class Switcher extends EventEmitter { this.log = log; this.p_session = null; this.socket = null; - this.status_socket = this._hijack_status_report(); + if (listen) + this.status_socket = this._hijack_status_report(); } static discover(log, identifier, discovery_timeout) { var proxy = new EventEmitter.EventEmitter(); var timeout = null - var socket = dgram.createSocket({'type' : 'udp4', 'reuseAddr' : true}, (raw_msg, rinfo) => { + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { var ipaddr = rinfo.address; if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message @@ -127,7 +129,7 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log.debug(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); + log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); return; } @@ -147,16 +149,62 @@ class Switcher extends EventEmitter { socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); if (discovery_timeout); timeout = setTimeout(() => { - log.debug(`stopping discovery, closing socket`); + log(`stopping discovery, closing socket`); socket.close(); socket = null; }, discovery_timeout*1000); proxy.close = () => { - log.debug('closing discover socket'); + log('closing discover socket'); if (socket) { socket.close(); - log.debug('discovery socket is closed'); + log('discovery socket is closed'); + } + } + return proxy; + } + + static listen(log, identifier) { + var proxy = new EventEmitter.EventEmitter(); + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + state: { + power: udp_message.extract_switch_state, + remaining_seconds: udp_message.extract_shutdown_remaining_seconds, + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds, + power_consumption: udp_message.extract_power_consumption + } + }); + + }); + socket.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + socket.close(); + socket = null; + }); + socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + + proxy.close = () => { + log('closing listener socket'); + if (socket) { + socket.close(); + log('listener socket is closed'); } } return proxy; @@ -178,7 +226,7 @@ class Switcher extends EventEmitter { var data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log.debug(`sending default_shutdown command | ${duration} seconds`); + this.log(`sending default_shutdown command | ${duration} seconds`); var socket = await this._getsocket(); socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { @@ -205,8 +253,7 @@ class Switcher extends EventEmitter { var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); callback({ device_id: this.device_id, - name: device_name, - state: state, + power: state, remaining_seconds: remaining_seconds, default_shutdown_seconds: default_shutdown_seconds, power_consumption: power_consumption @@ -216,14 +263,14 @@ class Switcher extends EventEmitter { close() { if (this.socket && !this.socket.destroyed) { - this.log.debug('closing sockets'); + this.log('closing sockets'); this.socket.destroy(); - this.log.debug('main socket is closed'); + this.log('main socket is closed'); } if (this.status_socket && !this.status_socket.destroyed) { - this.log.debug('closing sockets'); + this.log('closing sockets'); this.status_socket.close(); - this.log.debug('status socket is closed'); + this.log('status socket is closed'); } } @@ -234,10 +281,10 @@ class Switcher extends EventEmitter { try { var socket = await this._connect(this.SWITCHER_PORT, this.switcher_ip); socket.on('error', (error) => { - this.log.debug('gloabal error event:', error); + this.log('gloabal error event:', error); }); socket.on('close', (had_error) => { - this.log.debug('gloabal close event:', had_error); + this.log('gloabal close event:', had_error); }); this.socket = socket; return socket; @@ -254,22 +301,22 @@ class Switcher extends EventEmitter { var socket = net.connect(port, ip); socket.setKeepAlive(true); socket.once('ready', () => { - this.log.debug('successful connection, socket was created'); + this.log('successful connection, socket was created'); resolve(socket); }); socket.once('close', (had_error) => { - this.log.debug('connection closed, had error:', had_error) + this.log('connection closed, had error:', had_error) reject(had_error); }); socket.once('error', (error) => { - this.log.debug('connection rejected, error:', error) + this.log('connection rejected, error:', error) reject(error); }); }); } _hijack_status_report() { - var socket = dgram.createSocket({'type' : 'udp4', 'reuseAddr' : true}, (raw_msg, rinfo) => { + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } @@ -278,6 +325,7 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id() if (device_id === this.device_id) this.emit(STATUS_EVENT, { + device_id: device_id, device_id: device_id, name: udp_message.extract_device_name(), state: udp_message.extract_switch_state(), @@ -300,7 +348,7 @@ class Switcher extends EventEmitter { var data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log.debug("login..."); + this.log("login..."); try { var socket = await this._getsocket(); } catch (err) { @@ -311,7 +359,7 @@ class Switcher extends EventEmitter { socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) // todo: make sure result_session exists - this.log.debug('recieved session id: ' + result_session); + this.log('recieved session id: ' + result_session); resolve(result_session); // returning _p_session after a successful login }); this.socket.once('error', (error) => { @@ -331,12 +379,12 @@ class Switcher extends EventEmitter { var data = "fef05d0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log.debug('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); + this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); var socket = await this._getsocket(); try { var socket = await this._getsocket(); } catch (err) { - this.log.debug(err) + this.log(err) return } socket.write(Buffer.from(data, 'hex')); @@ -358,10 +406,10 @@ class Switcher extends EventEmitter { _set_default_shutdown(seconds) { if (seconds < 3600) { - this.log.debug('Value Can\'t be less than 1 hour!, setting to 3600') + this.log('Value Can\'t be less than 1 hour!, setting to 3600') seconds = 3600 } else if (seconds > 86340) { - this.log.debug('Value can\'t be more than 23 hours and 59 minutes, setting to 86340') + this.log('Value can\'t be more than 23 hours and 59 minutes, setting to 86340') seconds = 86340 } else return struct.pack(' Date: Mon, 28 Sep 2020 23:30:08 +0300 Subject: [PATCH 08/63] fixed returning status in listen function --- package.json | 2 +- src/switcher.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4ecdff1..5a2f32c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.1.0", + "version": "1.1.1", "description": "switcher smart water heater api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 9a3f328..c3728ce 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -185,10 +185,10 @@ class Switcher extends EventEmitter { device_ip: ipaddr, name: device_name, state: { - power: udp_message.extract_switch_state, - remaining_seconds: udp_message.extract_shutdown_remaining_seconds, - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds, - power_consumption: udp_message.extract_power_consumption + power: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() } }); From a9cef2b66469ffacfece47d83dda7ce008fd7d8b Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 10:59:00 +0300 Subject: [PATCH 09/63] added support for switcher runner --- test.js | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 test.js diff --git a/test.js b/test.js deleted file mode 100644 index e3faa2e..0000000 --- a/test.js +++ /dev/null @@ -1,9 +0,0 @@ -const Switcher = require('./src/switcher').Switcher; - - -var switcher = new Switcher('53fd5e', '192.168.1.108','0000', '00000000', console); - -switcher.turn_off(); -switcher.on('state', (state) => { - switcher.close(); -}); From a787f0467e1f4dac80b75c2ac94ec1634bfe610b Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 10:59:14 +0300 Subject: [PATCH 10/63] added support for switcher runner --- .gitignore | 3 + README.md | 41 ++++++- package-lock.json | 4 +- package.json | 6 +- src/switcher.js | 264 +++++++++++++++++++++++++++++++--------------- src/udp.js | 107 +++++++++++++++++++ 6 files changed, 329 insertions(+), 96 deletions(-) create mode 100644 src/udp.js diff --git a/.gitignore b/.gitignore index 6704566..e647bd2 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,6 @@ dist # TernJS port file .tern-port + +test2.js +test.js diff --git a/README.md b/README.md index 38d6649..a41c377 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,20 @@ *Fork of [@johnathanvidu JS implementation](https://github.com/johnathanvidu/switcher-js)* -switcher-js is a native nodejs library for controling [Switcher](https://switcher.co.il/) smart water heater and sockets.

+switcher-js is a native nodejs library for controling [Switcher](https://switcher.co.il/) smart home accessories - water heater, sockets, and blinds.

It is a native javascript port of a wonderful python script (can be found [here](https://github.com/NightRang3r/Switcher-V2-Python)) created as a result of the extensive work which has been done by Aviad Golan ([@AviadGolan](https://twitter.com/AviadGolan)) and Shai rod ([@NightRang3r](https://twitter.com/NightRang3r)).
It is a work in progress and there is still a lot of work left to do. I built it according to my specific needs and my specific device. If any issue arises, please feel free to open an issue and I'll do my best to help.
Current supported devices known to work with switcher-js:
+- **Switcher Runner Mini** +- **Switcher Runner** +- **Switcher V4** +- **Switcher Mini** - **Switcher V3**: (Switcher touch) - Firmware **V1.51** - **Switcher V2**: Firmware **3.21** (Based on ESP chipset) - **Switcher V2**: Firmware**72.32** (Qualcomm chipset) +- ## Installation Use [npm](https://www.npmjs.com/) to install switcher-js. @@ -22,7 +27,7 @@ npm install switcher-js2 ```javascript const Switcher = require('switcher-js2'); -var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen(boolean)'); +var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen(boolean)', 'device-type'); ``` ### Discover @@ -55,13 +60,13 @@ discovery-timeout (optional) - set maximum time in seconds to scan for devices. ```javascript const Switcher = require('switcher-js2'); -var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen'); // set listen to true if you want to listen for status messages +var switcher = new Switcher('device-id', 'device-ip', 'log function', 'listen', 'device-type'); +// set listen to true if you want to listen for status messages switcher.on('status', (status) => { // status broadcast message - only works when listen=true console.log(status) /* response: { - device_id: 'e3a845', power: 1, remaining_seconds: 591, default_shutdown_seconds: 5400, @@ -86,6 +91,33 @@ switcher.status(status => { // get status switcher.close(); // closes any dangling connections safely ``` +### Control Runner Devices (blinds) + +```javascript +const Switcher = require('switcher-js2'); + +var runner = new Switcher('device-id', 'device-ip', 'log function', 'listen', 'runner'); +// set 'device-type' to 'runner' if you want to control the runner devices + +runner.on('status', (status) => { // status broadcast message - only works when listen=true + console.log(status) + /* response: + { + position: 80, + direction: 'STOP' + } + */ +}); +runner.on('position', (pos) => { // position is the new switcher position + console.log(pos) // 100 +}); +switcher.on('error', (error) => { + +}); + +switcher.set_position(80); // Set blinds position to 80% +switcher.close(); // closes any dangling connections safely +``` ### Listen @@ -104,6 +136,7 @@ proxy.on('message', (message) => { device_id: 'e3a845', device_ip: '10.0.0.1', name: 'Boiler', + type: 'v4' state: { power: 1, remaining_seconds: 591, diff --git a/package-lock.json b/package-lock.json index bd66476..8944fc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "switcher-js", - "version": "0.0.3", + "name": "switcher-js2", + "version": "1.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5a2f32c..820b922 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "switcher-js2", - "version": "1.1.1", - "description": "switcher smart water heater api (fork of @johnathanvidu)", + "version": "1.2.0", + "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { "python-struct": "^1.1.2" @@ -23,5 +23,5 @@ "bugs": { "url": "https://github.com/nitaybz/switcher-js/issues" }, - "homepage": "https://github.com/johnathanvidu/switcher-js#readme" + "homepage": "https://github.com/nitaybz/switcher-js#readme" } diff --git a/src/switcher.js b/src/switcher.js index c3728ce..fabfcf2 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -6,7 +6,7 @@ const struct = require('python-struct'); const EventEmitter = require('events').EventEmitter; const crc16ccitt = require('./crc').crc16ccitt; - +const SwitcherUDPMessage = require('./udp') const P_SESSION = '00000000'; const P_KEY = '00000000000000000000000000000000'; @@ -16,16 +16,23 @@ const MESSAGE_EVENT = 'message' const READY_EVENT = 'ready'; const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; -const DURATION_CHANGED_EVENT = 'duration' +const DURATION_CHANGED_EVENT = 'duration'; +const POSITION_CHANGED_EVENT = 'position'; + +const SWITCHER_UDP_IP = "0.0.0.0"; +const SWITCHER_UDP_PORT = 20002; +const SWITCHER_UDP_PORT2 = 20003; -const SWITCHER_UDP_IP = "0.0.0.0" -const SWITCHER_UDP_PORT = 20002 +const SWITCHER_TCP_PORT = 9957; +const SWITCHER_TCP_PORT2 = 10000; +const NEW_TCP_GROUP = ['runner', 'runner_mini']; const OFF = 0; const ON = 1; + class ConnectionError extends Error { constructor(ip, port) { super(`connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.`); @@ -34,82 +41,17 @@ class ConnectionError extends Error { } } -class SwitcherUDPMessage { - constructor(message_buffer) { - this.data_str = message_buffer.toString(); - this.data_hex = message_buffer.toString('hex'); - } - - static is_valid(message_buffer) { - return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && - Buffer.byteLength(message_buffer) === 165); - } - - extract_ip_addr() { - var ip_addr_section = this.data_hex.substr(152, 8); - var ip_addr_int = parseInt( - ip_addr_section.substr(0, 2) + - ip_addr_section.substr(2, 2) + - ip_addr_section.substr(4, 2) + - ip_addr_section.substr(6, 2), 16); - return this.inet_ntoa(ip_addr_int); - } - - extract_device_name() { - return this.data_str.substr(40, 32).replace(/\0/g, ''); // remove leftovers after the name - } - - extract_device_id() { - return this.data_hex.substr(36, 6); - } - - extract_switch_state() { - return this.data_hex.substr(266, 4) == '0000' ? OFF : ON; - } - - extract_shutdown_remaining_seconds() { - var time_left_section = this.data_hex.substr(294, 8); - return parseInt( - time_left_section.substr(6, 2) + - time_left_section.substr(4, 2) + - time_left_section.substr(2, 2) + - time_left_section.substr(0, 2), 16); - } - - extract_default_shutdown_seconds() { - var shutdown_settings_section = this.data_hex.substr(310, 8); - return parseInt( - shutdown_settings_section.substr(6, 2) + - shutdown_settings_section.substr(4, 2) + - shutdown_settings_section.substr(2, 2) + - shutdown_settings_section.substr(0, 2), 16); - } - - extract_power_consumption() { - var power_consumption_section = this.data_hex.substr(270, 4); - return parseInt( - power_consumption_section.substr(2, 2) + - power_consumption_section.substr(0, 2), 16); - } - - inet_ntoa(num) { // extract to utils https://stackoverflow.com/a/21613691 - var a = ((num >> 24) & 0xFF) >>> 0; - var b = ((num >> 16) & 0xFF) >>> 0; - var c = ((num >> 8) & 0xFF) >>> 0; - var d = (num & 0xFF) >>> 0; - return(a + "." + b + "." + c + "." + d); - } -} - class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen) { + constructor(device_id, switcher_ip, log, listen, device_type) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; + this.device_type = device_type || 'unknown'; this.phone_id = '0000'; this.device_pass = '00000000'; - this.SWITCHER_PORT = 9957; + this.newType = NEW_TCP_GROUP.includes(device_type) + this.SWITCHER_PORT = newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; this.log = log; this.p_session = null; this.socket = null; @@ -128,13 +70,14 @@ class Switcher extends EventEmitter { var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); + var device_type = udp_message.extract_type(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); return; } // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log)); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); clearTimeout(timeout); socket.close(); socket = null; @@ -147,11 +90,43 @@ class Switcher extends EventEmitter { socket = null; }); socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + + var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + var device_type = udp_message.extract_type(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); + clearTimeout(timeout); + socket2.close(); + socket2 = null; + + }); + socket2.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + clearTimeout(timeout); + socket2.close(); + socket2 = null; + }); + socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + if (discovery_timeout); timeout = setTimeout(() => { log(`stopping discovery, closing socket`); socket.close(); socket = null; + socket2.close(); + socket2 = null; }, discovery_timeout*1000); proxy.close = () => { @@ -160,6 +135,10 @@ class Switcher extends EventEmitter { socket.close(); log('discovery socket is closed'); } + if (socket2) { + socket2.close(); + log('discovery socket2 is closed'); + } } return proxy; } @@ -184,6 +163,7 @@ class Switcher extends EventEmitter { device_id: device_id, device_ip: ipaddr, name: device_name, + type: udp_message.extract_type(), state: { power: udp_message.extract_switch_state(), remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), @@ -199,6 +179,39 @@ class Switcher extends EventEmitter { socket = null; }); socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + + var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: udp_message.extract_type(), + state: { + position: udp_message.extract_position(), + direction: udp_message.extract_direction() + } + }); + + }); + socket2.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + socket2.close(); + socket2 = null; + }); + socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); proxy.close = () => { log('closing listener socket'); @@ -206,6 +219,10 @@ class Switcher extends EventEmitter { socket.close(); log('listener socket is closed'); } + if (socket2) { + socket2.close(); + log('listener socket2 is closed'); + } } return proxy; } @@ -220,6 +237,11 @@ class Switcher extends EventEmitter { this._run_power_command(on_command); } + set_position(pos=0) { + var position_command = this._get_hex_pos(pos) + this._run_position_command(position_command); + } + async set_default_shutdown(duration=3600) { var auto_close = this._set_default_shutdown(duration) var p_session = await this._login(); @@ -320,24 +342,29 @@ class Switcher extends EventEmitter { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } + var ipaddr = rinfo.address; var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id() - if (device_id === this.device_id) - this.emit(STATUS_EVENT, { - device_id: device_id, - device_id: device_id, - name: udp_message.extract_device_name(), - state: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), - power_consumption: udp_message.extract_power_consumption() - }) + if (device_id === this.device_id) { + if (!this.newType) + this.emit(STATUS_EVENT, { + power: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() + }) + else + this.emit(STATUS_EVENT, { + position: udp_message.extract_position(), + direction: udp_message.extract_direction() + }) + } }); socket.on('error', (error) => { this.emit(ERROR_EVENT, new Error("status report failed. error: " + error.message)); // hoping this will keep the original stack trace }); - socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + socket.bind(!this.newType ? SWITCHER_UDP_PORT : SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); return socket; } @@ -359,7 +386,44 @@ class Switcher extends EventEmitter { socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) // todo: make sure result_session exists - this.log('recieved session id: ' + result_session); + this.log('received session id: ' + result_session); + resolve(result_session); // returning _p_session after a successful login + }); + this.socket.once('error', (error) => { + reject(error); + }); + }); + } + catch (error) { + this.log('login failed due to an error', error); + this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); + } + return this.p_session; + } + + async _login2() { + if (this.p_session) return this.p_session; + try { + this.p_session = await new Promise(async (resolve, reject) => { + var data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + + this.device_id + "00"; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log("login..."); + try { + var socket = await this._getsocket(); + } catch (err) { + reject(err) + return + } + // this.log('sending data') + // this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + var result_session = data.toString('hex').substr(16, 8) + // this.log('received login data:') + // this.log(data.toString('hex')) + // todo: make sure result_session exists + this.log('received session id: ' + result_session); resolve(result_session); // returning _p_session after a successful login }); this.socket.once('error', (error) => { @@ -389,7 +453,25 @@ class Switcher extends EventEmitter { } socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { - this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); // todo: add old state and new state + this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); + }); + } + + async _run_position_command(position_command) { + const pos = parseInt(position_command, 16) + var p_session = await this._login2(); + var data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + "37010100" + position_command; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending position command | ${pos}%`); + var socket = await this._getsocket(); + // this.log('sending data:') + // this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + // this.log('data received:') + // this.log(data.toString('hex')) + this.emit(POSITION_CHANGED_EVENT, pos); // todo: add old state and new state }); } @@ -413,6 +495,14 @@ class Switcher extends EventEmitter { seconds = 86340 } else return struct.pack('I', crc16ccitt(Buffer.from(p_data, 'hex'), 0x1021)).toString('hex'); diff --git a/src/udp.js b/src/udp.js new file mode 100644 index 0000000..9244b37 --- /dev/null +++ b/src/udp.js @@ -0,0 +1,107 @@ +"use strict"; + + +const direction_commands = { + '0000': 'STOP', + '0100': 'UP', + '0001': 'DOWN' +} + +const types = { + 'a8': 'power_plug', + 'a1': 'v2_qca', + 'a7': 'v2_esp', + '0b': 'v3', + '17': 'v4', + '0f': 'mini', + '01': 'runner', + '02': 'runner_mini' +} + +class SwitcherUDPMessage { + constructor(message_buffer) { + this.data_str = message_buffer.toString(); + this.data_hex = message_buffer.toString('hex'); + } + + static is_valid(message_buffer) { + return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && + (Buffer.byteLength(message_buffer) === 165 || Buffer.byteLength(message_buffer) === 159)); + } + + extract_type() { + var type_hex = this.data_hex.substr(150, 2); + return types[type_hex] || `unknown_${type_hex}`; + } + + extract_ip_addr() { + var ip_addr_section = this.data_hex.substr(152, 8); + var ip_addr_int = parseInt( + ip_addr_section.substr(0, 2) + + ip_addr_section.substr(2, 2) + + ip_addr_section.substr(4, 2) + + ip_addr_section.substr(6, 2), 16); + return this.inet_ntoa(ip_addr_int); + } + + extract_device_name() { + return this.data_str.substr(40, 32).replace(/\0/g, ''); // remove leftovers after the name + } + + extract_device_id() { + return this.data_hex.substr(36, 6); + } + + extract_switch_state() { + return this.data_hex.substr(266, 4) == '0000' ? 0 : 1; + } + + extract_shutdown_remaining_seconds() { + var time_left_section = this.data_hex.substr(294, 8); + return parseInt( + time_left_section.substr(6, 2) + + time_left_section.substr(4, 2) + + time_left_section.substr(2, 2) + + time_left_section.substr(0, 2), 16); + } + + extract_default_shutdown_seconds() { + var shutdown_settings_section = this.data_hex.substr(310, 8); + return parseInt( + shutdown_settings_section.substr(6, 2) + + shutdown_settings_section.substr(4, 2) + + shutdown_settings_section.substr(2, 2) + + shutdown_settings_section.substr(0, 2), 16); + } + + extract_power_consumption() { + var power_consumption_section = this.data_hex.substr(270, 4); + return parseInt( + power_consumption_section.substr(2, 2) + + power_consumption_section.substr(0, 2), 16); + } + + inet_ntoa(num) { // extract to utils https://stackoverflow.com/a/21613691 + var a = ((num >> 24) & 0xFF) >>> 0; + var b = ((num >> 16) & 0xFF) >>> 0; + var c = ((num >> 8) & 0xFF) >>> 0; + var d = (num & 0xFF) >>> 0; + return(a + "." + b + "." + c + "." + d); + } + + extract_direction() { + var direction = this.data_hex.substr(274, 4); + return direction_commands[direction]; + } + + extract_position() { + var position_section = this.data_hex.substr(270, 4); + return parseInt( + position_section.substr(2, 2) + + position_section.substr(0, 2), 16); + } +} + + + +module.exports = SwitcherUDPMessage \ No newline at end of file From 1ceba2caec885613aa1b6a48132ad1d224ef0f4e Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 17:22:43 +0300 Subject: [PATCH 11/63] fix syntax --- src/switcher.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/switcher.js b/src/switcher.js index fabfcf2..5a318f7 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -51,7 +51,7 @@ class Switcher extends EventEmitter { this.phone_id = '0000'; this.device_pass = '00000000'; this.newType = NEW_TCP_GROUP.includes(device_type) - this.SWITCHER_PORT = newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; + this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; this.log = log; this.p_session = null; this.socket = null; @@ -147,6 +147,7 @@ class Switcher extends EventEmitter { var proxy = new EventEmitter.EventEmitter(); var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { var ipaddr = rinfo.address; + console.log(raw_msg.toString('hex')) if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } From b65255180a8148fe386a15d57a8a8e73b7983750 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 17:23:44 +0300 Subject: [PATCH 12/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 820b922..4b2a5b3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.2.0", + "version": "1.2.1", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From e29663610b67b18fb5d9e8b18f5869aa8c429dce Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 20:28:29 +0300 Subject: [PATCH 13/63] remove console.log --- src/switcher.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/switcher.js b/src/switcher.js index 5a318f7..aa21aa3 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -147,7 +147,6 @@ class Switcher extends EventEmitter { var proxy = new EventEmitter.EventEmitter(); var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { var ipaddr = rinfo.address; - console.log(raw_msg.toString('hex')) if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } From 13cbf09eae603999e897509371dae9f4e21bcb10 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 20:41:50 +0300 Subject: [PATCH 14/63] more logs --- src/switcher.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index aa21aa3..56d0f59 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -150,6 +150,8 @@ class Switcher extends EventEmitter { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } + this.log('UDP Message:') + this.log(raw_msg.toString('hex')) var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); @@ -382,9 +384,13 @@ class Switcher extends EventEmitter { reject(err) return } + this.log('sending data') + this.log(data) socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) + this.log('received login data:') + this.log(data.toString('hex')) // todo: make sure result_session exists this.log('received session id: ' + result_session); resolve(result_session); // returning _p_session after a successful login @@ -415,13 +421,13 @@ class Switcher extends EventEmitter { reject(err) return } - // this.log('sending data') - // this.log(data) + this.log('sending data') + this.log(data) socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { - var result_session = data.toString('hex').substr(16, 8) - // this.log('received login data:') - // this.log(data.toString('hex')) + var result_session = data.toString('hex').substr(16, 8) + this.log('received login data:') + this.log(data.toString('hex')) // todo: make sure result_session exists this.log('received session id: ' + result_session); resolve(result_session); // returning _p_session after a successful login @@ -445,6 +451,8 @@ class Switcher extends EventEmitter { data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) try { var socket = await this._getsocket(); } catch (err) { @@ -453,6 +461,8 @@ class Switcher extends EventEmitter { } socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); }); } @@ -465,12 +475,12 @@ class Switcher extends EventEmitter { data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log(`sending position command | ${pos}%`); var socket = await this._getsocket(); - // this.log('sending data:') - // this.log(data) + this.log('sending data:') + this.log(data) socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { - // this.log('data received:') - // this.log(data.toString('hex')) + this.log('data received:') + this.log(data.toString('hex')) this.emit(POSITION_CHANGED_EVENT, pos); // todo: add old state and new state }); } From 2eba3eb3fdc23bc343c87421c3d5450127c0d6e3 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 1 Apr 2021 21:18:03 +0300 Subject: [PATCH 15/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4b2a5b3..dcbb203 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.2.1", + "version": "1.2.2", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From 3f3b2cb48aa910130af14e074906bb8b82cd917b Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 2 Apr 2021 20:45:42 +0300 Subject: [PATCH 16/63] fix log on listen --- src/switcher.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index 56d0f59..0ceb22a 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -150,8 +150,8 @@ class Switcher extends EventEmitter { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } - this.log('UDP Message:') - this.log(raw_msg.toString('hex')) + log('UDP Message:') + log(raw_msg.toString('hex')) var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); From a15758712af43dc4ad1c4e381516b537bba33fc4 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 2 Apr 2021 20:45:59 +0300 Subject: [PATCH 17/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dcbb203..f3e673e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.2.2", + "version": "1.2.3", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From 119eb6503aca82bd684c9108158a26a3e75af82e Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 3 Apr 2021 20:15:46 +0300 Subject: [PATCH 18/63] reset p_session --- src/switcher.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/switcher.js b/src/switcher.js index 0ceb22a..efe1d98 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -470,6 +470,7 @@ class Switcher extends EventEmitter { async _run_position_command(position_command) { const pos = parseInt(position_command, 16) var p_session = await this._login2(); + this.p_session = null; var data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + "37010100" + position_command; data = this._crc_sign_full_packet_com_key(data, P_KEY); From d2bdc85ba9b820eabfda1ae6471a1e9565efa6b8 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 3 Apr 2021 20:16:00 +0300 Subject: [PATCH 19/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f3e673e..9eea400 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.2.3", + "version": "1.2.4", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From ba53d0dd83b9fe97129cae8c8a3a6a1517e8d49f Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 17 Dec 2021 23:01:57 +0200 Subject: [PATCH 20/63] add breeze support --- .gitignore | 3 + package-lock.json | 56 ++++++- package.json | 4 +- src/switcher.js | 390 +++++++++++++++++++++++++++++++++++++++++----- src/udp.js | 82 ++++++++-- 5 files changed, 481 insertions(+), 54 deletions(-) diff --git a/.gitignore b/.gitignore index e647bd2..1906075 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* +log/ # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json @@ -105,3 +106,5 @@ dist test2.js test.js + +cache/ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8944fc4..82bf46c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,68 @@ { "name": "switcher-js2", - "version": "1.2.0", + "version": "1.2.4", "lockfileVersion": 1, "requires": true, "dependencies": { + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "requires": { + "follow-redirects": "^1.14.4" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "follow-redirects": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", + "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "requires": { + "mime-db": "1.51.0" + } + }, "python-struct": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/python-struct/-/python-struct-1.1.2.tgz", diff --git a/package.json b/package.json index 9eea400..4230d00 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,11 @@ { "name": "switcher-js2", - "version": "1.2.4", + "version": "1.3.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { + "axios": "^0.24.0", + "form-data": "^4.0.0", "python-struct": "^1.1.2" }, "devDependencies": {}, diff --git a/src/switcher.js b/src/switcher.js index efe1d98..3081ed1 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -1,5 +1,8 @@ "use strict"; +const axios = require('axios'); +var FormData = require('form-data'); +const fs = require('fs').promises; const net = require('net'); const dgram = require('dgram'); const struct = require('python-struct'); @@ -10,6 +13,7 @@ const SwitcherUDPMessage = require('./udp') const P_SESSION = '00000000'; const P_KEY = '00000000000000000000000000000000'; +const REMOTE_SET_TOKEN = 'd41d8cd98f00b204e9800998ecf8427e' const STATUS_EVENT = 'status'; const MESSAGE_EVENT = 'message' @@ -18,6 +22,8 @@ const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; const DURATION_CHANGED_EVENT = 'duration'; const POSITION_CHANGED_EVENT = 'position'; +const BREEZE_CHANGE_EVENT = 'breeze' +const BREEZE_CAPABILITIES_EVENT = 'capabilities' const SWITCHER_UDP_IP = "0.0.0.0"; @@ -26,12 +32,30 @@ const SWITCHER_UDP_PORT2 = 20003; const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; -const NEW_TCP_GROUP = ['runner', 'runner_mini']; +const NEW_TCP_GROUP = ['runner', 'runner_mini', 'breeze']; +const IR_SET_FILE = 'IRSet.json' +const IR_SET_PATH = __dirname + '/../cache' const OFF = 0; const ON = 1; +const breeze_dictionary = { + modes: { + 'aa': 'AUTO', + 'ad': 'DRY', + 'aw': 'FAN', + 'ar': 'COOL', + 'ah': 'HEAT' + + }, + fan_levels: { + 'f0': 'AUTO', + 'f1': 'LOW', + 'f2': 'MEDIUM', + 'f3': 'HIGH', + } +} class ConnectionError extends Error { constructor(ip, port) { @@ -43,7 +67,7 @@ class ConnectionError extends Error { class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type) { + constructor(device_id, switcher_ip, log, listen, device_type, remote) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; @@ -51,12 +75,16 @@ class Switcher extends EventEmitter { this.phone_id = '0000'; this.device_pass = '00000000'; this.newType = NEW_TCP_GROUP.includes(device_type) + this.isBreeze = device_type && device_type === 'breeze' this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; this.log = log; this.p_session = null; this.socket = null; if (listen) this.status_socket = this._hijack_status_report(); + if (device_type === 'breeze') + this._get_breeze_remote(remote) + .then(remote => this.breeze_remote = remote) } static discover(log, identifier, discovery_timeout) { @@ -100,13 +128,15 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); var device_type = udp_message.extract_type(); + if (device_type === 'breeze') + var remote = udp_message.extract_remote(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); return; } // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); clearTimeout(timeout); socket2.close(); socket2 = null; @@ -150,8 +180,6 @@ class Switcher extends EventEmitter { if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } - log('UDP Message:') - log(raw_msg.toString('hex')) var udp_message = new SwitcherUDPMessage(raw_msg); var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); @@ -184,6 +212,7 @@ class Switcher extends EventEmitter { var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { return; // ignoring - not a switcher broadcast message } @@ -194,18 +223,36 @@ class Switcher extends EventEmitter { log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); return; } + var device_type = udp_message.extract_type(); - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: udp_message.extract_type(), - state: { - position: udp_message.extract_position(), - direction: udp_message.extract_direction() - } - }); + // log(`Found ${device_name} (${ipaddr})!`); + if (device_type === 'breeze') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + remote: udp_message.extract_remote(), + type: device_type, + state: { + power: udp_message.extract_ac_power(), + current_temp: udp_message.extract_current_temp(), + target_temp: udp_message.extract_target_temp(), + mode: udp_message.extract_ac_mode(), + fan_level: udp_message.extract_fan_level(), + swing: udp_message.extract_swing() + } + }) + else + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + position: udp_message.extract_position(), + direction: udp_message.extract_direction() + } + }); }); socket2.on('error', (error) => { @@ -244,6 +291,46 @@ class Switcher extends EventEmitter { this._run_position_command(position_command); } + is_breeze_on() { + return this.status() + .then(status => { + return status.power === 'ON' + }) + } + + set_breeze_command(state) { + this.is_breeze_on() + .then(isOn => { + if (state.power === 'OFF' && !isOn) { + // Do nothing + this.log('already off') + return null + } + let command = '' + if (state.power === 'OFF' && isOn) { + // turn OFF + this.log('turning off breeze') + const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === 'off') + command = `${IRCommand.Para}|${IRCommand.HexCode}` + } else if (state.power === 'ON' && !isOn && this.remote_set.OnOffType) { + // turn ON and set command + this.log('sending on command with state:' + JSON.stringify(state)) + const commandKey = 'on_' + this._get_breeze_command_key(state) + const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + command = `${IRCommand.Para}|${IRCommand.HexCode}` + } else { + // only set command + this.log('sending change state command:' + JSON.stringify(state)) + const commandKey = this._get_breeze_command_key(state) + const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + command = `${IRCommand.Para}|${IRCommand.HexCode}` + } + command = "00000000" + this._ascii_to_hex(command) + this._run_breeze_command(command); + + }) + } + async set_default_shutdown(duration=3600) { var auto_close = this._set_default_shutdown(duration) var p_session = await this._login(); @@ -259,30 +346,57 @@ class Switcher extends EventEmitter { } - async status(callback) { // refactor - var p_session = await this._login(); - var data = "fef0300002320103" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - var socket = await this._getsocket(); - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - var device_name = data.toString().substr(40, 32).replace(/\0/g, '');; - var state_hex = data.toString('hex').substr(150, 4); - var state = state_hex == '0000' ? OFF : ON; - var b = data.toString('hex').substr(178, 8); - var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - b = data.toString('hex').substr(194, 8); - var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - b = data.toString('hex').substr(154, 4); - var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); - callback({ - device_id: this.device_id, - power: state, - remaining_seconds: remaining_seconds, - default_shutdown_seconds: default_shutdown_seconds, - power_consumption: power_consumption + async status() { // refactor + return new Promise(async (resolve, reject) => { + if (this.newType) { + var p_session = await this._login2(); + var data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + } else { + var p_session = await this._login(); + var data = "fef0300002320103" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; + } + data = this._crc_sign_full_packet_com_key(data, P_KEY); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + try { + // var device_name = data.toString().substr(40, 32).replace(/\0/g, ''); + if (this.isBreeze) { + const data_hex = data.toString('hex') + const state = { + device_id: this.device_id, + remote: data.toString().substr(83, 12).replace(/\0/g, ''), + current_temp: parseInt( data_hex.substr(154, 2) + data_hex.substr(152, 2), 16)/10, + power: data_hex.substr(156, 2) == '00' ? 'OFF' : 'ON', + target_temp: parseInt(data_hex.substr(160, 2), 16), + mode: SwitcherUDPMessage.get_breeze_mode(data_hex.substr(158, 2)), + fan_level: SwitcherUDPMessage.get_breeze_fan_level(data_hex.substr(162, 1)), + swing: data_hex.substr(162, 1) == '0' ? 'OFF' : 'ON' + } + resolve(state); + } else { + var state_hex = data.toString('hex').substr(150, 4); + var state = state_hex == '0000' ? OFF : ON; + var b = data.toString('hex').substr(178, 8); + var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); + b = data.toString('hex').substr(194, 8); + var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); + b = data.toString('hex').substr(154, 4); + var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); + resolve({ + device_id: this.device_id, + power: state, + remaining_seconds: remaining_seconds, + default_shutdown_seconds: default_shutdown_seconds, + power_consumption: power_consumption + }); + } + } catch (error) { + this.log('connection rejected, error:', error) + reject(error); + } }); - }); + }) } close() { @@ -356,6 +470,15 @@ class Switcher extends EventEmitter { default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), power_consumption: udp_message.extract_power_consumption() }) + else if (this.isBreeze) + this.emit(STATUS_EVENT, { + power: udp_message.extract_ac_power(), + current_temp: udp_message.extract_current_temp(), + target_temp: udp_message.extract_target_temp(), + mode: udp_message.extract_ac_mode(), + fan_level: udp_message.extract_fan_level(), + swing: udp_message.extract_swing() + }) else this.emit(STATUS_EVENT, { position: udp_message.extract_position(), @@ -366,10 +489,104 @@ class Switcher extends EventEmitter { socket.on('error', (error) => { this.emit(ERROR_EVENT, new Error("status report failed. error: " + error.message)); // hoping this will keep the original stack trace }); - socket.bind(!this.newType ? SWITCHER_UDP_PORT : SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + socket.bind((!this.newType ? SWITCHER_UDP_PORT : SWITCHER_UDP_PORT2), SWITCHER_UDP_IP); return socket; } + async _get_breeze_remote(remote) { + try { + this.remote_set = await this._get_remote_set(remote) + } catch (err) { + this.log(`Can't get remote set for ${remote} !`) + this.log(err) + return + } + + const capabilities = { + remote, + modes: [], + fan_levels: [], + swing: false, + min_temp: 100, + max_temp: 0 + } + + for (const wave of this.remote_set.IRWaveList) { + const key = wave.Key + // add modes + const newMode = breeze_dictionary.modes[key.substr(0, 2)] + if ( newMode && !capabilities.modes.includes(newMode)) + capabilities.modes.push(newMode) + + // add fan levels + const newFanLevel = key.match(/f\d/) ? breeze_dictionary.fan_levels[key.match(/f\d/)[0]] : null + if ( newFanLevel && !capabilities.fan_levels.includes(newFanLevel)) + capabilities.fan_levels.push(newFanLevel) + + // add min/max temperatures + const newTemp = key.substr(2, 2) ? parseInt(key.substr(2, 2)) : null + if ( newTemp && newTemp > capabilities.max_temp) + capabilities.max_temp = newTemp + if ( newTemp && newTemp < capabilities.min_temp) + capabilities.min_temp = newTemp + + // swing + const swingAvailable = key.match(/d1/) + if (swingAvailable) + capabilities.swing = true + } + + this.emit(BREEZE_CAPABILITIES_EVENT, capabilities) + this.log('remote capabilites:' + JSON.stringify(capabilities)) + return capabilities + } + + async _get_remote_set(remote) { + return fs.readFile(`${IR_SET_PATH}/${IR_SET_FILE}`) + .then(set => { + set = JSON.parse(set) + if (remote && set && set.IRSetID === remote) + return set + else { + const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` + this.log(err) + throw new Error(err) + } + }) + .catch(err => { + if (err.code === 'ENOENT') + this.log('IR set not found!') + else if (!err.message.includes('Cached IR set is different than the current remote')) + this.log(err) + + this.log('getting new IR set...') + return this._get_udp_for_remote() + .then(udp_message => { + const data = new FormData(); + data.append('token', REMOTE_SET_TOKEN); + data.append('rtps', udp_message); + + var config = { + method: 'post', + url: 'https://switcher.co.il/misc/irGet/getIR.php', + headers: { + ...data.getHeaders() + }, + data : data + }; + return axios(config) + .then(response => { + const set = response.data + fs.mkdir(IR_SET_PATH, { recursive: true}) + .then(() => fs.writeFile(`${IR_SET_PATH}/${IR_SET_FILE}`, JSON.stringify(set))) + .catch(err => this.log(err)) + return set + }) + }) + }) + + } + async _login() { if (this.p_session) return this.p_session; try { @@ -446,7 +663,7 @@ class Switcher extends EventEmitter { async _run_power_command(command_type) { var p_session = await this._login(); - var data = "fef05d0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + var data = "fef05d0002320102" + p_session + "340001" +"000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); @@ -467,12 +684,37 @@ class Switcher extends EventEmitter { }); } + async _run_breeze_command(command) { + if (!command) + return + + const breeze_command = command + var p_session = await this._login2(); + this.p_session = null; + + var data = "fef0000003050102" + p_session + "000001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + this._get_command_length(breeze_command) + breeze_command; + + data = this._set_message_length(data) + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending breeze command | ${command}`); + var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(BREEZE_CHANGE_EVENT, command); // todo: add old state and new state + }); + } + async _run_position_command(position_command) { const pos = parseInt(position_command, 16) var p_session = await this._login2(); this.p_session = null; var data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + "37010100" + position_command; + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + "0100" + position_command; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log(`sending position command | ${pos}%`); var socket = await this._getsocket(); @@ -514,6 +756,37 @@ class Switcher extends EventEmitter { } return hex } + _get_breeze_command_key(state) { + let command = '' + + // add mode + command += Object.keys(breeze_dictionary.modes).find(key => breeze_dictionary.modes[key] === state.mode) + // add temp + command += state.target_temp + // add fan level + if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) + command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` + // add swing + if (this.breeze_remote.swing && state.swing === 'ON') + command += `_d1` + + return command + } + _get_udp_for_remote() { + return new Promise(async (resolve, reject) => { + var p_session = await this._login2(); + var data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + data = this._crc_sign_full_packet_com_key(data, P_KEY); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + resolve(data.toString('hex')); + }); + socket.on('error', (error) => { + reject(error) + }); + }) + } _crc_sign_full_packet_com_key(p_data, p_key) { var crc = struct.pack('>I', crc16ccitt(Buffer.from(p_data, 'hex'), 0x1021)).toString('hex'); @@ -523,6 +796,39 @@ class Switcher extends EventEmitter { p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); return p_data } + + _set_message_length(data) { + let hex = Number(Buffer.byteLength(Buffer.from(data + "00000000", "hex"))).toString(16) + if (hex.length < 2) + hex = hex + "000" + else if (hex.length < 3) + hex = hex + "00" + else if (hex.length < 4) + hex = hex + "0" + return "fef0" + hex + data.substr(8) + } + + _get_command_length(command) { + let hex = Number(Buffer.byteLength(Buffer.from(command, "hex"))).toString(16) + if (hex.length < 2) + hex = hex + "000" + else if (hex.length < 3) + hex = hex + "00" + else if (hex.length < 4) + hex = hex + "0" + return hex + } + + + _ascii_to_hex(str) { + const arr1 = []; + for (let n = 0, l = str.length; n < l; n ++) { + const hex = Number(str.charCodeAt(n)).toString(16); + arr1.push(hex); + } + return arr1.join(''); + } + } module.exports = { diff --git a/src/udp.js b/src/udp.js index 9244b37..3ddc5e4 100644 --- a/src/udp.js +++ b/src/udp.js @@ -1,5 +1,22 @@ "use strict"; +// 0104173000 + + +const mode_commands = { + '01': 'AUTO', + '02': 'DRY', + '03': 'FAN', + '04': 'COOL', + '05': 'HEAT' +} + +const fan_commands = { + '1': 'LOW', + '2': 'MEDIUM', + '3': 'HIGH', + '0': 'AUTO' +} const direction_commands = { '0000': 'STOP', @@ -8,29 +25,39 @@ const direction_commands = { } const types = { - 'a8': 'power_plug', - 'a1': 'v2_qca', - 'a7': 'v2_esp', - '0b': 'v3', - '17': 'v4', - '0f': 'mini', - '01': 'runner', - '02': 'runner_mini' + '01a8': 'power_plug', + '01a1': 'v2_qca', + '01a7': 'v2_esp', + '030b': 'v3', + '0317': 'v4', + '030f': 'mini', + '0c01': 'runner', + '0c02': 'runner_mini', + '0e01': 'breeze' } class SwitcherUDPMessage { constructor(message_buffer) { + this.message_buffer = message_buffer this.data_str = message_buffer.toString(); this.data_hex = message_buffer.toString('hex'); } + static get_breeze_mode(hex) { + return mode_commands[hex] || 'COOL' + } + + static get_breeze_fan_level(hex) { + return fan_commands[hex] || 'LOW' + } + static is_valid(message_buffer) { return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && - (Buffer.byteLength(message_buffer) === 165 || Buffer.byteLength(message_buffer) === 159)); + (Buffer.byteLength(message_buffer) === 165 || Buffer.byteLength(message_buffer) === 159 || Buffer.byteLength(message_buffer) === 168)); } extract_type() { - var type_hex = this.data_hex.substr(150, 2); + var type_hex = this.data_hex.substr(148, 4); return types[type_hex] || `unknown_${type_hex}`; } @@ -48,6 +75,11 @@ class SwitcherUDPMessage { return this.data_str.substr(40, 32).replace(/\0/g, ''); // remove leftovers after the name } + + extract_remote() { + return this.data_str.substr(142, 12).replace(/\0/g, ''); // remove leftovers after the name + } + extract_device_id() { return this.data_hex.substr(36, 6); } @@ -100,6 +132,36 @@ class SwitcherUDPMessage { position_section.substr(2, 2) + position_section.substr(0, 2), 16); } + + extract_current_temp() { + var current_temp_section = this.data_hex.substr(270, 4); + return parseInt( + current_temp_section.substr(2, 2) + + current_temp_section.substr(0, 2), 16)/10; + } + + extract_ac_power() { + return this.data_hex.substr(274, 2) == '00' ? 'OFF' : 'ON'; + } + + extract_ac_mode() { + var mode = this.data_hex.substr(276, 2); + return mode_commands[mode] || mode; + } + + extract_target_temp() { + var target_temp_section = this.data_hex.substr(278, 2); + return parseInt(target_temp_section, 16); + } + + extract_fan_level() { + var fan = this.data_hex.substr(280, 1); + return fan_commands[fan] || fan; + } + + extract_swing() { + return this.data_hex.substr(281, 1) == '0' ? 'OFF' : 'ON'; + } } From 9f89f859d7fde007beac7b9b65cc5bdfc5684039 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 17 Dec 2021 23:21:10 +0200 Subject: [PATCH 21/63] set device_id in file path to support multiple devices --- src/switcher.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index 3081ed1..bffa50d 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -542,7 +542,8 @@ class Switcher extends EventEmitter { } async _get_remote_set(remote) { - return fs.readFile(`${IR_SET_PATH}/${IR_SET_FILE}`) + const file_path = `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` + return fs.readFile(file_path) .then(set => { set = JSON.parse(set) if (remote && set && set.IRSetID === remote) @@ -578,7 +579,7 @@ class Switcher extends EventEmitter { .then(response => { const set = response.data fs.mkdir(IR_SET_PATH, { recursive: true}) - .then(() => fs.writeFile(`${IR_SET_PATH}/${IR_SET_FILE}`, JSON.stringify(set))) + .then(() => fs.writeFile(file_path, JSON.stringify(set))) .catch(err => this.log(err)) return set }) From fd0533b40d2dc6e966d90ad0bf359b2e71a248ca Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 17 Dec 2021 23:21:18 +0200 Subject: [PATCH 22/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4230d00..b1ce4df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.0", + "version": "1.3.1", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From ddba511eacd7db638941edeef20ee90ff384357f Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 19 Dec 2021 18:42:48 +0200 Subject: [PATCH 23/63] fix return set --- package.json | 2 +- src/switcher.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b1ce4df..bab0496 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.1", + "version": "1.3.2", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index bffa50d..962b7cd 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -581,8 +581,8 @@ class Switcher extends EventEmitter { fs.mkdir(IR_SET_PATH, { recursive: true}) .then(() => fs.writeFile(file_path, JSON.stringify(set))) .catch(err => this.log(err)) - return set }) + .finally(() => Promise.resolve(set)) }) }) From 268bca81afabbe23405f7983d0d79da5ab3f65c1 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 19 Dec 2021 19:08:28 +0200 Subject: [PATCH 24/63] fix return set --- src/switcher.js | 93 ++++++++++++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 43 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index 962b7cd..dfbb292 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -542,49 +542,56 @@ class Switcher extends EventEmitter { } async _get_remote_set(remote) { - const file_path = `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` - return fs.readFile(file_path) - .then(set => { - set = JSON.parse(set) - if (remote && set && set.IRSetID === remote) - return set - else { - const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` - this.log(err) - throw new Error(err) - } - }) - .catch(err => { - if (err.code === 'ENOENT') - this.log('IR set not found!') - else if (!err.message.includes('Cached IR set is different than the current remote')) - this.log(err) - - this.log('getting new IR set...') - return this._get_udp_for_remote() - .then(udp_message => { - const data = new FormData(); - data.append('token', REMOTE_SET_TOKEN); - data.append('rtps', udp_message); - - var config = { - method: 'post', - url: 'https://switcher.co.il/misc/irGet/getIR.php', - headers: { - ...data.getHeaders() - }, - data : data - }; - return axios(config) - .then(response => { - const set = response.data - fs.mkdir(IR_SET_PATH, { recursive: true}) - .then(() => fs.writeFile(file_path, JSON.stringify(set))) - .catch(err => this.log(err)) - }) - .finally(() => Promise.resolve(set)) - }) - }) + return new Promise(async (resolve, reject) => { + const file_path = `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` + fs.readFile(file_path) + .then(set => { + set = JSON.parse(set) + if (remote && set && set.IRSetID === remote) + resolve(set) + else { + const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` + this.log(err) + throw new Error(err) + } + }) + .catch(err => { + if (err.code === 'ENOENT') + this.log('IR set not found!') + else if (!err.message.includes('Cached IR set is different than the current remote')) + this.log(err) + + this.log('getting new IR set...') + this._get_udp_for_remote() + .then(udp_message => { + const data = new FormData(); + data.append('token', REMOTE_SET_TOKEN); + data.append('rtps', udp_message); + + var config = { + method: 'post', + url: 'https://switcher.co.il/misc/irGet/getIR.php', + headers: { + ...data.getHeaders() + }, + data : data + }; + axios(config) + .then(response => { + const set = response.data + fs.mkdir(IR_SET_PATH, { recursive: true}) + .then(() => fs.writeFile(file_path, JSON.stringify(set))) + .catch(err => this.log(err)) + .finally(() => resolve(set)) + }) + .catch(err => { + this.log(err) + reject(err) + }) + + }) + }) + }) } From c99a261d53356a098b9f560389971ba6c9f70179 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 19 Dec 2021 19:08:42 +0200 Subject: [PATCH 25/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bab0496..6b139f4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.2", + "version": "1.3.3", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From ce311f1050d311d27cbf0300eb47d9bcd899579b Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Mon, 13 Jun 2022 22:51:56 +0300 Subject: [PATCH 26/63] added stop runner command + fixed deformed names & remote --- README.md | 3 +++ package.json | 2 +- src/switcher.js | 39 ++++++++++++++++++++++++++++++--------- src/udp.js | 4 ++-- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index a41c377..42c54cf 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,9 @@ switcher.on('error', (error) => { }); switcher.set_position(80); // Set blinds position to 80% + +switcher.stop_runner() // stop the blinds + switcher.close(); // closes any dangling connections safely ``` diff --git a/package.json b/package.json index 6b139f4..bdd9b1b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.3", + "version": "1.3.4", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index dfbb292..dbcc72a 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -67,7 +67,7 @@ class ConnectionError extends Error { class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type, remote) { + constructor(device_id, switcher_ip, log, listen, device_type, remote, cache_path) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; @@ -83,7 +83,7 @@ class Switcher extends EventEmitter { if (listen) this.status_socket = this._hijack_status_report(); if (device_type === 'breeze') - this._get_breeze_remote(remote) + this._get_breeze_remote(remote, cache_path) .then(remote => this.breeze_remote = remote) } @@ -291,6 +291,10 @@ class Switcher extends EventEmitter { this._run_position_command(position_command); } + stop_runner() { + this._run_stop_runner_command(); + } + is_breeze_on() { return this.status() .then(status => { @@ -493,12 +497,12 @@ class Switcher extends EventEmitter { return socket; } - async _get_breeze_remote(remote) { + async _get_breeze_remote(remote, cache_path) { try { - this.remote_set = await this._get_remote_set(remote) + this.remote_set = await this._get_remote_set(remote, cache_path) } catch (err) { this.log(`Can't get remote set for ${remote} !`) - this.log(err) + this.log(err.message || err.stack || err) return } @@ -541,9 +545,9 @@ class Switcher extends EventEmitter { return capabilities } - async _get_remote_set(remote) { + async _get_remote_set(remote, cache_path) { return new Promise(async (resolve, reject) => { - const file_path = `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` + const file_path = cache_path ? `${cache_path}/${this.device_id}_${IR_SET_FILE}` : `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` fs.readFile(file_path) .then(set => { set = JSON.parse(set) @@ -579,13 +583,12 @@ class Switcher extends EventEmitter { axios(config) .then(response => { const set = response.data - fs.mkdir(IR_SET_PATH, { recursive: true}) + fs.mkdir(cache_path || IR_SET_PATH, { recursive: true}) .then(() => fs.writeFile(file_path, JSON.stringify(set))) .catch(err => this.log(err)) .finally(() => resolve(set)) }) .catch(err => { - this.log(err) reject(err) }) @@ -736,6 +739,24 @@ class Switcher extends EventEmitter { }); } + async _run_stop_runner_command() { + var p_session = await this._login2(); + this.p_session = null; + var data = "fef0590003050102" + p_session + "232301" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003702" + "02000000" + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log('sending stop runner command'); + var socket = await this._getsocket(); + this.log(data.length) + this.log('sending data:') + this.log(data.toString('hex')) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + }); + } + _get_time_stamp() { var time_in_seconds = Math.round(new Date().getTime() / 1000); return struct.pack(' Date: Mon, 13 Jun 2022 23:27:52 +0300 Subject: [PATCH 27/63] sanitize state --- package.json | 2 +- src/switcher.js | 20 +++++++++++--------- src/udp.js | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index bdd9b1b..fdcf332 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.4", + "version": "1.3.5", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index dbcc72a..fdd5b71 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -311,24 +311,27 @@ class Switcher extends EventEmitter { return null } let command = '' + let IRCommand = null if (state.power === 'OFF' && isOn) { // turn OFF this.log('turning off breeze') - const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === 'off') - command = `${IRCommand.Para}|${IRCommand.HexCode}` + IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === 'off') } else if (state.power === 'ON' && !isOn && this.remote_set.OnOffType) { // turn ON and set command this.log('sending on command with state:' + JSON.stringify(state)) const commandKey = 'on_' + this._get_breeze_command_key(state) - const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) - command = `${IRCommand.Para}|${IRCommand.HexCode}` + IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) } else { // only set command this.log('sending change state command:' + JSON.stringify(state)) const commandKey = this._get_breeze_command_key(state) - const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) - command = `${IRCommand.Para}|${IRCommand.HexCode}` + IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) } + if (!IRCommand) { + this.log(`ERROR: Wrong IR Command! Can't send command !!!`) + return + } + command = `${IRCommand.Para}|${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) this._run_breeze_command(command); @@ -790,15 +793,14 @@ class Switcher extends EventEmitter { // add mode command += Object.keys(breeze_dictionary.modes).find(key => breeze_dictionary.modes[key] === state.mode) - // add temp - command += state.target_temp + // add temp & sanitize + command += state.target_temp || this.breeze_remote.min_temp // add fan level if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` // add swing if (this.breeze_remote.swing && state.swing === 'ON') command += `_d1` - return command } _get_udp_for_remote() { diff --git a/src/udp.js b/src/udp.js index 63f8085..9294c9e 100644 --- a/src/udp.js +++ b/src/udp.js @@ -146,7 +146,7 @@ class SwitcherUDPMessage { extract_ac_mode() { var mode = this.data_hex.substr(276, 2); - return mode_commands[mode] || mode; + return mode_commands[mode] || 'COOL'; } extract_target_temp() { @@ -156,7 +156,7 @@ class SwitcherUDPMessage { extract_fan_level() { var fan = this.data_hex.substr(280, 1); - return fan_commands[fan] || fan; + return fan_commands[fan] || 'LOW'; } extract_swing() { From 90094d008de8a9cd39f0c6ac0209b07a2a58c245 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 14 Jun 2022 10:11:44 +0300 Subject: [PATCH 28/63] update packages + prevent no waves in IRset --- package-lock.json | 17 +++++++++-------- package.json | 4 ++-- src/switcher.js | 7 +++++++ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82bf46c..7c0f63a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.2.4", + "version": "1.3.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -10,11 +10,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "combined-stream": { @@ -31,9 +32,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "follow-redirects": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", - "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "form-data": { "version": "4.0.0", diff --git a/package.json b/package.json index fdcf332..e770c01 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "switcher-js2", - "version": "1.3.5", + "version": "1.3.6", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { - "axios": "^0.24.0", + "axios": "^0.27.2", "form-data": "^4.0.0", "python-struct": "^1.1.2" }, diff --git a/src/switcher.js b/src/switcher.js index fdd5b71..a44f81f 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -518,6 +518,13 @@ class Switcher extends EventEmitter { max_temp: 0 } + if (!this.remote_set.IRWaveList || !this.remote_set.IRWaveList.length) { + this.log(`Wrong Remote, can't find commands!`) + this.log('Remote Set:') + this.log(this.remote_set) + return + } + for (const wave of this.remote_set.IRWaveList) { const key = wave.Key // add modes From 3d8ce9e454bf92fc359deb8faa7a840e98b8cc7c Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 18 Jun 2022 12:07:39 +0300 Subject: [PATCH 29/63] several fixes --- package.json | 2 +- src/switcher.js | 30 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index e770c01..5e0c807 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.6", + "version": "1.3.7", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index a44f81f..056bf72 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -311,24 +311,30 @@ class Switcher extends EventEmitter { return null } let command = '' - let IRCommand = null + let IRCommand, commandKey if (state.power === 'OFF' && isOn) { // turn OFF this.log('turning off breeze') - IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === 'off') + commandKey = 'off' } else if (state.power === 'ON' && !isOn && this.remote_set.OnOffType) { // turn ON and set command this.log('sending on command with state:' + JSON.stringify(state)) - const commandKey = 'on_' + this._get_breeze_command_key(state) - IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + commandKey = 'on_' + this._get_breeze_command_key(state) } else { // only set command this.log('sending change state command:' + JSON.stringify(state)) - const commandKey = this._get_breeze_command_key(state) - IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + commandKey = this._get_breeze_command_key(state) } + + // find command in IRWaveList + IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + + // if not found, find similar command that includes some of the params (e.g "on_ad" instead of "on_ad_f0") + if (!IRCommand) + IRCommand = this.remote_set.IRWaveList.find(wave => commandKey.includes(wave.Key)) + if (!IRCommand) { - this.log(`ERROR: Wrong IR Command! Can't send command !!!`) + this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send command !!!`) return } command = `${IRCommand.Para}|${IRCommand.HexCode}` @@ -800,8 +806,16 @@ class Switcher extends EventEmitter { // add mode command += Object.keys(breeze_dictionary.modes).find(key => breeze_dictionary.modes[key] === state.mode) + // add temp & sanitize - command += state.target_temp || this.breeze_remote.min_temp + if (['COOL', 'HEAT'].includes(state.mode)) { + if (state.target_temp > this.breeze_remote.max_temp) + command += this.breeze_remote.max_temp + else if (state.target_temp < this.breeze_remote.min_temp) + command += this.breeze_remote.min_temp + else command += state.target_temp || this.breeze_remote.min_temp + } + // add fan level if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` From d01810a64764af307fb24ec99f10a789921ff53a Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 18 Jun 2022 13:26:32 +0300 Subject: [PATCH 30/63] handle separated swing remotes --- package.json | 2 +- src/switcher.js | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5e0c807..53dce72 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.7", + "version": "1.3.8", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 056bf72..3ee1b53 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -40,6 +40,14 @@ const OFF = 0; const ON = 1; +SEPARATED_SWING_REMOTES = [ + "ELEC7022", + "ZM079055", + "ZM079065", + "ZM079049", + "ZM079065", +] + const breeze_dictionary = { modes: { 'aa': 'AUTO', @@ -56,7 +64,6 @@ const breeze_dictionary = { 'f3': 'HIGH', } } - class ConnectionError extends Error { constructor(ip, port) { super(`connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.`); @@ -302,6 +309,23 @@ class Switcher extends EventEmitter { }) } + set_separated_swing_commad(state) { + const key = state ? 'FUN_d1' : 'FUN_d0' + + this.log(`sending separated swing command: ${JSON.stringify(state)} (${key})`) + + // find command in IRWaveList + const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === key) + + if (!IRCommand) { + this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send separaed swing command !!!`) + return + } + command = `${IRCommand.Para}|${IRCommand.HexCode}` + command = "00000000" + this._ascii_to_hex(command) + this._run_breeze_command(command); + } + set_breeze_command(state) { this.is_breeze_on() .then(isOn => { @@ -341,6 +365,10 @@ class Switcher extends EventEmitter { command = "00000000" + this._ascii_to_hex(command) this._run_breeze_command(command); + if (this.breeze_remote.separated_swing && state.swing === 'ON') { + setTimeout(this.set_separated_swing_commad, 1000, true) + } + }) } @@ -554,6 +582,11 @@ class Switcher extends EventEmitter { const swingAvailable = key.match(/d1/) if (swingAvailable) capabilities.swing = true + + if (SEPARATED_SWING_REMOTES.includes(remote)) { + capabilities.swing = true + capabilities.separated_swing = true + } } this.emit(BREEZE_CAPABILITIES_EVENT, capabilities) @@ -819,9 +852,11 @@ class Switcher extends EventEmitter { // add fan level if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` + // add swing - if (this.breeze_remote.swing && state.swing === 'ON') + if (!this.breeze_remote.separated_swing && this.breeze_remote.swing && state.swing === 'ON') command += `_d1` + return command } _get_udp_for_remote() { From 9d9ef105f9934c0de3222eb2f87cb1622438e351 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 18 Jun 2022 22:08:26 +0300 Subject: [PATCH 31/63] several fixes and addes eslint --- .eslintignore | 1 + .eslintrc.json | 10 + package-lock.json | 675 +++++++++++++++++- package.json | 4 +- src/switcher.js | 1680 +++++++++++++++++++++++---------------------- src/udp.js | 238 +++---- 6 files changed, 1648 insertions(+), 960 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +node_modules diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..548ae9d --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "env": { + "node": true, + "es2020": true + }, + "extends": "eslint:recommended", + "rules": { + "indent": ["error", "tab", { "SwitchCase": 1 }] + } +} diff --git a/package-lock.json b/package-lock.json index 7c0f63a..f38425e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,88 @@ { "name": "switcher-js2", - "version": "1.3.6", + "version": "1.3.8", "lockfileVersion": 1, "requires": true, "dependencies": { + "@eslint/eslintrc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.2", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -18,6 +97,53 @@ "form-data": "^4.0.0" } }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -26,11 +152,218 @@ "delayed-stream": "~1.0.0" } }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", + "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "requires": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", @@ -46,6 +379,152 @@ "mime-types": "^2.1.12" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", @@ -64,6 +543,83 @@ "mime-db": "1.51.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, "python-struct": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/python-struct/-/python-struct-1.1.2.tgz", @@ -71,6 +627,123 @@ "requires": { "long": "^4.0.0" } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true } } } diff --git a/package.json b/package.json index 53dce72..3800d99 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "form-data": "^4.0.0", "python-struct": "^1.1.2" }, - "devDependencies": {}, + "devDependencies": { + "eslint": "^8.18.0" + }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/src/switcher.js b/src/switcher.js index 3ee1b53..a35f007 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -1,3 +1,4 @@ +/* eslint-disable no-async-promise-executor */ "use strict"; const axios = require('axios'); @@ -40,885 +41,886 @@ const OFF = 0; const ON = 1; -SEPARATED_SWING_REMOTES = [ - "ELEC7022", - "ZM079055", - "ZM079065", - "ZM079049", - "ZM079065", +const SEPARATED_SWING_REMOTES = [ + "ELEC7022", + "ZM079055", + "ZM079065", + "ZM079049", + "ZM079065", ] const breeze_dictionary = { - modes: { - 'aa': 'AUTO', - 'ad': 'DRY', - 'aw': 'FAN', - 'ar': 'COOL', - 'ah': 'HEAT' + modes: { + 'aa': 'AUTO', + 'ad': 'DRY', + 'aw': 'FAN', + 'ar': 'COOL', + 'ah': 'HEAT' - }, - fan_levels: { - 'f0': 'AUTO', - 'f1': 'LOW', - 'f2': 'MEDIUM', - 'f3': 'HIGH', - } + }, + fan_levels: { + 'f0': 'AUTO', + 'f1': 'LOW', + 'f2': 'MEDIUM', + 'f3': 'HIGH', + } } class ConnectionError extends Error { - constructor(ip, port) { - super(`connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.`); - this.ip = ip; - this.port = port; - } + constructor(ip, port) { + super(`connection error: failed to connect to switcher on ip: ${ip}:${port}. please make sure it is turned on and available.`); + this.ip = ip; + this.port = port; + } } class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type, remote, cache_path) { - super(); - this.device_id = device_id; - this.switcher_ip = switcher_ip; - this.device_type = device_type || 'unknown'; - this.phone_id = '0000'; - this.device_pass = '00000000'; - this.newType = NEW_TCP_GROUP.includes(device_type) - this.isBreeze = device_type && device_type === 'breeze' - this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; - this.log = log; - this.p_session = null; - this.socket = null; - if (listen) - this.status_socket = this._hijack_status_report(); - if (device_type === 'breeze') - this._get_breeze_remote(remote, cache_path) - .then(remote => this.breeze_remote = remote) - } - - static discover(log, identifier, discovery_timeout) { - var proxy = new EventEmitter.EventEmitter(); - var timeout = null - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - var device_type = udp_message.extract_type(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); - return; - } - - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); - clearTimeout(timeout); - socket.close(); - socket = null; + constructor(device_id, switcher_ip, log, listen, device_type, remote, cache_path) { + super(); + this.device_id = device_id; + this.switcher_ip = switcher_ip; + this.device_type = device_type || 'unknown'; + this.phone_id = '0000'; + this.device_pass = '00000000'; + this.newType = NEW_TCP_GROUP.includes(device_type) + this.isBreeze = device_type && device_type === 'breeze' + this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; + this.log = log; + this.p_session = null; + this.socket = null; + if (listen) + this.status_socket = this._hijack_status_report(); + if (device_type === 'breeze') + this._get_breeze_remote(remote, cache_path) + .then(remote => this.breeze_remote = remote) + } + + static discover(log, identifier, discovery_timeout) { + var proxy = new EventEmitter.EventEmitter(); + var timeout = null + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + var device_type = udp_message.extract_type(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); + clearTimeout(timeout); + socket.close(); + socket = null; - }); - socket.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - clearTimeout(timeout); - socket.close(); - socket = null; - }); - socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); - - var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - var device_type = udp_message.extract_type(); - if (device_type === 'breeze') - var remote = udp_message.extract_remote(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); - return; - } - - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); - clearTimeout(timeout); - socket2.close(); - socket2 = null; + }); + socket.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + clearTimeout(timeout); + socket.close(); + socket = null; + }); + socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + + var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + var device_type = udp_message.extract_type(); + if (device_type === 'breeze') + var remote = udp_message.extract_remote(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); + clearTimeout(timeout); + socket2.close(); + socket2 = null; - }); - socket2.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - clearTimeout(timeout); - socket2.close(); - socket2 = null; - }); - socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); - - if (discovery_timeout); - timeout = setTimeout(() => { - log(`stopping discovery, closing socket`); - socket.close(); - socket = null; - socket2.close(); - socket2 = null; - }, discovery_timeout*1000); - - proxy.close = () => { - log('closing discover socket'); - if (socket) { - socket.close(); - log('discovery socket is closed'); - } - if (socket2) { - socket2.close(); - log('discovery socket2 is closed'); - } - } - return proxy; - } - - static listen(log, identifier) { - var proxy = new EventEmitter.EventEmitter(); - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); - return; - } - - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: udp_message.extract_type(), - state: { - power: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), - power_consumption: udp_message.extract_power_consumption() - } - }); + }); + socket2.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + clearTimeout(timeout); + socket2.close(); + socket2 = null; + }); + socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + + if (discovery_timeout); + timeout = setTimeout(() => { + log(`stopping discovery, closing socket`); + socket.close(); + socket = null; + socket2.close(); + socket2 = null; + }, discovery_timeout*1000); + + proxy.close = () => { + log('closing discover socket'); + if (socket) { + socket.close(); + log('discovery socket is closed'); + } + if (socket2) { + socket2.close(); + log('discovery socket2 is closed'); + } + } + return proxy; + } + + static listen(log, identifier) { + var proxy = new EventEmitter.EventEmitter(); + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: udp_message.extract_type(), + state: { + power: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() + } + }); - }); - socket.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - socket.close(); - socket = null; - }); - socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + }); + socket.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + socket.close(); + socket = null; + }); + socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); - var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; + var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we\'re looking for!`); - return; - } - var device_type = udp_message.extract_type(); - - // log(`Found ${device_name} (${ipaddr})!`); - if (device_type === 'breeze') - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - remote: udp_message.extract_remote(), - type: device_type, - state: { - power: udp_message.extract_ac_power(), - current_temp: udp_message.extract_current_temp(), - target_temp: udp_message.extract_target_temp(), - mode: udp_message.extract_ac_mode(), - fan_level: udp_message.extract_fan_level(), - swing: udp_message.extract_swing() - } - }) - else - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: device_type, - state: { - position: udp_message.extract_position(), - direction: udp_message.extract_direction() - } - }); + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; + } + var device_type = udp_message.extract_type(); + + // log(`Found ${device_name} (${ipaddr})!`); + if (device_type === 'breeze') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + remote: udp_message.extract_remote(), + type: device_type, + state: { + power: udp_message.extract_ac_power(), + current_temp: udp_message.extract_current_temp(), + target_temp: udp_message.extract_target_temp(), + mode: udp_message.extract_ac_mode(), + fan_level: udp_message.extract_fan_level(), + swing: udp_message.extract_swing() + } + }) + else + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + position: udp_message.extract_position(), + direction: udp_message.extract_direction() + } + }); - }); - socket2.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - socket2.close(); - socket2 = null; - }); - socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); - - proxy.close = () => { - log('closing listener socket'); - if (socket) { - socket.close(); - log('listener socket is closed'); - } - if (socket2) { - socket2.close(); - log('listener socket2 is closed'); - } - } - return proxy; - } - - turn_off() { - var off_command = OFF + '00' + '00000000'; - this._run_power_command(off_command); - } - - turn_on(duration=0) { - var on_command = ON +'00' + this._timer_value(duration); - this._run_power_command(on_command); - } - - set_position(pos=0) { - var position_command = this._get_hex_pos(pos) - this._run_position_command(position_command); - } - - stop_runner() { - this._run_stop_runner_command(); - } - - is_breeze_on() { - return this.status() - .then(status => { - return status.power === 'ON' - }) - } - - set_separated_swing_commad(state) { - const key = state ? 'FUN_d1' : 'FUN_d0' - - this.log(`sending separated swing command: ${JSON.stringify(state)} (${key})`) - - // find command in IRWaveList - const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === key) - - if (!IRCommand) { - this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send separaed swing command !!!`) - return - } - command = `${IRCommand.Para}|${IRCommand.HexCode}` - command = "00000000" + this._ascii_to_hex(command) - this._run_breeze_command(command); - } - - set_breeze_command(state) { - this.is_breeze_on() - .then(isOn => { - if (state.power === 'OFF' && !isOn) { - // Do nothing - this.log('already off') - return null - } - let command = '' - let IRCommand, commandKey - if (state.power === 'OFF' && isOn) { - // turn OFF - this.log('turning off breeze') - commandKey = 'off' - } else if (state.power === 'ON' && !isOn && this.remote_set.OnOffType) { - // turn ON and set command - this.log('sending on command with state:' + JSON.stringify(state)) - commandKey = 'on_' + this._get_breeze_command_key(state) - } else { - // only set command - this.log('sending change state command:' + JSON.stringify(state)) - commandKey = this._get_breeze_command_key(state) - } + }); + socket2.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + socket2.close(); + socket2 = null; + }); + socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + + proxy.close = () => { + log('closing listener socket'); + if (socket) { + socket.close(); + log('listener socket is closed'); + } + if (socket2) { + socket2.close(); + log('listener socket2 is closed'); + } + } + return proxy; + } + + turn_off() { + var off_command = OFF + '00' + '00000000'; + this._run_power_command(off_command); + } + + turn_on(duration=0) { + var on_command = ON +'00' + this._timer_value(duration); + this._run_power_command(on_command); + } + + set_position(pos=0) { + var position_command = this._get_hex_pos(pos) + this._run_position_command(position_command); + } + + stop_runner() { + this._run_stop_runner_command(); + } + + is_breeze_on() { + return this.status() + .then(status => { + return status.power === 'ON' + }) + } + + set_separated_swing_commad(state) { + const key = state ? 'FUN_d1' : 'FUN_d0' + + this.log(`sending separated swing command: ${JSON.stringify(state)} (${key})`) + + // find command in IRWaveList + const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === key) + + if (!IRCommand) { + this.log(`ERROR: Wrong IR Command (${key})! Can't send separaed swing command !!!`) + return + } + let command = `${IRCommand.Para}|${IRCommand.HexCode}` + command = "00000000" + this._ascii_to_hex(command) + this._run_breeze_command(command); + } + + set_breeze_command(state) { + this.is_breeze_on() + .then(isOn => { + if (state.power === 'OFF' && !isOn) { + // Do nothing + this.log('already off') + return null + } + let command = '' + let IRCommand, commandKey + if (state.power === 'OFF' && isOn) { + // turn OFF + this.log('turning off breeze') + commandKey = 'off' + } else if (state.power === 'ON' && !isOn && this.remote_set.OnOffType) { + // turn ON and set command + this.log('sending on command with state:' + JSON.stringify(state)) + commandKey = 'on_' + this._get_breeze_command_key(state) + } else { + // only set command + this.log('sending change state command:' + JSON.stringify(state)) + commandKey = this._get_breeze_command_key(state) + } - // find command in IRWaveList - IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) - - // if not found, find similar command that includes some of the params (e.g "on_ad" instead of "on_ad_f0") - if (!IRCommand) - IRCommand = this.remote_set.IRWaveList.find(wave => commandKey.includes(wave.Key)) - - if (!IRCommand) { - this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send command !!!`) - return - } - command = `${IRCommand.Para}|${IRCommand.HexCode}` - command = "00000000" + this._ascii_to_hex(command) - this._run_breeze_command(command); - - if (this.breeze_remote.separated_swing && state.swing === 'ON') { - setTimeout(this.set_separated_swing_commad, 1000, true) - } - - }) - } - - async set_default_shutdown(duration=3600) { - var auto_close = this._set_default_shutdown(duration) - var p_session = await this._login(); - var data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + // find command in IRWaveList + IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) + + // if not found, find similar command that includes some of the params (e.g "on_ad" instead of "on_ad_f0") + if (!IRCommand) + IRCommand = this.remote_set.IRWaveList.find(wave => commandKey.includes(wave.Key)) + + if (!IRCommand) { + this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send command !!!`) + return + } + command = `${IRCommand.Para}|${IRCommand.HexCode}` + command = "00000000" + this._ascii_to_hex(command) + this._run_breeze_command(command); + + if (this.breeze_remote.separated_swing && state.swing === 'ON') { + setTimeout(this.set_separated_swing_commad, 1000, true) + } + + }) + } + + async set_default_shutdown(duration=3600) { + var auto_close = this._set_default_shutdown(duration) + let p_session = await this._login(); + let data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending default_shutdown command | ${duration} seconds`); - var socket = await this._getsocket(); - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.emit(DURATION_CHANGED_EVENT, duration); // todo: add old state and new state - }); - - } - - async status() { // refactor - return new Promise(async (resolve, reject) => { - if (this.newType) { - var p_session = await this._login2(); - var data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" - } else { - var p_session = await this._login(); - var data = "fef0300002320103" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; - } - data = this._crc_sign_full_packet_com_key(data, P_KEY); - var socket = await this._getsocket(); - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - try { - // var device_name = data.toString().substr(40, 32).replace(/\0/g, ''); - if (this.isBreeze) { - const data_hex = data.toString('hex') - const state = { - device_id: this.device_id, - remote: data.toString().substr(83, 12).replace(/\0/g, ''), - current_temp: parseInt( data_hex.substr(154, 2) + data_hex.substr(152, 2), 16)/10, - power: data_hex.substr(156, 2) == '00' ? 'OFF' : 'ON', - target_temp: parseInt(data_hex.substr(160, 2), 16), - mode: SwitcherUDPMessage.get_breeze_mode(data_hex.substr(158, 2)), - fan_level: SwitcherUDPMessage.get_breeze_fan_level(data_hex.substr(162, 1)), - swing: data_hex.substr(162, 1) == '0' ? 'OFF' : 'ON' - } - resolve(state); - } else { - var state_hex = data.toString('hex').substr(150, 4); - var state = state_hex == '0000' ? OFF : ON; - var b = data.toString('hex').substr(178, 8); - var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - b = data.toString('hex').substr(194, 8); - var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - b = data.toString('hex').substr(154, 4); - var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); - resolve({ - device_id: this.device_id, - power: state, - remaining_seconds: remaining_seconds, - default_shutdown_seconds: default_shutdown_seconds, - power_consumption: power_consumption - }); - } - } catch (error) { - this.log('connection rejected, error:', error) - reject(error); - } - }); - }) - } - - close() { - if (this.socket && !this.socket.destroyed) { - this.log('closing sockets'); - this.socket.destroy(); - this.log('main socket is closed'); - } - if (this.status_socket && !this.status_socket.destroyed) { - this.log('closing sockets'); - this.status_socket.close(); - this.log('status socket is closed'); - } - } - - async _getsocket() { - if (this.socket && !this.socket.destroyed) { - return await this.socket; - } - try { - var socket = await this._connect(this.SWITCHER_PORT, this.switcher_ip); - socket.on('error', (error) => { - this.log('gloabal error event:', error); - }); - socket.on('close', (had_error) => { - this.log('gloabal close event:', had_error); - }); - this.socket = socket; - return socket; - } - catch(error) { - this.socket = null; - this.emit(ERROR_EVENT, new ConnectionError(this.switcher_ip, this.SWITCHER_PORT)); - throw error; - } - } - - _connect(port, ip) { - return new Promise((resolve, reject) => { - var socket = net.connect(port, ip); - socket.setKeepAlive(true); - socket.once('ready', () => { - this.log('successful connection, socket was created'); - resolve(socket); - }); - socket.once('close', (had_error) => { - this.log('connection closed, had error:', had_error) - reject(had_error); - }); - socket.once('error', (error) => { - this.log('connection rejected, error:', error) - reject(error); - }); - }); - } - - _hijack_status_report() { - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var ipaddr = rinfo.address; - var udp_message = new SwitcherUDPMessage(raw_msg); - - var device_id = udp_message.extract_device_id() - if (device_id === this.device_id) { - if (!this.newType) - this.emit(STATUS_EVENT, { - power: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), - power_consumption: udp_message.extract_power_consumption() - }) - else if (this.isBreeze) - this.emit(STATUS_EVENT, { - power: udp_message.extract_ac_power(), - current_temp: udp_message.extract_current_temp(), - target_temp: udp_message.extract_target_temp(), - mode: udp_message.extract_ac_mode(), - fan_level: udp_message.extract_fan_level(), - swing: udp_message.extract_swing() - }) - else - this.emit(STATUS_EVENT, { - position: udp_message.extract_position(), - direction: udp_message.extract_direction() - }) - } - }); - socket.on('error', (error) => { - this.emit(ERROR_EVENT, new Error("status report failed. error: " + error.message)); // hoping this will keep the original stack trace - }); - socket.bind((!this.newType ? SWITCHER_UDP_PORT : SWITCHER_UDP_PORT2), SWITCHER_UDP_IP); - return socket; - } - - async _get_breeze_remote(remote, cache_path) { - try { - this.remote_set = await this._get_remote_set(remote, cache_path) - } catch (err) { - this.log(`Can't get remote set for ${remote} !`) - this.log(err.message || err.stack || err) - return - } - - const capabilities = { - remote, - modes: [], - fan_levels: [], - swing: false, - min_temp: 100, - max_temp: 0 - } + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending default_shutdown command | ${duration} seconds`); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', () => { + this.emit(DURATION_CHANGED_EVENT, duration); // todo: add old state and new state + }); + + } + + async status() { // refactor + return new Promise(async (resolve, reject) => { + let data, p_session + if (this.newType) { + p_session = await this._login2(); + data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + } else { + p_session = await this._login(); + data = "fef0300002320103" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; + } + data = this._crc_sign_full_packet_com_key(data, P_KEY); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + try { + // var device_name = data.toString().substr(40, 32).replace(/\0/g, ''); + if (this.isBreeze) { + const data_hex = data.toString('hex') + const state = { + device_id: this.device_id, + remote: data.toString().substr(83, 12).replace(/\0/g, ''), + current_temp: parseInt( data_hex.substr(154, 2) + data_hex.substr(152, 2), 16)/10, + power: data_hex.substr(156, 2) == '00' ? 'OFF' : 'ON', + target_temp: parseInt(data_hex.substr(160, 2), 16), + mode: SwitcherUDPMessage.get_breeze_mode(data_hex.substr(158, 2)), + fan_level: SwitcherUDPMessage.get_breeze_fan_level(data_hex.substr(162, 1)), + swing: data_hex.substr(162, 1) == '0' ? 'OFF' : 'ON' + } + resolve(state); + } else { + var state_hex = data.toString('hex').substr(150, 4); + var state = state_hex == '0000' ? OFF : ON; + var b = data.toString('hex').substr(178, 8); + var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); + b = data.toString('hex').substr(194, 8); + var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); + b = data.toString('hex').substr(154, 4); + var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); + resolve({ + device_id: this.device_id, + power: state, + remaining_seconds: remaining_seconds, + default_shutdown_seconds: default_shutdown_seconds, + power_consumption: power_consumption + }); + } + } catch (error) { + this.log('connection rejected, error:', error) + reject(error); + } + }); + }) + } + + close() { + if (this.socket && !this.socket.destroyed) { + this.log('closing sockets'); + this.socket.destroy(); + this.log('main socket is closed'); + } + if (this.status_socket && !this.status_socket.destroyed) { + this.log('closing sockets'); + this.status_socket.close(); + this.log('status socket is closed'); + } + } + + async _getsocket() { + if (this.socket && !this.socket.destroyed) { + return await this.socket; + } + try { + var socket = await this._connect(this.SWITCHER_PORT, this.switcher_ip); + socket.on('error', (error) => { + this.log('gloabal error event:', error); + }); + socket.on('close', (had_error) => { + this.log('gloabal close event:', had_error); + }); + this.socket = socket; + return socket; + } + catch(error) { + this.socket = null; + this.emit(ERROR_EVENT, new ConnectionError(this.switcher_ip, this.SWITCHER_PORT)); + throw error; + } + } + + _connect(port, ip) { + return new Promise((resolve, reject) => { + var socket = net.connect(port, ip); + socket.setKeepAlive(true); + socket.once('ready', () => { + this.log('successful connection, socket was created'); + resolve(socket); + }); + socket.once('close', (had_error) => { + this.log('connection closed, had error:', had_error) + reject(had_error); + }); + socket.once('error', (error) => { + this.log('connection rejected, error:', error) + reject(error); + }); + }); + } + + _hijack_status_report() { + var socket = dgram.createSocket('udp4', (raw_msg, /* rinfo */) => { + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + // var ipaddr = rinfo.address; + var udp_message = new SwitcherUDPMessage(raw_msg); + + var device_id = udp_message.extract_device_id() + if (device_id === this.device_id) { + if (!this.newType) + this.emit(STATUS_EVENT, { + power: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() + }) + else if (this.isBreeze) + this.emit(STATUS_EVENT, { + power: udp_message.extract_ac_power(), + current_temp: udp_message.extract_current_temp(), + target_temp: udp_message.extract_target_temp(), + mode: udp_message.extract_ac_mode(), + fan_level: udp_message.extract_fan_level(), + swing: udp_message.extract_swing() + }) + else + this.emit(STATUS_EVENT, { + position: udp_message.extract_position(), + direction: udp_message.extract_direction() + }) + } + }); + socket.on('error', (error) => { + this.emit(ERROR_EVENT, new Error("status report failed. error: " + error.message)); // hoping this will keep the original stack trace + }); + socket.bind((!this.newType ? SWITCHER_UDP_PORT : SWITCHER_UDP_PORT2), SWITCHER_UDP_IP); + return socket; + } + + async _get_breeze_remote(remote, cache_path) { + try { + this.remote_set = await this._get_remote_set(remote, cache_path) + } catch (err) { + this.log(`Can't get remote set for ${remote} !`) + this.log(err.message || err.stack || err) + return + } + + const capabilities = { + remote, + modes: [], + fan_levels: [], + swing: false, + min_temp: 100, + max_temp: 0 + } - if (!this.remote_set.IRWaveList || !this.remote_set.IRWaveList.length) { - this.log(`Wrong Remote, can't find commands!`) - this.log('Remote Set:') - this.log(this.remote_set) - return - } - - for (const wave of this.remote_set.IRWaveList) { - const key = wave.Key - // add modes - const newMode = breeze_dictionary.modes[key.substr(0, 2)] - if ( newMode && !capabilities.modes.includes(newMode)) - capabilities.modes.push(newMode) - - // add fan levels - const newFanLevel = key.match(/f\d/) ? breeze_dictionary.fan_levels[key.match(/f\d/)[0]] : null - if ( newFanLevel && !capabilities.fan_levels.includes(newFanLevel)) - capabilities.fan_levels.push(newFanLevel) + if (!this.remote_set.IRWaveList || !this.remote_set.IRWaveList.length) { + this.log(`Wrong Remote, can't find commands!`) + this.log('Remote Set:') + this.log(this.remote_set) + return + } + + for (const wave of this.remote_set.IRWaveList) { + const key = wave.Key + // add modes + const newMode = breeze_dictionary.modes[key.substr(0, 2)] + if ( newMode && !capabilities.modes.includes(newMode)) + capabilities.modes.push(newMode) + + // add fan levels + const newFanLevel = key.match(/f\d/) ? breeze_dictionary.fan_levels[key.match(/f\d/)[0]] : null + if ( newFanLevel && !capabilities.fan_levels.includes(newFanLevel)) + capabilities.fan_levels.push(newFanLevel) - // add min/max temperatures - const newTemp = key.substr(2, 2) ? parseInt(key.substr(2, 2)) : null - if ( newTemp && newTemp > capabilities.max_temp) - capabilities.max_temp = newTemp - if ( newTemp && newTemp < capabilities.min_temp) - capabilities.min_temp = newTemp - - // swing - const swingAvailable = key.match(/d1/) - if (swingAvailable) - capabilities.swing = true - - if (SEPARATED_SWING_REMOTES.includes(remote)) { - capabilities.swing = true - capabilities.separated_swing = true - } - } + // add min/max temperatures + const newTemp = key.substr(2, 2) ? parseInt(key.substr(2, 2)) : null + if ( newTemp && newTemp > capabilities.max_temp) + capabilities.max_temp = newTemp + if ( newTemp && newTemp < capabilities.min_temp) + capabilities.min_temp = newTemp + + // swing + const swingAvailable = key.match(/d1/) + if (swingAvailable) + capabilities.swing = true + + if (SEPARATED_SWING_REMOTES.includes(remote)) { + capabilities.swing = true + capabilities.separated_swing = true + } + } - this.emit(BREEZE_CAPABILITIES_EVENT, capabilities) - this.log('remote capabilites:' + JSON.stringify(capabilities)) - return capabilities - } - - async _get_remote_set(remote, cache_path) { - return new Promise(async (resolve, reject) => { - const file_path = cache_path ? `${cache_path}/${this.device_id}_${IR_SET_FILE}` : `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` - fs.readFile(file_path) - .then(set => { - set = JSON.parse(set) - if (remote && set && set.IRSetID === remote) - resolve(set) - else { - const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` - this.log(err) - throw new Error(err) - } - }) - .catch(err => { - if (err.code === 'ENOENT') - this.log('IR set not found!') - else if (!err.message.includes('Cached IR set is different than the current remote')) - this.log(err) + this.emit(BREEZE_CAPABILITIES_EVENT, capabilities) + this.log('remote capabilites:' + JSON.stringify(capabilities)) + return capabilities + } + + async _get_remote_set(remote, cache_path) { + return new Promise(async (resolve, reject) => { + const file_path = cache_path ? `${cache_path}/${this.device_id}_${IR_SET_FILE}` : `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` + fs.readFile(file_path) + .then(set => { + set = JSON.parse(set) + if (remote && set && set.IRSetID === remote) + resolve(set) + else { + const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` + this.log(err) + throw new Error(err) + } + }) + .catch(err => { + if (err.code === 'ENOENT') + this.log('IR set not found!') + else if (!err.message.includes('Cached IR set is different than the current remote')) + this.log(err) - this.log('getting new IR set...') - this._get_udp_for_remote() - .then(udp_message => { - const data = new FormData(); - data.append('token', REMOTE_SET_TOKEN); - data.append('rtps', udp_message); + this.log('getting new IR set...') + this._get_udp_for_remote() + .then(udp_message => { + const data = new FormData(); + data.append('token', REMOTE_SET_TOKEN); + data.append('rtps', udp_message); - var config = { - method: 'post', - url: 'https://switcher.co.il/misc/irGet/getIR.php', - headers: { - ...data.getHeaders() - }, - data : data - }; - axios(config) - .then(response => { - const set = response.data - fs.mkdir(cache_path || IR_SET_PATH, { recursive: true}) - .then(() => fs.writeFile(file_path, JSON.stringify(set))) - .catch(err => this.log(err)) - .finally(() => resolve(set)) - }) - .catch(err => { - reject(err) - }) + var config = { + method: 'post', + url: 'https://switcher.co.il/misc/irGet/getIR.php', + headers: { + ...data.getHeaders() + }, + data : data + }; + axios(config) + .then(response => { + const set = response.data + fs.mkdir(cache_path || IR_SET_PATH, { recursive: true}) + .then(() => fs.writeFile(file_path, JSON.stringify(set))) + .catch(err => this.log(err)) + .finally(() => resolve(set)) + }) + .catch(err => { + reject(err) + }) - }) - }) - }) + }) + }) + }) - } + } - async _login() { - if (this.p_session) return this.p_session; - try { - this.p_session = await new Promise(async (resolve, reject) => { - var data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + + async _login() { + if (this.p_session) return this.p_session; + try { + this.p_session = await new Promise(async (resolve, reject) => { + let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log("login..."); - try { - var socket = await this._getsocket(); - } catch (err) { - reject(err) - return - } - this.log('sending data') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - var result_session = data.toString('hex').substr(16, 8) - this.log('received login data:') - this.log(data.toString('hex')) - // todo: make sure result_session exists - this.log('received session id: ' + result_session); - resolve(result_session); // returning _p_session after a successful login - }); - this.socket.once('error', (error) => { - reject(error); - }); - }); - } - catch (error) { - this.log('login failed due to an error', error); - this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); - } - return this.p_session; - } + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log("login..."); + try { + var socket = await this._getsocket(); + } catch (err) { + reject(err) + return + } + this.log('sending data') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + var result_session = data.toString('hex').substr(16, 8) + this.log('received login data:') + this.log(data.toString('hex')) + // todo: make sure result_session exists + this.log('received session id: ' + result_session); + resolve(result_session); // returning _p_session after a successful login + }); + this.socket.once('error', (error) => { + reject(error); + }); + }); + } + catch (error) { + this.log('login failed due to an error', error); + this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); + } + return this.p_session; + } - async _login2() { - if (this.p_session) return this.p_session; - try { - this.p_session = await new Promise(async (resolve, reject) => { - var data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + + async _login2() { + if (this.p_session) return this.p_session; + try { + this.p_session = await new Promise(async (resolve, reject) => { + let data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log("login..."); - try { - var socket = await this._getsocket(); - } catch (err) { - reject(err) - return - } - this.log('sending data') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - var result_session = data.toString('hex').substr(16, 8) - this.log('received login data:') - this.log(data.toString('hex')) - // todo: make sure result_session exists - this.log('received session id: ' + result_session); - resolve(result_session); // returning _p_session after a successful login - }); - this.socket.once('error', (error) => { - reject(error); - }); - }); - } - catch (error) { - this.log('login failed due to an error', error); - this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); - } - return this.p_session; - } - - async _run_power_command(command_type) { - var p_session = await this._login(); - var data = "fef05d0002320102" + p_session + "340001" +"000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log("login..."); + try { + var socket = await this._getsocket(); + } catch (err) { + reject(err) + return + } + this.log('sending data') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + var result_session = data.toString('hex').substr(16, 8) + this.log('received login data:') + this.log(data.toString('hex')) + // todo: make sure result_session exists + this.log('received session id: ' + result_session); + resolve(result_session); // returning _p_session after a successful login + }); + this.socket.once('error', (error) => { + reject(error); + }); + }); + } + catch (error) { + this.log('login failed due to an error', error); + this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); + } + return this.p_session; + } + + async _run_power_command(command_type) { + let p_session = await this._login(); + let data = "fef05d0002320102" + p_session + "340001" +"000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - try { - var socket = await this._getsocket(); - } catch (err) { - this.log(err) - return - } - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); - }); - } - - async _run_breeze_command(command) { - if (!command) - return - - const breeze_command = command - var p_session = await this._login2(); - this.p_session = null; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); + let socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + try { + socket = await this._getsocket(); + } catch (err) { + this.log(err) + return + } + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); + }); + } + + async _run_breeze_command(command) { + if (!command) + return + + const breeze_command = command + let p_session = await this._login2(); + this.p_session = null; - var data = "fef0000003050102" + p_session + "000001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + let data = "fef0000003050102" + p_session + "000001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + this._get_command_length(breeze_command) + breeze_command; - data = this._set_message_length(data) - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending breeze command | ${command}`); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(BREEZE_CHANGE_EVENT, command); // todo: add old state and new state - }); - } - - async _run_position_command(position_command) { - const pos = parseInt(position_command, 16) - var p_session = await this._login2(); - this.p_session = null; - var data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + data = this._set_message_length(data) + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending breeze command | ${command}`); + var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(BREEZE_CHANGE_EVENT, command); // todo: add old state and new state + }); + } + + async _run_position_command(position_command) { + const pos = parseInt(position_command, 16) + let p_session = await this._login2(); + this.p_session = null; + let data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + "0100" + position_command; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending position command | ${pos}%`); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(POSITION_CHANGED_EVENT, pos); // todo: add old state and new state - }); - } - - async _run_stop_runner_command() { - var p_session = await this._login2(); - this.p_session = null; - var data = "fef0590003050102" + p_session + "232301" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending position command | ${pos}%`); + var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(POSITION_CHANGED_EVENT, pos); // todo: add old state and new state + }); + } + + async _run_stop_runner_command() { + let p_session = await this._login2(); + this.p_session = null; + let data = "fef0590003050102" + p_session + "232301" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003702" + "02000000" - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log('sending stop runner command'); - var socket = await this._getsocket(); - this.log(data.length) - this.log('sending data:') - this.log(data.toString('hex')) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - }); - } - - _get_time_stamp() { - var time_in_seconds = Math.round(new Date().getTime() / 1000); - return struct.pack(' 86340) { - this.log('Value can\'t be more than 23 hours and 59 minutes, setting to 86340') - seconds = 86340 - } else return struct.pack(' { + this.log('data received:') + this.log(data.toString('hex')) + }); + } + + _get_time_stamp() { + var time_in_seconds = Math.round(new Date().getTime() / 1000); + return struct.pack(' 86340) { + this.log('Value can\'t be more than 23 hours and 59 minutes, setting to 86340') + seconds = 86340 + } else return struct.pack(' breeze_dictionary.modes[key] === state.mode) - - // add temp & sanitize - if (['COOL', 'HEAT'].includes(state.mode)) { - if (state.target_temp > this.breeze_remote.max_temp) - command += this.breeze_remote.max_temp - else if (state.target_temp < this.breeze_remote.min_temp) - command += this.breeze_remote.min_temp - else command += state.target_temp || this.breeze_remote.min_temp - } + _get_hex_pos(pos=0) { + var hex = Number(pos).toString(16); + if (hex.length < 2) { + hex = "0" + hex; + } + return hex + } + _get_breeze_command_key(state) { + let command = '' + + // add mode + command += Object.keys(breeze_dictionary.modes).find(key => breeze_dictionary.modes[key] === state.mode) + + // add temp & sanitize + if (['COOL', 'HEAT'].includes(state.mode)) { + if (state.target_temp > this.breeze_remote.max_temp) + command += this.breeze_remote.max_temp + else if (state.target_temp < this.breeze_remote.min_temp) + command += this.breeze_remote.min_temp + else command += state.target_temp || this.breeze_remote.min_temp + } - // add fan level - if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) - command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` + // add fan level + if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) + command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` - // add swing - if (!this.breeze_remote.separated_swing && this.breeze_remote.swing && state.swing === 'ON') - command += `_d1` - - return command - } - _get_udp_for_remote() { - return new Promise(async (resolve, reject) => { - var p_session = await this._login2(); - var data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" - data = this._crc_sign_full_packet_com_key(data, P_KEY); - var socket = await this._getsocket(); - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - resolve(data.toString('hex')); - }); - socket.on('error', (error) => { - reject(error) - }); - }) - } - - _crc_sign_full_packet_com_key(p_data, p_key) { - var crc = struct.pack('>I', crc16ccitt(Buffer.from(p_data, 'hex'), 0x1021)).toString('hex'); - p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); - crc = crc.substr(6, 2) + crc.substr(4, 2) + Buffer.from(p_key).toString('hex'); - crc = struct.pack('>I', crc16ccitt(Buffer.from(crc, 'hex'), 0x1021)).toString('hex'); - p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); - return p_data - } - - _set_message_length(data) { - let hex = Number(Buffer.byteLength(Buffer.from(data + "00000000", "hex"))).toString(16) - if (hex.length < 2) - hex = hex + "000" - else if (hex.length < 3) - hex = hex + "00" - else if (hex.length < 4) - hex = hex + "0" - return "fef0" + hex + data.substr(8) - } - - _get_command_length(command) { - let hex = Number(Buffer.byteLength(Buffer.from(command, "hex"))).toString(16) - if (hex.length < 2) - hex = hex + "000" - else if (hex.length < 3) - hex = hex + "00" - else if (hex.length < 4) - hex = hex + "0" - return hex - } - - - _ascii_to_hex(str) { - const arr1 = []; - for (let n = 0, l = str.length; n < l; n ++) { - const hex = Number(str.charCodeAt(n)).toString(16); - arr1.push(hex); - } - return arr1.join(''); - } + // add swing + if (!this.breeze_remote.separated_swing && this.breeze_remote.swing && state.swing === 'ON') + command += `_d1` + + return command + } + _get_udp_for_remote() { + return new Promise(async (resolve, reject) => { + let p_session = await this._login2(); + let data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + data = this._crc_sign_full_packet_com_key(data, P_KEY); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + resolve(data.toString('hex')); + }); + socket.on('error', (error) => { + reject(error) + }); + }) + } + + _crc_sign_full_packet_com_key(p_data, p_key) { + var crc = struct.pack('>I', crc16ccitt(Buffer.from(p_data, 'hex'), 0x1021)).toString('hex'); + p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); + crc = crc.substr(6, 2) + crc.substr(4, 2) + Buffer.from(p_key).toString('hex'); + crc = struct.pack('>I', crc16ccitt(Buffer.from(crc, 'hex'), 0x1021)).toString('hex'); + p_data = p_data + crc.substr(6, 2) + crc.substr(4, 2); + return p_data + } + + _set_message_length(data) { + let hex = Number(Buffer.byteLength(Buffer.from(data + "00000000", "hex"))).toString(16) + if (hex.length < 2) + hex = hex + "000" + else if (hex.length < 3) + hex = hex + "00" + else if (hex.length < 4) + hex = hex + "0" + return "fef0" + hex + data.substr(8) + } + + _get_command_length(command) { + let hex = Number(Buffer.byteLength(Buffer.from(command, "hex"))).toString(16) + if (hex.length < 2) + hex = hex + "000" + else if (hex.length < 3) + hex = hex + "00" + else if (hex.length < 4) + hex = hex + "0" + return hex + } + + + _ascii_to_hex(str) { + const arr1 = []; + for (let n = 0, l = str.length; n < l; n ++) { + const hex = Number(str.charCodeAt(n)).toString(16); + arr1.push(hex); + } + return arr1.join(''); + } } module.exports = { - Switcher: Switcher, - ConnectionError: ConnectionError + Switcher: Switcher, + ConnectionError: ConnectionError } \ No newline at end of file diff --git a/src/udp.js b/src/udp.js index 9294c9e..6db1c62 100644 --- a/src/udp.js +++ b/src/udp.js @@ -4,164 +4,164 @@ const mode_commands = { - '01': 'AUTO', - '02': 'DRY', - '03': 'FAN', - '04': 'COOL', - '05': 'HEAT' + '01': 'AUTO', + '02': 'DRY', + '03': 'FAN', + '04': 'COOL', + '05': 'HEAT' } const fan_commands = { - '1': 'LOW', - '2': 'MEDIUM', - '3': 'HIGH', - '0': 'AUTO' + '1': 'LOW', + '2': 'MEDIUM', + '3': 'HIGH', + '0': 'AUTO' } const direction_commands = { - '0000': 'STOP', - '0100': 'UP', - '0001': 'DOWN' + '0000': 'STOP', + '0100': 'UP', + '0001': 'DOWN' } const types = { - '01a8': 'power_plug', - '01a1': 'v2_qca', - '01a7': 'v2_esp', - '030b': 'v3', - '0317': 'v4', - '030f': 'mini', - '0c01': 'runner', - '0c02': 'runner_mini', - '0e01': 'breeze' + '01a8': 'power_plug', + '01a1': 'v2_qca', + '01a7': 'v2_esp', + '030b': 'v3', + '0317': 'v4', + '030f': 'mini', + '0c01': 'runner', + '0c02': 'runner_mini', + '0e01': 'breeze' } class SwitcherUDPMessage { - constructor(message_buffer) { - this.message_buffer = message_buffer - this.data_str = message_buffer.toString(); - this.data_hex = message_buffer.toString('hex'); - } - - static get_breeze_mode(hex) { - return mode_commands[hex] || 'COOL' - } + constructor(message_buffer) { + this.message_buffer = message_buffer + this.data_str = message_buffer.toString(); + this.data_hex = message_buffer.toString('hex'); + } + + static get_breeze_mode(hex) { + return mode_commands[hex] || 'COOL' + } - static get_breeze_fan_level(hex) { - return fan_commands[hex] || 'LOW' - } + static get_breeze_fan_level(hex) { + return fan_commands[hex] || 'LOW' + } - static is_valid(message_buffer) { - return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && + static is_valid(message_buffer) { + return (Buffer.isBuffer(message_buffer) && message_buffer.toString('hex').substr(0, 4) === 'fef0' && (Buffer.byteLength(message_buffer) === 165 || Buffer.byteLength(message_buffer) === 159 || Buffer.byteLength(message_buffer) === 168)); - } + } - extract_type() { - var type_hex = this.data_hex.substr(148, 4); - return types[type_hex] || `unknown_${type_hex}`; - } + extract_type() { + var type_hex = this.data_hex.substr(148, 4); + return types[type_hex] || `unknown_${type_hex}`; + } - extract_ip_addr() { - var ip_addr_section = this.data_hex.substr(152, 8); - var ip_addr_int = parseInt( - ip_addr_section.substr(0, 2) + + extract_ip_addr() { + var ip_addr_section = this.data_hex.substr(152, 8); + var ip_addr_int = parseInt( + ip_addr_section.substr(0, 2) + ip_addr_section.substr(2, 2) + ip_addr_section.substr(4, 2) + ip_addr_section.substr(6, 2), 16); - return this.inet_ntoa(ip_addr_int); - } + return this.inet_ntoa(ip_addr_int); + } - extract_device_name() { - return this.data_str.substr(38, 32).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name - } + extract_device_name() { + return this.data_str.substr(38, 32).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name + } - extract_remote() { - return this.data_str.substr(138, 12).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name - } - - extract_device_id() { - return this.data_hex.substr(36, 6); - } - - extract_switch_state() { - return this.data_hex.substr(266, 4) == '0000' ? 0 : 1; - } - - extract_shutdown_remaining_seconds() { - var time_left_section = this.data_hex.substr(294, 8); - return parseInt( - time_left_section.substr(6, 2) + + extract_remote() { + return this.data_str.substr(138, 12).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name + } + + extract_device_id() { + return this.data_hex.substr(36, 6); + } + + extract_switch_state() { + return this.data_hex.substr(266, 4) == '0000' ? 0 : 1; + } + + extract_shutdown_remaining_seconds() { + var time_left_section = this.data_hex.substr(294, 8); + return parseInt( + time_left_section.substr(6, 2) + time_left_section.substr(4, 2) + time_left_section.substr(2, 2) + time_left_section.substr(0, 2), 16); - } + } - extract_default_shutdown_seconds() { - var shutdown_settings_section = this.data_hex.substr(310, 8); - return parseInt( - shutdown_settings_section.substr(6, 2) + + extract_default_shutdown_seconds() { + var shutdown_settings_section = this.data_hex.substr(310, 8); + return parseInt( + shutdown_settings_section.substr(6, 2) + shutdown_settings_section.substr(4, 2) + shutdown_settings_section.substr(2, 2) + shutdown_settings_section.substr(0, 2), 16); - } + } - extract_power_consumption() { - var power_consumption_section = this.data_hex.substr(270, 4); - return parseInt( - power_consumption_section.substr(2, 2) + + extract_power_consumption() { + var power_consumption_section = this.data_hex.substr(270, 4); + return parseInt( + power_consumption_section.substr(2, 2) + power_consumption_section.substr(0, 2), 16); - } - - inet_ntoa(num) { // extract to utils https://stackoverflow.com/a/21613691 - var a = ((num >> 24) & 0xFF) >>> 0; - var b = ((num >> 16) & 0xFF) >>> 0; - var c = ((num >> 8) & 0xFF) >>> 0; - var d = (num & 0xFF) >>> 0; - return(a + "." + b + "." + c + "." + d); - } + } + + inet_ntoa(num) { // extract to utils https://stackoverflow.com/a/21613691 + var a = ((num >> 24) & 0xFF) >>> 0; + var b = ((num >> 16) & 0xFF) >>> 0; + var c = ((num >> 8) & 0xFF) >>> 0; + var d = (num & 0xFF) >>> 0; + return(a + "." + b + "." + c + "." + d); + } - extract_direction() { - var direction = this.data_hex.substr(274, 4); - return direction_commands[direction]; - } + extract_direction() { + var direction = this.data_hex.substr(274, 4); + return direction_commands[direction]; + } - extract_position() { - var position_section = this.data_hex.substr(270, 4); - return parseInt( - position_section.substr(2, 2) + + extract_position() { + var position_section = this.data_hex.substr(270, 4); + return parseInt( + position_section.substr(2, 2) + position_section.substr(0, 2), 16); - } + } - extract_current_temp() { - var current_temp_section = this.data_hex.substr(270, 4); - return parseInt( - current_temp_section.substr(2, 2) + + extract_current_temp() { + var current_temp_section = this.data_hex.substr(270, 4); + return parseInt( + current_temp_section.substr(2, 2) + current_temp_section.substr(0, 2), 16)/10; - } + } - extract_ac_power() { - return this.data_hex.substr(274, 2) == '00' ? 'OFF' : 'ON'; - } - - extract_ac_mode() { - var mode = this.data_hex.substr(276, 2); - return mode_commands[mode] || 'COOL'; - } + extract_ac_power() { + return this.data_hex.substr(274, 2) == '00' ? 'OFF' : 'ON'; + } + + extract_ac_mode() { + var mode = this.data_hex.substr(276, 2); + return mode_commands[mode] || 'COOL'; + } - extract_target_temp() { - var target_temp_section = this.data_hex.substr(278, 2); - return parseInt(target_temp_section, 16); - } - - extract_fan_level() { - var fan = this.data_hex.substr(280, 1); - return fan_commands[fan] || 'LOW'; - } - - extract_swing() { - return this.data_hex.substr(281, 1) == '0' ? 'OFF' : 'ON'; - } + extract_target_temp() { + var target_temp_section = this.data_hex.substr(278, 2); + return parseInt(target_temp_section, 16); + } + + extract_fan_level() { + var fan = this.data_hex.substr(280, 1); + return fan_commands[fan] || 'LOW'; + } + + extract_swing() { + return this.data_hex.substr(281, 1) == '0' ? 'OFF' : 'ON'; + } } From cc0cd1991c58daab319019637e737c74b49d0c39 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 18 Jun 2022 22:08:44 +0300 Subject: [PATCH 32/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3800d99..2549c28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.8", + "version": "1.3.9", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From e0fa43053bbce5c55d2e35257eefb06f4c058888 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sat, 18 Jun 2022 22:20:39 +0300 Subject: [PATCH 33/63] eslint update --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 548ae9d..53df606 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,7 @@ { "env": { "node": true, - "es2020": true + "es2022": true }, "extends": "eslint:recommended", "rules": { From bf436ce2680e886218ba3cb3b2a0b549f0d08e11 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 10 Jul 2022 18:12:42 +0300 Subject: [PATCH 34/63] possible fix for remote detection --- src/crc.js | 90 +++++++++++++++++++++++++++--------------------------- src/udp.js | 2 +- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/src/crc.js b/src/crc.js index 72718ca..0ee4ed6 100644 --- a/src/crc.js +++ b/src/crc.js @@ -1,60 +1,60 @@ // Generated by `./pycrc.py --algorithm=table-driven --model=ccitt --generate=c` // prettier-ignore let TABLE = [ - 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, - 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, - 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, - 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, - 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, - 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, - 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, - 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, - 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, - 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, - 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, - 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, - 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, - 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, - 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, - 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, - 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, - 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, - 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, - 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, - 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, - 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, - 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, - 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, - 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, - 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, - 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, - 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, - 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, - 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, - 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, - 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 + 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, + 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, + 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, + 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, + 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, + 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, + 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, + 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, + 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, + 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, + 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, + 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, + 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, + 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, + 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, + 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, + 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, + 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, + 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, + 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, + 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, + 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, + 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, + 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, + 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, + 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, + 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, + 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, + 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, + 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 ]; -defineCrc = function(model, calc) { - const fn = (buf, previous) => calc(buf, previous) >>> 0; - fn.signed = calc; - fn.unsigned = fn; - fn.model = model; +const defineCrc = function(model, calc) { + const fn = (buf, previous) => calc(buf, previous) >>> 0; + fn.signed = calc; + fn.unsigned = fn; + fn.model = model; - return fn; - } + return fn; +} if (typeof Int32Array !== 'undefined') TABLE = new Int32Array(TABLE); const crc16ccitt = defineCrc('ccitt', function(buf, previous) { - let crc = typeof previous !== 'undefined' ? ~~previous : 0xffff; - for (let index = 0; index < buf.length; index++) { - const byte = buf[index]; - crc = (TABLE[((crc >> 8) ^ byte) & 0xff] ^ (crc << 8)) & 0xffff; - } + let crc = typeof previous !== 'undefined' ? ~~previous : 0xffff; + for (let index = 0; index < buf.length; index++) { + const byte = buf[index]; + crc = (TABLE[((crc >> 8) ^ byte) & 0xff] ^ (crc << 8)) & 0xffff; + } - return crc; + return crc; }); exports.crc16ccitt = crc16ccitt; \ No newline at end of file diff --git a/src/udp.js b/src/udp.js index 6db1c62..ad63b31 100644 --- a/src/udp.js +++ b/src/udp.js @@ -77,7 +77,7 @@ class SwitcherUDPMessage { extract_remote() { - return this.data_str.substr(138, 12).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name + return this.data_str.substr(142, 8).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name } extract_device_id() { From 5c19f9d8ffe81c08d33d82261d54ef75b51c4227 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 14 Aug 2022 11:48:52 +0300 Subject: [PATCH 35/63] implement child lock for runner --- package.json | 2 +- src/switcher.js | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2549c28..2cf3860 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.9", + "version": "1.3.10", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index a35f007..eef63b8 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -23,6 +23,7 @@ const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; const DURATION_CHANGED_EVENT = 'duration'; const POSITION_CHANGED_EVENT = 'position'; +const CHILD_LOCK_CHANGED_EVENT = 'lock' const BREEZE_CHANGE_EVENT = 'breeze' const BREEZE_CAPABILITIES_EVENT = 'capabilities' @@ -303,6 +304,12 @@ class Switcher extends EventEmitter { this._run_stop_runner_command(); } + + + set_child_lock(lock=true) { + this._run_child_lock_command(lock); + } + is_breeze_on() { return this.status() .then(status => { @@ -808,6 +815,26 @@ class Switcher extends EventEmitter { }); } + + async _run_child_lock_command(lock) { + var lock_command = lock ? '01' : '00' + let p_session = await this._login2(); + this.p_session = null; + let data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003707" + "0100" + lock_command; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending child lock to ${lock}`); + var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(CHILD_LOCK_CHANGED_EVENT, lock); // todo: add old state and new state + }); + } + _get_time_stamp() { var time_in_seconds = Math.round(new Date().getTime() / 1000); return struct.pack(' Date: Sun, 14 Aug 2022 16:43:34 +0300 Subject: [PATCH 36/63] add new device s11/s12 support + create one general command function --- package.json | 2 +- src/switcher.js | 192 ++++++++++++++++++++++++------------------------ src/udp.js | 30 ++++++-- 3 files changed, 120 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index 2cf3860..97175df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.10", + "version": "1.4.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index eef63b8..5bb3890 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -22,9 +22,6 @@ const READY_EVENT = 'ready'; const ERROR_EVENT = 'error'; const STATE_CHANGED_EVENT = 'state'; const DURATION_CHANGED_EVENT = 'duration'; -const POSITION_CHANGED_EVENT = 'position'; -const CHILD_LOCK_CHANGED_EVENT = 'lock' -const BREEZE_CHANGE_EVENT = 'breeze' const BREEZE_CAPABILITIES_EVENT = 'capabilities' @@ -34,7 +31,7 @@ const SWITCHER_UDP_PORT2 = 20003; const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; -const NEW_TCP_GROUP = ['runner', 'runner_mini', 'breeze']; +const NEW_TCP_GROUP = ['runner', 'runner_mini', 'breeze', 's11', 's12']; const IR_SET_FILE = 'IRSet.json' const IR_SET_PATH = __dirname + '/../cache' @@ -234,6 +231,10 @@ class Switcher extends EventEmitter { } var device_type = udp_message.extract_type(); + // console.log(device_type) + // return + + // log(`Found ${device_name} (${ipaddr})!`); if (device_type === 'breeze') proxy.emit(MESSAGE_EVENT, { @@ -251,7 +252,7 @@ class Switcher extends EventEmitter { swing: udp_message.extract_swing() } }) - else + else if (device_type.includes('runner')) proxy.emit(MESSAGE_EVENT, { device_id: device_id, device_ip: ipaddr, @@ -262,6 +263,44 @@ class Switcher extends EventEmitter { direction: udp_message.extract_direction() } }); + + else if (device_type === 's11') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + light1_power: udp_message.extract_light(1), + light2_power: udp_message.extract_light(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3) + } + }); + + else if (device_type === 's12') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + light1_power: udp_message.extract_light(1), + runner2_position: udp_message.extract_position(2), + runner2_direction: udp_message.extract_direction(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3) + } + }); + else + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + data_hex: udp_message.data_hex, + data_str: udp_message.data_str + }); }); socket2.on('error', (error) => { @@ -295,21 +334,41 @@ class Switcher extends EventEmitter { this._run_power_command(on_command); } - set_position(pos=0) { - var position_command = this._get_hex_pos(pos) - this._run_position_command(position_command); + // set_position(pos=0) { + // var position_command = this._get_hex_pos(pos) + // this.log('Sending Position Command') + // this._run_position_command(position_command); + // } + + stop_runner(index=0) { + this.log(`Sending stop command`) + let command = '0000' + command = index ? `0${index}` + command : command + this._run_general_command(command, '3702'); } - stop_runner() { - this._run_stop_runner_command(); + set_child_lock(lock=false, index=0) { + this.log(`Sending child lock command: ${lock}`) + let command = lock ? '01' : '00' + command = index ? `0${index}` + command : command + this._run_general_command(command, '3707'); } + set_light(power=false, index=0) { + this.log(`Sending light power command: ${power}`) + let command = power ? '01' : '00' + command = index ? `0${index}` + command : command + this._run_general_command(command, '370a'); + } - - set_child_lock(lock=true) { - this._run_child_lock_command(lock); + set_position(pos=0, index=0) { + this.log(`Sending position command: ${pos}%`) + let command = this._get_hex_pos(pos) + command = index ? `0${index}` + command : command + this._run_general_command(command); } + is_breeze_on() { return this.status() .then(status => { @@ -331,7 +390,7 @@ class Switcher extends EventEmitter { } let command = `${IRCommand.Para}|${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) - this._run_breeze_command(command); + this._run_general_command(command); } set_breeze_command(state) { @@ -371,7 +430,7 @@ class Switcher extends EventEmitter { } command = `${IRCommand.Para}|${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) - this._run_breeze_command(command); + this._run_general_command(command); if (this.breeze_remote.separated_swing && state.swing === 'ON') { setTimeout(this.set_separated_swing_commad, 1000, true) @@ -529,6 +588,22 @@ class Switcher extends EventEmitter { fan_level: udp_message.extract_fan_level(), swing: udp_message.extract_swing() }) + else if (this.device_type === 's11') + this.emit(STATUS_EVENT, { + light1_power: udp_message.extract_light(1), + light2_power: udp_message.extract_light(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3) + }); + + else if (this.device_type === 's12') + this.emit(STATUS_EVENT, { + light1_power: udp_message.extract_light(1), + runner2_position: udp_message.extract_position(2), + runner2_direction: udp_message.extract_direction(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3) + }); else this.emit(STATUS_EVENT, { position: udp_message.extract_position(), @@ -753,39 +828,13 @@ class Switcher extends EventEmitter { }); } - async _run_breeze_command(command) { - if (!command) - return - - const breeze_command = command + async _run_general_command(command, precommand="3701") { let p_session = await this._login2(); this.p_session = null; - - let data = "fef0000003050102" + p_session + "000001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + this._get_command_length(breeze_command) + breeze_command; - + let data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command data = this._set_message_length(data) data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending breeze command | ${command}`); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(BREEZE_CHANGE_EVENT, command); // todo: add old state and new state - }); - } - - async _run_position_command(position_command) { - const pos = parseInt(position_command, 16) - let p_session = await this._login2(); - this.p_session = null; - let data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003701" + "0100" + position_command; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending position command | ${pos}%`); var socket = await this._getsocket(); this.log('sending data:') this.log(data) @@ -793,48 +842,9 @@ class Switcher extends EventEmitter { socket.once('data', (data) => { this.log('data received:') this.log(data.toString('hex')) - this.emit(POSITION_CHANGED_EVENT, pos); // todo: add old state and new state }); } - - async _run_stop_runner_command() { - let p_session = await this._login2(); - this.p_session = null; - let data = "fef0590003050102" + p_session + "232301" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003702" + "02000000" - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log('sending stop runner command'); - var socket = await this._getsocket(); - this.log(data.length) - this.log('sending data:') - this.log(data.toString('hex')) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - }); - } - - async _run_child_lock_command(lock) { - var lock_command = lock ? '01' : '00' - let p_session = await this._login2(); - this.p_session = null; - let data = "fef0580003050102" + p_session + "290401" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "0000000000000000000000000000000000000000000000000000003707" + "0100" + lock_command; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending child lock to ${lock}`); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(CHILD_LOCK_CHANGED_EVENT, lock); // todo: add old state and new state - }); - } - _get_time_stamp() { var time_in_seconds = Math.round(new Date().getTime() / 1000); return struct.pack(' Date: Tue, 16 Aug 2022 16:01:44 +0300 Subject: [PATCH 37/63] child lock support --- src/switcher.js | 14 ++++++++++---- src/udp.js | 22 +++++++++++++--------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/switcher.js b/src/switcher.js index 5bb3890..4c3fcc0 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -274,7 +274,8 @@ class Switcher extends EventEmitter { light1_power: udp_message.extract_light(1), light2_power: udp_message.extract_light(2), runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3) + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) } }); @@ -288,8 +289,10 @@ class Switcher extends EventEmitter { light1_power: udp_message.extract_light(1), runner2_position: udp_message.extract_position(2), runner2_direction: udp_message.extract_direction(2), + runner2_child_lock: udp_message.extract_child_lock(2), runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3) + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) } }); else @@ -593,7 +596,8 @@ class Switcher extends EventEmitter { light1_power: udp_message.extract_light(1), light2_power: udp_message.extract_light(2), runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3) + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) }); else if (this.device_type === 's12') @@ -601,8 +605,10 @@ class Switcher extends EventEmitter { light1_power: udp_message.extract_light(1), runner2_position: udp_message.extract_position(2), runner2_direction: udp_message.extract_direction(2), + runner2_child_lock: udp_message.extract_child_lock(2), runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3) + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) }); else this.emit(STATUS_EVENT, { diff --git a/src/udp.js b/src/udp.js index bf3ea76..5bca1ed 100644 --- a/src/udp.js +++ b/src/udp.js @@ -125,21 +125,25 @@ class SwitcherUDPMessage { return(a + "." + b + "." + c + "." + d); } + extract_position(index) { + index -- + const command_index = 270 + (index ? index*32 : 0) + var position_section = this.data_hex.substr(command_index, 2); + return parseInt(position_section.substr(0, 2), 16); + } + + extract_child_lock(index) { + index -- + const command_index = 272 + (index ? index*32 : 0) + return this.data_hex.substr(command_index, 2) == '00' ? 'OFF' : 'ON'; + } + extract_direction(index) { index -- const command_index = 274 + (index ? index*32 : 0) var direction = this.data_hex.substr(command_index, 4); return direction_commands[direction]; } - - extract_position(index) { - index -- - const command_index = 270 + (index ? index*32 : 0) - var position_section = this.data_hex.substr(command_index, 4); - return parseInt( - position_section.substr(2, 2) + - position_section.substr(0, 2), 16); - } extract_light(index) { index -- From 9cb7717fb35a3ef74c19a9611f9f6f351567cc30 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 16 Aug 2022 16:01:58 +0300 Subject: [PATCH 38/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 97175df..fd3e5cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.4.0", + "version": "1.4.1", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From 1aa773ff1fc51ae367a50e5c3b50a2dbb9974d1a Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 16 Aug 2022 17:59:37 +0300 Subject: [PATCH 39/63] fixed remote capture --- src/udp.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/udp.js b/src/udp.js index 5bca1ed..62f31c0 100644 --- a/src/udp.js +++ b/src/udp.js @@ -81,7 +81,9 @@ class SwitcherUDPMessage { extract_remote() { - return this.data_str.substr(142, 8).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name + // console.log(this.data_str.substr(130, 30)) + return this.data_str.substr(138, 16).match(/[A-Z0-9]{8}/)[0].replace(/\0/g, ''); // remove leftovers after the name + // return this.data_str.substr(130, 20).replace(/([^0-9A-Z].*)+([A-Z0-9]{8})+([^0-9A-Z].*)/, '$2').replace(/\0/g, ''); // remove leftovers after the name } extract_device_id() { From 1cbbb40dd54567e38e73ccfcd2691f715b85463d Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 16 Aug 2022 17:59:54 +0300 Subject: [PATCH 40/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fd3e5cf..6db805c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.4.1", + "version": "1.4.2", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From de9773af1e8fc16a75204262e3853434665142dc Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 16 Aug 2022 20:47:58 +0300 Subject: [PATCH 41/63] add child lock status to runner --- package.json | 2 +- src/switcher.js | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6db805c..9055114 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.4.2", + "version": "1.4.3", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 4c3fcc0..17bbf80 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -260,7 +260,8 @@ class Switcher extends EventEmitter { type: device_type, state: { position: udp_message.extract_position(), - direction: udp_message.extract_direction() + direction: udp_message.extract_direction(), + child_lock: udp_message.extract_child_lock() } }); @@ -610,10 +611,11 @@ class Switcher extends EventEmitter { runner3_direction: udp_message.extract_direction(3), runner3_child_lock: udp_message.extract_child_lock(3) }); - else + else // if (device_type.includes('runner')) this.emit(STATUS_EVENT, { position: udp_message.extract_position(), - direction: udp_message.extract_direction() + direction: udp_message.extract_direction(), + child_lock: udp_message.extract_child_lock() }) } }); From d218f165f19cd5f1750cd390f8ca602d1745e391 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 11 Sep 2022 13:20:33 +0300 Subject: [PATCH 42/63] Extend length of the remote search + several bug fixes --- package-lock.json | 62 ++++----------------------------- package.json | 3 +- src/switcher.js | 86 ++++++++++++---------------------------------- src/t.zip | Bin 0 -> 408267 bytes src/udp.js | 7 +--- 5 files changed, 30 insertions(+), 128 deletions(-) create mode 100644 src/t.zip diff --git a/package-lock.json b/package-lock.json index f38425e..77ca310 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.3.8", + "version": "1.4.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -50,6 +50,11 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, + "adm-zip": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -83,20 +88,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -144,14 +135,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -184,11 +167,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -364,21 +342,6 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -530,19 +493,6 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "requires": { - "mime-db": "1.51.0" - } - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", diff --git a/package.json b/package.json index 9055114..06723e3 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,7 @@ "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { - "axios": "^0.27.2", - "form-data": "^4.0.0", + "adm-zip": "^0.5.9", "python-struct": "^1.1.2" }, "devDependencies": { diff --git a/src/switcher.js b/src/switcher.js index 17bbf80..0169302 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -1,20 +1,17 @@ /* eslint-disable no-async-promise-executor */ "use strict"; - -const axios = require('axios'); -var FormData = require('form-data'); -const fs = require('fs').promises; const net = require('net'); const dgram = require('dgram'); const struct = require('python-struct'); const EventEmitter = require('events').EventEmitter; +var AdmZip = require("adm-zip"); +var zip = new AdmZip(__dirname + "/t.zip"); const crc16ccitt = require('./crc').crc16ccitt; const SwitcherUDPMessage = require('./udp') const P_SESSION = '00000000'; const P_KEY = '00000000000000000000000000000000'; -const REMOTE_SET_TOKEN = 'd41d8cd98f00b204e9800998ecf8427e' const STATUS_EVENT = 'status'; const MESSAGE_EVENT = 'message' @@ -32,8 +29,6 @@ const SWITCHER_UDP_PORT2 = 20003; const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; const NEW_TCP_GROUP = ['runner', 'runner_mini', 'breeze', 's11', 's12']; -const IR_SET_FILE = 'IRSet.json' -const IR_SET_PATH = __dirname + '/../cache' const OFF = 0; const ON = 1; @@ -73,7 +68,7 @@ class ConnectionError extends Error { class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type, remote, cache_path) { + constructor(device_id, switcher_ip, log, listen, device_type, remote) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; @@ -89,7 +84,7 @@ class Switcher extends EventEmitter { if (listen) this.status_socket = this._hijack_status_report(); if (device_type === 'breeze') - this._get_breeze_remote(remote, cache_path) + this._get_breeze_remote(remote) .then(remote => this.breeze_remote = remote) } @@ -236,7 +231,7 @@ class Switcher extends EventEmitter { // log(`Found ${device_name} (${ipaddr})!`); - if (device_type === 'breeze') + if (device_type === 'breeze') { proxy.emit(MESSAGE_EVENT, { device_id: device_id, device_ip: ipaddr, @@ -252,6 +247,7 @@ class Switcher extends EventEmitter { swing: udp_message.extract_swing() } }) + } else if (device_type.includes('runner')) proxy.emit(MESSAGE_EVENT, { device_id: device_id, @@ -392,7 +388,7 @@ class Switcher extends EventEmitter { this.log(`ERROR: Wrong IR Command (${key})! Can't send separaed swing command !!!`) return } - let command = `${IRCommand.Para}|${IRCommand.HexCode}` + let command = `${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) this._run_general_command(command); } @@ -432,7 +428,7 @@ class Switcher extends EventEmitter { this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send command !!!`) return } - command = `${IRCommand.Para}|${IRCommand.HexCode}` + command = `${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) this._run_general_command(command); @@ -478,7 +474,7 @@ class Switcher extends EventEmitter { const data_hex = data.toString('hex') const state = { device_id: this.device_id, - remote: data.toString().substr(83, 12).replace(/\0/g, ''), + remote: data.toString().substr(84, 8).replace(/\0/g, ''), current_temp: parseInt( data_hex.substr(154, 2) + data_hex.substr(152, 2), 16)/10, power: data_hex.substr(156, 2) == '00' ? 'OFF' : 'ON', target_temp: parseInt(data_hex.substr(160, 2), 16), @@ -626,9 +622,9 @@ class Switcher extends EventEmitter { return socket; } - async _get_breeze_remote(remote, cache_path) { + async _get_breeze_remote(remote) { try { - this.remote_set = await this._get_remote_set(remote, cache_path) + this.remote_set = await this._get_remote_set(remote) } catch (err) { this.log(`Can't get remote set for ${remote} !`) this.log(err.message || err.stack || err) @@ -686,57 +682,19 @@ class Switcher extends EventEmitter { return capabilities } - async _get_remote_set(remote, cache_path) { + async _get_remote_set(remote) { return new Promise(async (resolve, reject) => { - const file_path = cache_path ? `${cache_path}/${this.device_id}_${IR_SET_FILE}` : `${IR_SET_PATH}/${this.device_id}_${IR_SET_FILE}` - fs.readFile(file_path) - .then(set => { - set = JSON.parse(set) - if (remote && set && set.IRSetID === remote) - resolve(set) - else { - const err = `Cached IR set is different than the current remote, Getting new IR Set for ${remote}` - this.log(err) - throw new Error(err) - } - }) - .catch(err => { - if (err.code === 'ENOENT') - this.log('IR set not found!') - else if (!err.message.includes('Cached IR set is different than the current remote')) - this.log(err) - - this.log('getting new IR set...') - this._get_udp_for_remote() - .then(udp_message => { - const data = new FormData(); - data.append('token', REMOTE_SET_TOKEN); - data.append('rtps', udp_message); - - var config = { - method: 'post', - url: 'https://switcher.co.il/misc/irGet/getIR.php', - headers: { - ...data.getHeaders() - }, - data : data - }; - axios(config) - .then(response => { - const set = response.data - fs.mkdir(cache_path || IR_SET_PATH, { recursive: true}) - .then(() => fs.writeFile(file_path, JSON.stringify(set))) - .catch(err => this.log(err)) - .finally(() => resolve(set)) - }) - .catch(err => { - reject(err) - }) - - }) - }) + + const zipEntry = zip.getEntries()[0] + let IRWaves = zipEntry.getData().toString("utf8") + IRWaves = JSON.parse(IRWaves) + + const remote_waves = IRWaves.find(remote_set => remote_set.IRSetID === remote) + if (remote_waves) + resolve(remote_waves) + else + reject(new Error(`Can't find remote ${remote}`)) }) - } async _login() { diff --git a/src/t.zip b/src/t.zip new file mode 100644 index 0000000000000000000000000000000000000000..520bffa1980a71c900220e902b951f521177b859 GIT binary patch literal 408267 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 z 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 literal 0 HcmV?d00001 diff --git a/src/udp.js b/src/udp.js index 62f31c0..06e2b8e 100644 --- a/src/udp.js +++ b/src/udp.js @@ -2,7 +2,6 @@ // 0104173000 - const mode_commands = { '01': 'AUTO', '02': 'DRY', @@ -81,9 +80,7 @@ class SwitcherUDPMessage { extract_remote() { - // console.log(this.data_str.substr(130, 30)) - return this.data_str.substr(138, 16).match(/[A-Z0-9]{8}/)[0].replace(/\0/g, ''); // remove leftovers after the name - // return this.data_str.substr(130, 20).replace(/([^0-9A-Z].*)+([A-Z0-9]{8})+([^0-9A-Z].*)/, '$2').replace(/\0/g, ''); // remove leftovers after the name + return this.data_str.match(/(?<=_[A-Z0-9]{4}.*)([A-Z0-9]{8})/)[0] } extract_device_id() { @@ -184,6 +181,4 @@ class SwitcherUDPMessage { } } - - module.exports = SwitcherUDPMessage \ No newline at end of file From 8dfd9d10df84a007e2bcecb435e96c0279cd6751 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 11 Sep 2022 13:20:50 +0300 Subject: [PATCH 43/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 06723e3..257dd52 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.4.3", + "version": "1.5.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From 850069a16ae7d1b1048ca8f64f7394155bcb8291 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Fri, 7 Oct 2022 11:41:59 +0300 Subject: [PATCH 44/63] fix remote extraction crash + update remotes file --- package.json | 2 +- src/switcher.js | 4 ++-- src/t.zip | Bin 408267 -> 517267 bytes src/udp.js | 6 +++++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 257dd52..26fb0c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.0", + "version": "1.5.2", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 0169302..5d46b54 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -388,7 +388,7 @@ class Switcher extends EventEmitter { this.log(`ERROR: Wrong IR Command (${key})! Can't send separaed swing command !!!`) return } - let command = `${IRCommand.HexCode}` + let command = `${IRCommand.Para}|${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) this._run_general_command(command); } @@ -428,7 +428,7 @@ class Switcher extends EventEmitter { this.log(`ERROR: Wrong IR Command (${commandKey})! Can't send command !!!`) return } - command = `${IRCommand.HexCode}` + command = `${IRCommand.Para}|${IRCommand.HexCode}` command = "00000000" + this._ascii_to_hex(command) this._run_general_command(command); diff --git a/src/t.zip b/src/t.zip index 520bffa1980a71c900220e902b951f521177b859..89d058639588afdc0a992fec6006229582618917 100644 GIT binary patch literal 517267 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%0D_5taEaKPRU6Y=b1+Xv=HB7}FJ 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 L{5D1f{{MdfI~7qh literal 408267 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 z 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 diff --git a/src/udp.js b/src/udp.js index 06e2b8e..addf2f7 100644 --- a/src/udp.js +++ b/src/udp.js @@ -80,7 +80,11 @@ class SwitcherUDPMessage { extract_remote() { - return this.data_str.match(/(?<=_[A-Z0-9]{4}.*)([A-Z0-9]{8})/)[0] + const remote = this.data_str.match(/(?<=_[A-Z0-9]{4}.*)([A-Z0-9]{8})/) + if (remote && remote.length) + return remote[0] + else + return 'UNKNOWN' } extract_device_id() { From f35031ad317e49d2f391e4fc1e4443d83bf3f84c Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 12 Feb 2023 20:55:25 +0200 Subject: [PATCH 45/63] fix for S11 S12 new versions --- package.json | 2 +- src/switcher.js | 360 +++++++++++++++++++++--------------------------- 2 files changed, 156 insertions(+), 206 deletions(-) diff --git a/package.json b/package.json index 26fb0c4..2f3058d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.2", + "version": "1.5.3", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 5d46b54..9bae94f 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -25,6 +25,10 @@ const BREEZE_CAPABILITIES_EVENT = 'capabilities' const SWITCHER_UDP_IP = "0.0.0.0"; const SWITCHER_UDP_PORT = 20002; const SWITCHER_UDP_PORT2 = 20003; +const SWITCHER_UDP_PORT3 = 10002; +const SWITCHER_UDP_PORT4 = 10003; + +const LISTENING_PORTS = [SWITCHER_UDP_PORT, SWITCHER_UDP_PORT2, SWITCHER_UDP_PORT3, SWITCHER_UDP_PORT4] const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; @@ -91,235 +95,181 @@ class Switcher extends EventEmitter { static discover(log, identifier, discovery_timeout) { var proxy = new EventEmitter.EventEmitter(); var timeout = null - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - var device_type = udp_message.extract_type(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); - return; - } - - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type)); - clearTimeout(timeout); - socket.close(); - socket = null; - - }); - socket.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - clearTimeout(timeout); - socket.close(); - socket = null; - }); - socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); + const sockets = [] - var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - var device_type = udp_message.extract_type(); - if (device_type === 'breeze') - var remote = udp_message.extract_remote(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); - return; - } + LISTENING_PORTS.forEach(switcher_port => { + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + var device_type = udp_message.extract_type(); + if (device_type === 'breeze') + var remote = udp_message.extract_remote(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; + } + + // log(`Found ${device_name} (${ipaddr})!`); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); + clearTimeout(timeout); + socket.close(); + socket = null; + + }); + socket.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + clearTimeout(timeout); + socket.close(); + socket = null; + }); + socket.bind(switcher_port, SWITCHER_UDP_IP); + sockets.push(socket) - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); - clearTimeout(timeout); - socket2.close(); - socket2 = null; - - }); - socket2.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - clearTimeout(timeout); - socket2.close(); - socket2 = null; - }); - socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + }) if (discovery_timeout); timeout = setTimeout(() => { - log(`stopping discovery, closing socket`); - socket.close(); - socket = null; - socket2.close(); - socket2 = null; + log(`stopping discovery, closing sockets`); + sockets.forEach(socket => { + socket.close(); + socket = null; + }) }, discovery_timeout*1000); proxy.close = () => { log('closing discover socket'); - if (socket) { + sockets.forEach(socket => { socket.close(); - log('discovery socket is closed'); - } - if (socket2) { - socket2.close(); - log('discovery socket2 is closed'); - } + }) } return proxy; } static listen(log, identifier) { var proxy = new EventEmitter.EventEmitter(); - var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); - return; - } + + const sockets = [] - // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: udp_message.extract_type(), - state: { - power: udp_message.extract_switch_state(), - remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), - default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), - power_consumption: udp_message.extract_power_consumption() + LISTENING_PORTS.forEach(switcher_port => { + var socket = dgram.createSocket('udp4', (raw_msg, rinfo) => { + var ipaddr = rinfo.address; + if (!SwitcherUDPMessage.is_valid(raw_msg)) { + return; // ignoring - not a switcher broadcast message + } + var udp_message = new SwitcherUDPMessage(raw_msg); + var device_id = udp_message.extract_device_id(); + var device_name = udp_message.extract_device_name(); + if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + return; } - }); - - }); - socket.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - socket.close(); - socket = null; - }); - socket.bind(SWITCHER_UDP_PORT, SWITCHER_UDP_IP); - - var socket2 = dgram.createSocket('udp4', (raw_msg, rinfo) => { - var ipaddr = rinfo.address; - - if (!SwitcherUDPMessage.is_valid(raw_msg)) { - return; // ignoring - not a switcher broadcast message - } - var udp_message = new SwitcherUDPMessage(raw_msg); - var device_id = udp_message.extract_device_id(); - var device_name = udp_message.extract_device_name(); - if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); - return; - } - var device_type = udp_message.extract_type(); - // console.log(device_type) - // return + var device_type = udp_message.extract_type(); + if (['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini'].includes(device_type)) { + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: udp_message.extract_type(), + state: { + power: udp_message.extract_switch_state(), + remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), + default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), + power_consumption: udp_message.extract_power_consumption() + } + }); + } else if (device_type === 'breeze') { + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + remote: udp_message.extract_remote(), + type: device_type, + state: { + power: udp_message.extract_ac_power(), + current_temp: udp_message.extract_current_temp(), + target_temp: udp_message.extract_target_temp(), + mode: udp_message.extract_ac_mode(), + fan_level: udp_message.extract_fan_level(), + swing: udp_message.extract_swing() + } + }) + } + else if (device_type.includes('runner')) + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + position: udp_message.extract_position(), + direction: udp_message.extract_direction(), + child_lock: udp_message.extract_child_lock() + } + }); + + else if (device_type === 's11') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + light1_power: udp_message.extract_light(1), + light2_power: udp_message.extract_light(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) + } + }); + + else if (device_type === 's12') + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + light1_power: udp_message.extract_light(1), + runner2_position: udp_message.extract_position(2), + runner2_direction: udp_message.extract_direction(2), + runner2_child_lock: udp_message.extract_child_lock(2), + runner3_position: udp_message.extract_position(3), + runner3_direction: udp_message.extract_direction(3), + runner3_child_lock: udp_message.extract_child_lock(3) + } + }); + else + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + data_hex: udp_message.data_hex, + data_str: udp_message.data_str + }); + }) - // log(`Found ${device_name} (${ipaddr})!`); - if (device_type === 'breeze') { - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - remote: udp_message.extract_remote(), - type: device_type, - state: { - power: udp_message.extract_ac_power(), - current_temp: udp_message.extract_current_temp(), - target_temp: udp_message.extract_target_temp(), - mode: udp_message.extract_ac_mode(), - fan_level: udp_message.extract_fan_level(), - swing: udp_message.extract_swing() - } - }) - } - else if (device_type.includes('runner')) - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: device_type, - state: { - position: udp_message.extract_position(), - direction: udp_message.extract_direction(), - child_lock: udp_message.extract_child_lock() - } - }); - - else if (device_type === 's11') - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: device_type, - state: { - light1_power: udp_message.extract_light(1), - light2_power: udp_message.extract_light(2), - runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3), - runner3_child_lock: udp_message.extract_child_lock(3) - } - }); - - else if (device_type === 's12') - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: device_type, - state: { - light1_power: udp_message.extract_light(1), - runner2_position: udp_message.extract_position(2), - runner2_direction: udp_message.extract_direction(2), - runner2_child_lock: udp_message.extract_child_lock(2), - runner3_position: udp_message.extract_position(3), - runner3_direction: udp_message.extract_direction(3), - runner3_child_lock: udp_message.extract_child_lock(3) - } - }); - else - proxy.emit(MESSAGE_EVENT, { - device_id: device_id, - device_ip: ipaddr, - name: device_name, - type: device_type, - data_hex: udp_message.data_hex, - data_str: udp_message.data_str - }); - - }); - socket2.on('error', (error) => { - proxy.emit(ERROR_EVENT, error); - socket2.close(); - socket2 = null; - }); - socket2.bind(SWITCHER_UDP_PORT2, SWITCHER_UDP_IP); + socket.on('error', (error) => { + proxy.emit(ERROR_EVENT, error); + socket.close(); + socket = null; + }); + socket.bind(switcher_port, SWITCHER_UDP_IP); + sockets.push(socket) + }) proxy.close = () => { - log('closing listener socket'); - if (socket) { + log('closing discover socket'); + sockets.forEach(socket => { socket.close(); - log('listener socket is closed'); - } - if (socket2) { - socket2.close(); - log('listener socket2 is closed'); - } + }) } return proxy; } From e05e04f6884669599397fedde989931a626230a9 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 12 Feb 2023 20:57:52 +0200 Subject: [PATCH 46/63] allow hebrew names --- package.json | 2 +- src/udp.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2f3058d..9f83599 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.3", + "version": "1.5.4", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/udp.js b/src/udp.js index addf2f7..57892c9 100644 --- a/src/udp.js +++ b/src/udp.js @@ -75,7 +75,7 @@ class SwitcherUDPMessage { } extract_device_name() { - return this.data_str.substr(38, 32).replace(/[^0-9a-zA-Z_\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name + return this.data_str.substr(38, 32).replace(/[^0-9a-zA-Z_\u0590-\u05fe\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name } From 9866616f9e2403dcb876ee488eec37da2fbceda9 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 16 Mar 2023 11:56:03 +0200 Subject: [PATCH 47/63] new logic including token for shutters --- .gitignore | 4 +- .vscode/settings.json | 10 ++ package.json | 2 +- src/switcher.js | 207 ++++++++++++++++++++++++++---------------- src/tok.js | 6 ++ 5 files changed, 151 insertions(+), 78 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/tok.js diff --git a/.gitignore b/.gitignore index 1906075..974178a 100644 --- a/.gitignore +++ b/.gitignore @@ -107,4 +107,6 @@ dist test2.js test.js -cache/ \ No newline at end of file +cache/ + +.DS_Store \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9744ded --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "cSpell.words": [ + "ELEC", + "getsocket", + "inet", + "ipaddr", + "ntoa", + "precommand" + ] +} \ No newline at end of file diff --git a/package.json b/package.json index 9f83599..38fe4df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.4", + "version": "1.5.5", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 9bae94f..11b0bdb 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -1,5 +1,6 @@ /* eslint-disable no-async-promise-executor */ "use strict"; +const { he } = require('./tok'); const net = require('net'); const dgram = require('dgram'); const struct = require('python-struct'); @@ -53,7 +54,7 @@ const breeze_dictionary = { 'aw': 'FAN', 'ar': 'COOL', 'ah': 'HEAT' - + }, fan_levels: { 'f0': 'AUTO', @@ -71,13 +72,15 @@ class ConnectionError extends Error { } -class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type, remote) { +class Switcher extends EventEmitter { + constructor(device_id, switcher_ip, log, listen, device_type, remote, token) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; this.device_type = device_type || 'unknown'; this.phone_id = '0000'; + if (token) + this.token = he(token); this.device_pass = '00000000'; this.newType = NEW_TCP_GROUP.includes(device_type) this.isBreeze = device_type && device_type === 'breeze' @@ -113,13 +116,13 @@ class Switcher extends EventEmitter { log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); return; } - + // log(`Found ${device_name} (${ipaddr})!`); proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); clearTimeout(timeout); socket.close(); socket = null; - + }); socket.on('error', (error) => { proxy.emit(ERROR_EVENT, error); @@ -139,7 +142,7 @@ class Switcher extends EventEmitter { socket.close(); socket = null; }) - }, discovery_timeout*1000); + }, discovery_timeout * 1000); proxy.close = () => { log('closing discover socket'); @@ -152,7 +155,7 @@ class Switcher extends EventEmitter { static listen(log, identifier) { var proxy = new EventEmitter.EventEmitter(); - + const sockets = [] LISTENING_PORTS.forEach(switcher_port => { @@ -212,7 +215,7 @@ class Switcher extends EventEmitter { child_lock: udp_message.extract_child_lock() } }); - + else if (device_type === 's11') proxy.emit(MESSAGE_EVENT, { device_id: device_id, @@ -227,7 +230,7 @@ class Switcher extends EventEmitter { runner3_child_lock: udp_message.extract_child_lock(3) } }); - + else if (device_type === 's12') proxy.emit(MESSAGE_EVENT, { device_id: device_id, @@ -279,39 +282,33 @@ class Switcher extends EventEmitter { this._run_power_command(off_command); } - turn_on(duration=0) { - var on_command = ON +'00' + this._timer_value(duration); + turn_on(duration = 0) { + var on_command = ON + '00' + this._timer_value(duration); this._run_power_command(on_command); } - // set_position(pos=0) { - // var position_command = this._get_hex_pos(pos) - // this.log('Sending Position Command') - // this._run_position_command(position_command); - // } - - stop_runner(index=0) { + stop_runner(index = 0) { this.log(`Sending stop command`) let command = '0000' command = index ? `0${index}` + command : command this._run_general_command(command, '3702'); } - set_child_lock(lock=false, index=0) { + set_child_lock(lock = false, index = 0) { this.log(`Sending child lock command: ${lock}`) let command = lock ? '01' : '00' command = index ? `0${index}` + command : command this._run_general_command(command, '3707'); } - set_light(power=false, index=0) { + set_light(power = false, index = 0) { this.log(`Sending light power command: ${power}`) let command = power ? '01' : '00' command = index ? `0${index}` + command : command this._run_general_command(command, '370a'); } - - set_position(pos=0, index=0) { + + set_position(pos = 0, index = 0) { this.log(`Sending position command: ${pos}%`) let command = this._get_hex_pos(pos) command = index ? `0${index}` + command : command @@ -326,7 +323,7 @@ class Switcher extends EventEmitter { }) } - set_separated_swing_commad(state) { + set_separated_swing_command(state) { const key = state ? 'FUN_d1' : 'FUN_d0' this.log(`sending separated swing command: ${JSON.stringify(state)} (${key})`) @@ -335,7 +332,7 @@ class Switcher extends EventEmitter { const IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === key) if (!IRCommand) { - this.log(`ERROR: Wrong IR Command (${key})! Can't send separaed swing command !!!`) + this.log(`ERROR: Wrong IR Command (${key})! Can't send separated swing command !!!`) return } let command = `${IRCommand.Para}|${IRCommand.HexCode}` @@ -366,7 +363,7 @@ class Switcher extends EventEmitter { this.log('sending change state command:' + JSON.stringify(state)) commandKey = this._get_breeze_command_key(state) } - + // find command in IRWaveList IRCommand = this.remote_set.IRWaveList.find(wave => wave.Key === commandKey) @@ -383,17 +380,17 @@ class Switcher extends EventEmitter { this._run_general_command(command); if (this.breeze_remote.separated_swing && state.swing === 'ON') { - setTimeout(this.set_separated_swing_commad, 1000, true) + setTimeout(this.set_separated_swing_command, 1000, true) } }) } - async set_default_shutdown(duration=3600) { + async set_default_shutdown(duration = 3600) { var auto_close = this._set_default_shutdown(duration) - let p_session = await this._login(); + let p_session = await this._login(); let data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log(`sending default_shutdown command | ${duration} seconds`); var socket = await this._getsocket(); @@ -408,7 +405,7 @@ class Switcher extends EventEmitter { return new Promise(async (resolve, reject) => { let data, p_session if (this.newType) { - p_session = await this._login2(); + p_session = await this._login2(); data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" } else { p_session = await this._login(); @@ -425,7 +422,7 @@ class Switcher extends EventEmitter { const state = { device_id: this.device_id, remote: data.toString().substr(84, 8).replace(/\0/g, ''), - current_temp: parseInt( data_hex.substr(154, 2) + data_hex.substr(152, 2), 16)/10, + current_temp: parseInt(data_hex.substr(154, 2) + data_hex.substr(152, 2), 16) / 10, power: data_hex.substr(156, 2) == '00' ? 'OFF' : 'ON', target_temp: parseInt(data_hex.substr(160, 2), 16), mode: SwitcherUDPMessage.get_breeze_mode(data_hex.substr(158, 2)), @@ -433,14 +430,14 @@ class Switcher extends EventEmitter { swing: data_hex.substr(162, 1) == '0' ? 'OFF' : 'ON' } resolve(state); - } else { + } else { var state_hex = data.toString('hex').substr(150, 4); - var state = state_hex == '0000' ? OFF : ON; - var b = data.toString('hex').substr(178, 8); + var state = state_hex == '0000' ? OFF : ON; + var b = data.toString('hex').substr(178, 8); var remaining_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); b = data.toString('hex').substr(194, 8); var default_shutdown_seconds = parseInt(b.substr(6, 2) + b.substr(4, 2) + b.substr(2, 2) + b.substr(0, 2), 16); - b = data.toString('hex').substr(154, 4); + b = data.toString('hex').substr(154, 4); var power_consumption = parseInt(b.substr(2, 2) + b.substr(0, 2), 16); resolve({ device_id: this.device_id, @@ -449,7 +446,7 @@ class Switcher extends EventEmitter { default_shutdown_seconds: default_shutdown_seconds, power_consumption: power_consumption }); - } + } } catch (error) { this.log('connection rejected, error:', error) reject(error); @@ -478,15 +475,15 @@ class Switcher extends EventEmitter { try { var socket = await this._connect(this.SWITCHER_PORT, this.switcher_ip); socket.on('error', (error) => { - this.log('gloabal error event:', error); + this.log('global error event:', error); }); socket.on('close', (had_error) => { - this.log('gloabal close event:', had_error); + this.log('global close event:', had_error); }); this.socket = socket; return socket; } - catch(error) { + catch (error) { this.socket = null; this.emit(ERROR_EVENT, new ConnectionError(this.switcher_ip, this.SWITCHER_PORT)); throw error; @@ -546,7 +543,7 @@ class Switcher extends EventEmitter { runner3_direction: udp_message.extract_direction(3), runner3_child_lock: udp_message.extract_child_lock(3) }); - + else if (this.device_type === 's12') this.emit(STATUS_EVENT, { light1_power: udp_message.extract_light(1), @@ -589,7 +586,7 @@ class Switcher extends EventEmitter { min_temp: 100, max_temp: 0 } - + if (!this.remote_set.IRWaveList || !this.remote_set.IRWaveList.length) { this.log(`Wrong Remote, can't find commands!`) this.log('Remote Set:') @@ -601,19 +598,19 @@ class Switcher extends EventEmitter { const key = wave.Key // add modes const newMode = breeze_dictionary.modes[key.substr(0, 2)] - if ( newMode && !capabilities.modes.includes(newMode)) + if (newMode && !capabilities.modes.includes(newMode)) capabilities.modes.push(newMode) // add fan levels const newFanLevel = key.match(/f\d/) ? breeze_dictionary.fan_levels[key.match(/f\d/)[0]] : null - if ( newFanLevel && !capabilities.fan_levels.includes(newFanLevel)) + if (newFanLevel && !capabilities.fan_levels.includes(newFanLevel)) capabilities.fan_levels.push(newFanLevel) - + // add min/max temperatures const newTemp = key.substr(2, 2) ? parseInt(key.substr(2, 2)) : null - if ( newTemp && newTemp > capabilities.max_temp) + if (newTemp && newTemp > capabilities.max_temp) capabilities.max_temp = newTemp - if ( newTemp && newTemp < capabilities.min_temp) + if (newTemp && newTemp < capabilities.min_temp) capabilities.min_temp = newTemp // swing @@ -626,15 +623,15 @@ class Switcher extends EventEmitter { capabilities.separated_swing = true } } - + this.emit(BREEZE_CAPABILITIES_EVENT, capabilities) - this.log('remote capabilites:' + JSON.stringify(capabilities)) + this.log('remote capabilities:' + JSON.stringify(capabilities)) return capabilities } async _get_remote_set(remote) { return new Promise(async (resolve, reject) => { - + const zipEntry = zip.getEntries()[0] let IRWaves = zipEntry.getData().toString("utf8") IRWaves = JSON.parse(IRWaves) @@ -651,8 +648,8 @@ class Switcher extends EventEmitter { if (this.p_session) return this.p_session; try { this.p_session = await new Promise(async (resolve, reject) => { - let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + - this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; + let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log("login..."); try { @@ -665,12 +662,12 @@ class Switcher extends EventEmitter { this.log(data) socket.write(Buffer.from(data, 'hex')); socket.once('data', (data) => { - var result_session = data.toString('hex').substr(16, 8) + var result_session = data.toString('hex').substr(16, 8) this.log('received login data:') this.log(data.toString('hex')) // todo: make sure result_session exists this.log('received session id: ' + result_session); - resolve(result_session); // returning _p_session after a successful login + resolve(result_session); // returning _p_session after a successful login }); this.socket.once('error', (error) => { reject(error); @@ -683,13 +680,13 @@ class Switcher extends EventEmitter { } return this.p_session; } - + async _login2() { if (this.p_session) return this.p_session; try { this.p_session = await new Promise(async (resolve, reject) => { - let data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + - this.device_id + "00"; + let data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + + this.device_id + "00"; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log("login..."); try { @@ -707,7 +704,7 @@ class Switcher extends EventEmitter { this.log(data.toString('hex')) // todo: make sure result_session exists this.log('received session id: ' + result_session); - resolve(result_session); // returning _p_session after a successful login + resolve(result_session); // returning _p_session after a successful login }); this.socket.once('error', (error) => { reject(error); @@ -721,12 +718,61 @@ class Switcher extends EventEmitter { return this.p_session; } + async _login3() { + if (this.p_session) return this.p_session; + try { + this.p_session = await new Promise(async (resolve, reject) => { + let data1 = "fef030000305a600" + P_SESSION + "ff0301000000" +"00"+ this.token + "00" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; + data1 = this._crc_sign_full_packet_com_key(data1, P_KEY); + let data2 = "fef053000305a100" + P_SESSION + "f50301000000" + this.device_id+ "000000" + this._get_time_stamp() + "00000000000000000000f0fe" +"0000" + this.token + "000000000000000000000000000000000000000000000000000000000000000001" + data2 = this._crc_sign_full_packet_com_key(data2, P_KEY); + this.log("login1..."); + try { + var socket = await this._getsocket(); + } catch (err) { + reject(err) + return + } + this.log('sending data1') + this.log(data1) + socket.write(Buffer.from(data1, 'hex')); + socket.once('data', (data1) => { + var result_session = data1.toString('hex').substr(16, 8) + this.log('received login data1:') + this.log(data1.toString('hex')) + // todo: make sure result_session exists + this.log('received session id: ' + result_session); + // send second packet after receiving response to first packet + this.log('sending data2') + this.log(data2) + socket.write(Buffer.from(data2, 'hex')); + socket.once('data', (data2) => { + this.log('received login data2:') + this.log(data2.toString('hex')) + this.log('received session id: ' + result_session); + resolve(result_session); // returning _p_session after a successful login + }); + }); + this.socket.once('error', (error) => { + reject(error); + }); + }); + } + catch (error) { + this.log('login failed due to an error', error); + this.emit(ERROR_EVENT, new Error(`login failed due to an error: ${error.message}`)); + } + return this.p_session; + } + + + async _run_power_command(command_type) { - let p_session = await this._login(); - let data = "fef05d0002320102" + p_session + "340001" +"000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; + let p_session = await this._login(); + let data = "fef05d0002320102" + p_session + "340001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log('sending ' + Object.keys({OFF, ON})[command_type.substr(0, 1)] + ' command'); + this.log('sending ' + Object.keys({ OFF, ON })[command_type.substr(0, 1)] + ' command'); let socket = await this._getsocket(); this.log('sending data:') this.log(data) @@ -744,11 +790,20 @@ class Switcher extends EventEmitter { }); } - async _run_general_command(command, precommand="3701") { - let p_session = await this._login2(); - this.p_session = null; - let data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command + async _run_general_command(command, precommand = "3701") { + let data, p_session + if(this.token && this.device_type !== 'breeze'){ + p_session = await this._login3(); + this.p_session = null; + data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.token + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command + "00000000") + command + "00000000" + } else { + p_session = await this._login2(); + this.p_session = null; + data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command + } + data = this._set_message_length(data) data = this._crc_sign_full_packet_com_key(data, P_KEY); var socket = await this._getsocket(); @@ -760,7 +815,7 @@ class Switcher extends EventEmitter { this.log(data.toString('hex')) }); } - + _get_time_stamp() { var time_in_seconds = Math.round(new Date().getTime() / 1000); return struct.pack(' breeze_dictionary.modes[key] === state.mode) + command += Object.keys(breeze_dictionary.modes).find(key => breeze_dictionary.modes[key] === state.mode) // add temp & sanitize if (['COOL', 'HEAT'].includes(state.mode)) { @@ -803,20 +858,20 @@ class Switcher extends EventEmitter { command += this.breeze_remote.min_temp else command += state.target_temp || this.breeze_remote.min_temp } - + // add fan level if (this.breeze_remote.fan_levels && this.breeze_remote.fan_levels.includes(state.fan_level)) - command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` - + command += `_${Object.keys(breeze_dictionary.fan_levels).find(key => breeze_dictionary.fan_levels[key] === state.fan_level)}` + // add swing if (!this.breeze_remote.separated_swing && this.breeze_remote.swing && state.swing === 'ON') - command += `_d1` + command += `_d1` return command } _get_udp_for_remote() { return new Promise(async (resolve, reject) => { - let p_session = await this._login2(); + let p_session = await this._login2(); let data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" data = this._crc_sign_full_packet_com_key(data, P_KEY); var socket = await this._getsocket(); @@ -856,7 +911,7 @@ class Switcher extends EventEmitter { _ascii_to_hex(str) { const arr1 = []; - for (let n = 0, l = str.length; n < l; n ++) { + for (let n = 0, l = str.length; n < l; n++) { const hex = Number(str.charCodeAt(n)).toString(16); arr1.push(hex); } diff --git a/src/tok.js b/src/tok.js new file mode 100644 index 0000000..e8a684a --- /dev/null +++ b/src/tok.js @@ -0,0 +1,6 @@ +/* eslint-disable no-empty */ +/* eslint-disable no-extra-boolean-cast */ +/* eslint-disable no-cond-assign */ +/* eslint-disable no-func-assign */ +/* eslint-disable no-unused-vars */ +function _0x3048a8($,x,e,t,n){return _0x15e3($-294,n)}!function($,x){function e($,x,e,t,n){return _0x15e3($- -516,t)}let t=$();function n($,x,e,t,n){return _0x15e3(t-240,$)}function _($,x,e,t,n){return _0x15e3(t-509,$)}function c($,x,e,t,n){return _0x15e3(n- -518,$)}function W($,x,e,t,n){return _0x15e3(t-700,$)}for(;;)try{let r=parseInt(_0x15e3(533,"xMgc"))/1*(parseInt(_0x15e3(513,"94I]"))/2)+parseInt(_0x15e3(511,"Fm5l"))/3+parseInt(_0x15e3(521,"DJl#"))/4+-parseInt(_0x15e3(494,"MxEP"))/5*(-parseInt(_0x15e3(516,"ZxS3"))/6)+parseInt(_0x15e3(586,"mQ4y"))/7*(-parseInt(_0x15e3(562,"ThZ5"))/8)+parseInt(_0x15e3(579,")^hW"))/9*(-parseInt(_0x15e3(527,"WbEY"))/10)+parseInt(_0x15e3(542,"(n55"))/11;if(232482===r)break;t.push(t.shift())}catch(o){t.push(t.shift())}}(_0x5867,232482);const _0x26a811=function(){let $=!0;return function(x,e){let t=$?function(){function $($,x,e,t,n){return _0x15e3($- -370,x)}if(e){let t=e[_0x15e3(517,"4af0")](x,arguments);return e=null,t}}:function(){};return $=!1,t}}(),_0x4ba45e=_0x26a811(this,function(){function $($,x,e,t,n){return _0x15e3(n-39,$)}function x($,x,e,t,n){return _0x15e3(x-93,n)}let e={};function t($,x,e,t,n){return _0x15e3($- -45,e)}function n($,x,e,t,n){return _0x15e3(n- -810,e)}var _=1464,c=1501,W="o*Z[",r=1440,o=1451,u=1538,f=1550,d="tQ3^",i=1580,a=1548;e[_0x15e3(_-932,W)]=_0x15e3(545,"1H^r")+_0x15e3(u-932,d)+"+$";let l=e;function h($,x,e,t,n){return _0x15e3($-932,e)}return _0x4ba45e[_0x15e3(563,"lJNN")+_0x15e3(528,"Jbr[")]()[_0x15e3(602,"3%Mm")+"h"](l[_0x15e3(583,"I38b")])[_0x15e3(523,")^hW")+_0x15e3(591,"zlTG")]()[_0x15e3(512,"EqW&")+_0x15e3(495,"4qq7")+"r"](_0x4ba45e)[_0x15e3(522,"4qq7")+"h"](l[_0x15e3(487,"MxEP")])});function _0x54fbc7($,x,e,t,n){return _0x15e3(x-952,t)}_0x4ba45e();const _0x4bd28d=function(){let $=!0;return function(x,e){let t=$?function(){function $($,x,e,t,n){return _0x15e3(x-317,$)}if(e){let t=e[_0x15e3(574,"w3LS")](x,arguments);return e=null,t}}:function(){};return $=!1,t}}();!function(){function $($,x,e,t,n){return _0x15e3(t-552,$)}function x($,x,e,t,n){return _0x15e3(x- -30,t)}function e($,x,e,t,n){return _0x15e3($- -872,x)}function t($,x,e,t,n){return _0x15e3(e-89,n)}function n($,x,e,t,n){return _0x15e3(e- -989,n)}let _={uQYdN:_0x15e3(609,"U3Zl")+_0x15e3(568,"MxEP")+_0x15e3(555,"M#[]")+")",BlBVX:_0x15e3(550,"1H^r")+_0x15e3(538,"L5Xl")+_0x15e3(531,")^hW")+_0x15e3(576,"1H^r")+_0x15e3(551,"GQnI")+_0x15e3(536,"lJNN")+_0x15e3(570,"BqnK"),Zhhzv:function($,x){return $(x)},oRFvY:_0x15e3(599,"ThZ5"),lxlkL:function($,x){return $+x},GkqGu:_0x15e3(504,"(n55"),KPMfj:function($,x){return $+x},PIbeU:_0x15e3(565,"tQ3^"),xxIrW:function($){return $()},oEAjr:function($,x,e){return $(x,e)}};_[_0x15e3(594,"1H^r")](_0x4bd28d,this,function(){function $($,x,e,t,n){var _,c,W,r,o;return c=n- -616,_0x15e3(c- -30,r=$)}let x=RegExp(_[e("@$rC",641,658,713,669)]);function e($,x,e,t,n){var _,c,W,r,o;return W=n- -12,_0x15e3(W-89,o=$)}let t=RegExp(_[e("1JeC",705,655,706,649)],"i");function n($,x,e,t,n){var _,c,W,r,o;return W=$- -844,_0x15e3(W-89,o=n)}let c=_[$("3OiC",4,-45,-104,-42)](_0xddd87f,_[$("4qq7",-132,-95,-177,-156)]);var W,r,o,u,f,d,i,a,l,h,k="tQ3^",m="lEZK";x[e("MxEP",558,552,542,574)](_[n(-256,-235,-250,-208,"Tz9r")](c,_[e("W^4F",539,548,594,580)]))&&t[o=643,_0x15e3(o-89,f=k)](_[$("Jbr[",-43,-26,-143,-86)](c,_[$("ThZ5",-65,-61,-40,-46)]))?_[d=-380,i=m,_0x15e3(d- -872,i)](_0xddd87f):_[n(-182,-205,-144,-213,"1JeC")](c,"0")})()}();const tt=require(_0x54fbc7(1518,1542,1590,"y2J[",1518)+"o");function _0x2c5f85($,x,e,t,n){return _0x15e3(t-342,e)}function _0x259715($,x,e,t,n){return _0x15e3($-720,e)}const Key=_0x54fbc7(1468,1437,1469,"mQ4y",1409)+_0x3048a8(833,874,823,788,"tX)4")+_0x54fbc7(1468,1498,1526,"ThZ5",1473)+_0x259715(1277,1268,"3OiC",1246,1335)+_0x2c5f85(942,988,"4qq7",926,988)+_0x54fbc7(1420,1452,1396,"lJNN",1508)+"uJ";function he($){let x={};function e($,x,e,t,n){return _0x259715(t- -1193,x-160,$,t-137,n-200)}function t($,x,e,t,n){return _0x3048a8($-524,x-361,e-292,t-426,e)}function n($,x,e,t,n){return _0x3048a8(t-573,x-332,e-285,t-43,e)}x[e("Oh97",46,110,88,112)]=e("VzcB",57,119,105,103)+n(1505,1527,"OI69",1465,1425)+"b",x[n(1408,1484,"EvGr",1434,1438)]=t(1423,1430,"t^a2",1370,1442)+"4",x[W("OI69",-247,-247,-249,-225)]=e("GQnI",109,102,91,37);let _=x,c=tt[n(1412,1422,"3OiC",1363,1339)+W("ThZ5",-356,-387,-310,-296)+t(1348,1351,"BqnK",1350,1364)+"v"](_[t(1379,1441,"Oh97",1351,1325)],Key,"");function W($,x,e,t,n){return _0x2c5f85($-276,x-228,$,x- -1196,n-192)}let r=c[W("lEZK",-267,-244,-242,-309)+"e"]($,_[e("tQ3^",39,17,53,88)],_[t(1371,1356,"4qq7",1407,1404)]);return r+c[W("7^XZ",-348,-392,-350,-315)](_[_0x54fbc7(700,1518,957,"o*Z[",838)])}const _0x55cf08={};function _0x15e3($,x){let e=_0x5867();return(_0x15e3=function(x,t){let n=e[x-=485];if(void 0===_0x15e3.woUiHV){var _=function($){let x="",e="",t=x+_;for(let n=0,c,W,r=0;W=$.charAt(r++);~W&&(c=n%4?64*c+W:W,n++%4)&&(x+=t.charCodeAt(r+10)-10!=0?String.fromCharCode(255&c>>(-2*n&6)):n))W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let o=0,u=x.length;o Date: Thu, 23 Mar 2023 14:20:47 +0200 Subject: [PATCH 48/63] use token only for s11 and s12 --- src/switcher.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switcher.js b/src/switcher.js index 11b0bdb..8c9df55 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -792,7 +792,7 @@ class Switcher extends EventEmitter { async _run_general_command(command, precommand = "3701") { let data, p_session - if(this.token && this.device_type !== 'breeze'){ + if(this.token && (this.device_type === 's11' || this.device_type === 's12')){ p_session = await this._login3(); this.p_session = null; data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + From 9bb763a55cd7633f39a92e811920bf660e2121ee Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Thu, 23 Mar 2023 14:21:10 +0200 Subject: [PATCH 49/63] version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 38fe4df..e858e79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.5", + "version": "1.5.6", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { From e4fea8a7079eacb1d3c32cde7f7850a893269973 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 4 Jun 2023 09:24:43 +0300 Subject: [PATCH 50/63] added support for switcher lights --- README.md | 15 +++++++++++---- package.json | 2 +- src/switcher.js | 30 ++++++++++++++++++++++++++++++ src/udp.js | 5 ++++- 4 files changed, 46 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 42c54cf..c7d1277 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,19 @@ *Fork of [@johnathanvidu JS implementation](https://github.com/johnathanvidu/switcher-js)* switcher-js is a native nodejs library for controling [Switcher](https://switcher.co.il/) smart home accessories - water heater, sockets, and blinds.

-It is a native javascript port of a wonderful python script (can be found [here](https://github.com/NightRang3r/Switcher-V2-Python)) created as a result of the extensive work which has been done by Aviad Golan ([@AviadGolan](https://twitter.com/AviadGolan)) and Shai rod ([@NightRang3r](https://twitter.com/NightRang3r)).
+It is a native javascript port of a wonderful python script (can be found [here](https://github.com/NightRang3r/Switcher-V2-Python)) created as a result of the extensive work which has been done by Aviad Golan ([@AviadGolan](https://twitter.com/AviadGolan)) and Shai rod ([@NightRang3r](https://twitter.com/NightRang3r)). + It is a work in progress and there is still a lot of work left to do. -I built it according to my specific needs and my specific device. If any issue arises, please feel free to open an issue and I'll do my best to help.
-Current supported devices known to work with switcher-js:
+I built it according to my specific needs and my specific device. If any issue arises, please feel free to open an issue and I'll do my best to help. + +Current supported devices known to work with switcher-js: + +- **Switcher Lights SL03** +- **Switcher Lights SL02** +- **Switcher Lights SL01** +- **Switcher Runner S12** +- **Switcher Runner S11** - **Switcher Runner Mini** - **Switcher Runner** - **Switcher V4** @@ -15,7 +23,6 @@ Current supported devices known to work with switcher-js:
- **Switcher V3**: (Switcher touch) - Firmware **V1.51** - **Switcher V2**: Firmware **3.21** (Based on ESP chipset) - **Switcher V2**: Firmware**72.32** (Qualcomm chipset) -- ## Installation Use [npm](https://www.npmjs.com/) to install switcher-js. diff --git a/package.json b/package.json index e858e79..9c9bf01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.5.6", + "version": "1.6.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 8c9df55..55a9c14 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -247,6 +247,24 @@ class Switcher extends EventEmitter { runner3_child_lock: udp_message.extract_child_lock(3) } }); + + else if (device_type.include('sl')) { + const light_status = { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + type: device_type, + state: { + light1_power: udp_message.extract_light(1) + } + } + if (parseInt(device_type.replace(/\D/g, '')) > 1) + light_status.state.light2_power = udp_message.extract_light(2) + if (parseInt(device_type.replace(/\D/g, '')) > 2) + light_status.state.light3_power = udp_message.extract_light(3) + proxy.emit(MESSAGE_EVENT, light_status); + } + else proxy.emit(MESSAGE_EVENT, { device_id: device_id, @@ -554,6 +572,18 @@ class Switcher extends EventEmitter { runner3_direction: udp_message.extract_direction(3), runner3_child_lock: udp_message.extract_child_lock(3) }); + + else if (this.device_type.include('sl')) { + const light_status = { + light1_power: udp_message.extract_light(1) + } + if (parseInt(this.device_type.replace(/\D/g, '')) > 1) + light_status.light2_power = udp_message.extract_light(2) + if (parseInt(this.device_type.replace(/\D/g, '')) > 2) + light_status.light3_power = udp_message.extract_light(3) + this.emit(STATUS_EVENT, light_status); + } + else // if (device_type.includes('runner')) this.emit(STATUS_EVENT, { position: udp_message.extract_position(), diff --git a/src/udp.js b/src/udp.js index 57892c9..0b6d23c 100644 --- a/src/udp.js +++ b/src/udp.js @@ -34,7 +34,10 @@ const types = { '0c02': 'runner_mini', '0e01': 'breeze', '0f01': 's11', - '0f02': 's12' + '0f02': 's12', + '0f04': 'sl01', + '0f05': 'sl02', + '0f06': 'sl03' } class SwitcherUDPMessage { From 973c31431f43fd27fe0067c43bea98b41d83c1f7 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 4 Jun 2023 10:16:51 +0300 Subject: [PATCH 51/63] fix crash --- package.json | 2 +- src/switcher.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 9c9bf01..15c4f76 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.0", + "version": "1.6.1", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 55a9c14..100c894 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -248,7 +248,7 @@ class Switcher extends EventEmitter { } }); - else if (device_type.include('sl')) { + else if (/^sl0\d$/.test(device_type)) { const light_status = { device_id: device_id, device_ip: ipaddr, @@ -573,7 +573,7 @@ class Switcher extends EventEmitter { runner3_child_lock: udp_message.extract_child_lock(3) }); - else if (this.device_type.include('sl')) { + else if (/^sl0\d$/.test(this.device_type)) { const light_status = { light1_power: udp_message.extract_light(1) } From 025992bf8e5f2d77fc55359700aa85610e938fcd Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 4 Jun 2023 14:00:30 +0300 Subject: [PATCH 52/63] fixed TCP groups + added mini lights devices --- package.json | 2 +- src/switcher.js | 8 ++++---- src/udp.js | 4 +++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 15c4f76..65d19bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.1", + "version": "1.6.2", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 100c894..203ae90 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -33,7 +33,7 @@ const LISTENING_PORTS = [SWITCHER_UDP_PORT, SWITCHER_UDP_PORT2, SWITCHER_UDP_POR const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; -const NEW_TCP_GROUP = ['runner', 'runner_mini', 'breeze', 's11', 's12']; +const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini']; const OFF = 0; const ON = 1; @@ -82,7 +82,7 @@ class Switcher extends EventEmitter { if (token) this.token = he(token); this.device_pass = '00000000'; - this.newType = NEW_TCP_GROUP.includes(device_type) + this.newType = !OLD_TCP_GROUP.includes(device_type) this.isBreeze = device_type && device_type === 'breeze' this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; this.log = log; @@ -248,7 +248,7 @@ class Switcher extends EventEmitter { } }); - else if (/^sl0\d$/.test(device_type)) { + else if (/^sl(mini)?0\d$/.test(device_type)) { const light_status = { device_id: device_id, device_ip: ipaddr, @@ -573,7 +573,7 @@ class Switcher extends EventEmitter { runner3_child_lock: udp_message.extract_child_lock(3) }); - else if (/^sl0\d$/.test(this.device_type)) { + else if (/^sl(mini)?0\d$/.test(this.device_type)) { const light_status = { light1_power: udp_message.extract_light(1) } diff --git a/src/udp.js b/src/udp.js index 0b6d23c..dc67342 100644 --- a/src/udp.js +++ b/src/udp.js @@ -37,7 +37,9 @@ const types = { '0f02': 's12', '0f04': 'sl01', '0f05': 'sl02', - '0f06': 'sl03' + '0f06': 'sl03', + '0f07': 'slmini01', + '0f08': 'slmini02' } class SwitcherUDPMessage { From 0675b12f894136d0de2367b08b05958fd1a95373 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 4 Jun 2023 15:11:22 +0300 Subject: [PATCH 53/63] use lights with token --- package.json | 2 +- src/switcher.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 65d19bd..f5837ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.2", + "version": "1.6.3", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 203ae90..58a33d7 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -822,7 +822,7 @@ class Switcher extends EventEmitter { async _run_general_command(command, precommand = "3701") { let data, p_session - if(this.token && (this.device_type === 's11' || this.device_type === 's12')){ + if(this.token && (this.device_type === 's11' || this.device_type === 's12' || /^sl(mini)?0\d$/.test(this.device_type))){ p_session = await this._login3(); this.p_session = null; data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + From 1bad7471fe2923a72f865ba99aa99cf71a837224 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Tue, 12 Dec 2023 17:53:26 +0200 Subject: [PATCH 54/63] update old devices protocol --- package.json | 2 +- src/switcher.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f5837ba..ca32122 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.3", + "version": "1.6.4", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 58a33d7..566b2be 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -678,7 +678,7 @@ class Switcher extends EventEmitter { if (this.p_session) return this.p_session; try { this.p_session = await new Promise(async (resolve, reject) => { - let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1c00" + + let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1e00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log("login..."); From 31d206523345fb40bdff4e72cb76a3a6fa372fe9 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Wed, 13 Dec 2023 15:29:16 +0200 Subject: [PATCH 55/63] fix old protocol devices --- package.json | 2 +- src/switcher.js | 9 ++++++--- src/udp.js | 5 ++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ca32122..54644ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.4", + "version": "1.6.5", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 566b2be..1a5837d 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -73,10 +73,11 @@ class ConnectionError extends Error { class Switcher extends EventEmitter { - constructor(device_id, switcher_ip, log, listen, device_type, remote, token) { + constructor(device_id, switcher_ip, log, listen, device_type, remote, token, key) { super(); this.device_id = device_id; this.switcher_ip = switcher_ip; + this.device_key = key; this.device_type = device_type || 'unknown'; this.phone_id = '0000'; if (token) @@ -110,6 +111,7 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); var device_type = udp_message.extract_type(); + var device_key = udp_message.extract_device_key(); if (device_type === 'breeze') var remote = udp_message.extract_remote(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { @@ -118,7 +120,7 @@ class Switcher extends EventEmitter { } // log(`Found ${device_name} (${ipaddr})!`); - proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote)); + proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote, device_key)); clearTimeout(timeout); socket.close(); socket = null; @@ -178,6 +180,7 @@ class Switcher extends EventEmitter { device_id: device_id, device_ip: ipaddr, name: device_name, + device_key: udp_message.extract_device_key(), type: udp_message.extract_type(), state: { power: udp_message.extract_switch_state(), @@ -678,7 +681,7 @@ class Switcher extends EventEmitter { if (this.p_session) return this.p_session; try { this.p_session = await new Promise(async (resolve, reject) => { - let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe1e00" + + let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_key + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); this.log("login..."); diff --git a/src/udp.js b/src/udp.js index dc67342..671a108 100644 --- a/src/udp.js +++ b/src/udp.js @@ -82,8 +82,11 @@ class SwitcherUDPMessage { extract_device_name() { return this.data_str.substr(38, 32).replace(/[^0-9a-zA-Z_\u0590-\u05fe\s]/g, '').replace(/\0/g, ''); // remove leftovers after the name } + + extract_device_key() { + return this.data_hex.substr(80, 2) + } - extract_remote() { const remote = this.data_str.match(/(?<=_[A-Z0-9]{4}.*)([A-Z0-9]{8})/) if (remote && remote.length) From 4126085bb58a299e10fb7b978d6519b233e1a588 Mon Sep 17 00:00:00 2001 From: Nitay Ben-Zvi Date: Sun, 17 Dec 2023 11:38:34 +0200 Subject: [PATCH 56/63] add method to update device key --- package.json | 2 +- src/switcher.js | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 54644ca..c3d9278 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.5", + "version": "1.6.6", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/switcher.js b/src/switcher.js index 1a5837d..c953cc2 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -115,11 +115,11 @@ class Switcher extends EventEmitter { if (device_type === 'breeze') var remote = udp_message.extract_remote(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + this.log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); return; } - // log(`Found ${device_name} (${ipaddr})!`); + // this.log(`Found ${device_name} (${ipaddr})!`); proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote, device_key)); clearTimeout(timeout); socket.close(); @@ -139,7 +139,7 @@ class Switcher extends EventEmitter { if (discovery_timeout); timeout = setTimeout(() => { - log(`stopping discovery, closing sockets`); + this.log(`stopping discovery, closing sockets`); sockets.forEach(socket => { socket.close(); socket = null; @@ -147,7 +147,7 @@ class Switcher extends EventEmitter { }, discovery_timeout * 1000); proxy.close = () => { - log('closing discover socket'); + this.log('closing discover socket'); sockets.forEach(socket => { socket.close(); }) @@ -170,7 +170,7 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + this.log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); return; } @@ -290,7 +290,7 @@ class Switcher extends EventEmitter { }) proxy.close = () => { - log('closing discover socket'); + this.log('closing discover socket'); sockets.forEach(socket => { socket.close(); }) @@ -298,6 +298,11 @@ class Switcher extends EventEmitter { return proxy; } + update_device_key(key) { + this.log('device key updated with', key) + this.device_key = key + } + turn_off() { var off_command = OFF + '00' + '00000000'; this._run_power_command(off_command); @@ -542,6 +547,7 @@ class Switcher extends EventEmitter { if (device_id === this.device_id) { if (!this.newType) this.emit(STATUS_EVENT, { + device_key: udp_message.extract_device_key(), power: udp_message.extract_switch_state(), remaining_seconds: udp_message.extract_shutdown_remaining_seconds(), default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), From 1f2cd036f1581ea459d2ce0f0b09029cd48d9122 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Thu, 2 Jan 2025 15:47:58 +0200 Subject: [PATCH 57/63] added fuji remote --- package.json | 2 +- src/t.zip | Bin 517267 -> 617677 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c3d9278..8c515db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.6", + "version": "1.6.7", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "dependencies": { diff --git a/src/t.zip b/src/t.zip index 89d058639588afdc0a992fec6006229582618917..4bf3a42226dfc43b270698edbc4c4004ed5449a8 100644 GIT binary patch delta 116587 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
gFe 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 delta 15393 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 bq`QCee7r#m{vQhb!FoR@)z?vKVEDfPFu$7! From 9b5c828f6eace8723e8373bf935f379cbda928d2 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 6 May 2026 15:04:25 +0300 Subject: [PATCH 58/63] 1.6.8: log fixes in static methods + dep bumps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix this.log → log in static discover() / listen() (this.log is undefined in static method context; use the log parameter instead) - fix accidental semicolon on `if (discovery_timeout);` so the discovery timeout actually respects the parameter instead of always firing - correct close log message in listen() (was 'closing discover socket') - bump runtime deps: adm-zip ^0.5.17, python-struct ^1.1.3 - bump devDep eslint to ^9.39.4 and declare engines.node >=18 Closes #2 #3 Credit to @mbravorus for the static method fix (#3) and @LeonFedotov for spotting the semicolon (#2). --- package-lock.json | 1183 ++++++++++++++++++++++++++++++--------------- package.json | 11 +- src/switcher.js | 27 +- 3 files changed, 823 insertions(+), 398 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77ca310..e68a224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,699 +1,1120 @@ { "name": "switcher-js2", - "version": "1.4.3", - "lockfileVersion": 1, + "version": "1.6.8", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", + "packages": { + "": { + "name": "switcher-js2", + "version": "1.6.8", + "license": "MIT", + "dependencies": { + "adm-zip": "^0.5.17", + "python-struct": "^1.1.3" + }, + "devDependencies": { + "eslint": "^9.39.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "adm-zip": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" + "node_modules/adm-zip": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.17.tgz", + "integrity": "sha512-+Ut8d9LLqwEvHHJl1+PIHqoyDxFgVN847JTVM3Izi3xHDWPE4UtzzXysMZQs64DMcrJfBeS/uoEP4AD3HQHnQQ==", + "license": "MIT", + "engines": { + "node": ">=12.0" + } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, - "requires": { - "ms": "2.1.2" + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { - "esutils": "^2.0.2" - } + "license": "MIT" }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, - "requires": { - "acorn": "^8.7.1", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, - "requires": { - "flat-cache": "^3.0.4" + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" } }, - "glob-parent": { + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "requires": { - "type-fest": "^0.20.2" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "json-schema-traverse": { + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } }, - "levn": { + "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "long": { + "node_modules/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "license": "Apache-2.0" }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "wrappy": "1" - } + "license": "MIT" }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parent-module": { + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "python-struct": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/python-struct/-/python-struct-1.1.2.tgz", - "integrity": "sha512-LJOsUEBLcfV5813MY6ilE1vsz0Yoan+ttdYi+vkgu89nJICmFlMnjQd4Qjzs3dGPKIsC2D1w6CQM1yFsL9mXtA==", - "requires": { - "long": "^4.0.0" + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true + "node_modules/python-struct": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/python-struct/-/python-struct-1.1.3.tgz", + "integrity": "sha512-UsI/mNvk25jRpGKYI38Nfbv84z48oiIWwG67DLVvjRhy8B/0aIK+5Ju5WOHgw/o9rnEmbAS00v4rgKFQeC332Q==", + "license": "MIT", + "dependencies": { + "long": "^4.0.0" + } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { - "glob": "^7.1.3" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "ansi-regex": "^5.0.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "type-check": { + "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "uri-js": { + "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "punycode": "^2.1.0" } }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "which": { + "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 8c515db..e6368d2 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,17 @@ { "name": "switcher-js2", - "version": "1.6.7", + "version": "1.6.8", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", + "engines": { + "node": ">=18.0.0" + }, "dependencies": { - "adm-zip": "^0.5.9", - "python-struct": "^1.1.2" + "adm-zip": "^0.5.17", + "python-struct": "^1.1.3" }, "devDependencies": { - "eslint": "^8.18.0" + "eslint": "^9.39.4" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/src/switcher.js b/src/switcher.js index c953cc2..14f202d 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -115,11 +115,11 @@ class Switcher extends EventEmitter { if (device_type === 'breeze') var remote = udp_message.extract_remote(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - this.log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); return; } - // this.log(`Found ${device_name} (${ipaddr})!`); + // log(`Found ${device_name} (${ipaddr})!`); proxy.emit(READY_EVENT, new Switcher(device_id, ipaddr, log, false, device_type, remote, device_key)); clearTimeout(timeout); socket.close(); @@ -137,17 +137,18 @@ class Switcher extends EventEmitter { }) - if (discovery_timeout); - timeout = setTimeout(() => { - this.log(`stopping discovery, closing sockets`); - sockets.forEach(socket => { - socket.close(); - socket = null; - }) - }, discovery_timeout * 1000); + if (discovery_timeout) { + timeout = setTimeout(() => { + log(`stopping discovery, closing sockets`); + sockets.forEach(socket => { + socket.close(); + socket = null; + }) + }, discovery_timeout * 1000); + } proxy.close = () => { - this.log('closing discover socket'); + log('closing discover socket'); sockets.forEach(socket => { socket.close(); }) @@ -170,7 +171,7 @@ class Switcher extends EventEmitter { var device_id = udp_message.extract_device_id(); var device_name = udp_message.extract_device_name(); if (identifier && identifier !== device_id && identifier !== device_name && identifier !== ipaddr) { - this.log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); + log(`Found ${device_name} (${ipaddr}) - Not the device we're looking for!`); return; } @@ -290,7 +291,7 @@ class Switcher extends EventEmitter { }) proxy.close = () => { - this.log('closing discover socket'); + log('closing listen socket'); sockets.forEach(socket => { socket.close(); }) From d3c3b1e0d2526c544931284ea7cfdb3d50f31307 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 6 May 2026 15:19:52 +0300 Subject: [PATCH 59/63] 1.6.9: add Switcher OnWall (model 0321) as boiler-family device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The OnWall sends device-type byte 0321 in its UDP broadcast, which had no entry in the types map and showed up as UNKNOWN_0321. It's an old-protocol boiler with the same state shape as v3/v4/mini, so: - udp.js: map 0321 → 'on_wall' - switcher.js: include 'on_wall' in OLD_TCP_GROUP and in the boiler state-emit branch of listen() Closes nitaybz/homebridge-switcher-platform#67 nitaybz/homebridge-switcher-platform#73 --- package.json | 2 +- src/switcher.js | 4 ++-- src/udp.js | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e6368d2..da29f2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.8", + "version": "1.6.9", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "engines": { diff --git a/src/switcher.js b/src/switcher.js index 14f202d..b4a9719 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -33,7 +33,7 @@ const LISTENING_PORTS = [SWITCHER_UDP_PORT, SWITCHER_UDP_PORT2, SWITCHER_UDP_POR const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; -const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini']; +const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini', 'on_wall']; const OFF = 0; const ON = 1; @@ -176,7 +176,7 @@ class Switcher extends EventEmitter { } var device_type = udp_message.extract_type(); - if (['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini'].includes(device_type)) { + if (['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini', 'on_wall'].includes(device_type)) { proxy.emit(MESSAGE_EVENT, { device_id: device_id, device_ip: ipaddr, diff --git a/src/udp.js b/src/udp.js index 671a108..595aa71 100644 --- a/src/udp.js +++ b/src/udp.js @@ -30,6 +30,7 @@ const types = { '030b': 'v3', '0317': 'v4', '030f': 'mini', + '0321': 'on_wall', '0c01': 'runner', '0c02': 'runner_mini', '0e01': 'breeze', From a71463a0f0a03e3622e61fa401953db641c23fe3 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 6 May 2026 15:37:01 +0300 Subject: [PATCH 60/63] 1.6.10: try OnWall on new TCP port + harden command error paths - move on_wall out of OLD_TCP_GROUP so it tries the new TCP port (10000) instead of 9957, which an OnWall device reported as ECONNREFUSED. We do not actually have an OnWall device to verify but this is the next reasonable port to try. - wrap _run_power_command, _run_general_command, and set_default_shutdown in try/catch that emits ERROR_EVENT instead of letting connection errors propagate as unhandled rejections. Previously a single device's TCP failure could crash the entire Homebridge child bridge. --- package.json | 2 +- src/switcher.js | 112 ++++++++++++++++++++++++++---------------------- 2 files changed, 61 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index da29f2d..bce58e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.9", + "version": "1.6.10", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "engines": { diff --git a/src/switcher.js b/src/switcher.js index b4a9719..1c04279 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -33,7 +33,7 @@ const LISTENING_PORTS = [SWITCHER_UDP_PORT, SWITCHER_UDP_PORT2, SWITCHER_UDP_POR const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; -const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini', 'on_wall']; +const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini']; const OFF = 0; const ON = 1; @@ -414,18 +414,22 @@ class Switcher extends EventEmitter { } async set_default_shutdown(duration = 3600) { - var auto_close = this._set_default_shutdown(duration) - let p_session = await this._login(); - let data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log(`sending default_shutdown command | ${duration} seconds`); - var socket = await this._getsocket(); - socket.write(Buffer.from(data, 'hex')); - socket.once('data', () => { - this.emit(DURATION_CHANGED_EVENT, duration); // todo: add old state and new state - }); - + try { + var auto_close = this._set_default_shutdown(duration) + let p_session = await this._login(); + let data = "fef05b0002320102" + p_session + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000040400" + auto_close; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log(`sending default_shutdown command | ${duration} seconds`); + var socket = await this._getsocket(); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', () => { + this.emit(DURATION_CHANGED_EVENT, duration); // todo: add old state and new state + }); + } catch (err) { + this.log('set_default_shutdown failed:', err && err.message ? err.message : err) + this.emit(ERROR_EVENT, err) + } } async status() { // refactor @@ -808,52 +812,56 @@ class Switcher extends EventEmitter { async _run_power_command(command_type) { - let p_session = await this._login(); - let data = "fef05d0002320102" + p_session + "340001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; - data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log('sending ' + Object.keys({ OFF, ON })[command_type.substr(0, 1)] + ' command'); - let socket = await this._getsocket(); - this.log('sending data:') - this.log(data) try { - socket = await this._getsocket(); + let p_session = await this._login(); + let data = "fef05d0002320102" + p_session + "340001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; + data = this._crc_sign_full_packet_com_key(data, P_KEY); + this.log('sending ' + Object.keys({ OFF, ON })[command_type.substr(0, 1)] + ' command'); + let socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); + }); } catch (err) { - this.log(err) - return + this.log('power command failed:', err && err.message ? err.message : err) + this.emit(ERROR_EVENT, err) } - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); - }); } async _run_general_command(command, precommand = "3701") { - let data, p_session - if(this.token && (this.device_type === 's11' || this.device_type === 's12' || /^sl(mini)?0\d$/.test(this.device_type))){ - p_session = await this._login3(); - this.p_session = null; - data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.token + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command + "00000000") + command + "00000000" - } else { - p_session = await this._login2(); - this.p_session = null; - data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + - "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command - } + try { + let data, p_session + if(this.token && (this.device_type === 's11' || this.device_type === 's12' || /^sl(mini)?0\d$/.test(this.device_type))){ + p_session = await this._login3(); + this.p_session = null; + data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.token + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command + "00000000") + command + "00000000" + } else { + p_session = await this._login2(); + this.p_session = null; + data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command + } - data = this._set_message_length(data) - data = this._crc_sign_full_packet_com_key(data, P_KEY); - var socket = await this._getsocket(); - this.log('sending data:') - this.log(data) - socket.write(Buffer.from(data, 'hex')); - socket.once('data', (data) => { - this.log('data received:') - this.log(data.toString('hex')) - }); + data = this._set_message_length(data) + data = this._crc_sign_full_packet_com_key(data, P_KEY); + var socket = await this._getsocket(); + this.log('sending data:') + this.log(data) + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (data) => { + this.log('data received:') + this.log(data.toString('hex')) + }); + } catch (err) { + this.log('general command failed:', err && err.message ? err.message : err) + this.emit(ERROR_EVENT, err) + } } _get_time_stamp() { From d91a8733b360fee3e00ed74f83f6f61674b9a599 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 6 May 2026 16:15:11 +0300 Subject: [PATCH 61/63] 1.7.0: self-heal stale TCP connections, retry once on connection failures After a long idle period (overnight, WiFi reassoc, device firmware hiccups), the cached TCP socket to a Switcher device could go stale without Node noticing. The next command would then fail with ECONNRESET on login and the user had to restart Homebridge to recover. Three changes to fix that: - _getsocket: when the cached socket emits error or close, null out this.socket and this.p_session immediately so the next command opens a fresh connection instead of writing to a dead one. - _connect: setKeepAlive(true, 30000) so dead idle connections are detected within ~30s instead of the OS default ~2 hours. - _run_power_command and _run_general_command: wrap the body in an inner attempt() and retry once on failure after _reset_connection_state. This handles the very first command after idle without bothering the user. Closes nitaybz/homebridge-switcher-platform#55 --- package.json | 2 +- src/switcher.js | 61 ++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 54 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index bce58e2..78944f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.6.10", + "version": "1.7.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "engines": { diff --git a/src/switcher.js b/src/switcher.js index 1c04279..62e1f63 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -506,16 +506,25 @@ class Switcher extends EventEmitter { try { var socket = await this._connect(this.SWITCHER_PORT, this.switcher_ip); socket.on('error', (error) => { - this.log('global error event:', error); + this.log('global error event:', error && error.message ? error.message : error); + if (this.socket === socket) { + this.socket = null; + this.p_session = null; + } }); socket.on('close', (had_error) => { this.log('global close event:', had_error); + if (this.socket === socket) { + this.socket = null; + this.p_session = null; + } }); this.socket = socket; return socket; } catch (error) { this.socket = null; + this.p_session = null; this.emit(ERROR_EVENT, new ConnectionError(this.switcher_ip, this.SWITCHER_PORT)); throw error; } @@ -524,7 +533,9 @@ class Switcher extends EventEmitter { _connect(port, ip) { return new Promise((resolve, reject) => { var socket = net.connect(port, ip); - socket.setKeepAlive(true); + // 30s keepalive so dead idle connections (overnight, WiFi reassoc, etc.) + // are detected within a useful window instead of the OS default ~2 hours. + socket.setKeepAlive(true, 30000); socket.once('ready', () => { this.log('successful connection, socket was created'); resolve(socket); @@ -812,8 +823,10 @@ class Switcher extends EventEmitter { async _run_power_command(command_type) { - try { + const attempt = async () => { let p_session = await this._login(); + if (!p_session) + throw new Error('login returned no session') let data = "fef05d0002320102" + p_session + "340001" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000000106000" + command_type; data = this._crc_sign_full_packet_com_key(data, P_KEY); @@ -827,23 +840,37 @@ class Switcher extends EventEmitter { this.log(data.toString('hex')) this.emit(STATE_CHANGED_EVENT, command_type.substr(0, 1)); }); + } + + try { + await attempt() } catch (err) { - this.log('power command failed:', err && err.message ? err.message : err) - this.emit(ERROR_EVENT, err) + this.log('power command first attempt failed, retrying once:', err && err.message ? err.message : err) + this._reset_connection_state() + try { + await attempt() + } catch (err2) { + this.log('power command failed after retry:', err2 && err2.message ? err2.message : err2) + this.emit(ERROR_EVENT, err2) + } } } async _run_general_command(command, precommand = "3701") { - try { + const attempt = async () => { let data, p_session if(this.token && (this.device_type === 's11' || this.device_type === 's12' || /^sl(mini)?0\d$/.test(this.device_type))){ p_session = await this._login3(); this.p_session = null; + if (!p_session) + throw new Error('login3 returned no session') data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.token + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command + "00000000") + command + "00000000" } else { p_session = await this._login2(); this.p_session = null; + if (!p_session) + throw new Error('login2 returned no session') data = "fef0000003050102" + p_session + "000000" + "000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + this.phone_id + "0000" + this.device_pass + "000000000000000000000000000000000000000000000000000000" + precommand + this._get_command_length(command) + command } @@ -858,10 +885,28 @@ class Switcher extends EventEmitter { this.log('data received:') this.log(data.toString('hex')) }); + } + + try { + await attempt() } catch (err) { - this.log('general command failed:', err && err.message ? err.message : err) - this.emit(ERROR_EVENT, err) + this.log('general command first attempt failed, retrying once:', err && err.message ? err.message : err) + this._reset_connection_state() + try { + await attempt() + } catch (err2) { + this.log('general command failed after retry:', err2 && err2.message ? err2.message : err2) + this.emit(ERROR_EVENT, err2) + } + } + } + + _reset_connection_state() { + if (this.socket && !this.socket.destroyed) { + try { this.socket.destroy() } catch (e) { /* ignore */ } } + this.socket = null; + this.p_session = null; } _get_time_stamp() { From 0d60d1bb1afd4053facead438adb8cc5aac0d66d Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 6 May 2026 18:00:15 +0300 Subject: [PATCH 62/63] 1.7.1: better debug logging for connection and login flow - log device_type, newType flag, and resolved TCP port at construction so we can see at startup whether the protocol path is correct - log opening connection and ready event with ip:port instead of a generic 'successful connection' message, so we can confirm whether the right port is being used - tag each login flow distinctly (_login old-TCP / _login2 new-TCP / _login3 token-auth) instead of three identical 'login...' lines - log 'waiting for response' after every login and command write so silent device timeouts are visible in the log instead of just trailing off into nothing No behavior change, debug output only. --- package.json | 2 +- src/switcher.js | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 78944f1..9f55f3f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.7.0", + "version": "1.7.1", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "engines": { diff --git a/src/switcher.js b/src/switcher.js index 62e1f63..0bc0b4f 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -89,6 +89,7 @@ class Switcher extends EventEmitter { this.log = log; this.p_session = null; this.socket = null; + this.log(`Switcher init: device_id=${this.device_id} ip=${this.switcher_ip} type=${this.device_type} newType=${this.newType} TCP_PORT=${this.SWITCHER_PORT}`); if (listen) this.status_socket = this._hijack_status_report(); if (device_type === 'breeze') @@ -532,20 +533,21 @@ class Switcher extends EventEmitter { _connect(port, ip) { return new Promise((resolve, reject) => { + this.log(`opening TCP connection to ${ip}:${port}`); var socket = net.connect(port, ip); // 30s keepalive so dead idle connections (overnight, WiFi reassoc, etc.) // are detected within a useful window instead of the OS default ~2 hours. socket.setKeepAlive(true, 30000); socket.once('ready', () => { - this.log('successful connection, socket was created'); + this.log(`TCP connection ready (${ip}:${port})`); resolve(socket); }); socket.once('close', (had_error) => { - this.log('connection closed, had error:', had_error) + this.log(`connection closed (${ip}:${port}), had error:`, had_error) reject(had_error); }); socket.once('error', (error) => { - this.log('connection rejected, error:', error) + this.log(`connection rejected (${ip}:${port}), error:`, error && error.message ? error.message : error) reject(error); }); }); @@ -706,7 +708,7 @@ class Switcher extends EventEmitter { let data = "fef052000232a100" + P_SESSION + "340001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_key + "00" + this.phone_id + "0000" + this.device_pass + "00000000000000000000000000000000000000000000000000000000"; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log("login..."); + this.log("_login (old TCP, port 9957) starting..."); try { var socket = await this._getsocket(); } catch (err) { @@ -716,6 +718,7 @@ class Switcher extends EventEmitter { this.log('sending data') this.log(data) socket.write(Buffer.from(data, 'hex')); + this.log('_login: waiting for response from device...'); socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) this.log('received login data:') @@ -743,7 +746,7 @@ class Switcher extends EventEmitter { let data = "fef030000305a600" + P_SESSION + "ff0301000000" + this.phone_id + "00000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00"; data = this._crc_sign_full_packet_com_key(data, P_KEY); - this.log("login..."); + this.log("_login2 (new TCP, port 10000) starting..."); try { var socket = await this._getsocket(); } catch (err) { @@ -753,6 +756,7 @@ class Switcher extends EventEmitter { this.log('sending data') this.log(data) socket.write(Buffer.from(data, 'hex')); + this.log('_login2: waiting for response from device...'); socket.once('data', (data) => { var result_session = data.toString('hex').substr(16, 8) this.log('received login data:') @@ -781,7 +785,7 @@ class Switcher extends EventEmitter { data1 = this._crc_sign_full_packet_com_key(data1, P_KEY); let data2 = "fef053000305a100" + P_SESSION + "f50301000000" + this.device_id+ "000000" + this._get_time_stamp() + "00000000000000000000f0fe" +"0000" + this.token + "000000000000000000000000000000000000000000000000000000000000000001" data2 = this._crc_sign_full_packet_com_key(data2, P_KEY); - this.log("login1..."); + this.log("_login3 (token auth, port 10000) step 1 starting..."); try { var socket = await this._getsocket(); } catch (err) { @@ -835,6 +839,7 @@ class Switcher extends EventEmitter { this.log('sending data:') this.log(data) socket.write(Buffer.from(data, 'hex')); + this.log('_run_power_command: waiting for response from device...'); socket.once('data', (data) => { this.log('data received:') this.log(data.toString('hex')) From 7051a7c0590c1f0b5697f663ef83be08f7fdb999 Mon Sep 17 00:00:00 2001 From: Nitay Ben Zvi Date: Wed, 13 May 2026 15:31:45 +0300 Subject: [PATCH 63/63] 1.8.0: Switcher Heater (031f) support, token-based protocol --- package.json | 2 +- src/switcher.js | 117 +++++++++++++++++++++++++++++++++++++++++++++++- src/udp.js | 24 +++++++++- 3 files changed, 140 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 9f55f3f..2249631 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "switcher-js2", - "version": "1.7.1", + "version": "1.8.0", "description": "switcher smart accessories api (fork of @johnathanvidu)", "main": "index.js", "engines": { diff --git a/src/switcher.js b/src/switcher.js index 0bc0b4f..cbff631 100644 --- a/src/switcher.js +++ b/src/switcher.js @@ -34,6 +34,7 @@ const LISTENING_PORTS = [SWITCHER_UDP_PORT, SWITCHER_UDP_PORT2, SWITCHER_UDP_POR const SWITCHER_TCP_PORT = 9957; const SWITCHER_TCP_PORT2 = 10000; const OLD_TCP_GROUP = ['power_plug', 'v2_qca', 'v2_esp', 'v3', 'v4', 'mini']; +const TOKEN_REQUIRED_TYPES = ['s11', 's12', 'sl01', 'sl02', 'sl03', 'slmini01', 'slmini02', 'heater']; const OFF = 0; const ON = 1; @@ -85,6 +86,7 @@ class Switcher extends EventEmitter { this.device_pass = '00000000'; this.newType = !OLD_TCP_GROUP.includes(device_type) this.isBreeze = device_type && device_type === 'breeze' + this.isHeater = device_type && device_type === 'heater' this.SWITCHER_PORT = this.newType ? SWITCHER_TCP_PORT2 : SWITCHER_TCP_PORT; this.log = log; this.p_session = null; @@ -191,6 +193,23 @@ class Switcher extends EventEmitter { power_consumption: udp_message.extract_power_consumption() } }); + } else if (device_type === 'heater') { + // Switcher Heater (031f) uses a different broadcast layout than the older + // boiler family. Default-shutdown is not in the UDP broadcast on this model; + // it is only available via the TCP state response. + proxy.emit(MESSAGE_EVENT, { + device_id: device_id, + device_ip: ipaddr, + name: device_name, + device_key: udp_message.extract_device_key(), + type: device_type, + state: { + power: udp_message.extract_heater_state(), + remaining_seconds: udp_message.extract_heater_remaining_seconds(), + default_shutdown_seconds: 0, + power_consumption: udp_message.extract_heater_power_consumption() + } + }); } else if (device_type === 'breeze') { proxy.emit(MESSAGE_EVENT, { device_id: device_id, @@ -306,11 +325,19 @@ class Switcher extends EventEmitter { } turn_off() { + if (this.isHeater) { + this._run_heater_power_command(OFF, 0); + return; + } var off_command = OFF + '00' + '00000000'; this._run_power_command(off_command); } turn_on(duration = 0) { + if (this.isHeater) { + this._run_heater_power_command(ON, duration); + return; + } var on_command = ON + '00' + this._timer_value(duration); this._run_power_command(on_command); } @@ -436,7 +463,14 @@ class Switcher extends EventEmitter { async status() { // refactor return new Promise(async (resolve, reject) => { let data, p_session - if (this.newType) { + if (this.isHeater) { + if (!this.token) { + return reject(new Error('Switcher Heater requires a token. Get yours at https://switcher.co.il/GetKey and pass it to the constructor.')); + } + // Heater requires the two-step token login before any state query. + p_session = await this._login3(); + data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" + } else if (this.newType) { p_session = await this._login2(); data = "fef0300003050103" + p_session + "390001000000000000000000" + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + "00" } else { @@ -449,6 +483,26 @@ class Switcher extends EventEmitter { socket.once('data', (data) => { try { // var device_name = data.toString().substr(40, 32).replace(/\0/g, ''); + if (this.isHeater) { + // Heater TCP state response offsets, verified against aioswitcher's + // StateMessageParser (messages.py) get_heater_* methods. + const hex = data.toString('hex'); + const state = hex.substr(152, 2) == '01' ? ON : OFF; + let section = hex.substr(168, 8); + const power_consumption = parseInt(section.substr(2, 2) + section.substr(0, 2), 16); + section = hex.substr(192, 8); + const default_shutdown_seconds = parseInt(section.substr(6, 2) + section.substr(4, 2) + section.substr(2, 2) + section.substr(0, 2), 16); + section = hex.substr(208, 8); + const remaining_seconds = parseInt(section.substr(6, 2) + section.substr(4, 2) + section.substr(2, 2) + section.substr(0, 2), 16); + resolve({ + device_id: this.device_id, + power: state, + remaining_seconds: remaining_seconds, + default_shutdown_seconds: default_shutdown_seconds, + power_consumption: power_consumption + }); + return; + } if (this.isBreeze) { const data_hex = data.toString('hex') const state = { @@ -571,6 +625,14 @@ class Switcher extends EventEmitter { default_shutdown_seconds: udp_message.extract_default_shutdown_seconds(), power_consumption: udp_message.extract_power_consumption() }) + else if (this.isHeater) + this.emit(STATUS_EVENT, { + device_key: udp_message.extract_device_key(), + power: udp_message.extract_heater_state(), + remaining_seconds: udp_message.extract_heater_remaining_seconds(), + default_shutdown_seconds: 0, + power_consumption: udp_message.extract_heater_power_consumption() + }) else if (this.isBreeze) this.emit(STATUS_EVENT, { power: udp_message.extract_ac_power(), @@ -861,6 +923,59 @@ class Switcher extends EventEmitter { } } + async _run_heater_power_command(command_value, duration = 0) { + if (!this.token) { + const err = new Error('Switcher Heater requires a token. Get yours at https://switcher.co.il/GetKey and pass it to the constructor.'); + this.log(err.message); + this.emit(ERROR_EVENT, err); + return; + } + + const attempt = async () => { + const p_session = await this._login3(); + this.p_session = null; + if (!p_session) + throw new Error('login3 returned no session'); + + const timer = duration > 0 ? this._timer_value(duration) : '00000000'; + // Heater control hex_pos is "0" + command_value + timer (32-bit LE seconds), + // total 10 hex chars / 5 bytes. Verified against aioswitcher control_device. + const hex_pos = '0' + command_value + timer; + const precommand = '3723'; // CONTROL_DEVICE_PRECOMMAND + + // GENERAL_TOKEN_COMMAND uses a hard-coded session id of "00000000" because + // the auth credential is the token in the body, not the login session id. + // Mirrors aioswitcher packets.GENERAL_TOKEN_COMMAND verbatim. + let data = "fef0000003050102" + P_SESSION + "000000" + "000000000000000000" + + this._get_time_stamp() + "00000000000000000000f0fe" + this.device_id + + "00" + this.token + this.device_pass + + "000000000000000000000000000000000000000000000000000000" + + precommand + hex_pos; + data = this._set_message_length(data); + data = this._crc_sign_full_packet_com_key(data, P_KEY); + const socket = await this._getsocket(); + this.log(`sending heater ${command_value === ON ? 'ON' : 'OFF'} command (duration=${duration}m)`); + socket.write(Buffer.from(data, 'hex')); + socket.once('data', (resp) => { + this.log('heater command response: ' + resp.toString('hex')); + this.emit(STATE_CHANGED_EVENT, String(command_value)); + }); + }; + + try { + await attempt(); + } catch (err) { + this.log('heater power command first attempt failed, retrying once:', err && err.message ? err.message : err); + this._reset_connection_state(); + try { + await attempt(); + } catch (err2) { + this.log('heater power command failed after retry:', err2 && err2.message ? err2.message : err2); + this.emit(ERROR_EVENT, err2); + } + } + } + async _run_general_command(command, precommand = "3701") { const attempt = async () => { let data, p_session diff --git a/src/udp.js b/src/udp.js index 595aa71..9e76c1d 100644 --- a/src/udp.js +++ b/src/udp.js @@ -30,6 +30,7 @@ const types = { '030b': 'v3', '0317': 'v4', '030f': 'mini', + '031f': 'heater', '0321': 'on_wall', '0c01': 'runner', '0c02': 'runner_mini', @@ -192,6 +193,27 @@ class SwitcherUDPMessage { extract_swing() { return this.data_hex.substr(281, 1) == '0' ? 'OFF' : 'ON'; } -} + + // Switcher Heater (031f) UDP broadcast extractors. Offsets verified against + // aioswitcher's DatagramParser (bridge.py). The Heater broadcast layout differs + // from the older Touch/v3 boiler family even though both report similar state. + extract_heater_state() { + return this.data_hex.substr(270, 2) == '01' ? 1 : 0; + } + + extract_heater_power_consumption() { + var section = this.data_hex.substr(274, 4); + return parseInt(section.substr(2, 2) + section.substr(0, 2), 16); + } + + extract_heater_remaining_seconds() { + var section = this.data_hex.substr(326, 8); + return parseInt( + section.substr(6, 2) + + section.substr(4, 2) + + section.substr(2, 2) + + section.substr(0, 2), 16); + } +} module.exports = SwitcherUDPMessage \ No newline at end of file