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.

Supported Devices

Available Devices

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

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.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

ishelly-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ishelly-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 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.0.tar.gz
Algorithm Hash digest
SHA256 db4bf63a462f0e2c3cd9eba8c32b35ed30637ef5c37c7b6f3e4aef4f6d990181
MD5 818a77e0a4c9060d9f87e5d41fe2bc25
BLAKE2b-256 210e5ffcd771bb06e4bc35927723fcbf8c73933d88aca66792227667455f620b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ishelly-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e70645f9cee909e50f35ae60e12608cbf472902dd153443556b8bcbdc12faaf
MD5 a6c13d6408d5a7d04d073081157cf24e
BLAKE2b-256 96c3fe72c99197b4e381a09aaf19dce1d3bf5d0dad36cd4ea78cfddc74ae9219

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