二十一 Home Assistant 处理事件&处理状态&处理可见性

处理事件
Home Assistant 有不同的方式来响应在 Home Assistant 中发生的事件。这些方式被组织成了辅助方法。例如track_state_change(跟踪状态变化)、track_point_in_time(跟踪时间点)、track_time_change(跟踪时间变化)。

处理状态
组件负责维护其所属域中设备的状态。每个设备应该对应一个单一状态,并且如果可能的话,应该提供一个组来跟踪设备的组合状态。
一个状态可以有几个属性,这些属性将有助于前端显示状态:
friendly_name:此名称将用作设备的名称。
entity_picture:将显示此图片而不是域图标。
unit_of_measurement:这将附加到界面中的状态后面。
hidden:这是对前端关于是否应隐藏状态的一个建议。
这些属性在homeassistant.helpers.entity中定义。
处理可见性
通常,在为 Home Assistant 创建新实体时,你会希望它是一个继承自homeassistant.helpers.entity.Entity类的类。如果这样做了,可见性将为你处理。你可以通过设置hidden属性来为你的实体的可见性设置一个建议,如下所示。

self.hidden = True

这将建议活动前端隐藏该实体。这要求活动前端支持隐藏卡片(默认前端支持),并且hidden的值包含在你的属性字典中(见上文)。实体抽象类将为你处理这些。
请记住:你的组件代码设置的建议将始终被configuration.yaml文件中的用户设置覆盖。这就是为什么你可能将hidden设置为False,但属性可能仍然为True(反之亦然)。

总结
主要阐述了三个内容

  1. 组件处理状态的相关内容。明确了组件在维护设备状态方面的职责,包括单个设备状态和设备组合状态(如有)。详细介绍了状态可具有的用于前端显示的属性,如设备友好名称、替代图标图片、测量单位以及隐藏状态的建议,并且指出这些属性的定义位置,为开发者在处理组件状态时提供了清晰的指导,有助于确保状态信息在前端的准确呈现,提升用户体验,同时也为组件间状态管理和交互提供了基础规范。
  2. 处理事件的方式,重点提及了一些用于响应事件的辅助方法,如跟踪状态、时间点和时间变化等方面的方法,但未详细展开每个方法的具体使用细节,主要是为开发者提供一个处理事件相关功能的初步引导,后续可能需要结合更多文档或实际代码来深入了解如何在开发中具体运用这些方法来实现对各种事件的有效处理,从而增强组件或系统与事件相关的交互能力和响应逻辑。
  3. 处理实体可见性的方法。强调创建新实体时继承特定类可自动处理可见性,开发者可通过设置hidden属性来建议前端是否隐藏实体,但最终的可见性取决于用户在配置文件中的设置,这一机制确保了用户对实体显示的最终控制权,同时也提醒开发者在处理可见性时需考虑到用户配置的优先级,为实现灵活且符合用户需求的实体可见性管理提供了指导。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值