question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

New device : Shelly GAS

See original GitHub issue

I got my new Shelly GAS device. Could you please have a look if that could be integrated in your plugin ?

https://shelly.cloud/products/shelly-gas-smart-home-automation-sensor/

Type: SHGS-1
CoAP description: {"blk":[{"I":0,"D":"Device"}],"sen":[{"I":118,"T":"S","D":"Sensor state","R":"unknown/warmup/normal/fault","L":0},{"I":119,"T":"S","D":"Alarm state","R":"unknown/none/mild/heavy/test","L":0},{"I":120,"T":"S","D":"Self-test state","R":"not_completed/completed/running/pending","L":0},{"I":122,"T":"S","D":"Concentration (ppm)","R":"0-65535","L":0}]}
CoAP status: {"G":[[0,118,"normal"],[0,119,"none"],[0,120,"completed"],[0,122,0]]}
Error: Unauthorized
    at Request.callback (/home/hoobs/.hoobs/node_modules/superagent/lib/node/index.js:804:15)
    at IncomingMessage.<anonymous> (/home/hoobs/.hoobs/node_modules/superagent/lib/node/index.js:1036:18)
    at IncomingMessage.emit (events.js:228:7)
    at endReadableNT (_stream_readable.js:1185:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21) {
  status: 401,
  response: Response {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined,
    res: IncomingMessage {
      _readableState: [ReadableState],
      readable: false,
      _events: [Object: null prototype],
      _eventsCount: 4,
      _maxListeners: undefined,
      socket: [Socket],
      connection: [Socket],
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      headers: [Object],
      rawHeaders: [Array],
      trailers: {},
      rawTrailers: [],
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 401,
      statusMessage: 'Unauthorized',
      client: [Socket],
      _consuming: true,
      _dumped: false,
      req: [ClientRequest],
      text: '401 Unauthorized'
    },
    request: Request {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _enableHttp2: false,
      _agent: false,
      _formData: null,
      method: 'GET',
      url: '192.168.1.100/settings',
      _header: [Object],
      header: [Object],
      writable: true,
      _redirects: 0,
      _maxRedirects: 5,
      cookies: '',
      qs: {},
      _query: [],
      qsRaw: [],
      _redirectList: [],
      _streamRequest: false,
      _timeout: 10000,
      _responseTimeout: 0,
      req: [ClientRequest],
      protocol: 'http:',
      host: '192.168.1.100',
      _endCalled: true,
      _callback: [Function],
      _fullfilledPromise: [Promise],
      res: [IncomingMessage],
      _resBuffered: true,
      response: [Circular],
      called: true
    },
    req: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 3,
      _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: [Socket],
      connection: [Socket],
      _header: 'GET /settings HTTP/1.1\r\n' +
        'Host: 192.168.1.100\r\n' +
        'Accept-Encoding: gzip, deflate\r\n' +
        'User-Agent: node-shellies 0.18.0\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      path: '/settings',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      [Symbol(kNeedDrain)]: false,
      [Symbol(isCorked)]: false,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    text: '401 Unauthorized',
    body: {},
    files: undefined,
    buffered: true,
    headers: {
      'www-authenticate': 'Basic realm="Shelly"',
      connection: 'close',
      'content-type': 'text/plain'
    },
    header: {
      'www-authenticate': 'Basic realm="Shelly"',
      connection: 'close',
      'content-type': 'text/plain'
    },
    statusCode: 401,
    status: 401,
    statusType: 4,
    info: false,
    ok: false,
    redirect: false,
    clientError: true,
    serverError: false,
    error: Error: cannot GET /settings (401)
        at Response.toError (/home/hoobs/.hoobs/node_modules/superagent/lib/node/response.js:94:15)
        at ResponseBase._setStatusProperties (/home/hoobs/.hoobs/node_modules/superagent/lib/response-base.js:123:16)
        at new Response (/home/hoobs/.hoobs/node_modules/superagent/lib/node/response.js:41:8)
        at Request._emitResponse (/home/hoobs/.hoobs/node_modules/superagent/lib/node/index.js:850:20)
        at IncomingMessage.<anonymous> (/home/hoobs/.hoobs/node_modules/superagent/lib/node/index.js:1036:38)
        at IncomingMessage.emit (events.js:228:7)
        at endReadableNT (_stream_readable.js:1185:12)
        at processTicksAndRejections (internal/process/task_queues.js:81:21) {
      status: 401,
      text: '401 Unauthorized',
      method: 'GET',
      path: '/settings'
    },
    created: false,
    accepted: false,
    noContent: false,
    badRequest: false,
    unauthorized: true,
    notAcceptable: false,
    forbidden: false,
    notFound: false,
    unprocessableEntity: false,
    type: 'text/plain',
    links: {},
    setEncoding: [Function: bound ],
    redirects: [],
    pipe: [Function]
  }
}

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
e1l52commented, Jul 2, 2020

Hi Alex,

So cool !!! Thanks a lot 😉

IMG_1730

0reactions
alexrydcommented, Jul 2, 2020

The latest beta version of this plugin now has support for the Shelly Gas as a smoke detector. You can try it out by installing homebridge-shelly@beta.

Read more comments on GitHub >

github_iconTop Results From Across the Web

User guide - Shelly Gas
Shelly Cloud allows easy control and monitoring using a mobile phone, tablet or PC. Device Inclusion. To add a new Shelly device, connect...
Read more >
Security - Smart Home Automation - Use Shelly for
Keep your home safe with Shelly smart sensors. You will receive immediate notification if gas or water leakage is detected and will be...
Read more >
Shelly Gas CNG - ameriDroid.com
WiFi-operated Gas Sensor with Sound and Light Alarm The Shelly Gas is a compact and ... 24-month manufacturer warranty due to device malfunctions...
Read more >
Shelly: Electronics - Amazon.com
Shelly Gas LPG Wireless Sensor Flame Resistant Remote Monitor Smart Alerts Compatible with iOS, Android Device ... Only 15 left in stock -...
Read more >
I have a Shelly Gas, I wanted to test how sensitive ... - Facebook
I have a Shelly Gas, I wanted to test how sensitive the alarm is so held flowing gas down and even cupped directly...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found