python api client for digitalSTROM
Project description
pydigitalstrom
Run bundled docker
$ docker-compose build
$ docker-compose up -d
$ docker-compose exec python bash
Status
Tested devices
| Device name | Color group / device type | Features |
|---|---|---|
| GE-KL200 | Yellow (light) | get status, turn on, turn off, toggle, identify, update status |
| GE-KM200 | Yellow (light) | get status, get brightness, turn on, turn off, toggle, identify, set brightness (if output mode permits), update status/brightness |
| GR-KL200 | Grey (blinds) | set position, get position, update position |
| SW-ZW200-F | Black (joker) | (adaptor plug) get status, turn on, turn off, toggle, update status |
| SW-TKM200 | Black (joker) | (push button) get status, update status |
| dSM12 | Meter | get metadata, get current power consumption, get overall power consumption, update metadata/power consumption |
| dSS IP | Server | get metadata, update metadata |
| Scene | Meta | turn on, turn off |
Example usage
# -*- coding: UTF-8 -*-
import urllib3
from pydigitalstrom.client import DSClient
# disable certificate warnings - dss uses self signed
urllib3.disable_warnings()
config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config', 'auth.json')
client = DSClient(host='https://dss.local:8080', username='dssadmin', password='mySuperSecretPassword',
config_path=config_path, apartment_name='Apartment')
lights = client.get_lights()
for light in lights.values():
print(light.name)
print(light.unique_id)
light.turn_on()
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]
[0.2.0] - 2018-09-11
Added
- Test coverage increased
Changed
- BREAKING - All things async
- Use aiohttp to make calls and provide api-using functions as async
- Comply with PEP8 formatting rules
- BREAKING merged DSTerminal and DSDevice into DSDevice
- BREAKING minimum required Python version is now 3.5.3
- Multi version Docker environment to run full tox suite
[0.1.2] - 2018-09-10
Fixed
- Some API calls should not expect a result node in response
Changed
- Added more gitignores for docker env and app config
[0.1.1] - 2018-09-10
Added
- Tests for blind, light, meter and scene
- Add move_up, move_down and stop to blind
Changed
- DSDevice and DSTerminal signature of request now allows for responses without result node
[0.1.0] - 2018-09-09
Changed
- Complete rewrite
Added
- (yellow) Support for GE-KL200, GE-KM200
- (grey) Support for GR-KL200
- (black) Support for SW-ZW200-F, SW-TKM200
- (meter) Support for dSM12
- (server) Support for dSS IP
- Support for scenes
[0.0.1] - 2016-11-23
Added
- Initial release
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
pydigitalstrom-0.2.0.tar.gz
(15.0 kB
view details)
File details
Details for the file pydigitalstrom-0.2.0.tar.gz.
File metadata
- Download URL: pydigitalstrom-0.2.0.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63de4b7dea681800f31d210d6bb711fb59412602b2ee7a6f1a59f80e86750f2b
|
|
| MD5 |
cbca550d68b1952385cc9acc36aee67b
|
|
| BLAKE2b-256 |
44e06ad798c013ba55085931380cc4b933479ee7aefd4f5d790c8a222dc319c4
|