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

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

 找回密码
 立即注册
查看: 5124|回复: 75

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

  [复制链接]

13

主题

132

帖子

1083

积分

论坛技术达人

积分
1083
金钱
941
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 厉害了,竟然被楼主给实现了!有空学习下代.

查看全部评分

回复

使用道具 举报

51

主题

1315

帖子

4245

积分

论坛元老

Rank: 8Rank: 8

积分
4245
金钱
2905
HASS币
250

活跃会员教程狂人

发表于 2019-4-6 21:09:30 | 显示全部楼层
大佬这个插件现在是停止更新了么?
回复

使用道具 举报

13

主题

132

帖子

1083

积分

论坛技术达人

积分
1083
金钱
941
HASS币
40
 楼主| 发表于 2019-1-31 14:12:00 | 显示全部楼层
xiaoguaileo 发表于 2019-1-24 10:57
0.85.1版本报错
2019-01-24 11:03:03 WARNING (MainThread) [homeassistant.components.http] legacy_api_p ...

位置没对吧
回复

使用道具 举报

3

主题

166

帖子

745

积分

高级会员

Rank: 4

积分
745
金钱
579
HASS币
0
发表于 2019-1-24 10:57:19 | 显示全部楼层
0.85.1版本报错
2019-01-24 11:03:03 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don't require it, remove the 'api_password' from your http config.
2019-01-24 11:03:04 WARNING (MainThread) [homeassistant.loader] You are using a custom component for sensor.chineseholiday which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-01-24 11:03:04 WARNING (MainThread) [homeassistant.loader] You are using a custom component for climate.xiaomi_miio which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-01-24 11:03:05 WARNING (MainThread) [homeassistant.loader] You are using a custom component for cover.hassmart which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-01-24 11:03:05 ERROR (MainThread) [homeassistant.loader] Unable to find component miio_acpartner
2019-01-24 11:03:05 ERROR (MainThread) [homeassistant.setup] Setup failed for miio_acpartner: Component not found.
2019-01-24 11:03:05 ERROR (MainThread) [homeassistant.setup] Error during setup of component zeroconf
回复

使用道具 举报

13

主题

132

帖子

1083

积分

论坛技术达人

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

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

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

使用道具 举报

0

主题

3

帖子

52

积分

注册会员

Rank: 2

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

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


再次感谢大神
回复

使用道具 举报

13

主题

132

帖子

1083

积分

论坛技术达人

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

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

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

使用道具 举报

12

主题

519

帖子

1806

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

12

主题

519

帖子

1806

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

5

主题

164

帖子

589

积分

高级会员

Rank: 4

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-8-18 08:47 , Processed in 0.094265 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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