记录sonos加入homeassistant平台

去年双十一在京东券后850入手了一台sonos play1,收到货后音质真的让人很惊艳。说实话买sonos也是因为ha可以控制,sonos可以成为我家智能化系统的一个重要部分。
记录一下sonos的配置过程,以供各位参考,如有错漏之处还望各位大佬指教。
参考:
ha官网sonos插件 https://home-assistant.io/components/media_player.sonos/
debitus的帖子 [已解决] 如何配置Sonos音箱?https://bbs.hassbian.com/forum.php?mod=viewthread&tid=497&highlight=sonos
H大大的帖子 [进阶教程] 多个Sonos音箱的HA自动化packages https://bbs.hassbian.com/forum.php?mod=viewthread&tid=498

以下正文开始:

基本连接配置

按照产品说明书连接配置好,登录好几个音乐平台。
注意:sonos的名称要用英文,不然ha会识别不到。
我给sonos起的名字是livingroom,登录了Apple Music,网易云和QQ音乐。

ha配置

进入路由器检查sonos的IP地址

首先打开configuration,加入media player

1
2
3
4
5
media_player:

- platform: sonos

- interface_addr: 192.168.2.164

保存重启后ha的web界面上就可以找到sonos播放器了,如果没有出现可能是discovery组件有问题。

然后打开左下角的service,可以看到很多和mediaplayer有关的service,可以利用这些service为sonos添加控制的script,这样可以添加到homebridge和habridge。

script

我写了几个可能用到的script当做按键,play1只有三个按键,播放暂停和音量加减,如果想切歌还要打开app,我感觉很不方便,所以根据services写了这些script。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 上一首
sonos_pre:
sequence:
- service: media_player.media_previous_track

# 下一首
sonos_next:
sequence:
- service: media_player.media_next_track

# 播放暂停
sonos_play:
sequence:
- service: media_player.media_play_pause

# 音量设为60%
sonos_volume50:
sequence:
- service: media_player.volume_set
entity_id: media_player.livingroom
data:
volume_level: 0.5

# 音量设为30%
sonos_volume30:
sequence:
- service: media_player.volume_set
entity_id: media_player.livingroom
data:
volume_level: 0.3

# 停止播放
stop_sonos:
sequence:
- service: media_player.media_pause
entity_id: media_player.livingroom


# 打开播放列表
playjazz:
sequence:
- service: media_player.select_source
data_template:
entity_id: media_player.livingroom
source: jazz1
playwyy:
sequence:
- service: media_player.select_source
data_template:
entity_id: media_player.livingroom
source: Neteasy
playapplemusic:
sequence:
- service: media_player.select_source
data_template:
entity_id: media_player.livingroom
source: applemusic

前面的基本操作都很简单,后面打开播放列表的几个script比较麻烦。
要先在sonos的app里,把喜欢的播放列表收藏到sonos中,然后名字要设为英文的,再用select source服务调用。