Open Source Apple HomeKit Firmware for Shelly Devices
This firmware exposes Shelly devices as Apple HomeKit accessories.
Firmware is compatible with stock and can be uploaded via OTA (Watch a 2 minute video), for more info take a look at the flashing wiki here.
Reverting to stock firmware is also possible see here.
Supported devices and features
1 | 1PM | +1 | +1PM | 1L | Plug | PlugS | 2 | 2.5 | i3 | +i4(AC/DC) | UNI | RGBW2 | Bulb | Duo | Vintage | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Switch & Co.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
Stateless Input2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
Sensors3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
Temperature measurement | ✓4 | ✓4 | - | - | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | - | - | ✗ | ✗ | ✗ | ✗ |
Garage door opener | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
Roller shutter mode | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Power measurement | ✗ | ✓ | ✗ | ✓ | - | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | - | - | - | - |
RGB(W) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ |
CCT | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | - | ✓ | ✗ | ✓ | ✗ |
Brightness control | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | - | ✓ | ✓ | ✓ | ✓ |
Notes:
✓: supported
-: possible but not supported yet
✗: not possible
1: includes lock, outlet and valve
2: includes doorbell
3: includes motion, occupancy, contact, smoke, leak
4: with Sensor AddOn and DS18B20 sensor
Features that are not yet supported:
- Cloud connections: no Shelly Cloud, no MQTT
- Remote actions (web hooks)
- Valve with timer support
Quick Start
Updating from stock firmware
-
Important: Please update to the latest stock firmware prior to converting to Shelly-HomeKit.
-
Watch a 2 minute video.
-
New: One link for all device types:
http://A.B.C.D/ota?url=http://shelly.rojer.cloud/update
-
If that doesn't work (did you remember to update the stock firmware first?), try link for a specific model:
-
Shelly 1:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1.zip
-
Shelly 1L:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1L.zip
-
Shelly 1PM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1PM.zip
-
Shelly 2:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly2.zip
Note: Not for Shelly Dimmer 2! -
Shelly 2.5:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly25.zip
-
Shelly Duo:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyDuo.zip
-
Shelly Duo RGBW (ColorBulb):
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyColorBulb.zip
-
Shelly i3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyI3.zip
-
Shelly Plug:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlug.zip
-
Shelly Plug S:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zip
-
Shelly Plus 1:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1.zip
Note: The Shelly must have installed 0.10.0-beta3 or above to be flushed, please update first! -
Shelly Plus 1PM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1PM.zip
Note: The Shelly must have installed 0.10.0-beta3 or above to be flushed, please update first! -
Shelly Plus I4 AC & DC:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlusI4.zip
Note: The Shelly must have installed 0.10.0-beta3 or above to be flushed, please update first! -
Shelly RGBW2:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyRGBW2.zip
Note: The Shelly must be in color mode to flash, flashing in white mode is not supported! -
Shelly UNI:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyUNI.zip
-
Shelly Vintage:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyVintage.zip
-
-
-
See here for detailed instructions.
-
Script here for an automated way to update your devices.
- ./flash_shelly.py hostname (for single device)
- ./flash_shelly.py -a (for all devices on the network)
Documentation
See our Wiki.
Getting Support
If you'd like to report a bug or a missing feature, please use GitHub issue tracker.
Some of us can be found in the Gitter chat room.
Contributions and Development
Code contributions are welcome! Check out open issues and feel free to pick one up.
See here for development environment setup.
Alternatively, you can support the project by donating:
Authors
See here.
License
This firmware is free software and is distributed under Apache 2.0 license.