DeeeeLAN / homebridge-sleepiq

SleepIQ Homebridge plugin
18 stars 10 forks source link

Sigterm shutting down #36

Closed wtwolfe closed 3 years ago

wtwolfe commented 3 years ago

I think the Sleep IQ plug in and an authentication error is taking down my Homebridge. I copied the incident and will post it here. I hope this helps fix the error. BUG I have Hoobs 3.2.6 and Sleep IQ plug in 4.1.16

10/14/2020, 10:39:01 PM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/14/2020, 10:40:47 PM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/14/2020, 10:42:08 PM SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at API. (/home/hoobs/.hoobs/node_modules/homebridge-sleepiq/API.js:118:24) at Request.plumbing.callback (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:76:39) at Request.RP$callback [as _callback] (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/home/hoobs/.hoobs/node_modules/request/request.js:185:22) at Request.emit (events.js:310:20) at Request. (/home/hoobs/.hoobs/node_modules/request/request.js:1154:10) at Request.emit (events.js:310:20) at IncomingMessage. (/home/hoobs/.hoobs/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:416:28) at IncomingMessage.emit (events.js:322:22) at endReadableNT (_stream_readable.js:1187:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) 10/14/2020, 10:42:08 PM Got SIGTERM, shutting down Bridge...

wtwolfe commented 3 years ago

Sorry, I couldn't figure out how labels work. I am a total NOOB at this but I do know how to find and get a copy of my log if you need it.

DeeeeLAN commented 3 years ago

Hmm, was it working previously before receiving these errors? If not, double check your username and password are correct. If it was, then something else is going on. If possible, could you get me a full DEBUG log? I don't know how to get one in HOOBS so you will have to do some research on that end.

wtwolfe commented 3 years ago

It was working flawlessly until it stopped. I know how to pull a log and I will look for one that is specifically a debug log. Shouldn't be too hard...I'll check the FAQ! The log exports to a text file.

wtwolfe commented 3 years ago

It happened again. Here's the log.

}, toJSON: [Function: responseToJSON], caseless: Caseless { dict: [Object] }, body: '{"Error":{"Code":418,"Message":"Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection-CannotCreateTransactionException"}}',

} } 10/18/2020, 8:10:10 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:11:02 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:11:54 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:15:08 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:16:02 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:17:18 AM [SleepIQ] SleepIQ authentication failed with an unknown error code. If it persists, please report this incident at https://github.com/DeeeeLAN/homebridge-sleepiq/issues/new 10/18/2020, 8:17:56 AM SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at API. (/home/hoobs/.hoobs/node_modules/homebridge-sleepiq/API.js:118:24) at Request.plumbing.callback (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:76:39) at Request.RP$callback [as _callback] (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/home/hoobs/.hoobs/node_modules/request/request.js:185:22) at Request.emit (events.js:310:20) at Request. (/home/hoobs/.hoobs/node_modules/request/request.js:1154:10) at Request.emit (events.js:310:20) at IncomingMessage. (/home/hoobs/.hoobs/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:416:28) at IncomingMessage.emit (events.js:322:22) at endReadableNT (_stream_readable.js:1187:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) 10/18/2020, 8:17:56 AM Got SIGTERM, shutting down Bridge...

wtwolfe commented 3 years ago

So under Hoobs update 3.2.8 (recent update) there have been exceptions and errors it hasn't managed to shut the server down. You have updated the plug-in as well and I think nothing has happened after that either. I saw the update and waited till it came up in Hoobs to update which was only a day or so later. I will keep you informed of any changes as I really like the work you have so far. Keep up the great work.

tevans62 commented 3 years ago

I am also seeing this after some period of time running my HomeBridge instance:

11/11/2020, 5:14:04 AM] SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at API. (/usr/local/lib/node_modules/homebridge-sleepiq/API.js:118:24) at Request.plumbing.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:76:39) at Request.RP$callback [as _callback] (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:185:22) at Request.emit (events.js:314:20) at Request. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1154:10) at Request.emit (events.js:314:20) at IncomingMessage. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:420:28) at IncomingMessage.emit (events.js:326:22) at endReadableNT (_stream_readable.js:1223:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) [11/11/2020, 5:14:04 AM] [SleepIQ] SleepIQ JSON data successfully retrieved [11/11/2020, 5:14:04 AM] Got SIGTERM, shutting down Homebridge... [11/11/2020, 5:14:09 AM] [SleepIQ] Getting SleepIQ JSON Data... [11/11/2020, 5:14:09 AM] SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at API. (/usr/local/lib/node_modules/homebridge-sleepiq/API.js:118:24) at Request.plumbing.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:76:39) at Request.RP$callback [as _callback] (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:185:22) at Request.emit (events.js:314:20) at Request. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1154:10) at Request.emit (events.js:314:20) at IncomingMessage. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:420:28) at IncomingMessage.emit (events.js:326:22) at endReadableNT (_stream_readable.js:1223:12) at processTicksAndRejections (internal/process/task_queues.js:84:21)

Perhaps they (Sleep Number) have rate limited the API?

tevans62 commented 3 years ago

Got a more detailed crash message recently (I changed my SleepIQ password):

[11/11/2020, 5:41:22 AM] [SleepIQ] Failed to retrieve bed pause mode: StatusCodeError: 502 - "<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body>\r\n<center><h1>502 Bad Gateway</h1></center>\r\n</body>\r\n</html>\r\n"
    at new StatusCodeError (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:185:22)
    at Request.emit (events.js:314:20)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:314:20)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:420:28)
    at IncomingMessage.emit (events.js:326:22)
    at endReadableNT (_stream_readable.js:1223:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  statusCode: 502,
  error: '<html>\r\n' +
    '<head><title>502 Bad Gateway</title></head>\r\n' +
    '<body>\r\n' +
    '<center><h1>502 Bad Gateway</h1></center>\r\n' +
    '</body>\r\n' +
    '</html>\r\n',
  options: {
    jar: true,
    method: 'GET',
    uri: 'https://api.sleepiq.sleepnumber.com/rest/bed/-9223372030292485721/pauseMode',
    qs: { _k: 'TtyFnSqhJ47O7' },
    callback: [Function: RP$callback],
    transform: undefined,
    simple: true,
    resolveWithFullResponse: false,
    transform2xxOnly: false
  },
  response: IncomingMessage {
    _readableState: ReadableState {
      objectMode: false,
      highWaterMark: 16384,
      buffer: BufferList { head: null, tail: null, length: 0 },
      length: 0,
      pipes: null,
      pipesCount: 0,
      flowing: true,
      ended: true,
      endEmitted: true,
      reading: false,
      sync: true,
      needReadable: false,
      emittedReadable: false,
      readableListening: false,
      resumeScheduled: false,
      emitClose: true,
      autoDestroy: false,
      destroyed: false,
      defaultEncoding: 'utf8',
      awaitDrainWriters: null,
      multiAwaitDrain: false,
      readingMore: true,
      decoder: null,
      encoding: null,
      [Symbol(kPaused)]: false
    },
    readable: false,
    _events: [Object: null prototype] {
      end: [Array],
      close: [Array],
      data: [Function],
      error: [Function]
    },
    _eventsCount: 4,
    _maxListeners: undefined,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: true,
      _SNICallback: null,
      servername: 'api.sleepiq.sleepnumber.com',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'api.sleepiq.sleepnumber.com',
      _readableState: [ReadableState],
      readable: true,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [ClientRequest],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(asyncId)]: 18970,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object]
    },
    connection: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: true,
      _SNICallback: null,
      servername: 'api.sleepiq.sleepnumber.com',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'api.sleepiq.sleepnumber.com',
      _readableState: [ReadableState],
      readable: true,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [ClientRequest],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(asyncId)]: 18970,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object]
    },
    httpVersionMajor: 1,
    httpVersionMinor: 1,
    httpVersion: '1.1',
    complete: true,
    headers: {
      server: 'awselb/2.0',
      date: 'Wed, 11 Nov 2020 05:41:22 GMT',
      'content-type': 'text/html',
      'content-length': '122',
      connection: 'close',
      'set-cookie': [Array]
    },
    rawHeaders: [
      'Server',
      'awselb/2.0',
      'Date',
      'Wed, 11 Nov 2020 05:41:22 GMT',
      'Content-Type',
      'text/html',
      'Content-Length',
      '122',
      'Connection',
      'close',
      'Set-Cookie',
      'AWSALB=oXRz44ByL327eP7S1nwMkuKfaCYruCpL9wtR8hE8TBkkhpYcs0TiFnBkqRRmRKo8llpOUlVFdYJNVClhmAjx6HAI9O/3/rzKfZu0S1Qc/mYWqy9Wq+9ZAVbA5VS5; Expires=Wed, 18 Nov 2020 05:41:22 GMT; Path=/',
      'Set-Cookie',
      'AWSALBCORS=oXRz44ByL327eP7S1nwMkuKfaCYruCpL9wtR8hE8TBkkhpYcs0TiFnBkqRRmRKo8llpOUlVFdYJNVClhmAjx6HAI9O/3/rzKfZu0S1Qc/mYWqy9Wq+9ZAVbA5VS5; Expires=Wed, 18 Nov 2020 05:41:22 GMT; Path=/; SameSite=None; Secure'
    ],
    trailers: {},
    rawTrailers: [],
    aborted: false,
    upgrade: false,
    url: '',
    method: null,
    statusCode: 502,
    statusMessage: 'Bad Gateway',
    client: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: true,
      _SNICallback: null,
      servername: 'api.sleepiq.sleepnumber.com',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'api.sleepiq.sleepnumber.com',
      _readableState: [ReadableState],
      readable: true,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [ClientRequest],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(asyncId)]: 18970,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object]
    },
    _consuming: false,
    _dumped: false,
    req: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      socket: [TLSSocket],
      connection: [TLSSocket],
      _header: 'GET /rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7 HTTP/1.1\r\n' +
        'host: api.sleepiq.sleepnumber.com\r\n' +
        'cookie: AWSALB=rN6FWtapCyEe2nDKufqF/e/wOxE+STYohpoYatOAIPvKNEBhyhfRF85zWo0tRohNczVMc7SbR5mYbVcMW+RUlyFMI/CMdrL54cPQd5X5D8qhkcBpfP+/+f7cRoqi; AWSALBCORS=rN6FWtapCyEe2nDKufqF/e/wOxE+STYohpoYatOAIPvKNEBhyhfRF85zWo0tRohNczVMc7SbR5mYbVcMW+RUlyFMI/CMdrL54cPQd5X5D8qhkcBpfP+/+f7cRoqi; JSESSIONID=574E54150E08C29962E46A79EA74B051\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      insecureHTTPParser: undefined,
      path: '/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7',
      _ended: true,
      res: [Circular],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.sleepiq.sleepnumber.com',
      protocol: 'https:',
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    request: Request {
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      method: 'GET',
      uri: [Url],
      callback: [Function],
      readable: true,
      writable: true,
      explicitMethod: true,
      _qs: [Querystring],
      _auth: [Auth],
      _oauth: [OAuth],
      _multipart: [Multipart],
      _redirect: [Redirect],
      _tunnel: [Tunnel],
      _rp_resolve: [Function],
      _rp_reject: [Function],
      _rp_promise: [Promise],
      _rp_callbackOrig: [Function: bound ],
      _rp_options: [Object],
      headers: [Object],
      setHeader: [Function],
      hasHeader: [Function],
      getHeader: [Function],
      removeHeader: [Function],
      localAddress: undefined,
      pool: {},
      dests: [],
      __isRequestRequest: true,
      _callback: [Function: RP$callback],
      proxy: null,
      tunnel: true,
      setHost: true,
      originalCookieHeader: undefined,
      _jar: true,
      port: 443,
      host: 'api.sleepiq.sleepnumber.com',
      url: [Url],
      path: '/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7',
      httpModule: [Object],
      agentClass: [Function: Agent],
      agent: [Agent],
      _started: true,
      href: 'https://api.sleepiq.sleepnumber.com/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7',
      req: [ClientRequest],
      ntick: true,
      response: [Circular],
      originalHost: 'api.sleepiq.sleepnumber.com',
      originalHostHeaderName: 'host',
      responseContent: [Circular],
      _destdata: true,
      _ended: true,
      _callbackCalled: true,
      [Symbol(kCapture)]: false
    },
    toJSON: [Function: responseToJSON],
    caseless: Caseless { dict: [Object] },
    body: '<html>\r\n' +
      '<head><title>502 Bad Gateway</title></head>\r\n' +
      '<body>\r\n' +
      '<center><h1>502 Bad Gateway</h1></center>\r\n' +
      '</body>\r\n' +
      '</html>\r\n',
    [Symbol(kCapture)]: false
  }
}
randymassey commented 3 years ago

I didn’t grab my logs before rebooting, but I did have to disable the plugin, as it was taking HOOBS down again, many of the same errors.

I likely should also ask, as I know a while back you were looking for people with various Flex Base platforms to test, but, I have a single flex base & the plugin always finds a left & a right side, I trend to just have it not show in the favorites, but its seeing a side that isn’t there.

Also, tho the foot warmers are seen, & the plugin says they are on, they do not actually come in, unless I use the bed remote.

Last time, & not as relevant, but since it’s a single platform flex base there is also only a single center light, not a left & right under bed light, & it does see the light & the light does work, but it identifies it as coming from one of the sides, I want to say left.

I have also had an issue where upon rebooting HOOBS, any custom names I have given the bed items revert back to default. I have communicated initially with HOOBS support directly & since only this plugin has this issue, they believe it’s a cache handling issue...

LMK if you would like me to open specific instances for the single platform & footwarmers.

Recently, like several weeks back, it’s been fully crashing HOOBS, & I did do a full wipe & rebuild of HOOBS this last week, so to keep it running I have since disabled the plugin for now.

Once I disabled the plugin, even without rebooting HOOBS, the server began running again. Since I wiped it I have lost my historical logs during the last week.

FYI...

Randy M.

Sent from my iPad

On Nov 10, 2020, at 9:47 PM, Thomas Evans notifications@github.com wrote:

 Got a more detailed crash message recently (I changed my SleepIQ password):

[11/11/2020, 5:41:22 AM] [SleepIQ] Failed to retrieve bed pause mode: StatusCodeError: 502 - "\r\n502 Bad Gateway\r\n\r\n

502 Bad Gateway

\r\n\r\n\r\n" at new StatusCodeError (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/errors.js:32:15) at Request.plumbing.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:104:33) at Request.RP$callback [as _callback] (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:185:22) at Request.emit (events.js:314:20) at Request. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1154:10) at Request.emit (events.js:314:20) at IncomingMessage. (/usr/local/lib/node_modules/homebridge-sleepiq/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:420:28) at IncomingMessage.emit (events.js:326:22) at endReadableNT (_stream_readable.js:1223:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) { statusCode: 502, error: '\r\n' + '502 Bad Gateway\r\n' + '\r\n' + ' 502 Bad Gateway

\r\n' + '\r\n' + '\r\n', options: { jar: true, method: 'GET', uri: 'https://api.sleepiq.sleepnumber.com/rest/bed/-9223372030292485721/pauseMode', qs: { _k: 'TtyFnSqhJ47O7' }, callback: [Function: RP$callback], transform: undefined, simple: true, resolveWithFullResponse: false, transform2xxOnly: false }, response: IncomingMessage { _readableState: ReadableState { objectMode: false, highWaterMark: 16384, buffer: BufferList { head: null, tail: null, length: 0 }, length: 0, pipes: null, pipesCount: 0, flowing: true, ended: true, endEmitted: true, reading: false, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, emitClose: true, autoDestroy: false, destroyed: false, defaultEncoding: 'utf8', awaitDrainWriters: null, multiAwaitDrain: false, readingMore: true, decoder: null, encoding: null,

}, readable: false, _events: [Object: null prototype] { end: [Array], close: [Array], data: [Function], error: [Function] }, _eventsCount: 4, _maxListeners: undefined, socket: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: true, _SNICallback: null, servername: 'api.sleepiq.sleepnumber.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 10, connecting: false, _hadError: false, _parent: null, _host: 'api.sleepiq.sleepnumber.com', _readableState: [ReadableState], readable: true, _maxListeners: undefined, _writableState: [WritableState], writable: false, allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: [ClientRequest],

}, connection: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: true, _SNICallback: null, servername: 'api.sleepiq.sleepnumber.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 10, connecting: false, _hadError: false, _parent: null, _host: 'api.sleepiq.sleepnumber.com', _readableState: [ReadableState], readable: true, _maxListeners: undefined, _writableState: [WritableState], writable: false, allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: [ClientRequest],

}, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, headers: { server: 'awselb/2.0', date: 'Wed, 11 Nov 2020 05:41:22 GMT', 'content-type': 'text/html', 'content-length': '122', connection: 'close', 'set-cookie': [Array] }, rawHeaders: [ 'Server', 'awselb/2.0', 'Date', 'Wed, 11 Nov 2020 05:41:22 GMT', 'Content-Type', 'text/html', 'Content-Length', '122', 'Connection', 'close', 'Set-Cookie', 'AWSALB=oXRz44ByL327eP7S1nwMkuKfaCYruCpL9wtR8hE8TBkkhpYcs0TiFnBkqRRmRKo8llpOUlVFdYJNVClhmAjx6HAI9O/3/rzKfZu0S1Qc/mYWqy9Wq+9ZAVbA5VS5; Expires=Wed, 18 Nov 2020 05:41:22 GMT; Path=/', 'Set-Cookie', 'AWSALBCORS=oXRz44ByL327eP7S1nwMkuKfaCYruCpL9wtR8hE8TBkkhpYcs0TiFnBkqRRmRKo8llpOUlVFdYJNVClhmAjx6HAI9O/3/rzKfZu0S1Qc/mYWqy9Wq+9ZAVbA5VS5; Expires=Wed, 18 Nov 2020 05:41:22 GMT; Path=/; SameSite=None; Secure' ], trailers: {}, rawTrailers: [], aborted: false, upgrade: false, url: '', method: null, statusCode: 502, statusMessage: 'Bad Gateway', client: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: true, _SNICallback: null, servername: 'api.sleepiq.sleepnumber.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 10, connecting: false, _hadError: false, _parent: null, _host: 'api.sleepiq.sleepnumber.com', _readableState: [ReadableState], readable: true, _maxListeners: undefined, _writableState: [WritableState], writable: false, allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: [ClientRequest],

}, _consuming: false, _dumped: false, req: ClientRequest { _events: [Object: null prototype], _eventsCount: 5, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, socket: [TLSSocket], connection: [TLSSocket], _header: 'GET /rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7 HTTP/1.1\r\n' + 'host: api.sleepiq.sleepnumber.com\r\n' + 'cookie: AWSALB=rN6FWtapCyEe2nDKufqF/e/wOxE+STYohpoYatOAIPvKNEBhyhfRF85zWo0tRohNczVMc7SbR5mYbVcMW+RUlyFMI/CMdrL54cPQd5X5D8qhkcBpfP+/+f7cRoqi; AWSALBCORS=rN6FWtapCyEe2nDKufqF/e/wOxE+STYohpoYatOAIPvKNEBhyhfRF85zWo0tRohNczVMc7SbR5mYbVcMW+RUlyFMI/CMdrL54cPQd5X5D8qhkcBpfP+/+f7cRoqi; JSESSIONID=574E54150E08C29962E46A79EA74B051\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: noopPendingOutput], agent: [Agent], socketPath: undefined, method: 'GET', insecureHTTPParser: undefined, path: '/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7', _ended: true, res: [Circular], aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'api.sleepiq.sleepnumber.com', protocol: 'https:',

[Symbol(kOutHeaders)]: [Object: null prototype] }, request: Request { _events: [Object: null prototype], _eventsCount: 5, _maxListeners: undefined, method: 'GET', uri: [Url], callback: [Function], readable: true, writable: true, explicitMethod: true, _qs: [Querystring], _auth: [Auth], _oauth: [OAuth], _multipart: [Multipart], _redirect: [Redirect], _tunnel: [Tunnel], _rp_resolve: [Function], _rp_reject: [Function], _rp_promise: [Promise], _rp_callbackOrig: [Function: bound ], _rp_options: [Object], headers: [Object], setHeader: [Function], hasHeader: [Function], getHeader: [Function], removeHeader: [Function], localAddress: undefined, pool: {}, dests: [], __isRequestRequest: true, _callback: [Function: RP$callback], proxy: null, tunnel: true, setHost: true, originalCookieHeader: undefined, _jar: true, port: 443, host: 'api.sleepiq.sleepnumber.com', url: [Url], path: '/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7', httpModule: [Object], agentClass: [Function: Agent], agent: [Agent], _started: true, href: 'https://api.sleepiq.sleepnumber.com/rest/bed/-9223372030292485721/pauseMode?_k=TtyFnSqhJ47O7', req: [ClientRequest], ntick: true, response: [Circular], originalHost: 'api.sleepiq.sleepnumber.com', originalHostHeaderName: 'host', responseContent: [Circular], _destdata: true, _ended: true, _callbackCalled: true,

}, toJSON: [Function: responseToJSON], caseless: Caseless { dict: [Object] }, body: '\r\n' + '502 Bad Gateway\r\n' + '\r\n' + ' 502 Bad Gateway

\r\n' + '\r\n' + '\r\n',

} } — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

wtwolfe commented 3 years ago

Until about two days ago it was smooth sailing an then this!

11/11/2020, 8:50:28 PM SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at API. (/home/hoobs/.hoobs/node_modules/homebridge-sleepiq/API.js:118:24) at Request.plumbing.callback (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:76:39) at Request.RP$callback [as _callback] (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/home/hoobs/.hoobs/node_modules/request/request.js:185:22) at Request.emit (events.js:310:20) at Request. (/home/hoobs/.hoobs/node_modules/request/request.js:1154:10) at Request.emit (events.js:310:20) at IncomingMessage. (/home/hoobs/.hoobs/node_modules/request/request.js:1076:12) at Object.onceWrapper (events.js:416:28) at IncomingMessage.emit (events.js:322:22) at endReadableNT (_stream_readable.js:1187:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) 11/11/2020, 8:50:28 PM Got SIGTERM, shutting down Bridge...

This happens every eight hours or so...

I refuse to uninstall the plug-in because it is literally my favorite plug-in!

Please tell me what I can do to assist you in fixing this.

I just looked at my original log and it looks a lot like the one I just posted minus the authentication issue.

Oh yeah, it still works perfectly after starting services but then it still takes everything down eventually.

DeeeeLAN commented 3 years ago

These failures may or may not have been Sleep Number blacklisting your accounts, since I learned today that was happening. Regardless, it doesn't matter anymore since everything is getting shut down.