我在地下室有一个家庭办公室,我抽雪茄。我有一个很大的抽气扇,气流非常严重,可以将烟雾抽出并使房间保持负压,从而使烟雾和烟气无法到达房屋的任何其他部分。
我很感兴趣了解不同的风扇速度如何影响地下室其他房间的温度,以及室外温度又如何影响它,例如夏季与冬季。
为此,我需要长时间绘制各种温度和其他传感器数据,并且我需要能够看到不同传感器读数之间的相关性(或不相关)。
有哪些好的图形工具可轻松与家庭自动化和IoT传感器或家庭助理进行交互?
#1 楼
Domoticz中的InfluxDB这是Raspberry Pi上Domoticz安装随附的数据库。它允许使用具有时间序列的数据。
Domoticz使用它来对传感器的数据进行建模
评论
哇,这看起来很棒!
–托马斯·詹森(Thomas Jensen)
17年9月8日在8:17
#2 楼
特别是对于Home Assistant,您可以连接到SQLite数据库并使用自己的绘图软件(或脚本)来生成自定义图形。家庭助理博客演示了如何将Python与matplotlib结合使用: # Adapted from the linked code from Home Assistant.
import sqlite3
from matplotlib import dates
import matplotlib.pyplot as plt
import homeassistant.util.dt as dt
ENTITY_ID = 'entity id here'
START_DATE = 'date here'
END_DATE = 'date here'
values = []
timestamps = []
conn = sqlite3.connect('/home/ha/.homeassistant/home-assistant_v2.db')
data = conn.execute("SELECT state, last_changed FROM states WHERE entity_id = {} AND last_changed BETWEEN {} AND {}".format(ENTITY_ID, START_DATE, END_DATE))
for x in data:
timestamps.append(dates.date2num(dt.parse_datetime(x[1])))
values.append(float(x[0]))
plt.plot_date(x=timestamps, y=values, fmt="r-")
plt.ylabel('Value')
plt.xlabel('Time line')
plt.savefig('sensor.png')
数据库模式在这里可用。我们感兴趣的是状态对象;您应该知道您所感兴趣的设备的
entity_id
。如果您熟悉Python,对其进行修改应该相对容易,甚至可以添加GUI或更好的命令行界面。但是,任何可以查询SQLite数据库的语言都可以正常工作。
或者,您可以考虑导出为CSV并使用电子表格程序-无疑这将使自动化更具挑战性,但可能会更多如果您不是程序员,则用户友好。
评论
我对Python很熟悉:)感谢您的建议,我不希望查看Home Assistant数据库。
–托马斯·詹森(Thomas Jensen)
17年9月8日在8:17
评论
相关:iot.stackexchange.com/questions/168/…我想知道将这个问题重新构造为寻求针对您特定问题的解决方案,而不是仅仅寻找“好的工具”是否更好—这些工具通常被认为有点宽泛,但是关注特定的用例有助于给出更具体的信息。答案。