• Stars
    star
    1,752
  • Rank 26,573 (Top 0.6 %)
  • Language
    C++
  • License
    Other
  • Created over 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Apple HomeKit firmware for Shelly's

License Gitter

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:

Donate via PayPal

Authors

See here.

License

This firmware is free software and is distributed under Apache 2.0 license.

More Repositories

1

mel-ac-homekit

Mitsubishi Electric AirCo (conditioner) and ATW (heat pump) control for HomeKit
C
51
star
2

aws-iot-button

JavaScript
38
star
3

demo-js

A JS-enabled demo Mongoose OS firmware
JavaScript
32
star
4

wifi-setup-web

29
star
5

aws-iot-heater

JavaScript
27
star
6

sonoff-basic-openhab

A Sonoff Basic firmware to work with openHAB
JavaScript
22
star
7

door-bell

IoT doorbell that works via MQTT - generic MQTT server, AWS IoT, Google IoT, etc
JavaScript
14
star
8

smallest-wifi-button

The Smallest WiFi Button in the World (ESP8266, MQTT, IFTTT)
JavaScript
14
star
9

shelly1

JavaScript
13
star
10

example-m5stack-js

Basic demo for M5stack
JavaScript
12
star
11

captive-portal

C
11
star
12

empty

C
10
star
13

demo-c

A demo Mongoose OS firmware for C/C++
C
10
star
14

huzzah-featherwing

C
9
star
15

alexa-microwave

Control a microwave with ESP32 via MQTT / Amazon Alexa
Python
9
star
16

smart-washing-machine

Making washing machine smart - MQTT, ESP8266
JavaScript
8
star
17

example-homekit

Demo application for HomeKit ADK
C
7
star
18

lilygo-higrow-soil-temp-humi-sensor

C
6
star
19

losant-temp-sensor

๐ŸŒก๏ธ A Mongoose OS app for sending temperature readings of ESP32 to Losant.
JavaScript
6
star
20

neopixel-aws-iot

Neopixel control using AWS IoT and Android App
Java
6
star
21

aws-uart

JavaScript
6
star
22

wifi-scan

C
5
star
23

example-arduino-adafruit-ssd1306-js

JavaScript
5
star
24

blynk

JavaScript
5
star
25

example-uart-c

C
5
star
26

LilyGo-HiGrow-Sensor-v1

LilyGo HiGrow ESP32 Plant Monitoring Sensor Firmware (Hardware v1)
JavaScript
4
star
27

mq135

JavaScript
4
star
28

example-dht-js

JavaScript
4
star
29

imu-demo

IMU Library Demo (for Chrome)
JavaScript
4
star
30

door-sensor

Mongoose OS IoT Door-Sensor for ESP32
JavaScript
4
star
31

example-shadow-js

JavaScript
4
star
32

example-uart-js

JavaScript
3
star
33

environmental-monitor

JavaScript
3
star
34

example-ble-js

BLE JS API use example
JavaScript
3
star
35

bootloader

Boot loader
C
3
star
36

http-fetch

C
3
star
37

losant-mqtt

Losant + Mongoose OS example
JavaScript
3
star
38

ota-aws-shadow

C
2
star
39

example-arduino-onewire-js

JavaScript
2
star
40

aws-pico

ESP32-PICO-KIT breakout board demo for AWS IoT
JavaScript
2
star
41

example-neopixel-c

C
2
star
42

example-dns-sd

DNS-SD usage example
C
2
star
43

example-arduino-ds3231-js

DS3231 High Precision Real Time Clock Module usage example (JavaScript)
JavaScript
2
star
44

example-rpc-c

C
2
star
45

mel-ac-demo

Demo app for the MEL-AC library. Controll Mitsubishi Electirc AC and AWT unit using Mongoose OS RPC
C
2
star
46

example-no-libs-c

Bare-bones app with no libraries at all
C
2
star
47

example-arduino-adafruit-bme280-js

JavaScript
2
star
48

example-spi-c

C SPI API usage example
C
2
star
49

example-arduino-onewire-c

C++
1
star
50

example-arduino-adafruit-ads1x15-js

Adafruit ADS1015 12-Bit ADC - 4 Channel with Programmable Gain Amplifier usage example (JavaScript)
JavaScript
1
star
51

example-factory-config

Device factory confguration example
C
1
star
52

example-wifi-scan-js

WifFi scan app in JS
JavaScript
1
star
53

losant-motion-sensor

Detecting Motion Using a PIR sensor, ESP8266, and Mongoose OS
JavaScript
1
star
54

example-arduino-hello-c

C++
1
star
55

smart-pool-pump

Pool Timer Controller, integrates AWS shadow, BMP180 and ADE7912
C
1
star
56

12V-8Port-Switch

ESP8266 based 12V 8gang FET driver with current sensor
C
1
star
57

blynk-bme280-js

Using BME280 sensor with Blynk mobile app
JavaScript
1
star