Home Assistant 组件开发
文章平均质量分 57
开发文档
道古云飞
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
四十一 Home Assistant 开发hass.io插件-创建插件仓库
用户可以通过进入Home Assistant中的Hass.io面板,点击右上角的商店图标,将你的仓库的URL复制/粘贴到仓库文本区域中,然后点击“保存”来添加仓库。插件仓库可以包含一个或多个插件。每个插件都存储在其自己的唯一文件夹中。为了将其识别为一个仓库,仓库包含一个配置文件。每个仓库都需要在Git仓库的根目录包含。原创 2024-12-09 09:59:38 · 1018 阅读 · 0 评论 -
四十 Home Assistant 开发hass.io插件-发布插件
你需要一个Docker Hub账户来创建自己的插件。下载我们的构建脚本并运行以下命令之一。原创 2024-12-09 09:59:18 · 515 阅读 · 0 评论 -
三十九 Home Assistant 开发hass.io插件-本地测试
所有标准输出和标准错误都被重定向到Docker日志中。可以从Home Assistant中的Hass.io面板的插件页面获取日志。你也可以在开发机器上构建并尝试插件。将所有插件文件移动到一个临时文件夹中。在Dockerfile中用以下内容替换。开发插件的最快方法是将它们添加到本地插件仓库中。要访问本地插件仓库,可以安装。目前,插件将与存储在Docker Hub上的镜像一起工作(使用插件配置中的。还需在Dockerfile中添加。如果本地插件仓库中没有。,则会在设备上构建它。原创 2024-12-09 09:58:50 · 315 阅读 · 0 评论 -
三十八 Home Assistant 开发hass.io插件-配置
与每个Docker容器一样,你需要一个在容器启动时运行的脚本。用户可能会运行许多插件,所以如果只是做简单的事情,建议尽量使用Bash脚本。Hass.io将根据机器架构自动替换正确的基础镜像。如果你需要在正确的时区运行,可以添加。如果在插件启动前用户必须提供该值,则将默认值设置为。或者如果你不想进行多架构构建/支持,也可以使用简单的。每个插件都存储在一个文件夹中。那么在你的bash文件的环境中将会有一个包含。,但描述了我们应该如何验证用户输入。,但我们的基础镜像中已经包含了它。仅支持非嵌套数组和字典。原创 2024-12-09 09:58:13 · 2700 阅读 · 0 评论 -
三十七 Home Assistant 开发hass.io插件流程&First Demo
启动后,你可以通过SSH连接到Hass.io,并将你的自定义插件存储在“/addons”中。对于Samba,一旦你启用并启动它,你的Hass.io实例将出现在本地网络选项卡中,并共享一个名为“addons”的文件夹。启用Samba插件后,你可以通过本地网络浏览到你的Hass.io服务器。一旦你通过SSH连接到你的Hass.io设备,你就可以访问“/addons”中的插件。现在到了有趣的部分,打开Hass.io用户界面并安装和运行你的插件。你现在应该看到一个名为“Local”的新卡片,列出了你的插件!原创 2024-12-09 09:57:19 · 2363 阅读 · 0 评论 -
三十六 Home Assistant Hass.io调试
此页面主要面向Hass.io开发者,提供了调试Hass.io的相关信息。重点包括如何通过创建文件并放置在SD卡特定位置,然后使用SSH以root用户在特定端口访问Hass.io设备,以及如何查看不同组件(如监管器服务、Hass.io监管器、Home Assistant)的日志,这些操作有助于开发者在处理Hass.io基础镜像时进行问题排查和调试工作。原创 2024-12-09 09:56:41 · 459 阅读 · 0 评论 -
三十五 Home Assistant Hass.io 架构简介
电源循环(重启、关机)管理网络设置本地更新。原创 2024-12-09 09:56:18 · 409 阅读 · 0 评论 -
三十四 Home Assistant 创建自定义面板
如果你想使用自己的状态卡片,且不将代码合并到中,你可以创建自己的实现。将元素源文件及其依赖项放在Home Assistant配置目录下的目录中。例如,如果要为light域创建一个名为的状态卡片,将放在中。该文件应该使用Polymer实现标签。在中,你应该使用导入Home Assistant用户界面未使用的所有依赖项。不要导入Home Assistant用户界面使用的任何依赖项。在模式下导入这些依赖项会起作用,但在生产模式下会失败。在文件的部分,放入。在frontend部分,使用指定要加载的URL。原创 2024-12-09 09:55:51 · 1065 阅读 · 0 评论 -
三十三 Home Assistant 创建自定义面板
任何组件都有可能向前端添加一个面板。面板将全屏渲染,并可以通过JavaScript实时访问Home Assistant对象。在应用程序中,地图、日志和历史记录等都是这样的例子。</script>在你的文件中为新面板创建一个条目:示例页面。原创 2024-12-09 09:55:23 · 945 阅读 · 0 评论 -
三十二 Home Assistanta 更多弹窗
本文主要介绍了Home Assistant中更多信息对话框的功能及添加步骤。对话框在用户点击卡片时弹出,包含状态卡片、实体历史记录和更多信息组件,组件能提供更多信息或控制方式。以camera域为例,详细说明了添加更多信息组件的操作,包括在特定文件中修改数组和创建、引入相关HTML文件,为开发者扩展实体的详细信息展示和控制功能提供了指导,有助于提升用户与Home Assistant交互时获取信息的丰富度和操作的便利性。原创 2024-12-09 09:54:54 · 406 阅读 · 0 评论 -
三十 Home Assistant 前端开发
Home Assistant前端开发的相关内容。首先强调了生产环境与开发环境的差异,生产中不应使用开发模式。在设置开发环境方面,涵盖了启用开发模式的配置、Node.js与Yarn的安装、获取前端代码及相关操作(如处理git子模块、fork项目等)。开发过程中需运行Rollup以实时反映代码更改。最后说明了构建前端的流程,包括安装依赖、编译、合并压缩、复制文件、生成哈希值和gzip版本等一系列操作,为前端开发者提供了全面的指导,有助于顺利开展Home Assistant前端项目的开发与维护工作。原创 2024-12-07 22:25:38 · 1188 阅读 · 0 评论 -
二十九 Home Assistant 异步操作
在Home Assistant中如何使用异步功能。包括与核心交互时应根据情况选择合适的方法(异步或非异步版本);实现异步组件、平台和实体的方法,如通过定义和将实体的update方法转为异步等;从线程调用异步函数可借助工具;处理传入函数时可利用hass对象的和方法,它们能根据函数类型将其正确调度到相应位置执行,帮助开发者更好地在Home Assistant中运用异步编程,提升程序性能和效率。原创 2024-12-07 22:25:12 · 1043 阅读 · 0 评论 -
二十八 Home Assistant 各种的函数
本文主要介绍了Home Assistant中函数的分类,包括协程函数、回调函数、事件循环和线程安全函数以及其他函数。协程函数基于Python生成器语法,可暂停执行等待结果,需用注释;回调函数普通且安全,可处理信息和调度任务,用callback注释;事件循环和线程安全函数可在线程和事件循环中安全运行,多为计算或数据转换类,无特殊注释;其他函数不属于上述类别,如使用sleep或执行I/O操作的函数,也无特殊注释。同时解释了回调函数存在的原因是性能和状态一致性考虑。在使用各类函数时需注意其特性和适用场景。原创 2024-12-07 22:24:34 · 1007 阅读 · 0 评论 -
二十七 Home Assistant 注册句子
阐述了对话组件依据注册句子处理前端命令并转换为意图的机制,以及组件向其注册句子实现远程控制的方法,通过示例展示了如何注册包含命名槽位的句子,当匹配到相应句子时,组件能准确生成特定类型意图及槽位信息,为开发者在实现对话功能时提供了关键的注册操作指导,有助于提升系统对自然语言的理解和处理能力,增强用户与系统的交互体验。原创 2024-12-07 22:24:08 · 345 阅读 · 0 评论 -
二十六 Home Assistant意图的处理
说明了在Home Assistant中任何组件都可处理意图,且需为不同意图类型注册处理程序,处理程序要继承特定类。给出了示例代码,在函数中初始化数据并注册意图处理类,处理类中定义意图类型、可选的槽位验证模式及处理意图的异步方法,在方法中更新数据并创建响应,设置语音内容,为开发者实现意图处理功能提供了具体范例和操作流程,有助于实现多语音助手的意图整合处理,增强系统的交互性和灵活性。原创 2024-12-07 22:23:46 · 199 阅读 · 0 评论 -
二十五 Home Assistant 触发意图
介绍了在Home Assistant中触发意图的操作及相关处理。触发意图后会得到响应或错误,示例代码展示了如何处理意图,包括处理不同类型的异常情况。同时详细说明了意图响应实例的属性,包括意图、语音和卡片响应相关的内容,以及语音和卡片字典值的具体含义,为开发者在实现意图触发和处理功能时提供了清晰的指导,有助于准确构建和处理意图相关的交互逻辑,提升用户与系统的语音交互体验。原创 2024-12-07 22:23:10 · 335 阅读 · 0 评论 -
二十四 Home Assistant 意图
意图由用户行为产生,涵盖类型、槽位等要素及多种相关组件,其来源多样,任何组件均可处理,方便与语音助手集成。通过homeassistant.helpers.intent.Intent类实现,包含多个属性用于描述意图相关信息,同时明确了槽位字典值的特点,为开发者理解和处理意图提供了全面的框架,有助于在开发中实现与语音交互相关的功能,提升用户体验,使 Home Assistant 能更好地响应用户意图,实现智能化操作。目前,对话、Alexa、API.ai 和 Snips 是意图的来源。值 任何类型 槽位的值。原创 2024-12-07 22:22:00 · 364 阅读 · 0 评论 -
二十三 Home Assistant 组件的探索与发现
接着阐述了通过扩展 NetDisco 库添加发现指令来使设备可被发现的方法,以及在组件中如何监听特定服务发现事件的示例,最后提到了发现时自动加载组件的方式,即更新相关常量。整体为开发者提供了一套完整的内置组件发现相关操作流程,有助于提升设备与系统的集成能力,使设备能够更便捷地被 Home Assistant 识别和管理,提高系统的自动化程度和设备兼容性。要使你的设备能够被发现,你必须扩展 NetDisco 库以使其能够找到你的设备。在你的组件中,你必须设置对特定服务的监听。事件,包含发现的服务和相关信息。原创 2024-12-07 22:21:31 · 522 阅读 · 0 评论 -
二十二 Home Assistant 平台的探索与发现
在 Home Assistant 中实现通用平台发现的方法,通过load_platform或async_load_platform方法可在无需额外配置的情况下为控制器或集线器组件添加子组件平台。以MyFlashyHub为例,详细说明了从配置、组件代码结构到数据传递的全过程,展示了如何利用全局变量传递信息给子组件,以及如何在不同组件文件中编写相应代码实现平台加载,避免了在配置文件中重复编写平台条目,为开发者实现类似功能提供了清晰的指导,提高了开发效率,同时增强了组件间的协同性和系统的灵活性。原创 2024-12-07 22:20:51 · 332 阅读 · 0 评论 -
二十一 Home Assistant 处理事件&处理状态&处理可见性
请记住:你的组件代码设置的建议将始终被configuration.yaml文件中的用户设置覆盖。例如track_state_change(跟踪状态变化)、track_point_in_time(跟踪时间点)、track_time_change(跟踪时间变化)。这要求活动前端支持隐藏卡片(默认前端支持),并且hidden的值包含在你的属性字典中(见上文)。你可以通过设置hidden属性来为你的实体的可见性设置一个建议,如下所示。unit_of_measurement:这将附加到界面中的状态后面。原创 2024-12-07 22:20:08 · 797 阅读 · 0 评论 -
二十 Home Assistant 组件那些依赖
详细阐述了DEPENDENCIES用于指定其他需提前设置的组件,如 MQTT 传感器依赖 MQTT 组件的示例,明确了依赖关系对组件加载的影响。对于REQUIREMENTS,说明了其是组件所需的 Python 库或模块,介绍了 Home Assistant 安装需求的位置及安装失败对组件加载的影响,还提供了在开发中测试不同版本需求及从检出安装修改后需求的方法,为开发者在管理组件依赖和需求时提供了全面指导,有助于确保组件正常运行,同时在开发过程中灵活应对不同需求场景,提高组件的稳定性和兼容性。原创 2024-12-07 22:18:54 · 425 阅读 · 0 评论 -
十九 Home Assistant 加载组件
明确了组件在配置文件中有对应部分或被其他组件依赖时会被加载,加载时会按特定路径查找,包括自定义组件路径和内置组件路径。此外,还说明了配置文件所在目录作为自定义目录的默认情况及如何通过参数指定不同目录,为开发者理解组件加载过程、管理组件及处理自定义与内置组件关系提供了清晰指导,有助于确保组件正确加载和系统稳定运行。如果内置组件在子文件夹中,请注意将你的自定义组件放在config/custom_components/如果加载了依赖于某个组件的另一个组件,该组件也会被加载。中具有相同名称的文件夹内。原创 2024-12-07 22:18:06 · 572 阅读 · 0 评论 -
十八 Home Assistant 创建组件的检测清单
列出了在 Home Assistant 中创建组件时应遵循的检查清单。在需求方面,明确了版本固定、托管平台及导入位置的要求,确保组件依赖的稳定性和安全性。组件 / 平台通信的规则提供了共享数据和通知更新的标准方法,增强了组件与平台之间的协作能力。整体而言,该清单为开发者创建高质量组件提供了全面指导,有助于提高组件与系统的兼容性和可维护性,尽管现有平台可能不完全符合,但新组件开发必须严格遵循这些标准,以促进 Home Assistant 项目的健康发展。请上传到 PyPi。这是必要的,因为需求是动态安装的。原创 2024-12-07 22:17:37 · 222 阅读 · 0 评论 -
十七 HomeAssistant 创建组件
为开发者提供了创建 Home Assistant 组件的入门引导,通过一个简单的示例组件展示了基本流程。开发者只需按照说明在配置文件中添加组件配置项,并创建对应的 Python 文件,在其中定义组件的域和setup函数来设置状态,即可快速进行本地测试,感受组件创建的基本操作,为进一步深入学习和开发更复杂的组件奠定了基础,降低了初次接触 Home Assistant 组件开发的门槛,激发开发者探索更多功能实现的可能性。好了,你已经准备好创建你的第一个组件了。原创 2024-12-07 22:17:07 · 327 阅读 · 0 评论 -
十六 Home Assistant 平台对接“装灯“的实例
一个为虚构的 “Awesome Lights” 开发灯光平台的完整示例,涵盖从安装到代码实现的全过程。代码方面,详细展示了平台设置函数中连接设备、验证配置及添加设备的流程,以及灯光实体类中属性定义、开关控制和状态更新方法的实现,体现了最佳实践。整体为开发者提供了一个全面且实用的模板,有助于深入理解在 Home Assistant 中开发灯光平台的规范和要点,可作为开发复杂灯光控制功能的基础,降低开发门槛,提高开发效率,确保新平台与 Home Assistant 系统的良好兼容性和功能性。原创 2024-12-07 22:15:42 · 468 阅读 · 0 评论 -
十五 Home Assistant 平台对接传感器的实例
提供了一个在 Home Assistant 中创建传感器平台的示例,包括安装步骤和代码实现。代码部分展示了一个简单的传感器类的结构,包括初始化、属性获取方法(如名称、状态、测量单位)以及更新状态数据的方法,为开发者理解和构建自己的传感器平台提供了清晰的模板,有助于降低开发难度,快速掌握在 Home Assistant 中开发传感器平台的基本流程和关键要点,可作为进一步扩展和定制传感器功能的基础。这是传感器组件平台的一个最小实现。原创 2024-12-06 13:43:47 · 614 阅读 · 0 评论 -
十四 Home Assistant 创建平台的检测清单
该网页提供了在 Home Assistant 中创建平台时的详细检查清单。从需求方面规定了版本固定、上传平台及导入位置;依赖项明确了添加连接所需组件;设置平台包括信息测试、调用分组和服务格式;此清单为开发者创建新平台提供了全面且规范的指导,确保新平台与 Home Assistant 系统的兼容性、可维护性和安全性,遵循最佳实践,提高平台质量,促进整个系统的健康发展,尽管现有平台可能不完全符合,但新开发必须遵循这些标准。并非所有现有平台都遵循此检查清单中的要求。这是一份在添加新平台时需要完成事项的检查清单。原创 2024-12-06 13:40:31 · 356 阅读 · 0 评论 -
十三 Home Assistant 创建一个新平台对接
首先说明了实体组件的结构特点,以 “switch” 组件为例展示了核心与平台逻辑的组织方式,为开发者提供了参考范例。接着强调了平台逻辑与设备交互的规则,即通过第三方 Python 3 库间接通信,以实现代码共享和项目维护性,并阐述了创建实体类来集成第三方库的方法及其优势。最后提及平台可像组件一样指定需求和依赖,为开发者在扩展 Home Assistant 功能时提供了全面的指导,有助于确保新平台与现有系统的兼容性和协同工作能力,丰富设备支持类型,提升系统的通用性和扩展性。原创 2024-12-06 13:36:13 · 519 阅读 · 0 评论 -
十二 Home Assistant 配置
对于传递到组件设置中的config,详细解释了其数据结构(字典嵌套)以及与配置模式(CONFIG_SCHEMA、PLATFORM_SCHEMA)的关系,还通过示例展示了如何从配置中获取具体值。最后指出传递到平台设置中的config仅针对特定平台,为开发者在处理 Home Assistant 项目中的配置相关操作时提供了清晰的指导,有助于准确获取和使用配置信息,使组件和平台能根据用户设定正常运行。传递到组件设置中的config参数是一个包含所有用户提供的配置的字典。传递到组件设置中的配置。原创 2024-12-06 13:32:05 · 479 阅读 · 0 评论 -
十一 Home Assistant服务
这是一个简单的 “Hello World” 示例,用于展示注册服务的基础知识。要使用此示例,请创建文件/custom_components/hello_service.py并复制下面的示例代码。服务可以从自动化中以及前端的 “开发者工具” 服务中调用。通过将以下内容添加到你的configuration.yaml中来加载组件。当你的组件加载时,应该有一个新服务可供调用。plaintext复制。原创 2024-12-06 13:23:09 · 662 阅读 · 0 评论 -
十 Home Assistant 状态
接着通过 “hello_state” 组件详细展示了在组件中使用状态的步骤,从创建组件文件、添加日志记录和基本初始化,到引入配置选项、处理配置缺失情况,再到设置状态和公开属性,最后提到将组件纳入 Home Assistant 版本的提交步骤。整个过程为开发者提供了全面的状态使用指导,有助于开发者创建功能丰富且规范的组件,实现与 Home Assistant 系统的有效交互和集成,从而更好地满足用户需求并增强系统功能。要使你的组件包含在 Home Assistant 版本中,请遵循提交改进部分中描述的步骤。原创 2024-12-06 13:11:10 · 1438 阅读 · 0 评论 -
九 Home Assistant 事件
接着分别阐述了触发事件和监听事件的方法,触发事件需通过hass.bus.fire方法并传入事件名和数据字典,监听事件则通过hass.bus.listen方法并传入事件名和处理函数。最后提及了 Home Assistant 提供的众多事件监听助手,可用于处理不同类型的事件,为开发者在实现系统响应和交互功能时提供了丰富的工具和手段,有助于构建更加智能和动态的 Home Assistant 应用。Home Assistant 自带了许多捆绑的助手来监听特定类型的事件。大多数情况下,你不会触发事件,而是监听事件。原创 2024-12-06 13:01:57 · 857 阅读 · 0 评论 -
八 Home Assistant 对象
详细阐述了hass对象包含的四个子对象(hass、hass.config、hass.states、hass.bus、hass.services)及其各自的功能,这些子对象分别涉及系统操作、配置管理、状态处理、事件交互和服务注册等方面,为开发者与系统进行各种交互提供了接口。同时,明确说明了在不同开发场景(组件、平台、实体)下获取hass对象的方式,使开发者能够在相应的代码位置正确使用hass对象来实现所需功能,对深入理解和开发 Home Assistant 项目具有重要的指导意义。它允许你触发和监听事件。原创 2024-12-06 11:27:24 · 440 阅读 · 0 评论 -
七 Home Assistant 开始折腾
首先强调了熟悉架构的重要性,接着详细说明了创建自定义组件的前期准备工作,包括找到配置文件夹(通过前端开发者工具图标获取路径)以及在其中创建用于存放自定义代码的custom_components文件夹。最后通过创建一个简单的 “Hello World” 组件示例,展示了创建组件的基本步骤,即定义组件的域并编写setup函数来设置组件状态,为后续深入学习开发更复杂的组件和功能奠定了基础,让开发者对开发流程有初步的认识和实践体验。为此,在你的自定义组件文件夹中创建一个名为hello_world.py的文件。原创 2024-12-06 11:22:05 · 473 阅读 · 0 评论 -
六 Home Assistant 跟紧别掉队
此外还提及了其他相关工作流程可参考 Github 文档,以及添加remote的操作,为开发者在长期开发过程中同步代码提供了清晰的指导,有助于避免因分支差异导致的开发问题,确保代码能及时跟进项目整体进度。这将在本地拉取最新的 Home Assistant 更改,回退你的提交,引入 Home Assistant 的最新更改,并在顶部重新应用你的所有提交。在对你的分支进行rebase之后,相对于你的 GitHub 分支,你将重写历史记录。当你尝试推送时,你会看到一个错误,提示你的历史记录与原始分支有分歧。原创 2024-12-06 11:18:45 · 230 阅读 · 0 评论 -
五 Home Assistant 测试单元
强调了所有代码需通过单元测试及代码检查工具的验证,详细说明了使用 Tox 进行本地测试的方法,包括运行完整测试套件、针对特定目标或单个测试的操作,以及在需求变更时如何处理虚拟环境过时问题。同时介绍了在 Tox 之外进行测试的步骤,即安装测试依赖项后可对单个文件运行不同类型的测试。整体为开发者提供了全面的代码测试指导,有助于确保代码质量,提高开发效率,遵循项目的代码规范要求。当你尝试向仓库提交时,Flake8 将检查你的代码,如果有任何风格错误,将阻止提交,这给你一个修复它们的机会!原创 2024-12-06 11:11:57 · 608 阅读 · 0 评论 -
四 Home Assistant 代码风格的规则
一方面严格要求遵循 PEP8 和 PEP 257 规范,包括行长度、缩进、注释、导入、常量及数据结构内容排序、空格使用、行分隔符等方面的规则,且行长度限制为 79 字符不会更改。另一方面给出了一些额外的建议,如引号使用、文件头文档字符串包含文档链接、平台需求放置位置、日志消息格式(避免添加平台组件名、句号,简化输出格式)以及注意不打印敏感信息等,目的是统一代码风格,方便代码管理和维护,同时也提醒开发者可能需要调整开发工具的相关设置以适应这些要求。下面展示了一种常见的格式,但您可以自由组合消息。原创 2024-12-06 11:07:11 · 401 阅读 · 0 评论 -
三 Home Assistant 设置开发环境
涵盖在不同操作系统下准备环境的方法,如 Linux 需安装多种依赖包且不同发行版有别,Windows 要确保安装特定构建工具及升级软件包,OS X 借助 Homebrew 安装 Python 3。接着介绍了设置本地仓库的步骤,以及可选的虚拟环境设置操作,还有如何进行安装运行和对日志记录的相关设置。默认情况下,Home Assistant 中的日志记录是为在生产环境中运行而调整的(默认设置为 INFO,一些模块设置为更不详细的日志记录级别)。不同的发行版有不同的软件包安装机制,有时软件包名称也不同。原创 2024-12-06 11:01:56 · 629 阅读 · 0 评论 -
二 Home Assistant 组件架构
该网页主要介绍了 Home Assistant 的组件架构,包括组件的功能、类型以及它们与核心架构的交互方式。通过组件和平台的配合,以及与第三方库的协作,实现了对设备的控制和家庭自动化逻辑,最终构成了完整的 Home Assistant 系统架构,虽然目前智能家居 AI 尚未实现,但整体架构已能实现如根据设备和环境状态自动控制灯光等家庭自动化功能。Home Assistant 中有两种类型的组件:与物联网领域交互的组件,以及响应 Home Assistant 内部发生事件的组件。与物联网领域交互的组件。原创 2024-12-06 10:51:27 · 998 阅读 · 0 评论 -
一 Home Assistant开发架构
在深入研究 Home Assistant 架构之前,让我们先全面了解一下家庭自动化领域的整体情况。这样,我们就能展示 Home Assistant 的不同部分是如何融入其中的。服务注册表:在事件总线上监听 “call_service” 事件,并允许其他代码注册服务。状态机:跟踪事物的状态,并在状态发生变化时触发 “state_changed” 事件。事件总线:便于事件的触发和监听 —— 这是 Home Assistant 的核心。有关此概述中每个部分的更多信息,请查看我们的博客。原创 2024-12-06 10:35:57 · 841 阅读 · 0 评论
分享