ShellyPy
not to be confused with pyShelly
Python 2 and 3 Wrapper around the Shelly HTTP api
why
other packages like pyShelly only support CoAP or MSQT, neither I am comfortable with using in personal projects
examples
relay
a simple working example for the Shelly 1 that turns a relay on
import ShellyPy
device = ShellyPy.Shelly("192.168.0.5")
device.relay(0, turn=True)
monitor
a simple working example for the Shelly 1 that request monitor information
import ShellyPy
device = ShellyPy.Shelly("192.168.68.121")
deviceMeter = device.meter(0) #request meter information
print(deviceMeter['power']) #print power information
print(deviceMeter['total']) #print total information
other examples are available as well examples/meter.py
devices
supported
- Shelly1
- Shelly1PM
- Shelly2
- Shelly2.5
- Shelly4Pro (untested)
- Shelly Plug (untested)
- Shelly PlugS (untested)
- Shelly Bulb (untested)
- Shelly H&T (untested)
- Shelly Smoke (untested)
- Shelly EM (untested)
- Shelly flood (untested)
unsupported
- Shelly Sense (documentation is inaccurate, incomplete)
- Shelly RGBW (documentation is incomplete)
applicability
this wrapper is best used in closed networks where other solutions are either not an option or not desired
give your shelly devices static IP adresses for best results
license
this project is licensed under the MIT License
feel free to do whatever you want with it