DigitalStrom的PythonAPI客户端

pydigitalstrom的Python项目详细描述


PyPI versionTravis CI build statusCoverage StatusMIT Licence

洋地黄

运行捆绑式Docker

$ docker-compose build

$ docker-compose up -d

$ docker-compose exec python bash

在本地运行测试

$ docker-compose run --rm python tox

概念

由于digitalstrom主要建立在场景的概念上,所以这个库也只支持设置场景。

当前支持用户定义的命名场景和通用场景。

示例用法

# -*- coding: UTF-8 -*-importurllib3importosimportasynciofrompydigitalstrom.clientimportDSClient# disable certificate warnings - dss uses self signedasyncdeftest():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')awaitclient.initialize()scenes=client.get_scenes()forsceneinscenes.values():print(scene.unique_id)print(scene.name)awaitscene.turn_on()loop=asyncio.get_event_loop()loop.run_until_complete(test())

事件侦听器

运行事件侦听器从digitalSTROM获取场景调用更新

# -*- coding: UTF-8 -*-importurllib3importosimportasynciofrompydigitalstrom.clientimportDSClientfrompydigitalstrom.listenerimportDSEventListenerasyncdefcallback(event):print('callback called')print(event)# disable certificate warnings - dss uses self signedasyncdeftest(loop):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')listener=DSEventListener(client=client,event_id=1,event_name='callScene',timeout=1,loop=loop)awaitlistener.start()listener.register(callback=callback)whileTrue:awaitasyncio.sleep(1)loop=asyncio.get_event_loop()loop.run_until_complete(test(loop=loop))

更改日志

该项目的所有显著变化都将记录在本文件中。

格式基于Keep a Changelog 这个项目遵循Semantic Versioning

[未发布]

[0.5.0]-2019-02-09年

更改

  • 中断-已更改的设备唯一ID以下划线分隔,而不是以点分隔
  • 更新了python版本和依赖项

[0.4.1]-2018-10-01

更改

  • 在dseventlistener上注册回调不应是异步的

[0.4.0]-2018-10-01

更改

  • 打破-这个库将只支持从现在起的场景,因为设备行动吸吮数字存储
  • 中断-dseventlistener现在将把事件数据转发到回调,而不是自己更新状态

[0.3.4]-2018-09-30

添加了

  • 从dslistener更新areablind状态

[0.3.3]-2018-09-29

添加了

  • 支持区域盲,基本上将场景0-9转换为区域的适当盲设备

[0.3.2]-2018-09-16

更改

  • 允许向DSListener传递异步循环

[0.3.1]-2018-09-16

添加了

  • 在AreaLight上支持更新回调

[0.3.0]-2018-09-16

添加了

  • 支持区域光,基本上将场景0-9转换为区域的适当照明设备
  • 可以更新区域灯光状态的事件侦听器

更改

  • 中断-设备等现在由dsclient初始化。initialize()和dsclient getter函数不再是异步的

[0.2.0]-2018-09-11

添加了

  • 测试覆盖率增加

更改

  • 中断-所有事情都是异步的
  • 使用aiohttp进行调用,并使用async函数提供api
  • 符合PEP8格式规则
  • 将合并的DSTerminal和DSDevice拆分为DSDevice
  • 打破最低要求的python版本现在是3.5.3
  • 运行完整TOX套件的多版本Docker环境

[0.1.2]-2018-09-10

固定

  • 某些API调用不应期望结果节点响应

更改

  • 为Docker env和app config添加了更多GitIgnores

[0.1.1]-2018-09-10

添加了

  • 盲、光、表、景试验
  • 将“上移”、“下移”和“停止”添加到“盲板”

更改

  • 请求的DSDevice和DSTerminal签名现在允许无结果节点的响应

[0.1.0]-2018-09-09年

更改

  • 完全重写

添加了

  • (黄色)GE-KL200、GE-KM200支架
  • (灰色)GR-KL200支架
  • (黑色)支持sw-zw200-f、sw-tkm200
  • (米)支持dSM12
  • (服务器)支持DSS IP
  • 支持场景

[0.0.1]-2016-11-23

添加了

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入