{"id":19665628,"url":"https://github.com/jmendiara/shelly-driver","last_synced_at":"2026-05-07T06:34:07.371Z","repository":{"id":40750155,"uuid":"322908974","full_name":"jmendiara/shelly-driver","owner":"jmendiara","description":"Shelly Devices driver for nodejs ","archived":false,"fork":false,"pushed_at":"2024-12-30T09:02:27.000Z","size":1720,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-10T02:34:22.163Z","etag":null,"topics":["coap","coiot","javascript","mqtt","nodejs","shelly","shelly-driver","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmendiara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-19T18:10:11.000Z","updated_at":"2024-12-30T09:02:31.000Z","dependencies_parsed_at":"2025-01-10T02:33:27.233Z","dependency_job_id":"efc0b0a3-5ed8-4334-a83f-240d18a34695","html_url":"https://github.com/jmendiara/shelly-driver","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":"jmendiara/node-typescript-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmendiara%2Fshelly-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmendiara%2Fshelly-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmendiara%2Fshelly-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmendiara%2Fshelly-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmendiara","download_url":"https://codeload.github.com/jmendiara/shelly-driver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240974884,"owners_count":19887338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coap","coiot","javascript","mqtt","nodejs","shelly","shelly-driver","typescript"],"created_at":"2024-11-11T16:23:43.890Z","updated_at":"2026-05-07T06:34:02.347Z","avatar_url":"https://github.com/jmendiara.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# shelly-driver\n\n\u003e CURRENTLY UNDER ACTIVE DEVELOPMENT\n\nnodejs driver to connect and manage shelly devices\n\n- [x] HTTP communication\n- [x] CoIoT/MQTT/HTTP status tracking for _any_ property\n- [x] mDNS Device Discovery\n- [x] Full Typescript definitions\n\n## Getting Started\n\n```sh\nnpm i shelly-driver\n```\n\n```ts\n// Direct device access\nimport { Shelly1 } from 'shelly-driver';\n\nconst fan = new Shelly1({ host: '192.168.31.130' });\n\n// lazy observation on any status property change via RxJS\nfan.observe('relays.0.ison')\n  .subscribe((isOn) =\u003e console.log('The device is turned', isOn ? 'on': 'off'));\n\nconst settings = await fan.setRelay(0, { turn: 'on' });\n```\n\n## Devices supported\n\nWe are in the way of supporting all the Allterco devices. Please open an issue if you need more devices supported. This driver contains full feature self documented code, it's not hard to add them,\nbut takes some of our free time.\n\n| Device                               | Available | Real life tested |\n| ------------------------------------ | --------- | ---------------- |\n| Shelly1                              | ✅         | ✅               |\n| Shelly1PM                            | ✅         | ❌               |\n| Shelly1 with DS1820/DHT22 add-on     | ✅         | ❌               |\n| Shelly1 with low-power switch add-on | ✅         | ❌               |\n| Shelly Door Window 1                 | …          | ✅               |\n| Shelly Button 1                      | …          | ✅               |\n\n## Development setup\n\nTo clone the repository use the following commands:\n\n```sh\ngit clone https://github.com/jmendiara/shelly-driver \u0026\u0026 cd shelly-driver\n```\n\nUse [VSCode development containers](https://code.visualstudio.com/docs/remote/containers),  directly [docker-compose](https://docs.docker.com/compose/)\n\n```sh\n# Shell interactive session inside a container\ndocker-compose run app bash\n```\n\n### Available Scripts\n\n- `clean` - remove coverage data, Jest cache and transpiled files,\n- `build` - transpile TypeScript to ES6,\n- `watch` - interactive watch mode to automatically transpile source files,\n- `lint` - lint source files and tests,\n- `test` - run tests,\n- `test:watch` - interactive watch mode to automatically re-run tests\n- `format` - format the code\n\n\n### Debug\n\nRelevant event log for the driver are available using [debug](https://github.com/visionmedia/debug) module.\n```\nDEBUG=shelly:* ./your-app-binary\n```\n\n## License\n\nCopyright 2020 Javier Mendiara Cañardo\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmendiara%2Fshelly-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmendiara%2Fshelly-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmendiara%2Fshelly-driver/lists"}