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

 找回密码
 立即注册
查看: 2988|回复: 61

[基础教程] 小白尝试安装国家电网青龙版(已经失效)

[复制链接]

3

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
金钱
176
HASS币
0
发表于 2024-12-25 12:44:31 | 显示全部楼层 |阅读模式
本帖最后由 jmkl1028 于 2024-12-31 23:21 编辑

原作者已经更新github库,下面的教程可能已经不能正确拉取!

用好了,你倒是说一声啊

看到ARCW这个帖子2024 Homeassistant 国家电网电费获取 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!
尝试安装成功
1.png
1.青龙面板
(1))订阅任务(这一步已经失效)
2.png
运行一次
(2)安装mqtt依赖
3.png
如果安装不成功,尝试更换镜像源。我是用系统自带的镜像源
(3)添加环境变量
4.png
export WSGW_USERNAME="" #网上国网账号
 export WSGW_PASSWORD="" #网上国网密码
 export WSGW_RECENT_ELC_FEE="true" #是否获取最近电费
 export WSGW_mqtt_host="" #mqtt服务器地址 192.168.1.7
 export WSGW_mqtt_port="" #mqtt服务器端口 1883
 export WSGW_mqtt_username="" #mqtt服务器用户名
 export WSGW_mqtt_password="" #mqtt服务器密码


这里的export WSGW_mqtt_host="" #mqtt服务器地址 ,我不知道是否正确,网上找了一个免费的。可以从下面任选一个试试


Mosquitto公共MQTT Broker服务器


  • test.mosquitto.org 协议: TCP 端口: 1883 MQTT版本: 5.0/3.1.1 备注: 无加密,无认证

  • test.mosquitto.org 协议: TCP 端口: 1884 MQTT版本: 5.0/3.1.1 备注: 无加密,有认证

  • test.mosquitto.org 协议: TCP/TLS 端口: 8883 MQTT版本: 5.0/3.1.1 备注: 有加密,无认证

  • test.mosquitto.org 协议: TCP/TLS 端口: 8884 MQTT版本: 5.0/3.1.1 备注: 有加密,客户端证书

  • test.mosquitto.org 协议: TCP/TLS 端口: 8885 MQTT版本: 5.0/3.1.1 备注: 有加密,有认证^2^。








2.HA设置
(1)找到configuration.yaml 文件添加mqtt传感器
QQ20241225-123047.png
mqtt:
  sensor:
    - name: "电费余额"
      icon: 'mdi:lightning-bolt'
      unique_id: 'yong_dian_xin_xi'
      state_topic: "nodejs/state-grid"
      value_template: "{{ value_json.sumMoney }}"
      unit_of_measurement: '元'
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json | tojson }}"
    - name: 'Electricity Usage Day 1'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[0].dayElePq }}'
      unique_id: "electricity_usage_day1"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[0] | tojson }}"
    - name: 'Electricity Usage Day 2'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[1].dayElePq }}'
      unique_id: "electricity_usage_day2"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[1] | tojson }}"
    - name: 'Electricity Usage Day 3'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[2].dayElePq }}'
      unique_id: "electricity_usage_day3"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[2] | tojson }}"
    - name: 'Electricity Usage Day 4'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[3].dayElePq }}'
      unique_id: "electricity_usage_day4"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[3] | tojson }}"
    - name: 'Electricity Usage Day 5'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[4].dayElePq }}'
      unique_id: "electricity_usage_day5"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[4] | tojson }}"
    - name: 'Electricity Usage Day 6'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[5].dayElePq }}'
      unique_id: "electricity_usage_day6"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[5] | tojson }}"
    - name: 'Electricity Usage Day 7'
      state_topic: 'nodejs/state-grid'
      value_template: '{{ value_json.dayList[6].dayElePq }}'
      unique_id: "electricity_usage_day7"
      device_class: "energy"
      unit_of_measurement: "度"
      icon: "mdi:chart-bell-curve"
      json_attributes_topic: "nodejs/state-grid"
      json_attributes_template: "{{ value_json.dayList[6] | tojson }}"
重新加载configuration.yaml
(2)添加卡片模版
6.png
依次添加vertical-stack,flex-table-card,apexcharts-card
(3)安装MQTT集成
mqtt服务器地址与前面青龙里设置的ip对应,其它的好像都不需要改动了 5.png (4)仪表盘添加卡片
7.png
依次添加用电量、7日用电量、12月份用电统计
type: vertical-stack
cards:
  - type: grid
    columns: 2
    cards:
      - type: entity
        entity: sensor.dian_fei_yu_e
        name: 电费余额
        attribute: sumMoney
        unit: 元
        icon: mdi:currency-usd
      - type: entity
        entity: sensor.electricity_usage_day_1
        name: 昨日用电
        icon: mdi:lightning-bolt
      - type: entity
        entity: sensor.dian_fei_yu_e
        name: 年度总电费
        attribute: totalEleCost
        unit: 元
        icon: mdi:currency-usd
      - type: entity
        entity: sensor.dian_fei_yu_e
        name: 年度总电量
        attribute: totalEleNum
        unit: 度
        icon: mdi:lightning-bolt
    square: false
  - type: entity
    entity: sensor.electricity_usage_day_1
    name: 昨日日期
    attribute: day
    icon: mdi:calendar-today
  - type: entity
    entity: sensor.dian_fei_yu_e
    name: 更新日期
    attribute: amtTime
    icon: mdi:clock-time-three
title: 用电统计
type: custom:flex-table-card
title: 过去7天用电情况
entities:
  include: sensor.electricity_usage_day*
columns:
  - name: 日期
    data: day
  - name: 用电量
    data: state
    suffix: 度
  - name: 电费
    data: state
    modify: parseFloat(x*0.5).toFixed(2)
    suffix: 元
type: custom:apexcharts-card
graph_span: 12month
header:
  show: true
  title: 最近12个月电量统计数据
  show_states: true
  colorize_states: true
series:
  - entity: sensor.dian_fei_yu_e
    name: 用电量
    unit: 度
    type: column
    data_generator: |
      return entity.attributes.monthList.map((peak, index) => {
        return [entity.attributes.monthList[index].endDate, entity.attributes.monthList[index].monthEleNum];
      });
前面操作正确就会有对应的卡片显示,否则就是有问题了


地址 ARC-MX/sgcc_electricity_new: HomeAssistant 国家电网电费查询
免费的MQTT有使用时间限制,也可以自己搭建
搭建本机自己的MQTT服务器
Ubuntu设备搭建本地MQTT服务器 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!



评分

参与人数 1金钱 +10 收起 理由
aiqienanguatou + 10 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

2

主题

44

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
金钱
194
HASS币
0
发表于 2024-12-25 14:00:22 | 显示全部楼层
1.青龙面板
(1))订阅任务https://github.com/ARC-MX/sgcc_electricity_new.git

## 开始执行... 2024-12-25 13:58:43

开始拉取仓库 ARC-MX_sgcc_electricity_new 到 /ql/data/repo/ARC-MX_sgcc_electricity_new


拉取 ARC-MX_sgcc_electricity_new 成功...


检测到有新的定时任务:

ARC-MX_sgcc_electricity_new/scripts/main.py
ARC-MX_sgcc_electricity_new/scripts/sensor_updator.py
ARC-MX_sgcc_electricity_new/scripts/const.py
ARC-MX_sgcc_electricity_new/scripts/data_fetcher.py
ARC-MX_sgcc_electricity_new/scripts/onnx.py

开始尝试自动添加定时任务...

main.py -> 添加成功

sensor_updator.py -> 添加成功

const.py -> 添加成功

str, password -> 添加成功

img} -> 添加成功

通知失败(Error: {"code":905,"msg":"未实名认证用户无法发送消息。实名地址:http://verify.pushplus.plus","data":null})

## 执行结束... 2024-12-25 13:58:54  耗时 11 秒 


干到了这一步
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

0

主题

73

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1378
HASS币
0
发表于 2024-12-25 16:10:36 | 显示全部楼层
按照楼主的教程是不是就不用docker部署了?(青龙设置任务ha里面创建实体就OK了?)
回复

使用道具 举报

2

主题

44

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
金钱
194
HASS币
0
发表于 2024-12-25 16:42:53 | 显示全部楼层
run task before error: Command 'bash -c "source /ql/data/config/task_before.sh sensor_updator.py && echo -e '__sitecustomize__' && python3 -c 'import os, json; print(json.dumps(dict(os.environ)))'"' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/ql/data/scripts/ARC-MX_sgcc_electricity_new/scripts/sensor_updator.py", line 7, in <module>
    from sympy import true
ModuleNotFoundError: No module named 'sympy'


青龙运行5个任务都报错
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

3

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
金钱
176
HASS币
0
 楼主| 发表于 2024-12-25 18:14:01 | 显示全部楼层
4eszxcvgy7 发表于 2024-12-25 16:42
run task before error: Command 'bash -c "source /ql/data/config/task_before.sh sensor_updator.py &&  ...

青龙MQTT依赖安装好了吗?
回复

使用道具 举报

0

主题

20

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
金钱
437
HASS币
0
发表于 2024-12-25 18:14:25 | 显示全部楼层
wwjw 发表于 2024-12-25 16:10
按照楼主的教程是不是就不用docker部署了?(青龙设置任务ha里面创建实体就OK了?) ...

同问,现在不知道按git操作还是部署青龙还是干啥了
回复

使用道具 举报

3

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
金钱
176
HASS币
0
 楼主| 发表于 2024-12-25 19:38:54 | 显示全部楼层
liupcoder 发表于 2024-12-25 18:14
同问,现在不知道按git操作还是部署青龙还是干啥了

我是小白,因为在按照作者的教程安装时候遇到很多不太明白的地方,也考虑到可能会有人跟我相似的感受,所以发出来跟大家分享。至于你的问题,我不懂。docker是啥?
回复

使用道具 举报

2

主题

44

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
金钱
194
HASS币
0
发表于 2024-12-26 09:03:26 | 显示全部楼层
jmkl1028 发表于 2024-12-25 18:14
青龙MQTT依赖安装好了吗?

装好了,就是青龙运行会报错
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

2

主题

44

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
金钱
194
HASS币
0
发表于 2024-12-26 09:13:04 | 显示全部楼层
4eszxcvgy7 发表于 2024-12-26 09:03
装好了,就是青龙运行会报错

360截图-666698609.jpg
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

10

主题

1399

帖子

4467

积分

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
3068
HASS币
0
发表于 2024-12-26 09:23:28 | 显示全部楼层
坏了,离不能用不远了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-7 04:53 , Processed in 0.062646 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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