请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居第一站

 找回密码
 立即注册
查看: 3097|回复: 72

[基础教程] 【挖掘空调伴侣】 通过HASS控制广播、播放铃声、输出TTS

  [复制链接]

13

主题

126

帖子

1008

积分

论坛技术达人

积分
1008
金钱
872
HASS币
40
发表于 2018-8-15 14:58:58 | 显示全部楼层 |阅读模式
本帖最后由 yunsean 于 2018-8-18 20:42 编辑

更新于2018-8-18:解决在所有收藏的电台中进行上一下一台播放的问题以及针对APP的频道列表格式
另外,可以下载APP来更好的进行收音机控制:
(底部图标为你在米家收藏的电台列表,目前只能播放米家收藏过的电台)
WechatIMG677.jpeg
https://www.pgyer.com/ihass

喜马拉雅频道ID的获取方式:
国家台
http://live.ximalaya.com/live-web/v2/radio/national?pageNum=1&pageSize=200
地方台
http://live.ximalaya.com/live-web/v2/radio/province?pageNum=1&pageSize=200&provinceCode=110000
网络台
http://live.ximalaya.com/live-web/v2/radio/network?pageNum=1&pageSize=20
分类
    新闻台
        http://live.ximalaya.com/live-web/v2/radio/category?categoryId=5&pageNum=1&pageSize=20
    音乐台
        http://live.ximalaya.com/live-web/v2/radio/category?categoryId=14&pageNum=1&pageSize=20
    交通台
        http://live.ximalaya.com/live-web/v2/radio/category?categoryId=1&pageNum=1&pageSize=20

分类列表获取方式
http://live.ximalaya.com/live-web/v5/homepage

BUT:好像有加密授权,如果这个ID没有在网关上播放过(通过米家选择播放),设置进去并无法播放。有谁弄过喜马拉雅授权的不?

# miio_acpartner
小米空调伴侣杂项功能,包含收音机控制、铃声控制以及作为TTS使用,同样适用于小米网关
https://github.com/yunsean/miio_acpartner

部署:
将下载得到的miio_acpartner目录(最底层miio_acpartner目录,不是最顶层哦,就是和README平级的那个目录),放到python的python的home assitant组件目录下,比如windows下的目录可能在: C:\Users\Dylan\AppData\Local\Programs\Python\Python36\Lib\site-packages\homeassistant\components (注意你安装python版本可能与此不同,建议通过搜索site-packages并定位到homeassistant\components下)

设备配置:
miio_acpartner:
  - platform: xiaomi_miio
    name: "ChildrenRoom"
    host: 192.168.2.238
    token: YOUR_TOKEN
    api_key: "YOUR_BAIDU_TTS_API_KEY"
    secret_key: "Your_BAIDU_TTS_SECRET_KEY"
    base_url: "http://192.168.2.249:8123"
    base_path: "C:\\Users\\Dylan\\AppData\\Roaming\\.homeassistant"
    notify: true
    speed: 5
    pitch: 5
    volume: 5
    person: 0

name host token为miio设备固有配置,请参考空调伴侣网关等基本设置方法
api_key secret_key 为百度TTS开放服务为你提供的相关信息,如果你不使用TTS功能,这俩配置可以不要
base_url base_path 为你的home assistant环境信息
        base_url 为你的home assistant在内网的访问基础地址(后边不需要斜杠哦)
        base_path 为你的home assistant配置所在的目录,请在该目录下创建www文件夹,并且给予可写权限
notify 由于TTS使用时,ffmpeg感觉不是很稳定,有时候tts会失败,所以增加此选项,当开启后,tts和vod成功后,会在hass的notification中暂时结果(失败就没有)。
speed 语速:默认=5 取值范围 0-9
pitch 语调:默认=5 取值范围 0-9
volume 音量:默认=5 取值范围 0-9
person 人声:默认=0 person = 0  男声 person = 1 女声 person = 3 男娃娃 person = 4 女娃娃

提供如下服务:
miio_acpartner.turn_on
  打开广播
  指定entity_id为打开指定空调伴侣的广播,不指定则打开所配置的所有radio组件对应的设备广播
miio_acpartner.turn_off
  关闭广播
  指定entity_id为关闭指定空调伴侣的广播,不指定则关闭所配置的所有radio组件对应的设备广播
miio_acpartner.toggle
  切换打开关闭状态
  entity_id用途与上述两个方式一致
miio_acpartner.set_volume
  设置音量
  entity_id用途与上述两个方式一致
  volume为音量值0-100
  {
    "entity_id": "radio.childrenroom_fm",
    "volume": 100
  }
miio_acpartner.next_radio
  播放下一个收藏频道【当前只能在频道编号最低的10个频道中循环】
  entity_id用途与上述两个方式一致
miio_acpartner.prev_radio
  播放上一个收藏频道【当前只能在频道编号最低的10个频道中循环】
  entity_id用途与上述两个方式一致   
miio_acpartner.play_radio
  播放指定频道
  entity_id用途与上述两个方式一致
  program_id为需要播放的频带ID
  {
    "entity_id": "radio.childrenroom_fm",
    "program_id": 1739
  }
频道ID的获取方式:
  1、通过米家APP播放你想播放的电台
  2、通过home assitant的states接口或者网站的states页面(左侧“开发者工具”下方有一对尖括号图标那个),找到你的设备,右侧中可以看到channel,后边有形如:
          space_free: 11638627
        channel: 1739
        volume: 100
  其中channel就是当前正在播放节目的program_id,后续使用该数字即可播放指定电台。
miio_acpartner.play_ringtone
  播放指定铃声
  entity_id用途与上述两个方式一致
  ringtone_id为需要播放的铃声ID
  volume播放铃声音量,默认为上次音量
铃声ID的获取方式:
  通过home assitant的states接口或者网站的states页面(左侧“开发者工具”下方有一对尖括号图标那个),找到你的设备,右侧中可以看到ringtones,里面分三种铃声:
          alarm        报警铃声
          clock        闹铃
          doorbell        门铃
  无论哪种铃声,使用list下的index作为ringtone_id即可
miio_acpartner.play_tts
  TTS输出
  entity_id 用途与上述两个方式一致
  message 需要播放的文字内容
  volume 播放音量,默认为上次音量  
  此功能需要百度TTS以及ffmpeg的支持
miio_acpartner.play_vod
  播放指定音频流
  entity_id 用途与上述两个方式一致
  url 需要播放的音频流地址(http格式的纯音频流)
  volume 播放音量,默认为上次音量   

特别说明:
  play_tts和play_vod需要三项配置支持:
  1、home assistant的http服务支持:需要在配置文件所在目录下创建www文件夹,并且保证该目录权限可写,具体可参考:https://www.home-assistant.io/components/http/ ,页面最下部分:Hosting files
  2、ffmpeg支持,具体参考:https://www.home-assistant.io/components/ffmpeg/
  3、百度tts支持,可参考网页帖子:https://bbs.hassbian.com/forum.p ... 7%99%BE%E5%BA%A6tts ,不可谓不深情并茂。

玩法参考:
  1、天猫精灵这个蠢货,目前还没有发现通过API控制音量和暂停的手段,可以通过空调伴侣间接控制天猫精灵(附件带了三个文件,可以通过米家上传为自定义铃声后,通过在特定场景播放指定铃声完成对猫精的控制);
  2、使用网关和空调伴侣的朋友,免费多了几个TTS设备(虽然空调伴侣的声音又小又渣,聊胜于无);
  3、可以自行搭建一个http服务器,通过APP的方式,将手机录音上传到服务器后,然后使用play_vod将上传的录音通过空调伴侣或者网关播放出来,实现远程喊话;
  4、一个可以上一台下一台选取的收音机(目前只能在program_id最低的10个收藏台中循环),APP正在开发专用收音机面板,欢迎关注https://bbs.hassbian.com/thread-4403-1-1.html

TTS失败可能性比较大,所以贴一张原理图,遇到问题请尝试自行解决,可以QQ[qq]64266424[/qq]
绘图1.png

评分

参与人数 2金钱 +30 收起 理由
windgo + 10 膜拜大神!
Jones + 20 厉害了,竟然被楼主给实现了!有空学习下代.

查看全部评分

回复

使用道具 举报

13

主题

126

帖子

1008

积分

论坛技术达人

积分
1008
金钱
872
HASS币
40
 楼主| 发表于 2018-12-20 20:22:19 | 显示全部楼层
evil 发表于 2018-12-20 18:37
关于群晖中docker如何使用这个组件的问题

首先感谢大神的远程帮忙!非常感谢!

恩,都映射到这个路径即可。
回复

使用道具 举报

0

主题

2

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
30
HASS币
0
发表于 2018-12-20 18:37:39 | 显示全部楼层
关于群晖中docker如何使用这个组件的问题

首先感谢大神的远程帮忙!非常感谢!
解决方法:
其实很简单,在docker中容器homeassistant,编辑
1111.jpg
映射路径:/usr/src/app/homeassistant/components/miio_acpartner
“应该,差不多,或许,可能都是这个路径吧……”


再次感谢大神
回复

使用道具 举报

13

主题

126

帖子

1008

积分

论坛技术达人

积分
1008
金钱
872
HASS币
40
 楼主| 发表于 2018-10-14 17:34:20 | 显示全部楼层
gzroc 发表于 2018-10-14 14:04
用了几天突然发现不能用了,死活出不了声,没有改动过,请问是怎么回事? ...

加群呢,之前也有一个朋友有类似问题,好像是升级了固件后就不行了,小米封锁了自定义铃声

                               
登录/注册后可看大图
回复

使用道具 举报

11

主题

477

帖子

1667

积分

金牌会员

Rank: 6Rank: 6

积分
1667
金钱
1190
HASS币
0
发表于 2018-10-14 14:04:34 | 显示全部楼层
用了几天突然发现不能用了,死活出不了声,没有改动过,请问是怎么回事?
回复

使用道具 举报

11

主题

477

帖子

1667

积分

金牌会员

Rank: 6Rank: 6

积分
1667
金钱
1190
HASS币
0
发表于 2018-10-14 10:59:34 | 显示全部楼层
用一段时间就不能TTS了,一直出不了声,请教如何解决?
回复

使用道具 举报

5

主题

151

帖子

490

积分

中级会员

Rank: 3Rank: 3

积分
490
金钱
339
HASS币
0
发表于 2018-10-13 09:08:54 | 显示全部楼层
好东西,感谢大神
回复

使用道具 举报

13

主题

126

帖子

1008

积分

论坛技术达人

积分
1008
金钱
872
HASS币
40
 楼主| 发表于 2018-10-13 00:38:02 | 显示全部楼层
tiger 发表于 2018-10-11 04:30
电台乱码怎么搞啊

啥乱码?
回复

使用道具 举报

1

主题

47

帖子

131

积分

注册会员

Rank: 2

积分
131
金钱
84
HASS币
0
发表于 2018-10-11 04:30:30 | 显示全部楼层
电台乱码怎么搞啊
回复

使用道具 举报

1

主题

47

帖子

131

积分

注册会员

Rank: 2

积分
131
金钱
84
HASS币
0
发表于 2018-10-11 04:21:43 | 显示全部楼层
base_url: "http://192.168.2.249:8123"
    base_path: "C:\\Users\\Dylan\\AppData\\Roaming\\.homeassistant"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-1-22 03:57 , Processed in 0.225716 second(s), 41 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表