@@ -22,6 +22,12 @@ describe('tracking-parser', () => {
2222 expect ( imei ) . to . eql ( '357247050053442' ) ;
2323 } ) ;
2424
25+ it ( 'should return imei from queclink data' , ( ) => {
26+ const raw = new Buffer ( '+RESP:GTFRI,250504,135790246811220,,,00,1,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,2000.0,12345:12:34,,,80,210100,,,,20090214093254,11F0$' ) ;
27+ const imei = tracking . getImei ( raw ) ;
28+ expect ( imei ) . to . eql ( '135790246811220' ) ;
29+ } ) ;
30+
2531 it ( 'should return TZ-AVL05 data parsed' , done => {
2632 const raw = new Buffer ( '$$B6869444005480041|AA$GPRMC,194329.000,A,3321.6735,S,07030.7640,W,0.00,0.00,090216,,,A*6C|02.1|01.3|01.7|000000000000|20160209194326|13981188|00000000|32D3A03F|0000|0.6376|0100|995F\r\n' ) ;
2733 tracking . parse ( raw ) . then ( data => {
@@ -160,6 +166,58 @@ describe('tracking-parser', () => {
160166 } ) ;
161167 } ) ;
162168
169+ it ( 'should return queclink raw data parsed' , done => {
170+ const raw = new Buffer ( '+RESP:GTFRI,350302,867844003012625,,12401,10,1,0,0.0,0,816.1,-70.514613,-33.361280,20160811170821,0730,0002,7410,C789,00,0.0,00001:33:08,2788,702,137,08,00,,,20160811180025,07B8$' ) ;
171+ tracking . parse ( raw ) . then ( data => {
172+ expect ( data . raw ) . to . eql ( raw . toString ( ) ) ;
173+ expect ( data . raw ) . to . eql ( raw . toString ( ) ) ;
174+ expect ( data . device ) . to . eql ( 'Queclink-GV200' ) ;
175+ expect ( data . type ) . to . eql ( 'data' ) ;
176+ expect ( data . imei ) . to . eql ( '867844003012625' ) ;
177+ expect ( data . protocolVersion . raw ) . to . eql ( '350302' ) ;
178+ expect ( data . protocolVersion . deviceType ) . to . eql ( 'GV200' ) ;
179+ expect ( data . protocolVersion . version ) . to . eql ( '3.2' ) ;
180+ expect ( data . temperature ) . to . be . null ;
181+ expect ( data . history ) . to . be . false ;
182+ expect ( data . sentTime ) . to . eql ( new Date ( '2016-08-11T18:00:25.000Z' ) ) ;
183+ expect ( data . serialId ) . to . eql ( 7 ) ;
184+ expect ( data . alarm . type ) . to . eql ( 'Gps' ) ;
185+ expect ( data . loc . type ) . to . eql ( 'Point' ) ;
186+ expect ( data . loc . coordinates ) . to . eql ( [ - 70.514613 , - 33.36128 ] ) ;
187+ expect ( data . speed ) . to . eql ( 0 ) ;
188+ expect ( data . gpsStatus ) . to . be . a . true ;
189+ expect ( data . hdop ) . to . eql ( 0 ) ;
190+ expect ( data . status . raw ) . to . eql ( '0800' ) ;
191+ expect ( data . status . sos ) . to . be . false ;
192+ expect ( data . status . input [ 1 ] ) . to . be . true ;
193+ expect ( data . status . input [ 2 ] ) . to . be . false ;
194+ expect ( data . status . input [ 3 ] ) . to . be . false ;
195+ expect ( data . status . input [ 4 ] ) . to . be . false ;
196+ expect ( data . status . output [ 1 ] ) . to . be . false ;
197+ expect ( data . status . output [ 2 ] ) . to . be . false ;
198+ expect ( data . status . output [ 3 ] ) . to . be . false ;
199+ expect ( data . status . output [ 4 ] ) . to . be . false ;
200+ expect ( data . status . charge ) . to . be . true ;
201+ expect ( data . azimuth ) . to . eql ( 0 ) ;
202+ expect ( data . altitude ) . to . eql ( 816.1 ) ;
203+ expect ( data . datetime ) . to . eql ( new Date ( '2016-08-11T17:08:21.000Z' ) ) ;
204+ expect ( data . voltage . battery ) . to . be . null ;
205+ expect ( data . voltage . inputCharge ) . to . eql ( 12.401 ) ;
206+ expect ( data . voltage . ada ) . to . eql ( 2.788 ) ;
207+ expect ( data . voltage . adb ) . to . eql ( 0.702 ) ;
208+ expect ( data . voltage . adc ) . to . eql ( 0.137 ) ;
209+ expect ( data . mcc ) . to . eql ( 730 ) ;
210+ expect ( data . mnc ) . to . eql ( 2 ) ;
211+ expect ( data . lac ) . to . eql ( 29712 ) ;
212+ expect ( data . cid ) . to . eql ( 51081 ) ;
213+ expect ( data . odometer ) . to . eql ( 0 ) ;
214+ expect ( data . hourmeter ) . to . eql ( '00001:33:08' ) ;
215+ done ( ) ;
216+ } ) . catch ( err => {
217+ done ( err ) ;
218+ } ) ;
219+ } ) ;
220+
163221 it ( 'should return TZ raw command' , ( ) => {
164222 const data = {
165223 instruction : 'reboot' ,
@@ -180,6 +238,23 @@ describe('tracking-parser', () => {
180238 expect ( raw ) . to . match ( / ^ @ @ ( [ \x41 - \x7A ] ) ( \d { 1 , 3 } ) , 3 5 3 3 5 8 0 1 7 7 8 4 0 6 2 , C 0 1 , 0 , 1 2 2 2 2 \* ( [ 0 - 9 A - F ] { 2 } ) \r \n $ / ) ;
181239 } ) ;
182240
241+ it ( 'should return queclink raw command' , ( ) => {
242+ const data = {
243+ password : '101010' ,
244+ serial : '1010' ,
245+ instruction : '2_on' ,
246+ previousOutput : {
247+ '1' : true ,
248+ '2' : false ,
249+ '3' : false ,
250+ '4' : true
251+ } ,
252+ device : 'queclink'
253+ } ;
254+ const raw = tracking . parseCommand ( data ) ;
255+ expect ( raw ) . to . eql ( 'AT+GTOUT=101010,1,0,0,1,0,0,0,0,0,1,0,0,0,1111,1010$' ) ;
256+ } ) ;
257+
183258 it ( 'should return TZ raw command reboot' , ( ) => {
184259 const data = {
185260 password : 897463 ,
@@ -198,6 +273,16 @@ describe('tracking-parser', () => {
198273 expect ( raw ) . to . match ( / ^ @ @ ( [ \x41 - \x7A ] ) ( \d { 1 , 3 } ) , 3 5 3 3 5 8 0 1 7 7 8 4 0 6 2 , F 0 2 \* ( [ 0 - 9 A - F ] { 2 } ) \r \n $ / ) ;
199274 } ) ;
200275
276+ it ( 'should return queclink raw command reboot' , ( ) => {
277+ const data = {
278+ password : '000000' ,
279+ serial : 32 ,
280+ device : 'queclink'
281+ } ;
282+ const raw = tracking . getRebootCommand ( data ) ;
283+ expect ( raw ) . to . eql ( 'AT+GTRTO=000000,3,,,,,,32$' ) ;
284+ } ) ;
285+
201286 it ( 'should return a cellocator ACK command' , ( ) => {
202287 const unitId = 836522 ;
203288 const commandNumerator = 1 ;
0 commit comments