通用媒体播放器
通用媒体播放器可以将家庭助理中的多个现有实体组合到单个媒体播放器实体中。必威是什么这用于创建一个可以控制整个媒体中心的单个媒体播放器实体。
多个媒体播放器实体可以由通用媒体播放器控制。此外,通用媒体播放器可以使音量和功率命令可直接针对其他家庭助理实体。必威是什么例如,这使媒体播放器的功率和音量命令能够控制电视,放大器或音频接收器之类的设备。
在中创建了通用媒体播放器configuration.yaml
如下。
#示例Configuration.yaml条目媒体播放器:-平台:普遍的姓名:Media_player_name孩子们:-Media_player.child_1_id-Media_player.child_2_id命令:打开:服务:服务数据:service_data关:服务:服务数据:service_data提高音量:服务:服务数据:service_data音量减小:服务:服务数据:service_datavolume_mute:服务:服务数据:service_dataMedia_play:服务:服务数据:service_dataMedia_pause:服务:服务数据:service_dataMedia_previous_track:服务:服务数据:service_dataMedia_next_track:服务:服务数据:service_data属性:IS_VOLUME_MMOUTED:entity_id |属性状态:entity_id |属性device_class:电视
配置变量
媒体播放器命令被覆盖。几乎所有媒体播放器服务命令都可能被覆盖。示例条目是打开
,,,,关
,,,,select_source
,,,,volume_set
,,,,提高音量
,,,,音量减小
,,,,volume_mute
,,,,Media_play
,,,,Media_pause
,,,,Media_stop
,,,,Media_previous_track
,,,,Media_next_track
和play_media
(请参阅媒体播放器
文档查看完整列表)。
可以覆盖的属性。大多数(如果不是全部),媒体播放器属性可以被覆盖。示例条目是IS_VOLUME_MMOUTED
,,,,状态
,,,,来源
,,,,source_list
和volume_level
。这些值应为实体ID和状态属性,由管道字符(|)隔开。如果应使用实体ID的状态,则只需要提供实体ID。
通用媒体播放器将主要模仿其中之一孩子们
。通用媒体播放器将控制活动列表中的第一个孩子(不是闲置/OFF)。如果astate_template
没有提供。实体孩子们:
列表必须是媒体播放器,但是状态模板可以包含任何实体。
建议命令打开
, 命令关
和属性状态
全部提供。这状态
属性指示媒体播放器是打开还是关闭。如果状态
表示媒体播放器关闭,此状态将优先于儿童状态。如果所有的孩子都是闲/休息,并且状态
启用了通用媒体播放器的状态。如果未提供,切换
命令将委派给打开
或者关
基于状态
。
还建议命令提高音量
, 命令音量减小
, 命令volume_mute
和属性IS_VOLUME_MMOUTED
全部提供。属性IS_VOLUME_MMOUTED
当音量静音时,应返回true或状态。这volume_mute
服务应切换静音设置。
提供时select_source
作为命令,建议还提供属性来源
, 和source_list
。这来源
属性是当前选择的来源,而source_list
属性是所有可用来源的列表。
使用时state_template
,如果您使用的模板取决于当前时间,建议使用现在()
。使用现在()
将在每分钟开始时会导致模板刷新。有关更多信息,请参见时间模板文档中的部分。
用法示例
带有开关的Chromecast&Kodi控制
在此示例中,可以使用开关来控制电视的电源。交换机也可用于调高音量,调低音量并静音音频。这些可以是命令行开关或家庭助理中的任何其他实体。必威是什么这打开
和关
命令将被重定向到电视,卷命令将被重定向到音频接收器。这select_source
命令将直接传递给A/V接收器。
孩子们是Chromecast和Kodi玩家。如果Chromecast正在播放,通用媒体播放器将反映其状态。如果Chromecast是闲置的,并且Kodi正在播放,则环球媒体播放器将改变以反映其状态。
媒体播放器:平台:普遍的姓名:测试通用孩子们:-Media_player.living_room_cast-Media_player.living_room_kodi命令:打开:服务:switch.turn_on目标:ENTITY_ID:switch.living_room_tv关:服务:switch.turn_off目标:ENTITY_ID:switch.living_room_tv提高音量:服务:switch.turn_on目标:ENTITY_ID:switch.living_room_volume_up音量减小:服务:switch.turn_on目标:ENTITY_ID:switch.living_room_volume_downvolume_mute:服务:switch.turn_on目标:ENTITY_ID:switch.living_room_muteselect_source:服务:MEDIA_PLAYER.SELECT_SOURCE目标:ENTITY_ID:Media_player.Receiver数据:来源:“{{来源}}””volume_set:服务:Media_player.volume_set目标:ENTITY_ID:Media_player.Receiver数据:volume_level:“{{volume_level}}””属性:状态:switch.living_room_tvIS_VOLUME_MMOUTED:switch.living_room_mutevolume_level:Media_player.Receiver | volume_level来源:Media_player.Receiver |来源source_list:Media_player.Receiver | source_list
Kodi CEC-TV控制
在此示例中,Kodi Media Player在CEC功能的设备(例如,在Raspberry Pi 24/7中运行的OSMC/OpenElec)运行,并且在安装JSON-CEC KODI附加组件后,它可以打开和关闭附件的电视。
我们将附件电视的状态存储在一个输入布尔,因此我们可以区分电视的打开或关闭,而Kodi总是“空闲”,并使用通用媒体播放器使用模板渲染其状态。现在,我们可以区分“闲置”和“关闭”状态(是第二个闲置,电视已经关闭)。
因为用于存储电视状态的输入布尔值仅在使用家庭助手时会发生变化必威是什么打开
和关
动作,Kodi可以通过多种方式控制,我们还定义了一些自动化,以便在需要时更新此输入布尔值。
完整的配置是:
乡亲:定制:Media_player.kodi_tv:友好名称:科迪input_boolean:kodi_tv_state:媒体播放器:-平台:普遍的姓名:Kodi电视state_template:>{%如果IS_STATE('Media_player.kodi','idle')和_STATE('input_boolean.kodi_tv_state','off'off')%}离开{% 别的 %}{{state('Media_player.kodi')}}}{% 万一 %}孩子们:-Media_player.kodi命令:打开:服务:Media_player.turn_on目标:ENTITY_ID:Media_player.kodi关:服务:Media_player.turn_off目标:ENTITY_ID:Media_player.kodi属性:IS_VOLUME_MMOUTED:Media_player.kodi | is_volume_mutedvolume_level:Media_player.kodi | volume_level-平台:科迪姓名:科迪主持人:192.168.1.10turn_on_action:-服务:input_boolean.turn_on目标:ENTITY_ID:input_boolean.kodi_tv_state-服务:Media_player.kodi_call_method目标:ENTITY_ID:Media_player.kodi数据:方法:addons.executeaddonaddonid:script.json-cec参数:命令:启用turn_off_action:-服务:input_boolean.turn_off目标:ENTITY_ID:input_boolean.kodi_tv_state-服务:Media_player.media_stop目标:ENTITY_ID:Media_player.kodi-服务:Media_player.kodi_call_method目标:ENTITY_ID:Media_player.kodi数据:方法:addons.executeaddonaddonid:script.json-cec参数:命令:支持自动化:-别名:“转动在这电视什么时候科迪是活性”扳机:平台:状态ENTITY_ID:Media_player.kodi_tv从:“离开”到:“播放”行动:-服务:Media_player.turn_on目标:ENTITY_ID:Media_player.kodi_tv-别名:“转动离开这电视什么时候科迪是在闲置的>15最小”扳机:平台:状态ENTITY_ID:Media_player.kodi_tv到:“闲置的”为了:分钟:15行动:-服务:Media_player.turn_off目标:ENTITY_ID:Media_player.kodi_tv
和谐远程示例
完整的配置是:
媒体播放器:-平台:普遍的姓名:媒体室电视属性:状态:远程.harmony_hubsource_list:远程.harmony_hub | activity_list来源:远程.harmony_hub | current_activity命令:打开:服务:远程.turn_on目标:ENTITY_ID:远程。remote.harmony_hub关:服务:远程.turn_off目标:ENTITY_ID:远程。remote.harmony_hub提高音量:服务:远程.send_command目标:ENTITY_ID:远程。remote.harmony_hub数据:设备:接收者命令:提高音量音量减小:服务:远程.send_command目标:ENTITY_ID:远程。remote.harmony_hub数据:设备:接收者命令:音量减小select_source:服务:远程.turn_on目标:ENTITY_ID:远程。remote.harmony_hub数据:活动:“{{来源}}””device_class:电视