时序数据库InfluxDB中展示HomeAssistant数据

今天开始居家办公,街道也已经发了通知,今晚要开始核酸了,但愿疫情能尽快结束。

什么是 InfluxDB ?

InfluxDB 是一个由 InfluxData 开发的开源时序型数据库,使用 Go 语言编写,无需外部依赖。专注于海量时序数据的高性能读、高性能写、高效存储与实时分析等,广泛应用于 DevOps 监控、IoT 监控、实时分析等场景。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 influxdb ,选择第一个 influxdb,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 influxdb

文件夹 装载路径 说明
docker/influxdb /var/lib/influxdb2 存放数据

端口

端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8086 8086

完成设置后应用即可

运行

在浏览器中输入 http://群晖IP:8086 就能看到主界面

接下来是设置用户

  • Username:用户名,例如:laosu
  • PasswordConfirm Password:必须一致,不能少于 8
  • Initial Organization Name:机构名称,是一组用户的工作区,所有仪表板、任务、存储桶和用户都属于一个组织。例如: home
  • Initial Bucket Name:存储名称,所有 InfluxDB 数据都存储在一个存储桶中。一个桶结合了数据库的概念和存储周期(时间每个数据点仍然存在持续时间)。一个桶属于一个组织。例如: ds3617

设置完成

可以开始使用了

配置 HA

Data –> API Tokens 新建 token

然后在 HomeAssistantconfiguration.yaml 中新增下面这段代码

1
2
3
4
5
6
7
8
9
10
11
12
13
influxdb:
api_version: 2
ssl: false
host: 192.168.0.197
port: 8086
token: # 在influxdb的web管理页面中可以获取
organization: home
bucket: ds3617
tags:
source: HA
tags_attributes:
- HA
default_measurement: units

完成后需要重启 HomeAssistant 的服务

接下来在 InfluxDBExplorer 中就能看到相应的库和表单了

点击进入面板 Boards,点击 Add Cell,就可以把 HomeAssistant 中你想要展示的数据给添加到面板中了,支持几种不同的数据展示形式

比如群晖的 CPU

插排的电压

SpeedTest 下载速度

当然 InfluxDB 的数据展示形式并不止这几种

小结

虽然 InfluxDB 支持数据的图表展示,但是网上能找到的教程都是用 Grafana,原因是 Grafana 更漂亮也更专业,老苏充满了期待

参考文档

influxdata/influxdb: Scalable datastore for metrics, events, and real-time analytics
地址:https://github.com/influxdata/influxdb

Install InfluxDB | InfluxDB OSS 2.1 Documentation
地址:https://docs.influxdata.com/influxdb/v2.1/install/?t=Docker

Home Assitant with Grafana and InfluxDB 2.x - basic setup guide (Synology Docker) : homeassistant
地址:https://www.reddit.com/r/homeassistant/comments/oje65v/home_assitant_with_grafana_and_influxdb_2x_basic/