Skip to main content

python api client for digitalSTROM

Project description

PyPI version Travis CI build status Coverage Status MIT Licence

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


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)

Uploaded Source

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

Hashes for pydigitalstrom-0.2.0.tar.gz
Algorithm Hash digest
SHA256 63de4b7dea681800f31d210d6bb711fb59412602b2ee7a6f1a59f80e86750f2b
MD5 cbca550d68b1952385cc9acc36aee67b
BLAKE2b-256 44e06ad798c013ba55085931380cc4b933479ee7aefd4f5d790c8a222dc319c4

See more details on using hashes here.

Supported by

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