与索尼SongPal设备接口的Python库

python-songpal的Python项目详细描述


python songpal
==


pypi版本


python 3 Songpal协议的实现,Sony的SoundBar
和潜在的其他设备都使用它。注意:

此项目目前处于alpha阶段,所有贡献,
无论是报告使用此功能的设备,还是创建pull
实现缺失功能的请求,都非常受欢迎!

支持的设备
---------


目前已使用以下设备对库进行了测试:

*ht-xt3
*ht-nt5
*ht-mt500
*ht-zf9
*srs-x77,srs-x88
*str-dn1060,str-dn1070,str-dn1080



。注意:
如果没有人从您的设备(请参阅devinfo/目录)贡献过devinfo,请键入"songpal dump devinfo"lt;filename>;`
并在此存储库上创建一个请求,随时贡献一个devinfo。
此信息稍后可用于扩展对这些设备的支持。

。注意:
Sony的"支持的设备"页面<;http://vssupport.sony.net/en-ww/device.html>;``列出了设备,
这些设备可能也适用于此库。




代码块:

$pip安装python songpal

代码块:

$songpal discover

discovering 3秒
found ht-xt3-bar-2015
*API版本:1.0
*端点:http://192.168.1.1:10000/Sony
*服务:
-服务:指南
-服务:系统
-服务:音频
-服务:avcontent



这将运行upnp发现以查找实现scalarwebapi的响应设备。警告:
如果在设备所在网络以外的其他网络上运行命令,则需要使用其他方法定位端点。

.

一般用法
~~~~~~~~~~~~~~~~

可以使用附带的"songpal"工具来控制您的设备。
所有可用的命令都可以用"帮助"列出,通过将每个
命令传递给子命令可以获得更多帮助,例如"songpal power--help`"。
m最有趣的命令最有可能是"power"、"output"、"volume"和"sound"。

--为了增加详细程度,还需要多次——用于
协议级信息。


某些命令可用于调整与该功能相关的设置,
通常通过将"target"及其所需的"value"作为参数传递给该命令。

代码块:

$songpal蓝牙模式关闭


on命令不主要用于设置,例如电源,需要
显式的"设置"子命令来更改设置。

警告:

请参阅特定命令的帮助以找到正确的格式。

todo:使cli在此上保持一致。

status
----


。代码块:

$songpal status




将显示有关设备的一些基本信息,
例如设备是否已通电以及其音量设置。

_功率:

功率控制
----

``power``命令可用于打开和关闭设备,
和更改其电源设置。

…代码块::bash

$songpal power

$songpal power settings


$songpal power

$songpal power设置quickstartmode on

注意:
要打开设备,必须激活快速启动;
欢迎使用一个修补程序添加LAN唤醒支持,以便在不快速启动的情况下启动设备。

警告:
设备有时会报告其状态为关闭,即使不是这样(可能与快速启动模式为"打开"有关)。

-——

…代码块:

$songpal volume[--output‘output title'][<;value>;mute unmute]

$songpal volume 20

$songpal volume+5

$songpal volume-10

$songpal volume--output‘zone 2’


$songpal volume--output‘main zonE'15

声音设置
----


您的设备可能支持各种与声音相关的设置,
例如夜间模式或调整超低音音量。

代码块:

$songpal sound

$songpal sound nightmode off


$songpal sound subwooferlevel 4



代码块:

$songpal zone

zones:
*主区域(uri:extracutput:zone?区域=1)(活动)
*区域2(uri:extoutput:zone?区域=2)(活动的)
*区域3(uri:extoutput:zone?区域=3)
*HDMI区域(uri:extoutput:zone?区域=4)

$songpal区域'main zone'


激活主区域(uri:extoutput:zone?zone=1)(活动)

$songpal zone'zone 2'真的


激活zone 2(uri:extracutput:zone?zone=2)(活动)

$songpal zone'zone 2'false


停用zone 2(uri:extoutput:zone?区域=2)(活动)


输入控制
----


无区域:
…代码块:

$songpal input
*hdmi1(uri:exterput:hdmi?端口=1)
*hdmi2(uri:exterput:hdmi?端口=2)(活动)
*hdmi3(uri:externput:hdmi?端口=3)

$songpal输入hdmi1



代码块:
$songpal输入

输入:
*源(uri:exterput:source)
-exterput:zone?区域=2
-勒索输出:区域?区域=3
-勒索输出:区域?区域=4
*游戏(uri:externput:game)(活动)
-勒索:区域?区域=1
-勒索输出:区域?区域=4
*卫星/有线电视(uri:externput:sat有线电视)
-勒索输出:区域?区域=1
-勒索输出:区域?区域=2
-勒索输出:区域?区域=3
-勒索输出:区域?区域=4
*视频1(uri:externput:video?端口=1)
-勒索输出:区域?区域=1
-勒索输出:区域?区域=2
-勒索输出:区域?区域=3
-勒索输出:区域?区域=4
*视频2(uri:externput:video?端口=2)
-勒索输出:区域?区域=1
-勒索输出:区域?区域=4
*电视(uri:exterput:tv)
-勒索输出:区域?区域=1
*sa-cd/cd(uri:exterput:sacd)
-exterput:zone?区域=1
-勒索输出:区域?区域=2
-勒索输出:区域?区域=3
-勒索输出:区域?区域=4
*蓝牙音频(uri:exterput:btaudio)
-勒索输出:区域?区域=1
-勒索输出:区域?区域=2
-勒索输出:区域?zone=3

$songpal input'video 1'


$songpal input'source'--output'zone 2'



设备设置
----


要列出可用设置,请使用"设置"命令。

。代码块::bash

$songpal设置



请注意,某些设置(例如蓝牙设置)未在
全局设置树中列出,但必须使用"蓝牙"命令进行单独访问。

注意:

当前不支持直接通过cli设置全局设置,
,但可以通过它们各自的命令访问:
``bluetooth`,``sound`,``power`。






代码块:

$songpal命令系统getsysteminformation



通知支持
---------


协议支持在子系统的基础上订阅通知。
执行不带任何参数的"songpal通知"将列出
可用否通知。

每个通知都可以单独收听,或者可以订阅来自单个子系统的所有通知。

代码块:

$songpal通知--侦听所有avcontent

contribution
----


报告错误或受支持的设备
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

报告错误或通知上面未列出的受支持设备时,
请考虑在报告中附加"songpal dump devinfo"的输出。



api信息
~远程API<;https://developer.sony.com/developer/cameras/get started/>;`
也与此类似,可能对开发人员也很有用。




Home assistant支持
-




…| pypi版本image::https://badge.fury.io/py/python songpal.svg
:目标:https://badge.fury.io/py/python songpal

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

推荐PyPI第三方库


热门话题
java获取范围内的素数和总素数   JAVAlang.IllegalArgumentException:找不到无效的URL或资源。JavaFX图像   java我可以在vaadin中直接流式处理ZipFile吗?   apache poi java poi HSSFsheet如何添加包含图片的页眉和页脚?   java如何在swing中使用GridLayout使列大小不同?   java为什么JPasswordField中的getText()被弃用?   java整数对象是如何创建的?   java在JAAS的策略文件中授予URL权限   linux Openssl(shell脚本)相当于java解密代码   java是无服务器的,结合事件源是可能的吗?   java JPA双向Uknown列   javajavax。加密。IllegalBlockSizeException:解密加密的AES字符串时最后一个块未完成   java如何知道我的ProcessBuilder start()是否成功执行了这些命令   本地特定错误消息中的java插值   java控件SFX通知异常   java文本输入if语句JavaFX   swing java未连接到水平组   java泛型,迭代器>无法访问内部类函数   java如何跳过当前页并写入下一页?   java一次导入许多静态字符串