『瀚思彼岸』» 智能家居技术论坛

标题: 利用群晖的MariaDB数据库在nodered进行dc1以及其他插座电量统计 [打印本页]

作者: a5855631    时间: 2021-6-15 11:59
标题: 利用群晖的MariaDB数据库在nodered进行dc1以及其他插座电量统计
本帖最后由 a5855631 于 2021-6-15 12:55 编辑

写在前头: 本人也是新手,都是自己瞎琢磨的,碰上问题没办法帮你解决的,敬请见谅,使用后可能造成的一切后果,本人概不负责~!
具有电量统计的插座/插排接到homeassistant里面,却没有一周/一月的统计,这让我头疼了好一阵,于是决定自己动手折腾下,或许还有更好的办法,也请大佬们指点。
由于我dc1插排有好多个,且刷了固件,固件里面有今天电量/昨天电量/总电量的统计,所以我在nodered里面只做了针对dc1插座的本周电量/上周电量/本月电量/上月电量这四个数据的统计,如果你没有dc1插排,用的小米插座或者其他品牌的,这类没有今日电量/昨天电量统计的,需要在数据库里面新建一个字段,保存插座的总用电量,然后每天零点更新,前一天的减去当天的,就是一天的耗电量了,最终效果如下图,另外:ha自带的utility_meter好像也能直接实现这个数据的统计,嫌数据库麻烦的,可以直接用utility_meter试试,

[attach]30116[/attach]
首先在群晖里面下载MariaDB 和 phpMyAdmin这个套件,进入数据库新建一个用户,具体操作请参考一下帖子,写的很详细了,我就不重复了,帖子导航:https://bbs.hassbian.com/thread-5371-1-1.html

登录进去后,点击左侧的新建,数据库名字写dc(因为我是用的dc,你不想用这个库名的话,后面代码里面涉及到库名的,修改成你自己的即可),然后点击创建。

[attach]30110[/attach][attach]30111[/attach]

创建数据库完成后,点击这个数据库名,然后右边选择SQL这项,在输入框输入以下命令,然后点击执行。

CREATE TABLE IF NOT EXISTS `dc1`(
   `id` INT(4) UNSIGNED AUTO_INCREMENT unique,
   `sj` DATE NOT NULL unique,
   `dl` FLOAT NOT NULL,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

[attach]30113[/attach]
执行之后,在dc这个数据库下面,可以看到一个dc1的表,说明已经创建表完成了,数据库这边的操作就结束了。

nedered里面,先安装node-red-node-mysql这个节点, host写你群晖的地址,port:3307,账号密码填你数据库里面新建的账户,重点是database要写dc(数据库名,如果你用的是别的,请注意修改)


[attach]30114[/attach]

导入流,2个获取电量状态的,传感器改成你的实体id这个应该都知道吧,mqtt修改成你自己的,配置好mqtt后就能在ha里面自动发现了。

[attach]30117[/attach]



作者: 秋雨轩    时间: 2021-6-15 13:15
遇到原创 先顶再看
作者: hunterfox    时间: 2021-6-15 23:33
另辟蹊径,这种方法可以干出很多没有天际的事,牛
作者: 15283928038    时间: 2021-6-17 09:04
不错不错,正在考虑esphome流量计怎么统计月用水量,你这是个思路。
作者: jackteng    时间: 2023-1-22 08:15
厉害 赞一个 最近就再找保留米家插座历史功耗的方法
作者: MX10085    时间: 2023-1-22 08:28
学习了!
作者: qkyzs    时间: 2024-4-18 10:50
感谢分享!学习了




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5