smart-bus 0.6.0 → 0.8.0
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/.travis.yml +2 -4
- package/CHANGELOG.md +16 -0
- package/README.md +1 -1
- package/lib/bus.js +5 -5
- package/lib/command.js +1 -1
- package/lib/commands.js +102 -66
- package/package.json +7 -8
- package/test/bus.js +24 -24
- package/test/command.js +5 -5
- package/test/device.js +1 -1
- package/test/fixtures/commands.js +117 -99
package/.travis.yml
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 0.8.0
|
|
2
|
+
|
|
3
|
+
* Update for Node.js v22 compatibility
|
|
4
|
+
* Replace deprecated `new Buffer()` constructors with modern APIs
|
|
5
|
+
* Update minimum Node.js version from >=0.12 to >=12.0.0
|
|
6
|
+
* Update development dependencies (mocha, eslint, should, simple-mock)
|
|
7
|
+
* Replace istanbul with nyc for test coverage
|
|
8
|
+
|
|
9
|
+
**BREAKING:**
|
|
10
|
+
|
|
11
|
+
- Node.js version requirement increased from >=0.12 to >=12.0.0
|
|
12
|
+
|
|
13
|
+
## 0.7.0
|
|
14
|
+
|
|
15
|
+
* Add Read Dry Contact Status commaands (`0x15CE`, `0x15CF`)
|
|
16
|
+
|
|
1
17
|
## 0.6.0
|
|
2
18
|
|
|
3
19
|
* Allow to reuse same UDP address
|
package/README.md
CHANGED
package/lib/bus.js
CHANGED
|
@@ -9,16 +9,16 @@ var EventEmitter = require('events');
|
|
|
9
9
|
|
|
10
10
|
module.exports = Bus;
|
|
11
11
|
|
|
12
|
-
var Constants =
|
|
12
|
+
var Constants = Buffer.allocUnsafe(12);
|
|
13
13
|
|
|
14
|
-
Constants.write('HDLMIRACLE');
|
|
14
|
+
Constants.write('HDLMIRACLE', 0, 'ascii');
|
|
15
15
|
Constants.writeUInt16BE(0xAAAA, 10);
|
|
16
16
|
|
|
17
17
|
function Bus(resource) {
|
|
18
18
|
var config = parse(resource);
|
|
19
19
|
var port = config.port;
|
|
20
20
|
|
|
21
|
-
this.address =
|
|
21
|
+
this.address = Buffer.from([0, 0, 0, 0]);
|
|
22
22
|
|
|
23
23
|
this.port = port ? parseInt(port) : 6000;
|
|
24
24
|
this.gateway = config.gateway;
|
|
@@ -113,7 +113,7 @@ Bus.prototype.send = function(options, callback) {
|
|
|
113
113
|
return callback(err);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
var checksum =
|
|
116
|
+
var checksum = Buffer.allocUnsafe(2);
|
|
117
117
|
|
|
118
118
|
checksum.writeUInt16BE(crc(content), 0);
|
|
119
119
|
|
|
@@ -227,7 +227,7 @@ function createSocket(bus) {
|
|
|
227
227
|
socket.on('listening', function() {
|
|
228
228
|
var address = socket.address();
|
|
229
229
|
|
|
230
|
-
bus.address =
|
|
230
|
+
bus.address = Buffer.from(address.address.split('.'));
|
|
231
231
|
|
|
232
232
|
debug('UDP Server is listening on ' + address.address + ':' + address.port);
|
|
233
233
|
|
package/lib/command.js
CHANGED
package/lib/commands.js
CHANGED
|
@@ -89,7 +89,7 @@ var AC = {
|
|
|
89
89
|
},
|
|
90
90
|
|
|
91
91
|
encode: function(data) {
|
|
92
|
-
var buffer =
|
|
92
|
+
var buffer = Buffer.allocUnsafe(13);
|
|
93
93
|
|
|
94
94
|
var temperature = data.temperature || {};
|
|
95
95
|
var current = data.current || {};
|
|
@@ -144,7 +144,7 @@ module.exports = {
|
|
|
144
144
|
},
|
|
145
145
|
|
|
146
146
|
encode: function(data) {
|
|
147
|
-
return
|
|
147
|
+
return Buffer.from([data.area, data.scene]);
|
|
148
148
|
},
|
|
149
149
|
|
|
150
150
|
response: 0x0003
|
|
@@ -180,7 +180,7 @@ module.exports = {
|
|
|
180
180
|
var channels = data.channels || [];
|
|
181
181
|
var length = channels.length;
|
|
182
182
|
var bytes = Math.ceil(length / 8);
|
|
183
|
-
var buffer =
|
|
183
|
+
var buffer = Buffer.allocUnsafe(3 + bytes);
|
|
184
184
|
|
|
185
185
|
buffer.writeUInt8(data.area, 0);
|
|
186
186
|
buffer.writeUInt8(data.scene, 1);
|
|
@@ -210,7 +210,7 @@ module.exports = {
|
|
|
210
210
|
},
|
|
211
211
|
|
|
212
212
|
encode: function(data) {
|
|
213
|
-
return
|
|
213
|
+
return Buffer.from([data.area]);
|
|
214
214
|
},
|
|
215
215
|
|
|
216
216
|
response: 0x000D
|
|
@@ -226,7 +226,7 @@ module.exports = {
|
|
|
226
226
|
},
|
|
227
227
|
|
|
228
228
|
encode: function(data) {
|
|
229
|
-
return
|
|
229
|
+
return Buffer.from([data.area, data.scene]);
|
|
230
230
|
}
|
|
231
231
|
},
|
|
232
232
|
|
|
@@ -266,7 +266,7 @@ module.exports = {
|
|
|
266
266
|
var channels = data.channels || [];
|
|
267
267
|
var length = channels.length;
|
|
268
268
|
var bytes = Math.ceil(length / 8);
|
|
269
|
-
var buffer =
|
|
269
|
+
var buffer = Buffer.allocUnsafe(2 + areas.length + bytes);
|
|
270
270
|
|
|
271
271
|
buffer.writeUInt8(areas.length, 0);
|
|
272
272
|
|
|
@@ -329,7 +329,7 @@ module.exports = {
|
|
|
329
329
|
var device = data.device;
|
|
330
330
|
var channels = data.channels;
|
|
331
331
|
var length = channels.length;
|
|
332
|
-
var buffer =
|
|
332
|
+
var buffer = Buffer.allocUnsafe(5 + length);
|
|
333
333
|
|
|
334
334
|
word.encode(buffer, device.type, 0);
|
|
335
335
|
buffer.writeUInt8(device.subnet, 2);
|
|
@@ -360,7 +360,7 @@ module.exports = {
|
|
|
360
360
|
},
|
|
361
361
|
|
|
362
362
|
encode: function(data) {
|
|
363
|
-
return
|
|
363
|
+
return Buffer.from([data.area, data.scene]);
|
|
364
364
|
},
|
|
365
365
|
|
|
366
366
|
response: 0x0001
|
|
@@ -391,7 +391,7 @@ module.exports = {
|
|
|
391
391
|
encode: function(data) {
|
|
392
392
|
var channels = data.channels || [];
|
|
393
393
|
var length = channels.length;
|
|
394
|
-
var buffer =
|
|
394
|
+
var buffer = Buffer.allocUnsafe(4 + length);
|
|
395
395
|
|
|
396
396
|
buffer.writeUInt8(data.area, 0);
|
|
397
397
|
buffer.writeUInt8(data.scene, 1);
|
|
@@ -420,7 +420,7 @@ module.exports = {
|
|
|
420
420
|
},
|
|
421
421
|
|
|
422
422
|
encode: function(data) {
|
|
423
|
-
var buffer =
|
|
423
|
+
var buffer = Buffer.allocUnsafe(1);
|
|
424
424
|
|
|
425
425
|
status.encode(buffer, data.success, 0);
|
|
426
426
|
|
|
@@ -440,7 +440,7 @@ module.exports = {
|
|
|
440
440
|
},
|
|
441
441
|
|
|
442
442
|
encode: function(data) {
|
|
443
|
-
return
|
|
443
|
+
return Buffer.from([data.area, data.sequence]);
|
|
444
444
|
},
|
|
445
445
|
|
|
446
446
|
response: 0x001B
|
|
@@ -456,7 +456,7 @@ module.exports = {
|
|
|
456
456
|
},
|
|
457
457
|
|
|
458
458
|
encode: function(data) {
|
|
459
|
-
return
|
|
459
|
+
return Buffer.from([data.area, data.sequence]);
|
|
460
460
|
}
|
|
461
461
|
},
|
|
462
462
|
|
|
@@ -467,7 +467,7 @@ module.exports = {
|
|
|
467
467
|
},
|
|
468
468
|
|
|
469
469
|
encode: function(data) {
|
|
470
|
-
return
|
|
470
|
+
return Buffer.from([data.area]);
|
|
471
471
|
},
|
|
472
472
|
|
|
473
473
|
response: 0xE015
|
|
@@ -483,7 +483,7 @@ module.exports = {
|
|
|
483
483
|
},
|
|
484
484
|
|
|
485
485
|
encode: function(data) {
|
|
486
|
-
return
|
|
486
|
+
return Buffer.from([data.area, data.sequence]);
|
|
487
487
|
}
|
|
488
488
|
},
|
|
489
489
|
|
|
@@ -502,7 +502,7 @@ module.exports = {
|
|
|
502
502
|
encode: function(data) {
|
|
503
503
|
var areas = data.areas || [];
|
|
504
504
|
var length = areas.length;
|
|
505
|
-
var buffer =
|
|
505
|
+
var buffer = Buffer.allocUnsafe(length);
|
|
506
506
|
|
|
507
507
|
for (var i = 0; i < length; i++)
|
|
508
508
|
buffer.writeUInt8(areas[i].sequence, i);
|
|
@@ -524,7 +524,7 @@ module.exports = {
|
|
|
524
524
|
},
|
|
525
525
|
|
|
526
526
|
encode: function(data) {
|
|
527
|
-
var buffer =
|
|
527
|
+
var buffer = Buffer.allocUnsafe(4);
|
|
528
528
|
|
|
529
529
|
buffer.writeUInt8(data.channel, 0);
|
|
530
530
|
buffer.writeUInt8(data.level, 1);
|
|
@@ -546,7 +546,7 @@ module.exports = {
|
|
|
546
546
|
},
|
|
547
547
|
|
|
548
548
|
encode: function(data) {
|
|
549
|
-
var buffer =
|
|
549
|
+
var buffer = Buffer.allocUnsafe(3);
|
|
550
550
|
|
|
551
551
|
buffer.writeUInt8(data.channel, 0);
|
|
552
552
|
status.encode(buffer, data.success, 1);
|
|
@@ -576,7 +576,7 @@ module.exports = {
|
|
|
576
576
|
encode: function(data) {
|
|
577
577
|
var channels = data.channels || [];
|
|
578
578
|
var length = channels.length;
|
|
579
|
-
var buffer =
|
|
579
|
+
var buffer = Buffer.allocUnsafe(length + 1);
|
|
580
580
|
|
|
581
581
|
buffer.writeUInt8(length, 0);
|
|
582
582
|
|
|
@@ -608,7 +608,7 @@ module.exports = {
|
|
|
608
608
|
encode: function(data) {
|
|
609
609
|
var channels = data.channels || [];
|
|
610
610
|
var length = channels.length;
|
|
611
|
-
var buffer =
|
|
611
|
+
var buffer = Buffer.allocUnsafe(length + 1);
|
|
612
612
|
|
|
613
613
|
buffer.writeUInt8(length, 0);
|
|
614
614
|
|
|
@@ -631,7 +631,7 @@ module.exports = {
|
|
|
631
631
|
},
|
|
632
632
|
|
|
633
633
|
encode: function(data) {
|
|
634
|
-
return
|
|
634
|
+
return Buffer.from([data.block, data.status ? 1 : 0]);
|
|
635
635
|
}
|
|
636
636
|
},
|
|
637
637
|
|
|
@@ -646,7 +646,7 @@ module.exports = {
|
|
|
646
646
|
},
|
|
647
647
|
|
|
648
648
|
encode: function(data) {
|
|
649
|
-
return
|
|
649
|
+
return Buffer.from([data.block, data.status ? 1 : 0]);
|
|
650
650
|
}
|
|
651
651
|
},
|
|
652
652
|
|
|
@@ -657,7 +657,7 @@ module.exports = {
|
|
|
657
657
|
},
|
|
658
658
|
|
|
659
659
|
encode: function(data) {
|
|
660
|
-
return
|
|
660
|
+
return Buffer.from([data.block]);
|
|
661
661
|
}
|
|
662
662
|
},
|
|
663
663
|
|
|
@@ -673,7 +673,7 @@ module.exports = {
|
|
|
673
673
|
},
|
|
674
674
|
|
|
675
675
|
encode: function(data) {
|
|
676
|
-
return
|
|
676
|
+
return Buffer.from([data.block, data.status ? 1 : 0]);
|
|
677
677
|
}
|
|
678
678
|
},
|
|
679
679
|
|
|
@@ -688,7 +688,7 @@ module.exports = {
|
|
|
688
688
|
},
|
|
689
689
|
|
|
690
690
|
encode: function(data) {
|
|
691
|
-
return
|
|
691
|
+
return Buffer.from([data.block, data.status ? 1 : 0]);
|
|
692
692
|
}
|
|
693
693
|
},
|
|
694
694
|
|
|
@@ -707,7 +707,7 @@ module.exports = {
|
|
|
707
707
|
},
|
|
708
708
|
|
|
709
709
|
encode: function(data) {
|
|
710
|
-
var buffer =
|
|
710
|
+
var buffer = Buffer.allocUnsafe(8);
|
|
711
711
|
|
|
712
712
|
status.encode(buffer, data.success, 0);
|
|
713
713
|
date.encode(buffer, data.date, 1);
|
|
@@ -727,7 +727,7 @@ module.exports = {
|
|
|
727
727
|
},
|
|
728
728
|
|
|
729
729
|
encode: function(data) {
|
|
730
|
-
var buffer =
|
|
730
|
+
var buffer = Buffer.allocUnsafe(7);
|
|
731
731
|
|
|
732
732
|
date.encode(buffer, data.date, 0);
|
|
733
733
|
|
|
@@ -744,7 +744,7 @@ module.exports = {
|
|
|
744
744
|
},
|
|
745
745
|
|
|
746
746
|
encode: function(data) {
|
|
747
|
-
var buffer =
|
|
747
|
+
var buffer = Buffer.allocUnsafe(1);
|
|
748
748
|
|
|
749
749
|
status.encode(buffer, data.success, 0);
|
|
750
750
|
|
|
@@ -759,7 +759,7 @@ module.exports = {
|
|
|
759
759
|
},
|
|
760
760
|
|
|
761
761
|
encode: function(data) {
|
|
762
|
-
var buffer =
|
|
762
|
+
var buffer = Buffer.allocUnsafe(6);
|
|
763
763
|
|
|
764
764
|
date.encode(buffer, data.date, 0);
|
|
765
765
|
|
|
@@ -779,7 +779,7 @@ module.exports = {
|
|
|
779
779
|
},
|
|
780
780
|
|
|
781
781
|
encode: function(data) {
|
|
782
|
-
var buffer =
|
|
782
|
+
var buffer = Buffer.allocUnsafe(2);
|
|
783
783
|
|
|
784
784
|
buffer.writeUInt8(data.switch, 0);
|
|
785
785
|
buffer.writeUInt8(data.status ? 255 : 0, 1);
|
|
@@ -800,7 +800,7 @@ module.exports = {
|
|
|
800
800
|
},
|
|
801
801
|
|
|
802
802
|
encode: function(data) {
|
|
803
|
-
var buffer =
|
|
803
|
+
var buffer = Buffer.allocUnsafe(2);
|
|
804
804
|
|
|
805
805
|
buffer.writeUInt8(data.switch, 0);
|
|
806
806
|
buffer.writeUInt8(data.status ? 1 : 0, 1);
|
|
@@ -816,7 +816,7 @@ module.exports = {
|
|
|
816
816
|
},
|
|
817
817
|
|
|
818
818
|
encode: function(data) {
|
|
819
|
-
return
|
|
819
|
+
return Buffer.from([data.switch]);
|
|
820
820
|
},
|
|
821
821
|
|
|
822
822
|
response: 0xE019
|
|
@@ -833,7 +833,7 @@ module.exports = {
|
|
|
833
833
|
},
|
|
834
834
|
|
|
835
835
|
encode: function(data) {
|
|
836
|
-
var buffer =
|
|
836
|
+
var buffer = Buffer.allocUnsafe(2);
|
|
837
837
|
|
|
838
838
|
buffer.writeUInt8(data.switch, 0);
|
|
839
839
|
buffer.writeUInt8(data.status ? 1 : 0, 1);
|
|
@@ -860,7 +860,7 @@ module.exports = {
|
|
|
860
860
|
encode: function(data) {
|
|
861
861
|
var switches = data.switches || [];
|
|
862
862
|
var length = switches.length;
|
|
863
|
-
var buffer =
|
|
863
|
+
var buffer = Buffer.allocUnsafe(length + 1);
|
|
864
864
|
|
|
865
865
|
buffer.writeUInt8(length, 0);
|
|
866
866
|
|
|
@@ -883,7 +883,7 @@ module.exports = {
|
|
|
883
883
|
},
|
|
884
884
|
|
|
885
885
|
encode: function(data) {
|
|
886
|
-
return
|
|
886
|
+
return Buffer.from([data.curtain, data.status]);
|
|
887
887
|
},
|
|
888
888
|
|
|
889
889
|
response: 0xE3E1
|
|
@@ -900,7 +900,7 @@ module.exports = {
|
|
|
900
900
|
},
|
|
901
901
|
|
|
902
902
|
encode: function(data) {
|
|
903
|
-
return
|
|
903
|
+
return Buffer.from([data.curtain, data.status]);
|
|
904
904
|
}
|
|
905
905
|
},
|
|
906
906
|
|
|
@@ -911,7 +911,7 @@ module.exports = {
|
|
|
911
911
|
},
|
|
912
912
|
|
|
913
913
|
encode: function(data) {
|
|
914
|
-
return
|
|
914
|
+
return Buffer.from([data.curtain]);
|
|
915
915
|
},
|
|
916
916
|
|
|
917
917
|
response: 0xE3E3
|
|
@@ -928,7 +928,7 @@ module.exports = {
|
|
|
928
928
|
},
|
|
929
929
|
|
|
930
930
|
encode: function(data) {
|
|
931
|
-
return
|
|
931
|
+
return Buffer.from([data.curtain, data.status]);
|
|
932
932
|
}
|
|
933
933
|
},
|
|
934
934
|
|
|
@@ -953,7 +953,7 @@ module.exports = {
|
|
|
953
953
|
encode: function(data) {
|
|
954
954
|
var curtains = data.curtains || [];
|
|
955
955
|
var length = curtains.length;
|
|
956
|
-
var buffer =
|
|
956
|
+
var buffer = Buffer.allocUnsafe(length * 2);
|
|
957
957
|
|
|
958
958
|
for (var i = 0; i < length; i++) {
|
|
959
959
|
var curtain = curtains[i];
|
|
@@ -986,7 +986,7 @@ module.exports = {
|
|
|
986
986
|
},
|
|
987
987
|
|
|
988
988
|
encode: function(data) {
|
|
989
|
-
return
|
|
989
|
+
return Buffer.from([data.key, data.value]);
|
|
990
990
|
},
|
|
991
991
|
|
|
992
992
|
response: 0xE3D9
|
|
@@ -1003,7 +1003,7 @@ module.exports = {
|
|
|
1003
1003
|
},
|
|
1004
1004
|
|
|
1005
1005
|
encode: function(data) {
|
|
1006
|
-
return
|
|
1006
|
+
return Buffer.from([data.key, data.value]);
|
|
1007
1007
|
}
|
|
1008
1008
|
},
|
|
1009
1009
|
|
|
@@ -1014,7 +1014,7 @@ module.exports = {
|
|
|
1014
1014
|
},
|
|
1015
1015
|
|
|
1016
1016
|
encode: function(data) {
|
|
1017
|
-
return
|
|
1017
|
+
return Buffer.from([data.key]);
|
|
1018
1018
|
},
|
|
1019
1019
|
|
|
1020
1020
|
response: 0xE3DB
|
|
@@ -1031,7 +1031,7 @@ module.exports = {
|
|
|
1031
1031
|
},
|
|
1032
1032
|
|
|
1033
1033
|
encode: function(data) {
|
|
1034
|
-
return
|
|
1034
|
+
return Buffer.from([data.key, data.value]);
|
|
1035
1035
|
}
|
|
1036
1036
|
},
|
|
1037
1037
|
|
|
@@ -1091,7 +1091,7 @@ module.exports = {
|
|
|
1091
1091
|
|
|
1092
1092
|
encode: function(data) {
|
|
1093
1093
|
var timerPresent = (data.timer === undefined) ? 0 : 1;
|
|
1094
|
-
var buffer =
|
|
1094
|
+
var buffer = Buffer.allocUnsafe(8 + timerPresent);
|
|
1095
1095
|
var temperature = data.temperature;
|
|
1096
1096
|
|
|
1097
1097
|
buffer.writeUInt8(temperature.type, 0);
|
|
@@ -1128,7 +1128,7 @@ module.exports = {
|
|
|
1128
1128
|
},
|
|
1129
1129
|
|
|
1130
1130
|
encode: function(data) {
|
|
1131
|
-
var buffer =
|
|
1131
|
+
var buffer = Buffer.allocUnsafe(7);
|
|
1132
1132
|
var temperature = data.temperature;
|
|
1133
1133
|
|
|
1134
1134
|
buffer.writeInt8(temperature.type, 0);
|
|
@@ -1164,7 +1164,7 @@ module.exports = {
|
|
|
1164
1164
|
},
|
|
1165
1165
|
|
|
1166
1166
|
encode: function(data) {
|
|
1167
|
-
var buffer =
|
|
1167
|
+
var buffer = Buffer.allocUnsafe(8);
|
|
1168
1168
|
var temperature = data.temperature;
|
|
1169
1169
|
|
|
1170
1170
|
status.encode(buffer, data.success, 0);
|
|
@@ -1189,7 +1189,7 @@ module.exports = {
|
|
|
1189
1189
|
},
|
|
1190
1190
|
|
|
1191
1191
|
encode: function(data) {
|
|
1192
|
-
return
|
|
1192
|
+
return Buffer.from([data.channel]);
|
|
1193
1193
|
},
|
|
1194
1194
|
|
|
1195
1195
|
response: 0x1C5F
|
|
@@ -1227,7 +1227,7 @@ module.exports = {
|
|
|
1227
1227
|
},
|
|
1228
1228
|
|
|
1229
1229
|
encode: function(data) {
|
|
1230
|
-
var buffer =
|
|
1230
|
+
var buffer = Buffer.allocUnsafe(13);
|
|
1231
1231
|
|
|
1232
1232
|
var work = data.work;
|
|
1233
1233
|
var watering = data.watering;
|
|
@@ -1276,7 +1276,7 @@ module.exports = {
|
|
|
1276
1276
|
},
|
|
1277
1277
|
|
|
1278
1278
|
encode: function(data) {
|
|
1279
|
-
var buffer =
|
|
1279
|
+
var buffer = Buffer.allocUnsafe(10);
|
|
1280
1280
|
|
|
1281
1281
|
var work = data.work;
|
|
1282
1282
|
var temperature = data.temperature;
|
|
@@ -1324,7 +1324,7 @@ module.exports = {
|
|
|
1324
1324
|
},
|
|
1325
1325
|
|
|
1326
1326
|
encode: function(data) {
|
|
1327
|
-
var buffer =
|
|
1327
|
+
var buffer = Buffer.allocUnsafe(10);
|
|
1328
1328
|
|
|
1329
1329
|
var work = data.work;
|
|
1330
1330
|
var temperature = data.temperature;
|
|
@@ -1381,7 +1381,7 @@ module.exports = {
|
|
|
1381
1381
|
},
|
|
1382
1382
|
|
|
1383
1383
|
encode: function(data) {
|
|
1384
|
-
return
|
|
1384
|
+
return Buffer.from([data.logic]);
|
|
1385
1385
|
},
|
|
1386
1386
|
|
|
1387
1387
|
response: 0xDB01
|
|
@@ -1407,7 +1407,7 @@ module.exports = {
|
|
|
1407
1407
|
},
|
|
1408
1408
|
|
|
1409
1409
|
encode: function(data) {
|
|
1410
|
-
var buffer =
|
|
1410
|
+
var buffer = Buffer.allocUnsafe(8);
|
|
1411
1411
|
var contacts = data.dryContacts || [];
|
|
1412
1412
|
|
|
1413
1413
|
for (var i = 0; i < 2; i++)
|
|
@@ -1459,7 +1459,7 @@ module.exports = {
|
|
|
1459
1459
|
var contacts = data.dryContacts || [];
|
|
1460
1460
|
var hasSonic = data.hasOwnProperty('sonic');
|
|
1461
1461
|
|
|
1462
|
-
var buffer =
|
|
1462
|
+
var buffer = Buffer.allocUnsafe(hasSonic ? 8 : 7);
|
|
1463
1463
|
|
|
1464
1464
|
status.encode(buffer, data.success, 0);
|
|
1465
1465
|
buffer.writeUInt8(data.temperature + 20, 1);
|
|
@@ -1505,7 +1505,7 @@ module.exports = {
|
|
|
1505
1505
|
},
|
|
1506
1506
|
|
|
1507
1507
|
encode: function(data) {
|
|
1508
|
-
var buffer =
|
|
1508
|
+
var buffer = Buffer.allocUnsafe(7);
|
|
1509
1509
|
var contacts = data.dryContacts || [];
|
|
1510
1510
|
|
|
1511
1511
|
buffer.writeUInt8(data.temperature + 20, 0);
|
|
@@ -1554,7 +1554,7 @@ module.exports = {
|
|
|
1554
1554
|
},
|
|
1555
1555
|
|
|
1556
1556
|
encode: function(data) {
|
|
1557
|
-
var buffer =
|
|
1557
|
+
var buffer = Buffer.allocUnsafe(10);
|
|
1558
1558
|
var contacts = data.dryContacts || [];
|
|
1559
1559
|
|
|
1560
1560
|
status.encode(buffer, data.success, 0);
|
|
@@ -1599,7 +1599,7 @@ module.exports = {
|
|
|
1599
1599
|
},
|
|
1600
1600
|
|
|
1601
1601
|
encode: function(data) {
|
|
1602
|
-
var buffer =
|
|
1602
|
+
var buffer = Buffer.allocUnsafe(9);
|
|
1603
1603
|
var contacts = data.dryContacts || [];
|
|
1604
1604
|
|
|
1605
1605
|
status.encode(buffer, data.success, 0);
|
|
@@ -1625,7 +1625,7 @@ module.exports = {
|
|
|
1625
1625
|
},
|
|
1626
1626
|
|
|
1627
1627
|
encode: function(data) {
|
|
1628
|
-
return
|
|
1628
|
+
return Buffer.from([data.channel]);
|
|
1629
1629
|
},
|
|
1630
1630
|
|
|
1631
1631
|
response: 0xE3E8
|
|
@@ -1649,7 +1649,7 @@ module.exports = {
|
|
|
1649
1649
|
|
|
1650
1650
|
if (temperature < 0) temperature = -temperature;
|
|
1651
1651
|
|
|
1652
|
-
return
|
|
1652
|
+
return Buffer.from([data.channel, temperature | sign]);
|
|
1653
1653
|
}
|
|
1654
1654
|
},
|
|
1655
1655
|
|
|
@@ -1676,7 +1676,7 @@ module.exports = {
|
|
|
1676
1676
|
|
|
1677
1677
|
if (temperature < 0) temperature = -temperature;
|
|
1678
1678
|
|
|
1679
|
-
return
|
|
1679
|
+
return Buffer.from([data.channel, temperature | sign]);
|
|
1680
1680
|
}
|
|
1681
1681
|
},
|
|
1682
1682
|
|
|
@@ -1689,7 +1689,7 @@ module.exports = {
|
|
|
1689
1689
|
},
|
|
1690
1690
|
|
|
1691
1691
|
encode: function(data) {
|
|
1692
|
-
return
|
|
1692
|
+
return Buffer.from([data.channel]);
|
|
1693
1693
|
},
|
|
1694
1694
|
|
|
1695
1695
|
response: 0x1949
|
|
@@ -1705,7 +1705,7 @@ module.exports = {
|
|
|
1705
1705
|
},
|
|
1706
1706
|
|
|
1707
1707
|
encode: function(data) {
|
|
1708
|
-
var buffer =
|
|
1708
|
+
var buffer = Buffer.allocUnsafe(5);
|
|
1709
1709
|
|
|
1710
1710
|
buffer.writeUInt8(data.channel, 0);
|
|
1711
1711
|
buffer.writeFloatLE(data.temperature, 1);
|
|
@@ -1757,10 +1757,46 @@ module.exports = {
|
|
|
1757
1757
|
// 0x15D1
|
|
1758
1758
|
|
|
1759
1759
|
// 16.1.3 Read Dry Contact Status
|
|
1760
|
-
|
|
1760
|
+
0x15CE: {
|
|
1761
|
+
parse: function(buffer) {
|
|
1762
|
+
return {
|
|
1763
|
+
area: buffer.readUInt8(0),
|
|
1764
|
+
switch: buffer.readUInt8(1)
|
|
1765
|
+
};
|
|
1766
|
+
},
|
|
1767
|
+
|
|
1768
|
+
encode: function(data) {
|
|
1769
|
+
var buffer = Buffer.allocUnsafe(2);
|
|
1770
|
+
|
|
1771
|
+
buffer.writeUInt8(data.area, 0);
|
|
1772
|
+
buffer.writeUInt8(data.switch, 1);
|
|
1773
|
+
|
|
1774
|
+
return buffer;
|
|
1775
|
+
},
|
|
1776
|
+
|
|
1777
|
+
response: 0x15CF
|
|
1778
|
+
},
|
|
1761
1779
|
|
|
1762
1780
|
// 16.1.4 Response Read Dry Contact Status
|
|
1763
|
-
|
|
1781
|
+
0x15CF: {
|
|
1782
|
+
parse: function(buffer) {
|
|
1783
|
+
var data = {
|
|
1784
|
+
area: buffer.readUInt8(0),
|
|
1785
|
+
switch: buffer.readUInt8(1),
|
|
1786
|
+
contact: Boolean(buffer.readUInt8(2))
|
|
1787
|
+
};
|
|
1788
|
+
return data;
|
|
1789
|
+
},
|
|
1790
|
+
|
|
1791
|
+
encode: function(data) {
|
|
1792
|
+
var buffer = Buffer.allocUnsafe(3);
|
|
1793
|
+
buffer.writeUInt8(data.area, 0);
|
|
1794
|
+
buffer.writeUInt8(data.switch, 1);
|
|
1795
|
+
buffer.writeUInt8(data.contact ? 1 : 0, 2);
|
|
1796
|
+
|
|
1797
|
+
return buffer;
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1764
1800
|
|
|
1765
1801
|
/* 17. DLP Music Play Control Command */
|
|
1766
1802
|
|
|
@@ -1848,7 +1884,7 @@ module.exports = {
|
|
|
1848
1884
|
},
|
|
1849
1885
|
|
|
1850
1886
|
encode: function(data) {
|
|
1851
|
-
var buffer =
|
|
1887
|
+
var buffer = Buffer.allocUnsafe(3);
|
|
1852
1888
|
|
|
1853
1889
|
buffer.writeUInt8(data.backlight, 0);
|
|
1854
1890
|
buffer.writeUInt8(data.statusLights, 1);
|
|
@@ -1867,7 +1903,7 @@ module.exports = {
|
|
|
1867
1903
|
},
|
|
1868
1904
|
|
|
1869
1905
|
encode: function(data) {
|
|
1870
|
-
var buffer =
|
|
1906
|
+
var buffer = Buffer.allocUnsafe(1);
|
|
1871
1907
|
|
|
1872
1908
|
status.encode(buffer, data.success, 0);
|
|
1873
1909
|
|
|
@@ -1888,7 +1924,7 @@ module.exports = {
|
|
|
1888
1924
|
},
|
|
1889
1925
|
|
|
1890
1926
|
encode: function(data) {
|
|
1891
|
-
var buffer =
|
|
1927
|
+
var buffer = Buffer.allocUnsafe(7);
|
|
1892
1928
|
|
|
1893
1929
|
buffer.writeUInt8(data.button, 0);
|
|
1894
1930
|
buffer.writeUInt8(data.color.on[0], 1);
|
|
@@ -1911,7 +1947,7 @@ module.exports = {
|
|
|
1911
1947
|
},
|
|
1912
1948
|
|
|
1913
1949
|
encode: function(data) {
|
|
1914
|
-
return
|
|
1950
|
+
return Buffer.from([data.button]);
|
|
1915
1951
|
}
|
|
1916
1952
|
}
|
|
1917
1953
|
};
|