@petro-kushchak/homebridge-tuya-eve 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4,7 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  const eveHistoryService_1 = require("./lib/eveHistoryService");
6
6
  const tuyapi_1 = __importDefault(require("tuyapi"));
7
+ const EnergyCharacteristics_1 = __importDefault(require("./lib/EnergyCharacteristics"));
8
+ const homebridgeCallbacks_1 = require("./lib/homebridgeCallbacks");
7
9
  let hap;
10
+ const ONOFF_DP = '1';
11
+ const AMP_DP = '18';
12
+ const WATT_DP = '19';
13
+ const VOLT_DP = '20';
8
14
  /**
9
15
  * Platform Accessory
10
16
  * An instance of this class is created for each accessory your platform registers
@@ -15,6 +21,12 @@ class TuyaSwitchAccessoryAccessory {
15
21
  this.logger = logger;
16
22
  this.config = config;
17
23
  this.api = api;
24
+ this.amperes = 0;
25
+ this.watts = 0;
26
+ this.volts = 0;
27
+ this.inUse = false;
28
+ this.totalConsumption = 0;
29
+ this.resetTotal = 0;
18
30
  hap = api.hap;
19
31
  this.log = logger;
20
32
  this.name = config.name;
@@ -24,6 +36,7 @@ class TuyaSwitchAccessoryAccessory {
24
36
  this.key = config.key;
25
37
  this.model = config.model || 'TuyaSwitch';
26
38
  this.updateInterval = config.updateInterval || 5000;
39
+ this.EnergyCharacteristics = EnergyCharacteristics_1.default.create(hap.Characteristic);
27
40
  this.device = new tuyapi_1.default({
28
41
  id: this.id,
29
42
  key: this.key,
@@ -40,42 +53,92 @@ class TuyaSwitchAccessoryAccessory {
40
53
  this.service
41
54
  .getCharacteristic(hap.Characteristic.On)
42
55
  .on("get" /* CharacteristicEventTypes.GET */, (callback) => {
43
- this.log.info(`[${this.name} Switch] GET ON`);
44
- callback(undefined, false);
56
+ this.log.info('GET ON');
57
+ callback(undefined, this.inUse);
45
58
  })
46
- .on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
47
- this.log.info(`[${this.name} Switch] SET ON: ${value}`);
48
- // if (value) {
49
- // this.device.
50
- // } else {
51
- // // this.streamer.stopPlaying();
52
- // }
53
- callback();
54
- });
59
+ .on("set" /* CharacteristicEventTypes.SET */, (0, homebridgeCallbacks_1.callbackify)(this.setPowerOnOff.bind(this)));
60
+ this.service.addOptionalCharacteristic(this.EnergyCharacteristics.Volts);
61
+ this.service.addOptionalCharacteristic(this.EnergyCharacteristics.Amperes);
62
+ this.service.addOptionalCharacteristic(this.EnergyCharacteristics.Watts);
63
+ this.service.addOptionalCharacteristic(this.EnergyCharacteristics.TotalConsumption);
64
+ this.service.addOptionalCharacteristic(this.EnergyCharacteristics.ResetTotal);
65
+ this.service
66
+ .getCharacteristic(this.EnergyCharacteristics.Volts)
67
+ .on('get', this.getVoltage.bind(this))
68
+ .updateValue(this.volts);
69
+ this.service
70
+ .getCharacteristic(this.EnergyCharacteristics.Amperes)
71
+ .on('get', this.getCurrent.bind(this))
72
+ .updateValue(this.amperes);
73
+ this.service
74
+ .getCharacteristic(this.EnergyCharacteristics.Watts)
75
+ .on('get', this.getConsumption.bind(this))
76
+ .updateValue(this.watts);
77
+ this.service
78
+ .getCharacteristic(this.EnergyCharacteristics.TotalConsumption)
79
+ .on('get', this.getTotalConsumption.bind(this));
55
80
  // create handlers for required characteristics
56
81
  this.historyService = new eveHistoryService_1.EveHistoryService(this, this.api, this.logger);
57
82
  //device events
58
83
  setTimeout(async () => {
59
84
  this.device.on('connected', () => {
60
- this.log(`[${this.name} Switch] Connected to device!`);
85
+ this.log('Connected to device!');
86
+ // setInterval(() => {}, this.updateInterval);
61
87
  });
62
88
  this.device.on('disconnected', () => {
63
- this.log(`[${this.name} Switch] Disconnected to device!`);
89
+ this.log('Disconnected to device!');
64
90
  });
65
91
  this.device.on('error', (error) => {
66
92
  this.log(`Error ${error}!`);
67
93
  });
68
94
  this.device.on('data', (data) => {
69
- this.log(`[${this.name} Switch] DATA ${JSON.stringify(data)}!`);
95
+ this.log(`DATA ${JSON.stringify(data)}!`);
96
+ this.updateState(data.dps);
70
97
  });
71
98
  this.device.on('dp-refresh', (data) => {
72
- this.log(`[${this.name} Switch] REFRESH ${JSON.stringify(data)}!`);
99
+ this.log(`REFRESH ${JSON.stringify(data)}!`);
100
+ this.updateState(data.dps);
73
101
  });
74
102
  //device find&connect
75
103
  await this.device.find();
76
104
  await this.device.connect();
77
105
  }, 1000);
78
106
  }
107
+ getTotalConsumption(callback) {
108
+ callback(null, this.totalConsumption);
109
+ }
110
+ getResetTotal(callback) {
111
+ callback(null, this.resetTotal);
112
+ }
113
+ setResetTotal(value, callback) {
114
+ this.log.info(`[${this.device.context.name}] setResetTotal: ${value}`);
115
+ this.resetTotal = value;
116
+ this.totalConsumption = 0;
117
+ callback(null, this.resetTotal);
118
+ }
119
+ getVoltage(callback) {
120
+ // this.updateState(this.device.state);
121
+ callback(null, this.volts);
122
+ }
123
+ getCurrent(callback) {
124
+ // this.updateState(this.device.state);
125
+ callback(null, this.amperes);
126
+ }
127
+ getConsumption(callback) {
128
+ // this.updateState(this.device.state);
129
+ callback(null, this.watts);
130
+ }
131
+ updateState(dps) {
132
+ this.amperes = dps[AMP_DP] ? dps[AMP_DP] / 1000 : 0;
133
+ this.watts = dps[WATT_DP] ? dps[WATT_DP] / 10 : 0;
134
+ this.volts = dps[VOLT_DP] ? dps[VOLT_DP] / 10 : 0;
135
+ this.inUse = dps[ONOFF_DP] ? dps[ONOFF_DP] : false;
136
+ this.log.info(`[${this.device.context.name}] updated a:${this.amperes} w:${this.watts} v:${this.volts} on: ${this.inUse}`);
137
+ }
138
+ async setPowerOnOff(value) {
139
+ this.log.info(`SET ON: ${value}`);
140
+ await this.device.set({ set: value, dps: '1' });
141
+ }
79
142
  getServices() {
80
143
  return [
81
144
  this.informationService,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAYA,+DAA4D;AAE5D,oDAAgC;AAChC,IAAI,GAAQ,CAAC;AAcb;;;;GAIG;AACH,MAAM,4BAA4B;IAgBhC,YACU,MAAe,EACf,MAAuB,EACvB,GAAQ;QAFR,WAAM,GAAN,MAAM,CAAS;QACf,WAAM,GAAN,MAAM,CAAiB;QACvB,QAAG,GAAH,GAAG,CAAK;QAEhB,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAEd,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;QAEpD,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAU,CAAC;YAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,2BAA2B;QAE3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE;aAC7D,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;aACrD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC;aAC1D,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;aACvD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnE,kCAAkC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;aACxC,EAAE,2CAED,CAAC,QAAmC,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC9C,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CACF;aACA,EAAE,2CAED,CAAC,KAA0B,EAAE,QAAmC,EAAE,EAAE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,oBAAoB,KAAK,EAAE,CAAC,CAAC;YACxD,eAAe;YACf,iBAAiB;YACjB,WAAW;YACX,oCAAoC;YACpC,IAAI;YACJ,QAAQ,EAAE,CAAC;QACb,CAAC,CACF,CAAC;QAEJ,+CAA+C;QAE/C,IAAI,CAAC,cAAc,GAAG,IAAI,qCAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzE,eAAe;QACf,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,+BAA+B,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,qBAAqB;YACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,WAAW;QACT,OAAO;YACL,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;SACjC,CAAC;IACJ,CAAC;CACF;AA7HD,iBAAS,CAAC,GAAQ,EAAE,EAAE;IACpB,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACd,GAAG,CAAC,iBAAiB,CACnB,qBAAqB,EACrB,eAAe,EACf,4BAA4B,CAC7B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ // Thanks to homebridge-tplink-smarthome
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ class EnergyCharacteristicFactory {
5
+ create(Characteristic) {
6
+ class EnergyCharacteristic extends Characteristic {
7
+ constructor(displayName, UUID, props) {
8
+ super(displayName, UUID);
9
+ this.setProps(Object.assign({
10
+ format: Characteristic.Formats.FLOAT,
11
+ minValue: 0,
12
+ maxValue: 65535,
13
+ perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY],
14
+ }, props));
15
+ this.value = this.getDefaultValue();
16
+ }
17
+ }
18
+ class Amperes extends EnergyCharacteristic {
19
+ constructor() {
20
+ super('Amperes', Amperes.UUID, {
21
+ unit: 'A',
22
+ minStep: 0.001,
23
+ });
24
+ }
25
+ }
26
+ Amperes.UUID = 'E863F126-079E-48FF-8F27-9C2605A29F52';
27
+ class TotalConsumption extends EnergyCharacteristic {
28
+ constructor() {
29
+ super('Total Consumption', TotalConsumption.UUID, {
30
+ unit: 'kWh',
31
+ minStep: 0.001,
32
+ });
33
+ }
34
+ }
35
+ TotalConsumption.UUID = 'E863F10C-079E-48FF-8F27-9C2605A29F52';
36
+ class KilowattVoltAmpereHour extends EnergyCharacteristic {
37
+ constructor() {
38
+ super('Apparent Energy', KilowattVoltAmpereHour.UUID, {
39
+ format: Characteristic.Formats.UINT32,
40
+ unit: 'kVAh',
41
+ minStep: 1,
42
+ });
43
+ }
44
+ }
45
+ KilowattVoltAmpereHour.UUID = 'E863F127-079E-48FF-8F27-9C2605A29F52';
46
+ class VoltAmperes extends EnergyCharacteristic {
47
+ constructor() {
48
+ super('Apparent Power', VoltAmperes.UUID, {
49
+ format: Characteristic.Formats.UINT16,
50
+ unit: 'VA',
51
+ minStep: 1,
52
+ });
53
+ }
54
+ }
55
+ VoltAmperes.UUID = 'E863F110-079E-48FF-8F27-9C2605A29F52';
56
+ class Volts extends EnergyCharacteristic {
57
+ constructor() {
58
+ super('Volts', Volts.UUID, {
59
+ unit: 'V',
60
+ minStep: 0.1,
61
+ });
62
+ }
63
+ }
64
+ Volts.UUID = 'E863F10A-079E-48FF-8F27-9C2605A29F52';
65
+ class Watts extends EnergyCharacteristic {
66
+ constructor() {
67
+ super('Consumption', Watts.UUID, {
68
+ unit: 'W',
69
+ minStep: 0.1,
70
+ });
71
+ }
72
+ }
73
+ Watts.UUID = 'E863F10D-079E-48FF-8F27-9C2605A29F52';
74
+ class ResetTotal extends EnergyCharacteristic {
75
+ constructor() {
76
+ super('Reset Total', ResetTotal.UUID, {
77
+ format: Characteristic.Formats.UINT32,
78
+ unit: Characteristic.Units.seconds,
79
+ perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY, Characteristic.Perms.WRITE],
80
+ });
81
+ }
82
+ }
83
+ ResetTotal.UUID = 'E863F112-079E-48FF-8F27-9C2605A29F52';
84
+ return { Amperes, KilowattVoltAmpereHour, VoltAmperes, Volts, Watts, TotalConsumption, ResetTotal };
85
+ }
86
+ }
87
+ exports.default = new EnergyCharacteristicFactory();
88
+ //# sourceMappingURL=EnergyCharacteristics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnergyCharacteristics.js","sourceRoot":"","sources":["../../src/lib/EnergyCharacteristics.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callbackify = void 0;
4
+ /* eslint-disable @typescript-eslint/ban-types */
5
+ function callbackify(task) {
6
+ return (...args) => {
7
+ const onlyArgs = [];
8
+ let callback = undefined;
9
+ for (const arg of args) {
10
+ if (typeof arg === 'function') {
11
+ callback = arg;
12
+ break;
13
+ }
14
+ onlyArgs.push(arg);
15
+ }
16
+ if (!callback) {
17
+ throw new Error('Missing callback parameter!');
18
+ }
19
+ task(...onlyArgs)
20
+ .then((data) => callback(undefined, data))
21
+ .catch((err) => callback(err));
22
+ };
23
+ }
24
+ exports.callbackify = callbackify;
25
+ //# sourceMappingURL=homebridgeCallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homebridgeCallbacks.js","sourceRoot":"","sources":["../../src/lib/homebridgeCallbacks.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,SAAgB,WAAW,CAAC,IAA0C;IAClE,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACtB,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,QAAQ,GAAa,SAAS,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC3B,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;aACT;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,GAAG,QAAQ,CAAC;aACZ,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC9C,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;AACN,CAAC;AAnBD,kCAmBC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Tuya Eve",
3
3
  "name": "@petro-kushchak/homebridge-tuya-eve",
4
- "version": "1.0.4",
4
+ "version": "1.0.6",
5
5
  "description": "Homebridge plugin for TuyAPI (with Eve app energy consumption monitoring)",
6
6
  "license": "MIT",
7
7
  "repository": {