@@ -121,7 +121,7 @@ class Samsung {
121
121
if ( token ) {
122
122
resolve ( token )
123
123
} else {
124
- reject ( )
124
+ reject ( new Error ( 'Did not receive token from Samsung TV' ) )
125
125
}
126
126
} )
127
127
} )
@@ -253,50 +253,55 @@ class Samsung {
253
253
} )
254
254
}
255
255
256
- public isAvaliable ( ) : Promise < string > {
256
+ public isAvailable ( ) : Promise < boolean > {
257
257
return new Promise ( ( resolve , reject ) => {
258
258
request . get (
259
259
{ url : `http://${ this . IP } :8001${ this . PORT === 55000 ? '/ms/1.0/' : '/api/v2/' } ` , timeout : 3000 } ,
260
260
( err : Error , res : request . RequestResponse ) => {
261
+ if ( err ) {
262
+ return reject ( err )
263
+ }
264
+
261
265
if ( ! err && res . statusCode === 200 ) {
262
266
this . LOGGER . log (
263
- 'TV is avaliable ' ,
267
+ 'TV is available ' ,
264
268
{ request : res . request , body : res . body as string , code : res . statusCode } ,
265
- 'isAvaliable '
269
+ 'isAvailable '
266
270
)
267
- resolve ( 'TV is avaliable' )
268
- } else {
269
- this . LOGGER . error ( 'TV is avaliable' , { err } , 'isAvaliable' )
270
- reject ( 'No response from TV' )
271
+ resolve ( true )
271
272
}
273
+
274
+ this . LOGGER . error ( 'TV is not available' , { err } , 'isAvailable' )
275
+ resolve ( false )
272
276
}
273
277
)
274
278
} )
275
279
}
276
280
277
- public isAvaliablePing ( ) : Promise < string > {
278
- return new Promise ( ( resolve , reject ) => {
281
+ public isAvailablePing ( ) : Promise < boolean > {
282
+ return new Promise ( ( resolve ) => {
279
283
exec ( 'ping -c 1 -W 1 ' + this . IP , ( error , stdout , _ ) => {
280
284
if ( error ) {
281
- this . LOGGER . error ( 'TV is avaliable' , { error } , 'isAvaliable' )
282
- reject ( 'No response from TV' )
285
+ this . LOGGER . error ( 'TV is not available' , { error } , 'isAvailable' )
286
+ // Do not reject since we're testing for the TV to be available
287
+ resolve ( false )
283
288
} else {
284
- this . LOGGER . log ( 'TV is avaliable ' , { stdout } , 'isAvaliable ' )
285
- resolve ( 'TV is avaliable' )
289
+ this . LOGGER . log ( 'TV is available ' , { stdout } , 'isAvailable ' )
290
+ resolve ( true )
286
291
}
287
292
} )
288
293
} )
289
294
}
290
295
291
- public turnOn ( ) : Promise < string > {
296
+ public turnOn ( ) : Promise < boolean > {
292
297
return new Promise ( ( resolve , reject ) => {
293
298
wol . wake ( this . MAC , { num_packets : 30 } , ( err : Error ) => {
294
299
if ( err ) {
295
300
this . LOGGER . error ( 'Fail turn on' , err , 'turnOn' )
296
- reject ( 'Fail turn on' )
301
+ reject ( err )
297
302
} else {
298
303
this . LOGGER . log ( 'WOL sent command to TV' , '' , 'turnOn' )
299
- resolve ( 'TV is avaliable' )
304
+ resolve ( true )
300
305
}
301
306
} )
302
307
} )
@@ -356,7 +361,7 @@ class Samsung {
356
361
// this.ws.close()
357
362
}
358
363
359
- // TODO, additional check on avaliable instead of ws.open
364
+ // TODO, additional check on available instead of ws.open
360
365
// if(data.event == "ms.channel.connect") { _sendCMD() }
361
366
} )
362
367
@@ -408,10 +413,10 @@ class Samsung {
408
413
this . _send (
409
414
command ,
410
415
( err , res ) => {
411
- if ( ! err ) {
412
- resolve ( res )
413
- } else {
416
+ if ( err ) {
414
417
reject ( err )
418
+ } else {
419
+ resolve ( res )
415
420
}
416
421
} ,
417
422
eventHandle
@@ -473,10 +478,10 @@ class Samsung {
473
478
private _sendLegacyPromise ( key : KEYS ) {
474
479
return new Promise ( ( resolve , reject ) => {
475
480
this . _sendLegacy ( key , ( err , res ) => {
476
- if ( ! err ) {
477
- resolve ( res )
478
- } else {
481
+ if ( err ) {
479
482
reject ( err )
483
+ } else {
484
+ resolve ( res )
480
485
}
481
486
} )
482
487
} )
0 commit comments