Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@azmenak/homebridge-shelly
Advanced tools
Homebridge plugin for Shelly, enabling HomeKit support for the first generation of Shelly devices.
For the next generation, see homebridge-shelly-ng.
Is your device not on the list? See the section about unsupported devices below.
1 To use Shelly 2 or Shelly 2.5 in roller shutter mode the device must have been calibrated and be running firmware version 1.4.9 or later.
2 Requires firmware version 1.5.1 or later.
3 Requires firmware version 1.8.0 or later.
4 Requires setting the Internet & Security -> CoIoT -> Remote address
option on the Shelly device to the IP address of your device running
homebridge.
npm install -g homebridge-shelly
.In most cases, simply adding this plugin to the homebridge config.json will be enough:
"platforms": [
{
"platform": "Shelly",
"name": "Shelly"
}
]
Your Shelly devices should then be automatically discovered, as long as they use the stock firmware (no Tasmota etc.) and are on the same network and subnet as the device running homebridge. See this wiki page if that doesn't work.
To see a list of all discovered devices, visit the administration page by going
to http://<IP-ADDRESS>:8181/
, where IP-ADDRESS is the address of the
device that you are running homebridge on.
Sometimes setting the "networkInterface"
option to the name of the network
interface or the local IP address of your device will help when your devices
aren't automatically discovered, or you see error messages like
addMembership EADDRNOTAVAIL
or addMembership EADDRINUSE
.
Set the "username"
and "password"
options if you have restricted the web
interface with a username and password. Note that this configuration applies
to all Shelly devices.
The "requestTimeout"
option can be used to configure the timeout for HTTP
requests to the Shelly devices. Specify in milliseconds. Default is 10 seconds.
Use the "staleTimeout"
option to configure how long a device can be offline
before it is regarded as stale and unregistered from HomeKit. Specify in
milliseconds. Set to 0
or false
to disable. Disabled by default.
By default, this plugin will launch an HTTP server on port 8181 to serve an
administration interface. You can disable this by setting "admin"."enabled"
to false
. You can also change the port number using "admin"."port"
.
Configurations for specific Shelly devices can be set using the "devices"
array. Each object in the array must contain an "id"
property with the ID of
the Shelly device that you want to target. IDs are always made up of 6 or 12
hexadecimal characters and can be found in the Shelly Cloud app or the web
interface of a device, under Settings -> Device info -> Device ID.
"exclude"
- set to true
to exclude the device from Homebridge."username"
and "password"
- set these if you have restricted the web
interface of the device with a username and password. This will override the
global "username"
and "password"
options."name"
- sets a custom name for the device.Applies to Shelly 1, 1PM, 2 and 2.5 in relay mode, 4Pro, EM, Plug and Plug S.
"type"
- sets the type of accessory the device is identified as. Available
types are "contactSensor"
, "motionSensor"
, "occupancySensor"
,
"outlet"
, "switch"
(default) and "valve"
."type"
- in roller mode, the device can be identified as either "door"
,
"garageDoorOpener"
, "window"
or "windowCovering"
(default)."colorMode"
- set to "rgbw"
(default) to have HomeKit control all four
channels of the device (R, G, B, and W), or to "rgb"
to omit the W channel."platforms": [
{
"platform": "Shelly",
"name": "Shelly",
"username": "admin",
"password": "pa$$word",
"devices": [
{ "id": "74B5A3", "exclude": true },
{ "id": "A612F0", "username": "admin", "password": "pa$$word2" },
{ "id": "6A78BB", "colorMode": "rgb" },
{ "id": "AD2214", "name": "My Device" },
{ "id": "1D56AF", "type": "outlet" }
],
"admin": {
"enabled": true,
"port": 8181
}
}
]
If you have a Shelly device that is not yet supported by this plugin you can help adding support for it by following these steps:
$ homebridge-shelly describe <ip-address>
with the IP address of the
Shelly device.I develop this plugin in my spare time. If you like it and you find it useful, please consider donating a small amount by clicking the button below. That will allow me to buy new Shelly devices so that I can add support for them.
FAQs
Shelly plugin for Homebridge
The npm package @azmenak/homebridge-shelly receives a total of 2 weekly downloads. As such, @azmenak/homebridge-shelly popularity was classified as not popular.
We found that @azmenak/homebridge-shelly demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.