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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file python-mystrom-0.3.3.tar.gz
.
File metadata
- Download URL: python-mystrom-0.3.3.tar.gz
- Upload date:
- Size: 2.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f28931ee6bec3707366abef63ca2c1a6d553f5d952481e2393e8f3c2e5c803a5 |
|
MD5 | 4e95cc2c135e1dfcb8801d5f816ec365 |
|
BLAKE2b-256 | a05d4541481c8bfd5e8ac9ed4585794d67d1187de8fd1f17831e0af1e60677b0 |