通用媒体播放器


通用媒体播放器可以将家庭助理中的多个现有实体组合到单个媒体播放器实体中。必威是什么这用于创建一个可以控制整个媒体中心的单个媒体播放器实体。

多个媒体播放器实体可以由通用媒体播放器控制。此外,通用媒体播放器可以使音量和功率命令可直接针对其他家庭助理实体。必威是什么例如,这使媒体播放器的功率和音量命令能够控制电视,放大器或音频接收器之类的设备。

在中创建了通用媒体播放器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_MMOUTEDentity_id |属性状态entity_id |属性device_class电视

配置变量

姓名 细绳 必需的

分配给玩家的名称。

孩子们 列表 ((选修的

该实体将控制的儿童媒体参与者的订购列表。

state_template 模板 ((选修的

A模板可以指定以渲染媒体播放器的状态。这样,状态可能取决于本身不是媒体播放器的实体,例如开关或输入布尔值。

命令 细绳 ((选修的

媒体播放器命令被覆盖。几乎所有媒体播放器服务命令都可能被覆盖。示例条目是打开,,,,,,,,select_source,,,,volume_set,,,,提高音量,,,,音量减小,,,,volume_mute,,,,Media_play,,,,Media_pause,,,,Media_stop,,,,Media_previous_track,,,,Media_next_trackplay_media(请参阅媒体播放器文档查看完整列表)。

属性 细绳 ((选修的

可以覆盖的属性。大多数(如果不是全部),媒体播放器属性可以被覆盖。示例条目是IS_VOLUME_MMOUTED,,,,状态,,,,来源,,,,source_listvolume_level。这些值应为实体ID和状态属性,由管道字符(|)隔开。如果应使用实体ID的状态,则只需要提供实体ID。

device_class 细绳 ((选修的

该实体代表的设备类。可电视,,,,扬声器, 或者接收者

通用媒体播放器将主要模仿其中之一孩子们。通用媒体播放器将控制活动列表中的第一个孩子(不是闲置/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_IDswitch.living_room_tv服务switch.turn_off目标ENTITY_IDswitch.living_room_tv提高音量服务switch.turn_on目标ENTITY_IDswitch.living_room_volume_up音量减小服务switch.turn_on目标ENTITY_IDswitch.living_room_volume_downvolume_mute服务switch.turn_on目标ENTITY_IDswitch.living_room_muteselect_source服务MEDIA_PLAYER.SELECT_SOURCE目标ENTITY_IDMedia_player.Receiver数据来源{{来源}}””volume_set服务Media_player.volume_set目标ENTITY_IDMedia_player.Receiver数据volume_level{{volume_level}}””属性状态switch.living_room_tvIS_VOLUME_MMOUTEDswitch.living_room_mutevolume_levelMedia_player.Receiver | volume_level来源Media_player.Receiver |来源source_listMedia_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_booleankodi_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_IDMedia_player.kodi服务Media_player.turn_off目标ENTITY_IDMedia_player.kodi属性IS_VOLUME_MMOUTEDMedia_player.kodi | is_volume_mutedvolume_levelMedia_player.kodi | volume_level-平台科迪姓名科迪主持人192.168.1.10turn_on_action-服务input_boolean.turn_on目标ENTITY_IDinput_boolean.kodi_tv_state-服务Media_player.kodi_call_method目标ENTITY_IDMedia_player.kodi数据方法addons.executeaddonaddonidscript.json-cec参数命令启用turn_off_action-服务input_boolean.turn_off目标ENTITY_IDinput_boolean.kodi_tv_state-服务Media_player.media_stop目标ENTITY_IDMedia_player.kodi-服务Media_player.kodi_call_method目标ENTITY_IDMedia_player.kodi数据方法addons.executeaddonaddonidscript.json-cec参数命令支持自动化-别名转动电视什么时候科迪活性”扳机平台状态ENTITY_IDMedia_player.kodi_tv离开”播放”行动-服务Media_player.turn_on目标ENTITY_IDMedia_player.kodi_tv-别名转动离开电视什么时候科迪闲置的>15最小”扳机平台状态ENTITY_IDMedia_player.kodi_tv闲置的”为了分钟15行动-服务Media_player.turn_off目标ENTITY_IDMedia_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电视