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

标题: 【分享中~~~】国家电网数据、图表展示研究 [打印本页]

作者: cjnt007    时间: 2024-6-29 17:20
标题: 【分享中~~~】国家电网数据、图表展示研究
本帖最后由 cjnt007 于 2025-6-23 12:16 编辑

seancheng 完善重启自动更新机制,前端卡片美化,在116楼分享,请移步阅读

最新研究成果【月度电量年视图】在46楼分享,请移步阅读

最新研究成果【历史电量数据读取新方案】在26楼分享,请移步阅读

最新图表代码更新在317楼分享,请移步阅读
a.Dong大佬的【国家电网】为我们获取用电信息带来了极大的方便,但是这么多信息如何合理展示是个问题,坛子里有不少朋友分享了精彩方案,给了我很多启示,我也学着优化下了,先展示下阶段成果:
[attach]60985[/attach]
对比下没有校正过日期的图表:
[attach]60986[/attach]

由于这个集成提供的用电信息不是实时的,总是延迟2-3天,用它们在图表中显示时,如果不加修正,所对应的日期就是错误的,经过不断尝试,总算把每日总用电量对应到正确的日期上了,功能上除了会在数据更新后,自动添加新的日用电信息外,还可以从历史数据中读取用电信息来更新图表。
[attach]60987[/attach]
把日用电量和所属日期添加到实体属性里,供图表读取调用

[attach]60988[/attach]
利用图表交互功能,手动/自动重载历史数据

目前还在测试中,等方案完善了,再来分享源码……,敬请期待
优化下了数据展示卡片,把数据所属日期放到标题后面,数据刷新时间放到第二行,如果token失效,刷新时间会显示为“刷新 Token 失败,需要重新登录!”方便及时操作。
[attach]61067[/attach]
要实现此效果,需要先安装button-card卡片,下面是卡片配置代码,把其中“3208109130xxx”和“地名”替换为自己的就行,熟悉button card配置的朋友可自行修改优化,建议使用button card的模板功能简化下。
  1. type: custom:button-card
  2. entity: sensor.state_grid_3208109130xxx_refresh_time
  3. name: >
  4.   [[[ return `地名 ·
  5.   ${states['sensor.state_grid_3208109130xxx_daily_lasted_date'].state.substr(5)}`]]]
  6. icon: mdi:home-lightning-bolt
  7. show_icon: true
  8. show_state: true
  9. show_name: true
  10. styles:
  11.   img_cell:
  12.     - justify-self: start
  13.     - width: 70px
  14.   icon:
  15.     - width: 35px
  16.     - height: 35px
  17.     - color: rgb(99,181,200)
  18.     - background-color: white
  19.     - border-radius: 50%
  20.   name:
  21.     - font-weight: bold
  22.     - font-size: 16px
  23.     - justify-self: start
  24.     - margin-left: '-66%'
  25.   state:
  26.     - justify-self: start
  27.     - font-weight: 1
  28.     - margin-left: '-66%'
  29.   card:
  30.     - padding: 10px
  31.     - color: white
  32.   grid:
  33.     - grid-template-areas: '"i n" "i s" "i l" "a0 a1" "a b""c d""e f"'
  34.     - grid-template-columns: 1fr 1fr
  35.     - grid-template-rows: 1fr min-content min-content min-content
  36. custom_fields:
  37.   a0:
  38.     card:
  39.       type: custom:button-card
  40.       entity: sensor.state_grid_3208109130xxx_daily_ele_num
  41.       name: 当日用电 | kWh
  42.       show_icon: false
  43.       show_name: true
  44.       show_state: true
  45.       show_units: false
  46.       styles:
  47.         grid:
  48.           - grid-template-areas: '"s" "n"'
  49.         card:
  50.           - background: none
  51.           - border: none
  52.           - box-shadow: none
  53.           - color: white
  54.         name:
  55.           - align-self: start
  56.           - justify-self: start
  57.           - margin-left: 10%
  58.           - font-weight: 1
  59.         state:
  60.           - align-self: start
  61.           - justify-self: start
  62.           - margin-left: 10%
  63.           - font-weight: bold
  64.           - font-size: 24px
  65.           - color: white
  66.       state:
  67.         - value: 0
  68.           operator: <
  69.           styles:
  70.             state:
  71.               - color: var(--mdc-theme-primary)
  72.   a1:
  73.     card:
  74.       type: custom:button-card
  75.       label: >
  76.         [[[return
  77.         `峰:${states['sensor.state_grid_3208109130xxx_daily_p_ele_num'].state}
  78.         kWh`]]]
  79.       name: >
  80.         [[[return
  81.         `谷:${states['sensor.state_grid_3208109130xxx_daily_v_ele_num'].state}
  82.         kWh`]]]
  83.       show_icon: false
  84.       show_name: true
  85.       show_label: true
  86.       show_units: false
  87.       styles:
  88.         grid:
  89.           - grid-template-areas: '"l" "n"'
  90.         card:
  91.           - background: none
  92.           - border: none
  93.           - box-shadow: none
  94.           - color: white
  95.         name:
  96.           - align-self: start
  97.           - justify-self: start
  98.           - margin-left: 10%
  99.           - font-weight: 1
  100.           - color: white
  101.         label:
  102.           - align-self: start
  103.           - justify-self: start
  104.           - margin-left: 10%
  105.           - font-weight: 1
  106.           - color: white
  107.   a:
  108.     card:
  109.       type: custom:button-card
  110.       entity: sensor.state_grid_3208109130xxx_balance
  111.       name: 已缴电费 | 元
  112.       show_icon: false
  113.       show_name: true
  114.       show_state: true
  115.       show_units: false
  116.       styles:
  117.         grid:
  118.           - grid-template-areas: '"s" "n"'
  119.         card:
  120.           - background: none
  121.           - border: none
  122.           - box-shadow: none
  123.           - color: white
  124.         name:
  125.           - align-self: start
  126.           - justify-self: start
  127.           - margin-left: 10%
  128.           - font-weight: 1
  129.         state:
  130.           - align-self: start
  131.           - justify-self: start
  132.           - margin-left: 10%
  133.           - font-weight: bold
  134.           - font-size: 24px
  135.           - color: white
  136.       state:
  137.         - value: 0
  138.           operator: <
  139.           styles:
  140.             state:
  141.               - color: var(--mdc-theme-primary)
  142.   b:
  143.     card:
  144.       type: custom:button-card
  145.       entity: sensor.state_grid_3208109130xxx_month_ele_num
  146.       name: 当期电量 | kWh
  147.       show_icon: false
  148.       show_name: true
  149.       show_state: true
  150.       show_units: false
  151.       styles:
  152.         grid:
  153.           - grid-template-areas: '"s" "n"'
  154.         card:
  155.           - background: none
  156.           - border: none
  157.           - box-shadow: none
  158.           - color: white
  159.         name:
  160.           - align-self: start
  161.           - justify-self: start
  162.           - margin-left: 10%
  163.           - font-weight: 1
  164.         state:
  165.           - align-self: start
  166.           - justify-self: start
  167.           - margin-left: 10%
  168.           - font-weight: bold
  169.           - font-size: 24px
  170.   c:
  171.     card:
  172.       type: custom:button-card
  173.       entity: sensor.state_grid_3208109130xxx_last_month_ele_cost
  174.       name: 上月电费 | 元
  175.       show_icon: false
  176.       show_name: true
  177.       show_state: true
  178.       show_units: false
  179.       styles:
  180.         grid:
  181.           - grid-template-areas: '"s" "n"'
  182.         card:
  183.           - background: none
  184.           - border: none
  185.           - box-shadow: none
  186.           - color: white
  187.         name:
  188.           - align-self: start
  189.           - justify-self: start
  190.           - margin-left: 10%
  191.           - font-weight: 1
  192.         state:
  193.           - align-self: start
  194.           - justify-self: start
  195.           - margin-left: 10%
  196.           - font-weight: bold
  197.           - font-size: 20px
  198.   d:
  199.     card:
  200.       type: custom:button-card
  201.       entity: sensor.state_grid_3208109130xxx_last_month_ele_num
  202.       name: 上月电量 | kWh
  203.       show_icon: false
  204.       show_name: true
  205.       show_state: true
  206.       show_units: false
  207.       styles:
  208.         grid:
  209.           - grid-template-areas: '"s" "n"'
  210.         card:
  211.           - background: none
  212.           - border: none
  213.           - box-shadow: none
  214.           - color: white
  215.         name:
  216.           - align-self: start
  217.           - justify-self: start
  218.           - margin-left: 10%
  219.           - font-weight: 1
  220.         state:
  221.           - align-self: start
  222.           - justify-self: start
  223.           - margin-left: 10%
  224.           - font-weight: bold
  225.           - font-size: 20px
  226.   e:
  227.     card:
  228.       type: custom:button-card
  229.       entity: sensor.state_grid_3208109130xxx_year_ele_cost
  230.       name: 本年电费 | 元
  231.       show_icon: false
  232.       show_name: true
  233.       show_state: true
  234.       show_units: false
  235.       styles:
  236.         grid:
  237.           - grid-template-areas: '"s" "n"'
  238.         card:
  239.           - background: none
  240.           - border: none
  241.           - box-shadow: none
  242.           - color: white
  243.         name:
  244.           - align-self: start
  245.           - justify-self: start
  246.           - margin-left: 10%
  247.           - font-weight: 1
  248.         state:
  249.           - align-self: start
  250.           - justify-self: start
  251.           - margin-left: 10%
  252.           - font-weight: bold
  253.           - font-size: 20px
  254.   f:
  255.     card:
  256.       type: custom:button-card
  257.       entity: sensor.state_grid_3208109130xxx_year_ele_num
  258.       name: 本年电量 | kWh
  259.       show_icon: false
  260.       show_name: true
  261.       show_state: true
  262.       show_units: false
  263.       styles:
  264.         grid:
  265.           - grid-template-areas: '"s" "n"'
  266.         card:
  267.           - background: none
  268.           - border: none
  269.           - box-shadow: none
  270.           - color: white
  271.         name:
  272.           - align-self: start
  273.           - justify-self: start
  274.           - margin-left: 10%
  275.           - font-weight: 1
  276.         state:
  277.           - align-self: start
  278.           - justify-self: start
  279.           - margin-left: 10%
  280.           - font-weight: bold
  281.           - font-size: 20px
复制代码

数据校正和图表展示功能,需要Node-RED、MQTT加载项和apexcharts-card卡片,请提前配置好。NR中要安装Home Assistant节点,以下是流程图和代码:
[attach]61070[/attach]

导入流程后,注意重新设置下几个蓝色HA节点和MQTT in/out的服务器配置。第一行的流程用于生成一个每日电量统计传感器,NR部署后,应该能自动生成,如果HA里没有,手动点击下“时间戳”节点。中间一行是根据用电所属日期更新触发,添加最新用电数据。第三行用于重载最近30天的历史数据,可以在apexcharts-card卡片的表头点击,手动加载。代码的相关说明在备注及注释里有,喜欢研究的朋友自行查看。


前端图表展示用到apexcharts-card卡片,配置代码如下:
  1. type: custom:apexcharts-card
  2. apex_config:
  3.   chart:
  4.     stacked: true
  5. graph_span: 30d
  6. span:
  7.   end: day
  8. show:
  9.   last_updated: true
  10. header:
  11.   show: true
  12.   show_states: true
  13.   colorize_states: true
  14.   title: 每日电量月视图
  15. series:
  16.   - entity: sensor.dian_liang_tong_ji_energy
  17.     data_generator: |
  18.       return entity.attributes.day.map((d, index) => {
  19.         return [new Date(d).getTime(), entity.attributes.kwh[index]];
  20.       });
  21.     name: 佳期漫
  22.     type: column
  23.     color: '#fbbc05'
  24.     float_precision: 2
  25.     header_actions:
  26.       tap_action:
  27.         action: call-service
  28.         service: mqtt.publish
  29.         service_data:
  30.           topic: stategrid/historydata/update
  31.           qos: 0
  32.           retain: false
  33.         confirmation:
  34.           text: 即将重新加载历史数据
复制代码
[attach]61072[/attach]

上图中,由于token失效没有及时重新登录,少了6月27日一天的历史电量,28日的电量是重新登录后获取到的,自动加在对应日期上了,代码好像没有大问题。

各位在使用中发现什么问题,欢迎跟帖探讨!




作者: xfyisheng    时间: 2024-6-29 17:57
占个地方,到时候好找
作者: summ99111    时间: 2024-6-29 19:25

占个地方,到时候好找
作者: shenzihan999    时间: 2024-6-29 19:32
等待大佬教程
作者: zmg    时间: 2024-6-30 13:51
先谢为快
作者: fhleo    时间: 2024-6-30 14:59
等待大佬教程
作者: taioner    时间: 2024-6-30 15:04

等待大佬教程
作者: zjqian1990    时间: 2024-6-30 18:12

等待大佬教程
作者: wjh1025    时间: 2024-6-30 19:59

等待大佬教程
作者: 173107897    时间: 2024-7-1 09:17
看一下是什么

作者: ppppc    时间: 2024-7-1 10:04
1111111111111111
作者: h5529    时间: 2024-7-1 10:28
这个好,非常实用
作者: 嘉诺的智能生活    时间: 2024-7-1 14:16
电量是如何接入的
作者: cjnt007    时间: 2024-7-1 14:37
嘉诺的智能生活 发表于 2024-7-1 14:16
电量是如何接入的

https://github.com/hass-box/state-grid
作者: xdw011025    时间: 2024-7-1 15:41
学习学习
作者: hzl201    时间: 2024-7-1 15:59
学习了,准备搞搞
作者: aj11891    时间: 2024-7-1 16:26
感谢楼主分享,用上了,就是需要用楼主的同款主题配色才行,如果默认主题,照抄这个卡片,字是白色的就啥都看不到了
作者: cjnt007    时间: 2024-7-1 17:20
aj11891 发表于 2024-7-1 16:26
感谢楼主分享,用上了,就是需要用楼主的同款主题配色才行,如果默认主题,照抄这个卡片,字是白色的就啥都 ...

卡片配置里,把所有“- color: white”换成“- color: var(--primary-text-color)”可以随系统主题色显示文字
作者: lbw8810    时间: 2024-7-2 10:15
HAOHAOXIEXI
作者: netxin    时间: 2024-7-2 10:32
标记下··············
作者: qiujifeixue    时间: 2024-7-2 10:39
正好在找类似的卡片,感谢分享
作者: Xi11    时间: 2024-7-2 11:00
等待大佬教程
作者: weichen    时间: 2024-7-2 16:44


等待大佬教程
作者: mitch    时间: 2024-7-2 21:20
谢谢分享
作者: yly    时间: 2024-7-2 21:48
感谢,,,,
作者: cjnt007    时间: 2024-7-3 15:10
本帖最后由 cjnt007 于 2024-7-3 15:19 编辑

各位,每日电量数据读取的研究今天有了新的重大进展,原来数据来源依靠的是从“日总用电”实体sensor.state_grid_320810913xxxx_daily_ele_num的历史数据中获取,如果历史数据缺失或保留不多,图表上显示就不完整。

今天在翻看HA配置目录下的.storage目录时,看到一个state_grid.config,好奇点开一看,好家伙,所有用电数据都在里面。这下好了,需要什么就随意取什么,每日用电数据有整整最近40天的。

根据state_grid.config文件结构,重新整了一个读取数据的流程如下:
[attach]61144[/attach]
节点【读取日用电数据】中,poweruser变量设置时注意下,如果你的用户名下只有一个电表户号,就填0,如果有几个电表户号,按你的需要,参照下图所示,选择对应的数组序号(从0数起)。
[attach]61145[/attach]
【读取电网配置文件】节点里的路径,我也是研究了在半天才搞定的。我的系统是官方HassOS 12.4,core-2024.6.4,跟我相同的话用这个路径应该没有问题,系统不同,需要自己去研究路径。
我把找路径的方法大概讲下:
1、通过ssh登录HA,如果使用的是Advanced SSH & Web Terminal之类的加载项,要关掉安全模式
2、docker ps #查看运行的容器,找到node-red,记下它的ID号前6位(主要是确保唯一)
3、docker exec -it [id号前6位] bash  #进入nr的容器内部
4、find / -name state_grid.config #查找state_grid.config
如能找到的话,会列出所在路径,复制下来填到file in节点里就可以了。其他版本系统的情况我不熟悉,大家自行研究吧。


不用靠历史数据慢慢积累,一下子展示30天的数据很爽!!!
[attach]61147[/attach]

作者: piyankun    时间: 2024-7-3 16:00
谢谢分享
作者: uncleice    时间: 2024-7-3 16:54
感谢分享~

作者: bwsgp    时间: 2024-7-3 17:09
南京的学习下
作者: ghostist    时间: 2024-7-4 10:05
cjnt007 发表于 2024-7-3 15:10
各位,每日电量数据读取的研究今天有了新的重大进展,原来数据来源依靠的是从“日总用电”实体sensor.state ...

所以国网提供了这些数据 也采集了,只是作者没有生成传感器
其实不需要那么多传感器,峰谷都作为属性放在总的那个传感器
历史数据作为属性放在最新数据下
作者: cjnt007    时间: 2024-7-4 10:38
ghostist 发表于 2024-7-4 10:05
所以国网提供了这些数据 也采集了,只是作者没有生成传感器
其实不需要那么多传感器,峰谷都作为属性放在 ...

有了用电的全套数据,自己按需提取很方便,甚至重新生成一套自己的传感器都没有问题
作者: uncleice    时间: 2024-7-4 14:11
cjnt007 发表于 2024-7-3 15:10
各位,每日电量数据读取的研究今天有了新的重大进展,原来数据来源依靠的是从“日总用电”实体sensor.state ...

state_grid.config 是在 Home assistant 容器内的,为什么介绍的找路径步骤是在 NR 里找?
作者: GMolika    时间: 2024-7-4 14:30
学习了!!Get
作者: cjnt007    时间: 2024-7-4 15:27
uncleice 发表于 2024-7-4 14:11
state_grid.config 是在 Home assistant 容器内的,为什么介绍的找路径步骤是在 NR 里找? ...

HassOS系统中,Node-RED加载项是以docker容器形式运行,它的file in节点只能访问docker容器内的路径,而HA下.storage目录一般会映射到NR里。在NR里找,就是要把这个访问路径找出来。不然的话就无法在NR里访问到state_grid.config文件
作者: yclin20    时间: 2024-7-4 15:52
下来试试

作者: lugiya    时间: 2024-7-4 17:03
感谢感谢,抄作业把家里用电量接进来了,那么怎么接入能源面板呢
作者: uncleice    时间: 2024-7-4 17:51
cjnt007 发表于 2024-7-4 15:27
HassOS系统中,Node-RED加载项是以docker容器形式运行,它的file in节点只能访问docker容器内的路径,而H ...

我的.storage没有在 Node-RED 找到,无奈自己 做了个软连接把 state_grid.config 连接到 Node-RED 环境里。。。

作者: 奈何心善    时间: 2024-7-4 18:02
这个好。看看学习下
作者: wubo    时间: 2024-7-5 09:10
OK的,先码住,后面用得着
作者: lovlin999    时间: 2024-7-5 09:26
高手,感谢分享
作者: uncleice    时间: 2024-7-5 10:21
请教下  sensor.dian_liang_tong_ji_energy
这个是通过什么创建的 sensor?
作者: aj11891    时间: 2024-7-5 11:19
cjnt007 发表于 2024-7-3 15:10
各位,每日电量数据读取的研究今天有了新的重大进展,原来数据来源依靠的是从“日总用电”实体sensor.state ...

很不错,读配置文件,这下看到图表舒服多了,之前通过历史数据记录的,我历史数据只保存了3天,然后这个图表就只有几天的数据
作者: playke    时间: 2024-7-5 13:06
UI界面好看!
作者: cjnt007    时间: 2024-7-5 14:20
uncleice 发表于 2024-7-5 10:21
请教下  sensor.dian_liang_tong_ji_energy
这个是通过什么创建的 sensor?

1楼帖子里有说明的,仔细看
作者: 风行草    时间: 2024-7-5 16:58
插眼插眼 本来还想用markdown自己写的
作者: cjnt007    时间: 2024-7-5 20:35
谢谢各位朋友捧场,我继续分享下每月电量、电费年视图展示成果
[attach]61231[/attach]

展示的数据依然来自state_grid.config文件,在powerUserList[x]下,monthBillList是月度账单,其中记录了每月的用电量、电费、所属月份,核算开始和结束日期等信息
[attach]61233[/attach]

把这些信息提取出来,添加到每月电量统计传感器中,就可以方便展示每月的电量、电费了
[attach]61232[/attach]

导出的流为红框标记的部分,大家导入后要和原有流程连接上


下面是图表卡片配置代码
  1. type: custom:apexcharts-card
  2. apex_config:
  3.   chart:
  4.     stacked: true
  5. graph_span: 360d
  6. span:
  7.   end: year
  8. show:
  9.   loading: true
  10. header:
  11.   show: true
  12.   show_states: true
  13.   colorize_states: true
  14.   title: 每月电量年视图
  15. yaxis:
  16.   - id: ll
  17.     decimals: 0
  18.     max: 350
  19.   - id: rr
  20.     opposite: true
  21.     decimals: 0
  22.     max: 200
  23. series:
  24.   - entity: sensor.mei_yue_dian_liang_tong_ji
  25.     data_generator: |
  26.       return entity.attributes.mon.map((m, index) => {
  27.         return [new Date(m).getTime(), entity.attributes.kwh[index]];
  28.       });
  29.     name: 电量
  30.     type: column
  31.     color: '#fbbc05'
  32.     yaxis_id: ll
  33.   - entity: sensor.mei_yue_dian_liang_tong_ji
  34.     data_generator: |
  35.       return entity.attributes.mon.map((m, index) => {
  36.         return [new Date(m).getTime(), entity.attributes.cost[index]];
  37.       });
  38.     name: 电费
  39.     type: line
  40.     extend_to: false
  41.     unit: 元
  42.     color: red
  43.     yaxis_id: rr
复制代码

作者: Anhou    时间: 2024-7-6 02:21
占楼占楼占楼占楼占楼
作者: sure155    时间: 2024-7-6 08:10
感谢分享
作者: lucienyida    时间: 2024-7-6 22:23
本帖最后由 lucienyida 于 2024-7-6 22:24 编辑

[attach]61247[/attach]为什么我的不显示?

作者: cjnt007    时间: 2024-7-7 07:56
lucienyida 发表于 2024-7-6 22:23
为什么我的不显示?

我用的是深色背景、白色文字,你在白色背景上自然就看到不白色文字了
修改方法见18楼回复:
https://bbs.hassbian.com/forum.p ... id=25959&pid=613895
作者: yshlou    时间: 2024-7-7 21:14
国家电网数据、图表展示研究 [修改]
作者: allwonder    时间: 2024-7-8 14:23
等待大佬教程
作者: eurbia    时间: 2024-7-8 23:01
感谢大佬分享
作者: DoomDNA    时间: 2024-7-9 16:40
牛啊,感谢大神的分享啊,对于小白来说还是得慢慢学啊
作者: ymy1853556332    时间: 2024-7-10 11:40
插眼学习插眼学习插眼学习
作者: uncleice    时间: 2024-7-10 12:39
cjnt007 发表于 2024-7-5 20:35
谢谢各位朋友捧场,我继续分享下每月电量、电费年视图展示成果

感谢分享!部署成功~[attach]61328[/attach]

作者: cjnt007    时间: 2024-7-10 15:02
uncleice 发表于 2024-7-10 12:39
感谢分享!部署成功~

你的年视图坐标值要改大一些,1、2两个月好像已经超过350了
作者: uncleice    时间: 2024-7-10 15:09
本帖最后由 uncleice 于 2024-7-10 15:11 编辑

的确!(我还没在意 捂脸)已修改。
[attach]61329[/attach]

作者: 173107897    时间: 2024-7-10 15:31
uncleice 发表于 2024-7-10 15:09
的确!(我还没在意 捂脸)已修改。

能不能改一下啊,docker的用不了啊,无法直接修改homeassistant的配置,能不能用插件里面的配置提交啊
作者: uncleice    时间: 2024-7-10 15:36
173107897 发表于 2024-7-10 15:31
能不能改一下啊,docker的用不了啊,无法直接修改homeassistant的配置,能不能用插件里面的配置提交啊:sl ...

和 docker 没关系啊,我也是 docker 部署的 HA
作者: 173107897    时间: 2024-7-10 15:44
本帖最后由 173107897 于 2024-7-10 15:47 编辑
uncleice 发表于 2024-7-10 15:36
和 docker 没关系啊,我也是 docker 部署的 HA

我抄的怎么就不能读数据啊!!!难道哪里设置有问题[attach]61330[/attach][attach]61331[/attach]
作者: uncleice    时间: 2024-7-10 15:47
173107897 发表于 2024-7-10 15:44
我抄的怎么就不能读数据啊!!!难道哪里设置有问题

仔细看原帖,Node-red debug 信息也看看,确保设置都对。
作者: 173107897    时间: 2024-7-10 16:12
uncleice 发表于 2024-7-10 15:47
仔细看原帖,Node-red debug 信息也看看,确保设置都对。

主要问题是提示我读取不到配置  '/homeassistant/.storage/state_grid.config'"  我看了下我homeassistant里面有这个文件
作者: imwf    时间: 2024-7-10 16:15
a.Dong大佬的【国家电网】为我们获取用电信息带来了极大的方便
作者: uncleice    时间: 2024-7-10 16:19
本帖最后由 uncleice 于 2024-7-10 16:24 编辑
173107897 发表于 2024-7-10 16:12
主要问题是提示我读取不到配置  '/homeassistant/.storage/state_grid.config'"  我看了下我homeassistan ...

我也没有,你在 docker host 上把 state_grid.config 软连接到 Node-Red的配置目录下。
步骤大致如下:
1. find / -name state_grid.config (找到state_grid.config )
2. cd  到 NodeRed 的 config 目录
3. 创建软连接: ln -n /xxxxxx/config/.storage/state_grid.config state_grid.config
4. 在 Node-Red 容器里确认下 state_grid.config 路径,修改 flow 里文件路径和实际一致。
*注意 1、2、3 在 host 上操作,4 是 docker exec 到 node-red 容器中确认。


作者: isunyb    时间: 2024-7-10 16:30
感谢大佬,留爪备用
作者: 173107897    时间: 2024-7-10 16:31
本帖最后由 173107897 于 2024-7-10 17:41 编辑
uncleice 发表于 2024-7-10 16:19
我也没有,你在 docker host 上把 state_grid.config 软连接到 Node-Red的配置目录下。
步骤大致如下:
1. ...

感觉操作起来很多命令不懂啥意思,对于小白来说,属实有点难了,我先研究研究

成功了 需要先把homeassistant 配置文件挂载到宿主机上  然后node-red一个目录也挂载到宿主这个目录  之后在把电网配置文件软连接下,就可以读取了

作者: 风行草    时间: 2024-7-10 16:55
感谢分享
作者: viokeo    时间: 2024-7-11 10:09

感谢分享
作者: xinghevss    时间: 2024-7-11 10:53
大佬 这样正常吗?

作者: xinghevss    时间: 2024-7-11 11:37
uncleice 发表于 2024-7-4 17:51
我的.storage没有在 Node-RED 找到,无奈自己 做了个软连接把 state_grid.config 连接到 Node-RED 环境里 ...

感谢
作者: ghostist    时间: 2024-7-11 13:48
3次更新都跟着沾光了
好奇为啥创建实体要用mqtt ? NR本身就可以创建实体呀
强迫症每次都要改一下你的流
作者: cjnt007    时间: 2024-7-11 14:11
ghostist 发表于 2024-7-11 13:48
3次更新都跟着沾光了
好奇为啥创建实体要用mqtt ? NR本身就可以创建实体呀
强迫症每次都要改一下你的流 ...

感谢大佬捧场,回答你这个问题:
在研究时,本来是想着创建一个可以在能源面板能够正确读取日期和电量的实体来着,用MQTT自动发现功能创建的实体,通过调整配置,可以在能源面板配置模块中列出来,并且能够动态添加属性数据,用其他方法还没有研究出来。
后来放弃在能源面板中展示了,但用MQTT创建实体的节点就没有再改,一直沿用下来,感觉还是挺方便的
作者: ghostist    时间: 2024-7-11 17:10
cjnt007 发表于 2024-7-11 14:11
感谢大佬捧场,回答你这个问题:
在研究时,本来是想着创建一个可以在能源面板能够正确读取日期和电量的 ...

[attach]61374[/attach]我用NR创建实体 流只有这几个就可以了

作者: cjnt007    时间: 2024-7-11 21:11
ghostist 发表于 2024-7-11 17:10
我用NR创建实体 流只有这几个就可以了

谢谢给出方案分享,确实更加简洁
作者: nsdz8765    时间: 2024-7-12 10:31
学习一下
作者: z_1536    时间: 2024-7-12 11:02
感谢楼主分享!
作者: pljhonglu    时间: 2024-7-12 11:42
支持一下,电网现在还能接入么
作者: goldstep    时间: 2024-7-12 13:54
pljhonglu 发表于 2024-7-12 11:42
支持一下,电网现在还能接入么

不稳定,隔三差五的token失效
作者: goldstep    时间: 2024-7-12 13:55
cjnt007 发表于 2024-7-3 15:10
各位,每日电量数据读取的研究今天有了新的重大进展,原来数据来源依靠的是从“日总用电”实体sensor.state ...

好麻烦啊,还要改nr容器内部的东西,
作者: gsgtleo    时间: 2024-7-12 14:22
好东西,正好升级

作者: goldstep    时间: 2024-7-12 14:33
为什么当日用电我这边显示的0.
还有你这里的已缴电费,实体是电费余额,并不是已缴电费。

作者: goldstep    时间: 2024-7-12 14:52
cjnt007 发表于 2024-7-5 14:20
1楼帖子里有说明的,仔细看

同样的问题,在1楼也找了半天,只看到一堆代码,没有看到对这个实体生成的特别说明哦,
作者: cjnt007    时间: 2024-7-12 15:58
goldstep 发表于 2024-7-12 14:33
为什么当日用电我这边显示的0.
还有你这里的已缴电费,实体是电费余额,并不是已缴电费。
...

谢谢你的关注与评论!
我的帖子是分享,不是教程。
你在尝试研究我分享方案的过程中遇到了问题,应该是首先查找自己的环境、方法与我的有什么不同,并尝试解决,当然也可以跟帖探讨。
如果是探讨问题,请把你的情况你先讲清楚,我或其他朋友或许能提供一些有价值的帮助,但谁也不能保证一定能帮你解决遇到的问题。
作者: goldstep    时间: 2024-7-13 19:30
cjnt007 发表于 2024-7-12 15:58
谢谢你的关注与评论!
我的帖子是分享,不是教程。
你在尝试研究我分享方案的过程中遇到了问题,应该是首 ...

谢谢你积极的分享和长篇的说教,
问题就在这里啊,我很想知道你的环境,我是群晖docker运行的hass
作者: cjnt007    时间: 2024-7-13 19:50
goldstep 发表于 2024-7-13 19:30
谢谢你积极的分享和长篇的说教,
问题就在这里啊,我很想知道你的环境,我是群晖docker运行的hass ...

我不喜欢无脑的提问,至于环境,你应该把26楼的内容认真看一遍,其他问题无法提供帮助,源码都提供了不喜欢可以自己改
作者: 南山落满了梅花    时间: 2024-7-13 22:27
等大佬教程
作者: goldstep    时间: 2024-7-13 22:29
cjnt007 发表于 2024-7-13 19:50
我不喜欢无脑的提问,至于环境,你应该把26楼的内容认真看一遍,其他问题无法提供帮助,源码都提供了不喜 ...

回答的到位,其实你26楼的我早就看过了,你用的是官方HassOS 12.4,没有别的意思,看你回答的挺积极的,我也就多说两句吧,我回你的帖子的目的主要不是问你问题,而是是回帖指出一些不同之处,比如实体的名称原作者就是实体是电费余额,可是你那边给出的是已缴电费,至于对于不对,这是想跟你探讨和确认一下,你不但不正面回答,反倒长篇大论的给出一番说教,好吧,你是作者,既然你在论坛上做了分享那目的是相互引入大家相互学习和探讨的,谁都有不足,并且发表看法的权力,问个问题,指出一些你不认同的点或者对你这个主题的频繁回帖就认为是无脑的发问,或许是我认为你的心机过于敏感吧,所以包括我后面问的当日用电我这边显示的0.的这种问题,你本身就选择了无视,还有我看了你回帖别人的询问问题的解答,同样的问题,41楼的朋友问你
“请教下  sensor.dian_liang_tong_ji_energy这个是通过什么创建的 sensor?”
你告诉人家在1楼帖子里面有仔细看,我确实也仔细看了,1楼的帖子并没有看到对这个实体生成的特别说明,既然有第二个人发问这样的问题了,如果我是作者,那么我肯定会在顶楼把这个问题的解释突出一下,而不是以一种看似自恃高傲的态度浪费口舌。

作者: taioner    时间: 2024-7-14 00:30
大佬牛逼,感谢大佬
作者: 摩卡小滋味    时间: 2024-7-14 09:27
测试测试测试历史用电
作者: cjnt007    时间: 2024-7-14 11:29
goldstep 发表于 2024-7-13 22:29
回答的到位,其实你26楼的我早就看过了,你用的是官方HassOS 12.4,没有别的意思,看你回答的挺积极的, ...

问题一:你这里的已缴电费,实体是电费余额,并不是已缴电费
这是我根据自己的理解和使用习惯修改,本身是前端的东西,你完全可以自己改成愿意的名称,这不值得讨论。

问题二:为什么当日用电我这边显示的0.
本身这个问题提出时没有交待任何前提条件,换谁都无从分析判断。如果换作我来提问,至少要说出自己是如何配置,自己所对应的实体实际值是什么情况。对于这样无法回答的问题,我还要特别说明下吗?

问题三:sensor.dian_liang_tong_ji_energy这个是通过什么创建的 sensor
我已经提示41楼的朋友回看1楼帖子,如果对“……第一行的流程用于生成一个每日电量统计传感器,NR部署后,应该能自动生成,如果HA里没有,手动点击下“时间戳”节点。……”这段说明感兴趣的朋友自然会进一步针对提问交流,不感兴趣的照搬使用便是。你在83楼回帖的内容,并没有表明你是看到这段说明,我只能认为你是没有仔细看。

我基于以上“自我为是”的分析,在84楼给出回复,你就认为我是在“长篇说教”,我只能呵呵~~

看到你的论坛级别也是“论坛元老”,想必在论坛里待的时间不短,交流也应该有一定水平和质量的,但我可能想多了。

至于我怎么来发帖回帖,我有我自己的做法和风格,你尽可以认为我“心机过于敏感”,如果版主、坛主认为我在论坛的言论有违规,尽管可以删帖封号,我无话可说。
作者: goldstep    时间: 2024-7-14 12:43
cjnt007 发表于 2024-7-14 11:29
问题一:你这里的已缴电费,实体是电费余额,并不是已缴电费
这是我根据自己的理解和使用习惯修改,本身 ...

很好,问题一是原作者的根据电网来的数据直接取来的,从概念上余额还是已缴,起码我说出了自己的理解,如何正确认知的态度,当然对于国网的一套系统在不同地区是不是有不同的取值这我也不好判断。
问题二,如问题一的解答,你作为分享者,当日电量显示0,你回答的换做谁都无从分析判断,这话说有些绝对了,你只能说明是你没有认真分析或者不屑分析,我提出这个问题,肯定是我发现了问题想跟你互动,结果换来的什么你清楚。

问题三、我对技术深入没有你那么细节,所以我关注的不够到位,有些问题问的过于天真,就如你所说的是无脑吧,希望你谅解,我这种就是靠时间和自己有限能力耗到这个元老的,但是我从没有以这个身份啥的作为一种资本来那啥,后面的话不多说了,本身论坛就是分享和不断互动沟通才能进步,我也再次跟版主提一下建议,希望论坛少一些长篇大论的说教,这里没有专家,都是玩家。
作者: ld0574    时间: 2024-7-15 13:49
感谢分享
作者: barryspring    时间: 2024-7-15 14:10
感谢大神
作者: ghostist    时间: 2024-7-15 17:33
cjnt007 发表于 2024-7-5 20:35
谢谢各位朋友捧场,我继续分享下每月电量、电费年视图展示成果

年视图 你在手机app上显示正常吗?ios
作者: cjnt007    时间: 2024-7-15 22:02
ghostist 发表于 2024-7-15 17:33
年视图 你在手机app上显示正常吗?ios

必须正常啊
[attach]61495[/attach]

作者: auqf520    时间: 2024-7-15 22:14
看了半天一脸懵,还是继续学习
作者: 932224322    时间: 2024-7-16 00:16
谢谢分享    谢谢分享 谢谢分享                    .  。
作者: whz327430825    时间: 2024-7-16 20:56
大佬膜拜
作者: kingchen4817    时间: 2024-7-17 09:54
占个地方,到时候好找




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