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

 找回密码
 立即注册
查看: 70525|回复: 238

[新奇玩法] 我也来个电费插件(RN流)-浙江

  [复制链接]

9

主题

157

帖子

2188

积分

金牌会员

Rank: 6Rank: 6

积分
2188
金钱
2031
HASS币
10
发表于 2021-6-28 14:20:21 | 显示全部楼层 |阅读模式
本帖最后由 tangxingjie1991 于 2022-9-21 08:22 编辑

1、通过stream抓取国网浙江电力的公众号,有个checkLogin的链接,复制后面的参数填入nr里面设置参数节点,然后再填写你的户号,同步间隔最好一天一次,免的被拉黑。
2、实体在集成里添加Node-RED Companion,没有的自行在HACS里安装

2022.5.20 修复了公众号字段变更引起的问题   
                 修改了设置参数节点  params需要抓包checkLogin后面参数解码后再填入


2022.9.20 修复了公众号更新后不可用

UI配置
  - title: 电费
    path: ''
    icon: mdi:lightning-bolt
    badges: []
    cards:
      - type: gauge
        entity: sensor.gong_lu
        name: 全屋功耗
        needle: true
        severity:
          green: 0
          yellow: 1000
          red: 3000
        min: 0
        unit: ' '
        max: 6000
      - type: grid
        cards:
          - type: entities
            state_color: true
            show_header_toggle: false
            entities:
              - entity: sensor.daily_energy
                type: custom:multiple-entity-row
                secondary_info: last-changed
                icon: mdi:ev-station
                unit: 度
                name: 今日用电
                entities:
                  - entity: sensor.daily_energy_peak
                    name: 峰
                    unit: false
                  - entity: sensor.daily_energy_offpeak
                    name: 谷
                    unit: false
              - entity: sensor.daily_energy_cost
                type: custom:multiple-entity-row
                secondary_info: last-changed
                unit: 元
                name: 今日用电
                entities:
                  - entity: sensor.daily_energy_peak_cost
                    name: 峰
                    unit: false
                  - entity: sensor.daily_energy_offpeak_cost
                    name: 谷
                    unit: false
              - entity: sensor.dayelectricity
                type: custom:multiple-entity-row
                secondary_info: last-changed
                name: 昨日用电
                entities:
                  - attribute: f
                    name: 峰
                  - attribute: g
                    name: 谷
              - entity: sensor.dayelectricityprice
                type: custom:multiple-entity-row
                entities:
                  - attribute: daypricef
                    name: 峰
                  - attribute: daypriceg
                    name: 谷
                name: 昨日用电
              - entity: sensor.monthelectricity
                type: custom:multiple-entity-row
                name: 月度用电
                entities:
                  - attribute: f
                    name: 峰
                  - attribute: g
                    name: 谷
              - entity: sensor.monthelectricityprice
                type: custom:multiple-entity-row
                name: 月度用电
                entities:
                  - attribute: monthpricef
                    name: 峰
                  - attribute: monthpriceg
                    name: 谷
              - entity: sensor.yearelectricity
                name: 年度用电
              - type: custom:bar-card
                width: 45%
                height: 2em
                decimal: 0
                unit_of_measurement: '%'
                positions:
                  icon: outside
                  indicator: 'off'
                  name: outside
                severity:
                  - color: Green
                    from: 0
                    to: 25
                  - color: Orange
                    from: 26
                    to: 50
                  - color: Red
                    from: 51
                    to: 100
                entity_row: true
                entities:
                  - entity: sensor.electricity_first
                  - entity: sensor.electricity_second
              - type: custom:bar-card
                width: 45%
                height: 2em
                decimal: 0
                unit_of_measurement: 度
                positions:
                  icon: outside
                  indicator: 'off'
                  name: outside
                severity:
                  - color: '#303435'
                    from: 11
                    to: 100
                  - color: '#6d2525'
                    from: 0
                    to: 10
                entity_row: true
                entities:
                  - entity: sensor.electricity_thired
        columns: 1
        square: false
      - type: custom:apexcharts-card
        graph_span: 15d
        locale: zh-cn
        all_series_config:
          stroke_width: 2
          opacity: 0.8
          type: line
        header:
          show: true
          title: 用电情况
          show_states: true
          colorize_states: true
        series:
          - entity: sensor.historyelectricity
            name: 峰用电
            data_generator: |
              const data = [];
              entity.attributes.history.map((peak, index) => {
                data.push([new Date(peak.datetime).getTime(), peak.ZXYGZ2]);
              });
              for( var i = 0; i < data.length; i++ ){
                 for( var j = i + 1; j < data.length; j++ ){
                     if(data[i][0] > data[j][0]){
                        const data1 = data[i];
                        data[i] = data[j];
                        data[j] = data1;
                     }
                  }
               }
              return data;
          - entity: sensor.historyelectricity
            name: 谷用电
            data_generator: |
              const data = [];
              entity.attributes.history.map((peak, index) => {
                data.push([new Date(peak.datetime).getTime(), peak.ZXYGZ4]);
              });
              for( var i = 0; i < data.length; i++ ){
                 for( var j = i + 1; j < data.length; j++ ){
                     if(data[i][0] > data[j][0]){
                        const data1 = data[i];
                        data[i] = data[j];
                        data[j] = data1;
                     }
                  }
               }
              return data;
          - entity: sensor.historyelectricity
            name: 全天用电
            data_generator: |
              const data = [];
              entity.attributes.history.map((peak, index) => {
                data.push([new Date(peak.datetime).getTime(), peak.ZXYGZ]);
              });
              for( var i = 0; i < data.length; i++ ){
                 for( var j = i + 1; j < data.length; j++ ){
                     if(data[i][0] > data[j][0]){
                        const data1 = data[i];
                        data[i] = data[j];
                        data[j] = data1;
                     }
                  }
               }
              return data;
      - type: custom:apexcharts-card
        graph_span: 12month
        locale: zh-cn
        all_series_config:
          stroke_width: 2
          opacity: 0.8
          type: column
          show:
            legend_value: false
            datalabels: true
            as_duration: month
        header:
          show: true
          title: 月度电费
        series:
          - entity: sensor.historyelectricitybill
            name: 月度电费
            data_generator: >-
              return entity.attributes.list.map((peak, index) => { return [new
              Date(peak.recordDate).getTime(), peak.rcvedAmt]; });
      - type: custom:apexcharts-card
        graph_span: 12month
        locale: zh-cn
        all_series_config:
          stroke_width: 2
          opacity: 0.8
          type: column
          show:
            legend_value: false
            datalabels: true
            as_duration: month
        header:
          show: true
          title: 月度耗电
        series:
          - entity: sensor.historyelectricitybill
            name: 月度耗电
            unit: 度
            data_generator: >-
              return entity.attributes.list.map((peak, index) => { return [new
              Date(peak.recordDate).getTime(), peak.pq]; });


微信图片_20210628141304.jpg
微信图片_20210628141358.jpg
微信截图_20220921081953.png

电费修复.rar

5.04 KB, 下载次数: 490

电费20220920.rar

5.1 KB, 下载次数: 383

评分

参与人数 7金钱 +46 收起 理由
llgxdnn + 5 感谢楼主分享!
sczdlj` + 5 高手,这是高手!
ysst4 + 5 高手,这是高手!
nbasia + 5
h5529 + 1
wbdlwz + 5 感谢楼主分享!
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

92

帖子

723

积分

论坛积极会员

积分
723
金钱
631
HASS币
0
发表于 2021-6-28 14:25:47 来自手机 | 显示全部楼层
太棒了,有福建的吗!
回复

使用道具 举报

9

主题

157

帖子

2188

积分

金牌会员

Rank: 6Rank: 6

积分
2188
金钱
2031
HASS币
10
 楼主| 发表于 2021-6-28 14:40:45 | 显示全部楼层
wcm12345 发表于 2021-6-28 14:25
太棒了,有福建的吗!

这个真没有,哈哈 ,福建应该是不同的公众号
回复

使用道具 举报

42

主题

522

帖子

2945

积分

金牌会员

Rank: 6Rank: 6

积分
2945
金钱
2423
HASS币
10
发表于 2021-6-28 15:00:58 | 显示全部楼层
安徽的公众号和小程序我都试了,啥也抓不着,或许是我姿势不对。。。
回复

使用道具 举报

1

主题

63

帖子

531

积分

高级会员

Rank: 4

积分
531
金钱
468
HASS币
0
发表于 2021-6-28 16:25:42 | 显示全部楼层
河北的我也没抓到,完全看不懂
回复

使用道具 举报

0

主题

61

帖子

532

积分

高级会员

Rank: 4

积分
532
金钱
471
HASS币
0
发表于 2021-6-28 18:49:50 | 显示全部楼层
大佬怎么抓取,来个教程
回复

使用道具 举报

6

主题

259

帖子

2998

积分

金牌会员

Rank: 6Rank: 6

积分
2998
金钱
2739
HASS币
0
发表于 2021-6-29 00:38:12 来自手机 | 显示全部楼层
谁能来个广西的
回复

使用道具 举报

9

主题

157

帖子

2188

积分

金牌会员

Rank: 6Rank: 6

积分
2188
金钱
2031
HASS币
10
 楼主| 发表于 2021-6-29 08:19:14 | 显示全部楼层
fhxu 发表于 2021-6-28 18:49
大佬怎么抓取,来个教程

抓包也很简单,打开stream点开始,然后打开公众号或者小程序,等你想要的页面加载完后,回到stream停止抓包,然后在历史里面找你想要的http请求,最后就是分析请求返回的json
回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2021-6-29 10:10:44 | 显示全部楼层
tangxingjie1991 发表于 2021-6-29 08:19
抓包也很简单,打开stream点开始,然后打开公众号或者小程序,等你想要的页面加载完后,回到stream停止抓 ...

抓包好,但不知道在那个项内,太多。能指点下吗?
回复

使用道具 举报

4

主题

341

帖子

3422

积分

论坛元老

Rank: 8Rank: 8

积分
3422
金钱
3081
HASS币
0
发表于 2021-6-29 13:33:37 | 显示全部楼层
抓包抓到了,但是不能用,大佬帮忙看看 微信图片_20210629132727.png
微信图片_111111.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 00:03 , Processed in 0.107372 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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