mongoose-os-apps/shelly-homekit
C++Apple HomeKit firmware for Shelly's
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
Gen 3 Devices
| 1 G3 | 1PM G3 | 2PM G3 | I4 G3 | Mini1 G3 | Mini1PM G3 | PlugS G3 | |
|---|---|---|---|---|---|---|---|
| Switch & Co.1 | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
| Stateless Input2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Sensors3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Garage door opener | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ |
| Roller shutter mode | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Power measurement | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ |
| Temperature/Humidity measurement4 | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
Plus devices
| +1 | +1Mini | +1PMMini | +1PM | +2PM | +i4 AC/DC | +Plug S | +Uni | |
|---|---|---|---|---|---|---|---|---|
| Switch & Co.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| Stateless Input2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
| Sensors3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
| Garage door opener | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
| Roller shutter mode | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| Power measurement | ✗ | ✗ | - | ✓ | ✓ | ✗ | ✓ | ✗ |
| Temperature/Humidity measurement4 | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
Light Controllers
| +RGBWPM | |
|---|---|
| Brightness control | ✓ |
| CCT | ✓ |
| RGB(W) | ✓ |
| Switch & Co 1 | ✓ |
| Power measurement | - |
Pro devices
Currently not supported.
Gen 1 switches
| 1 | 1PM | 1L | Plug | PlugS | 2 | 2.5 | i3 | UNI | |
|---|---|---|---|---|---|---|---|---|---|
| Switch & Co.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
| Stateless Input2 | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
| Sensors3 | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
| Temperature/Humidity measurement | ✓4 | ✓4 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| Garage door opener | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✓ |
| Roller shutter mode | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| Power measurement | ✗ | ✓ | - | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ |
Gen 1 light bulbs / led strips
| Duo | Duo RGBW | Vintage | RGBW2 | |
|---|---|---|---|---|
| Brightness control | ✓ | ✓ | ✓ | ✓ |
| CCT | ✓ | ✗ | ✗ | ✓ |
| RGB(W) | ✗ | ✓ | ✗ | ✓ |
| Power measurement | - | - | - | - |
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/Shelly Plus AddOn and DS18B20 sensor(s) (maximum 5 for Shelly Plus Addon, maximum 3 for Sensor AddOn) or 1 DHT 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 (1.7.5 on Plus/Gen3 Devices).
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 have the stock firmware at the correct version), try the link for a specific model
Gen 1 Devices:
Shelly 1:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1.zipShelly 1L:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1L.zipShelly 1PM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1PM.zipShelly 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.zipShelly Duo:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyDuo.zipShelly Duo RGBW (ColorBulb):
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyColorBulb.zipShelly i3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyI3.zipShelly Plug:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlug.zipShelly Plug S:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zipShelly 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.zipShelly Vintage:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyVintage.zip
Gen 2 Devices
Shelly Plus 1:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1.zipShelly Plus 1 Mini:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1Mini.zipShelly Plus 1PM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1PM.zipShelly Plus 1PM Mini:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus1PMMini.zipShelly Plus 2PM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlus2PM.zipShelly Plus Plug S:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlusPlugS.zipShelly Plus RGBWPM:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlusRGBWPM.zipShelly Plus I4 AC & DC:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlusI4.zipShelly Plus UNI:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlusUni.zip
Gen 3 Devices
Shelly 1 Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1Gen3.zipShelly 1PM Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly1PMGen3.zipShelly 2PM Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-Shelly2PMGen3.zipShelly I4 Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyI4Gen3.zipShelly Mini 1 Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyMini1Gen3.zipShelly Mini 1 PM Gen3:
http://A.B.C.D/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyMini1PMGen3.zip
- New: One link for all device types:
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.
Authors
See here.
Support
If you like to show support for the project and support further development, consider a Donation to the current maintainer markib via Paypal
License
This firmware is free software and is distributed under Apache 2.0 license.