使用SoCo创建Sonos组

2024-07-04 08:40:37 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道有没有可能用SoCo编程创建一个组?在

例如,假设我要将5个设备组合在一起并指定协调器:

ZoneGroup(uid='...', coordinator=SoCo("192.168.0.115"), members=set([SoCo("192.168.0.101"), SoCo("192.168.0.111"), SoCo("192.168.0.102"), SoCo("192.168.0.100"), SoCo("192.168.0.115")]))

我可以在本地实例化这个对象,但不知道如何将配置发送到设备以设置拓扑。在


Tags: 对象实例uid编程memberssetcoordinatorsoco
2条回答

您可以调用partymode()将所有可用的演讲者分组:

#!/usr/bin/env python
import soco
# Use a specific speaker named Livingroom to be the master
device = soco.discovery.by_name("Livingroom")
device.group.coordinator.partymode()

如果你不在乎哪个演讲者应该是主人,你可以找到他们中的任何一个:

^{pr2}$

有关详细信息,请参见soco.core。在

是的。首先取消连接你想成为组长的区域。这将从任何以前的组中删除它。然后将其他区域连接到该区域。你了解你的人际网络,所以你可以想出更好的名字。在

one, two, three, four, five = [SoCo("192.168.0.101"), SoCo("192.168.0.111"), SoCo("192.168.0.102"), SoCo("192.168.0.100"), SoCo("192.168.0.115")]

one.unjoin()
two.join(one)
three.join(one)
four.join(one)
five.join(one)

您可以使用检查组成员资格一组(属性,而不是方法)。在

^{pr2}$

所有东西都是从SoCo对象访问的。不需要直接处理ZoneGroup类。在

相关问题 更多 >

    热门问题