如何将 Grafana 与 Home Assistant 集成
作者:社区 / 开发者, 产品
2023 年 5 月 30 日
导航至
这篇文章由 Kennedy Gichuki 撰写。向下滚动查看作者简介。
这篇文章介绍了如何开始使用 Home Assistant 和 Grafana,包括使用 Docker 设置 InfluxDB 和 Grafana,配置 InfluxDB 以接收来自 Home Assistant 的数据,以及创建 Grafana 仪表板以可视化您的数据。它为 Home Assistant 数据的实时监控和分析提供了全面的指南。
在本教程中,您将学习如何使用 InfluxDB 将 Grafana 与 Home Assistant 集成。您将学习如何安装和配置 InfluxDB、如何安装和配置 Grafana,以及如何创建 Grafana 仪表板以可视化来自 Home Assistant 的数据。
定义:Grafana、Home Assistant、InfluxDB
Home Assistant 是一个开源家庭自动化平台,允许使用 Web 界面或移动应用程序控制和监控各种设备。凭借对各种设备和协议的支持,它具有高度可定制性,允许用户通过自定义组件集成新设备和协议。
Grafana 是一个多功能的开源分析和监控平台,提供强大的数据可视化功能。它支持各种数据源,包括流行的数据库,如 InfluxDB、Elasticsearch、Prometheus、MySQL、PostgreSQL 等。凭借其通过插件的可扩展性,Grafana 允许用户轻松整合新的数据源,以增强分析和监控。
InfluxDB 是一个开源时间序列数据库,专为存储和查询时间序列数据而设计。它支持广泛的数据类型,包括整数、浮点数、字符串、布尔值等。此外,InfluxDB 还提供了通过使用插件来整合新数据类型的灵活性。
Home Assistant 与分析和监控平台 Grafana 集成,以可视化和分析数据。此数据可以收集并存储在开源时间序列数据库 InfluxDB 中,该数据库允许高效查询带时间戳的数据。这些工具共同使用户能够通过 Home Assistant 控制和监控他们的智能家居设备,同时使用 Grafana 和 InfluxDB 实时可视化和分析数据。
设置 InfluxDB 以进行 Home Assistant 数据可视化
步骤 1:安装和配置 InfluxDB
首先,您需要在您的机器上安装 InfluxDB。您可以在 InfluxDB 网站上找到针对您特定操作系统的说明。
安装 InfluxDB 后,您需要配置它以接受来自 Home Assistant 的数据。您可以通过创建一个新的 InfluxDB 数据库和用户帐户来完成此操作。
通过在您的终端中运行 influx 来打开 InfluxDB CLI。
通过运行以下命令创建一个新数据库
CREATE DATABASE homeassistant
通过运行以下命令创建一个新用户帐户
CREATE USER homeassistant WITH PASSWORD 'yourpassword'
通过运行以下命令授予新用户帐户权限
GRANT ALL ON homeassistant TO homeassistant
通过在终端中运行 exit 来退出 InfluxDB CLI。
步骤 2:在 Home Assistant 中安装 InfluxDB 集成
接下来,您需要在 Home Assistant 中安装 InfluxDB 集成。您可以通过导航到 Home Assistant Web 界面,从侧边栏中选择设置,然后选择集成来完成此操作。从那里,您可以搜索 InfluxDB 并按照提示配置集成。
在此处阅读更多说明:here。
配置 InfluxDB 集成时,请务必输入您在上一步中创建的数据库名称、用户帐户和密码。
步骤 3:将数据从 Home Assistant 发送到 InfluxDB
在 Home Assistant 中配置 InfluxDB 集成后,数据应开始自动从 Home Assistant 流向 InfluxDB。要验证数据是否正在发送,您可以运行 influx 在您的终端中登录到 InfluxDB CLI,然后运行以下命令
USE homeassistant
SELECT * FROM "homeassistant"."autogen"."*" LIMIT 10
这将显示 Home Assistant 数据库中的前十个数据点。
使用 Docker 安装 Grafana
如果您更喜欢使用 Docker 运行 Grafana 而不是将其安装在本地机器上,您可以按照以下步骤操作。
步骤 1:安装 Docker
如果您尚未安装 Docker,则需要在您的机器上安装 Docker。您可以在 Docker 网站上找到针对您特定操作系统的说明。
步骤 2:拉取 Grafana Docker 镜像
安装 Docker 后,您可以通过在终端中运行以下命令来拉取 Grafana Docker 镜像
docker pull grafana/grafana
这将下载最新版本的 Grafana Docker 镜像到您的机器。
步骤 3:运行 Grafana Docker 容器
要启动新的 Grafana Docker 容器,请在您的终端中运行以下命令
docker run -d -p 3000:3000 --name=grafana grafana/grafana
这将启动一个名为 grafana 的新容器,并将容器的端口 3000 映射到您本地机器的端口 3000。
步骤 4:访问 Grafana Web 界面
容器运行后,您可以通过在 Web 浏览器中导航到 http://localhost:3000 来访问 Grafana Web 界面。
步骤 5:创建 Grafana 帐户并连接数据源
当您首次访问 Grafana Web 界面时,系统会提示您创建一个新的用户帐户。创建帐户后,您可以按照前面的步骤中的描述,通过添加数据源和创建仪表板来开始配置 Grafana。
步骤 6:配置 Grafana
安装 Grafana 后,您需要配置它以连接到 InfluxDB 数据库。您可以通过执行以下步骤来完成此操作
通过在 Web 浏览器中导航到 http://localhost:3000 来打开 Grafana Web 界面。使用默认用户名 admin 和密码 admin 登录到 Grafana。
- 单击侧边栏中的配置图标,然后选择数据源。
- 单击添加数据源按钮,然后选择 InfluxDB。在 InfluxDB 详细信息部分中输入以下信息
-
URL: http://localhost:8086
-
数据库:homeassistant
-
用户:homeassistant
-
密码:yourpassword
-
HTTP 方法:GET
-
- 单击保存并测试按钮以保存数据源并测试与 InfluxDB 的连接。
步骤 7:创建 Grafana 仪表板
在 Grafana 中配置 InfluxDB 数据源后,您可以创建一个新的仪表板来可视化 Home Assistant 数据。为此,请按照以下步骤操作
-
单击侧边栏中的创建图标,然后选择仪表板。
-
单击添加新面板按钮,然后选择 Graph。
-
单击面板标题。
-
在查询选项卡中,选择您在步骤中配置的 InfluxDB 数据源
-
在查询编辑器中输入您的 InfluxDB 查询。例如,您可以输入如下查询来显示来自温度传感器的温度
SELECT mean("value") FROM "temperature" WHERE ("entity_id" = 'sensor.temperature') AND $timeFilter GROUP BY time($__interval)
此查询从 Home Assistant 中 sensor.temperature 实体的 temperature 测量值中选择平均温度值,并按时间间隔对结果进行分组。
单击应用按钮以保存查询并显示结果。
通过选择不同的可视化选项、添加图例和注释等,根据需要自定义您的面板。
单击工具栏中的保存图标以将面板保存到您的仪表板。
您可以重复这些步骤,将更多面板添加到您的仪表板,使用不同的 InfluxDB 查询来显示不同的数据。
步骤 8:查看您的仪表板
创建 Grafana 仪表板后,您可以通过在 Web 浏览器中导航到 http://localhost:3000/dashboards 并从列表中选择仪表板来查看它。您现在应该在 Grafana 中看到您的 Home Assistant 数据的可视化表示!
结论:Home Assistant 和 Grafana
开始使用 Home Assistant 和 Grafana 需要在您的机器上安装 InfluxDB 和 Grafana,配置 InfluxDB 以接受来自 Home Assistant 的数据,在 Home Assistant 中安装 InfluxDB 集成,配置 Grafana 以连接到 InfluxDB 数据库,以及创建 Grafana 仪表板以可视化您的数据。借助这些工具和技术,您可以轻松地实时监控和分析您的 Home Assistant 数据。
关于作者
这篇文章由 Kennedy Gichuki 撰写。Kenny 是一位开发者和技术作家,喜欢 Python 和云基础设施。在获得 Azure 基础知识后,他继续学习云技术,现在正在攻读机器学习。不写作时,Kenny 可能会在山丘中探险,并了解最好的越野车辆。