Skip to main content

No project description provided

Project description

ishelly

A shelly api wrapper library which uses pydantic models to use the api and as much of the shelly v2 features as possible. No shelly v1 support planned.

This library was built with the support of the LightningSpore open-source mushroom growing project:

Supported Devices

Available Devices

  • Shelly Plug US
  • Shelly 2PM
  • Shelly Pro 4PM

Install

pip install ishelly

Usage

from pprint import pprint
from requests import post


from ishelly.components.switch import *
from ishelly.components.schedule import *
from ishelly.components.shelly import *
from ishelly.client import ShellyPlug, Shelly2PM, ShellyPro4PM

# Initialize a Shelly Pro 4PM device object
plug_pro = ShellyPro4PM("http://192.168.1.125")

# Switch IDs for the high power outlets
switch_id_high_power_1 = 0
switch_id_high_power_2 = 3

# Step 1: Create a schedule to turn on the high power outlet 1 every 5 minutes
timespec_on = "0 */5 * * * *"
turn_on = SwitchSetRequest(
    id=1,
    params=SwitchSetParams(id=switch_id_high_power_1, toggle_after=90, on=True),
)

# Step 2: Add the scheduled task to the device
plug_pro.schedule.create(enable=True, timespec=timespec_on, calls=[turn_on])


# Step 3: Print the current schedules on the device
current_schedule = plug_pro.schedule.list()
for task in current_schedule.jobs:
    print(task)


# Step 4: Update an existing schedule (ID 4) to turn on the high power outlet 1 every 5 minutes
plug_pro.schedule.update(4, False, "0 */5 * * * *", calls=[turn_on])

# Step 5: Delete the schedule with ID 4
plug_pro.schedule.delete(4)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ishelly-0.1.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

ishelly-0.1.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file ishelly-0.1.1.tar.gz.

File metadata

  • Download URL: ishelly-0.1.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for ishelly-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c04643c18d9a88788217170b8c49bf2bac03fc6710138a7ac95e54dc3bfce785
MD5 0b75ff6d1bebb1331af9b18800376e7e
BLAKE2b-256 25e9295dcaefadcda596788c13bcfd512f27ccd5c03058ca49557ad4557fa242

See more details on using hashes here.

File details

Details for the file ishelly-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ishelly-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for ishelly-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4cdf14984c04a5d41ac470310df1081e0f0886bb2e0bc567c70563084aac689a
MD5 de8692ffc787b09789c87c7161143978
BLAKE2b-256 b263fe5d49de391e708a28ff76e773737d5b5cfc5c3a7f7537f6a0cf132eb58d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page