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

 找回密码
 立即注册
楼主: chenxiaowei

[技术探讨] homeassistant数据畸形

[复制链接]

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-12 20:02:54 | 显示全部楼层
flyibeat 发表于 2023-12-12 19:29
直接用你homeassistant的管理员帐号密码即可

刚才试了一下登录失败,我的homeassistant是windows虚拟机的
回复

使用道具 举报

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-12 20:04:31 | 显示全部楼层
dscao 发表于 2023-12-12 19:01
配置的密码是给http节点用的

UI我还没用过,刚试了一下,与上面配置的密码一样就进入了。

这个网址成功啦,用的配置里的用户名和密码
回复

使用道具 举报

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-13 10:28:33 | 显示全部楼层
alei643 发表于 2023-12-12 16:19
可以用filter节点过滤一下

您好 用filter节点过滤,在nodered的UI界面显示是正常的,异常的数据都给过滤掉了。我用的是mqtt传到的homeassistant,这边的filter节点怎么加进去呢?mqtt流程 function内的代码
var a=parseInt('0x'+msg.payload.slice(6,8).toString('hex'))
msg.topic = "home/mppt/pvdianya"
msg.payload = {"pvdianya":a/10}
return msg;
nr流程.png
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2023-12-13 12:21:13 | 显示全部楼层
放在Function节点和MQTT节点中间啊,例如按照你给 的Function的代码,Filter节点的模式选择“如果值变化大于或等于则阻塞”,下面的数值填写你计算的大概值,属性值改为payload.pvdianya。其他的节点也照葫芦画瓢。
回复

使用道具 举报

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-13 14:53:57 | 显示全部楼层
alei643 发表于 2023-12-13 12:21
放在Function节点和MQTT节点中间啊,例如按照你给 的Function的代码,Filter节点的模式选择“如果值变化大 ...

之前试过放在function和mqtt节点中间,但是HA一直收不到数据,猜测是不是filter节点没有msg.topic、
msg.payload这俩属性闹得。现在这么搞的,能收到数据,不知道合理不合理?
微信图片_20231213145127.png
微信图片_20231213145145.png
微信图片_20231213145244.png
回复

使用道具 举报

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-13 14:58:13 | 显示全部楼层
另外想请教下configuration.yaml文件中我想在sensor中年增加device_class: energy属性   不知道放在哪,代码如何写。
configuration.yaml文件代码如下:
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# Example configuration.yaml entry
mqtt:
  sensor:
    - name: "pvdianya"
      state_topic: "home/mppt/pvdianya"
      unit_of_measurement: "V"
      value_template: "{{ value_json.pvdianya }}"
   
    - name: "dianchidianya"
      state_topic: "home/mppt/dianchidinaya"
      unit_of_measurement: "V"
      value_template: "{{ value_json.dianchidinaya }}"
   
    - name: "chongdiandianliu"
      state_topic: "home/mppt/chongdiandianliu"
      unit_of_measurement: "A"
      value_template: "{{ value_json.chongdiandianliu }}"
  
    - name: "neibuwendu"
      state_topic: "home/mppt/neibuwendu"
      unit_of_measurement: "℃"
      value_template: "{{ value_json.neibuwendu }}"
  
    - name: "rifadianliang"
      state_topic: "home/mppt/rifadianliang"
      unit_of_measurement: "kWh"
      value_template: "{{ value_json.rifadianliang }}"
  
    - name: "zongdianliang"
      state_topic: "home/mppt/zongdianliang"
      unit_of_measurement: "kWh"
      value_template: "{{ value_json.zongdianliang }}"
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2023-12-13 15:31:17 | 显示全部楼层
将Filter节点中的“分别为每个数据应用模式”前面的勾去掉,这样就不会将msg.topic的值覆盖掉。msg.payload = {"pvdianya":msg.payload} 这么写也没问题,只不过是将上个节点的msg.payload再赋值给名为msg.payload.pvdianya的对象而已。device_class: energy 这个就放在每个传感器代码下面,比如 name: "zongdianliang" 在下面写device_class: total 就代表总电量,其他写法可以参考HA官方开发文档,或者在论坛搜索device_class: energy这个关键词,查看一下以前的帖子
回复

使用道具 举报

3

主题

22

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
110
HASS币
0
 楼主| 发表于 2023-12-13 20:03:41 | 显示全部楼层
alei643 发表于 2023-12-13 15:31
将Filter节点中的“分别为每个数据应用模式”前面的勾去掉,这样就不会将msg.topic的值覆盖掉。msg.payload ...

感谢您的指导
回复

使用道具 举报

6

主题

30

帖子

488

积分

中级会员

Rank: 3Rank: 3

积分
488
金钱
458
HASS币
0
发表于 2023-12-18 13:13:35 | 显示全部楼层
485的设备?异常数据是挺头大的
回复

使用道具 举报

1

主题

70

帖子

460

积分

中级会员

Rank: 3Rank: 3

积分
460
金钱
390
HASS币
0
发表于 2024-1-4 16:04:06 | 显示全部楼层
chenxiaowei 发表于 2023-12-12 16:11
数据是异常的,nr调试窗口的数据2023/12/12 16:08:26节点: debug 6
msg.payload : number
3217014.207

这几个异常值对应的数据,
3217014207>BFBFBDBF
3221224443>BFFFFBFB
4294957977>FFFFDB99
3221225467>BFFFFFFB
原始数据是从串口来的吗?像是典型的串口乱码
485接口的智能电表?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 20:56 , Processed in 0.313353 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表