Skip to main content

Python API for controlling myStrom switches

Project description

Python API for controlling myStrom switches/plugs.

Requirements

You need to have Python installed.

Installation

The package is available in the Python Package Index .

$ pip install python-mystrom

Details

At the moment the following endpoints are covered:

  • /report: for getting the current state and the power consumption

  • /relay: for setting the relay state

You will still be able to use your device with the smartphone application, curl, or other tools. The samples below shows how to use the switch with httpie and curl along with python-mystrom.

$ http http://IP_ADDRESS_PLUG/report
HTTP/1.1 200 OK
Content-Length: 39
Content-Type: application/json
Date: Mon, 15 Feb 2016 17:52:21 GMT

{
    "power": 51.630947,
    "relay": true
}
$ curl -X GET http://IP_ADDRESS_PLUG/relay?state=1

Example

The sample below shows how to use this Python module.

import pymystrom

plug = pymystrom.MyStromPlug('IP_ADDRESS_PLUG')

# Preserve state
STATE_ON = plug.get_relay_state()

# Switch relay on if the plug is currently off
if not STATE_ON:
    print('Relay will be switched on.')
    plug.set_relay_on()
    # Wait a few seconds to get a reading of the power consumption
    print('Waiting for a couple of seconds...')
    time.sleep(10)

# Get the new state of the switch
print('Relay state: ', plug.get_relay_state())
print('Power consumption:', plug.get_consumption())

# Switch relay off if it was off.
if not STATE_ON:
    plug.set_relay_off()

License

python-mystrom is licensed under MIT, for more details check LICENSE.

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

python-mystrom-0.3.4.tar.gz (2.5 kB view details)

Uploaded Source

File details

Details for the file python-mystrom-0.3.4.tar.gz.

File metadata

File hashes

Hashes for python-mystrom-0.3.4.tar.gz
Algorithm Hash digest
SHA256 b7ddd1d583875fbc19a9c0cc9161d0b7744e3cbf3edf8253d3b0c7d5c31d2ca1
MD5 e889868a9c5f1c99a6d2fce4fc74c12e
BLAKE2b-256 70c3cba223f6b925276cbcac82c014d065b91b5ce69d2fb6252b814984d67604

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