Python 使用SoCo创建Sonos组

Python 使用SoCo创建Sonos组,python,sonos,Python,Sonos,有人知道是否可以通过编程方式使用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")])) 我可以在本地实例化此对象,但

有人知道是否可以通过编程方式使用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")]))

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

是。首先,取消加入您想成为组长的区域。这会将其从以前的任何组中删除。然后将其他每个分区连接到该分区。你知道你的网络,所以你可以想出更好的名字

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)
您可以使用one.group(属性,而不是方法)检查组成员资格


从SoCo对象访问所有内容。无需直接处理ZoneGroup类。

是。首先,取消加入您想成为组长的区域。这会将其从以前的任何组中删除。然后将其他每个分区连接到该分区。你知道你的网络,所以你可以想出更好的名字

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)
您可以使用one.group(属性,而不是方法)检查组成员资格


从SoCo对象访问所有内容。无需直接处理ZoneGroup类。

您可以调用
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()
如果你不关心哪位演讲者应该是大师,你可以找到他们中的任何一位:

# Use any speaker as the master
device = soco.discovery.any_soco()

有关更多详细信息,请参阅。

您可以调用
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()
如果你不关心哪位演讲者应该是大师,你可以找到他们中的任何一位:

# Use any speaker as the master
device = soco.discovery.any_soco()

有关更多详细信息,请参阅。

顺便说一句,如果这是所有sonos设备,则有一个快捷方式:one.partymode()。顺便说一句,如果这是所有sonos设备,则有一个快捷方式:one.partymode()。