Last active
November 27, 2017 04:06
-
-
Save willwhui/22e6ecc5aee88344d3a954962ef7c938 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
在Hass上利用Chromecast state Event开关电视 |
准备工作已做好,整理一下思路
trigger:
检查chromecast的状态,它是个mediaplayer
condition:
检查电视机的ip状态,它是个sensor
action:
向智能红外遥控器发送打开电视的指令,它是个switch
在配置文件中添加automation如下:
- alias: 'TV power on when Chromecast playing'
trigger:
- platform: state
entity_id: media_player.living_room_tv
from: 'off'
to: 'idle' # start to play video. The next state change will be "idle to playing"
- platform: state
entity_id: media_player.living_room_tv
from: 'off'
to: 'playing' # maybe sometime state will directly be changed from "off" to "playing" ? i don't know
condition:
condition: state
entity_id: binary_sensor.skyworth_tv
state: 'off' # tv ip address not detected
action:
- service: media_player.media_pause # waiting for tv power on
entity_id: media_player.living_room_tv
- service: switch.turn_on
entity_id: switch.skyworth_tv_power
- delay: '00:00:30' # left some seconds for tv power on
- service: media_player.media_play # continue playing
entity_id: media_player.living_room_tv
这样就好了。
重启hass。
对google home说 “play movie on tv”,就可以自动启动电视了。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
连接智能红外遥控器(broadlink RM2)
官方文档中应该采用这个:Broadlink RM Switch
另一个“Broadlink RM2 and A1 sensor”仅用做传感器数据获取
官方文档理解起来有点困难。实际情况如下(其实都是按照文档来的):
首先,添加配置代码:
可选的参数都不用填。
然后,后台会出现这样的信息:
但是前端页面并不出现任何新的swith图标。
不过,此时已经可以在开发者工具的“服务”页面看到一个叫做"broadlink"的服务了,它的可用服务是
这两个服务就是官方文档提到的需要用到的两个服务。
获取遥控器的控制代码
官方文档:
就如字面意思:
1、在service页面找到domain "broadlink",调用service "learn_command_192_168_31_196"
2、在20秒内按下电视遥控器的按键(我是按了power,因为我要开关机)
3、在state页面,搜索“packet”,可以看到梦寐以求的长串红外指令编码
然后按照文档增加配置内容成如下:
重启hass
可以看到开关"Skyworth TV Power"出现在前端页面上了。