Sign inSign up

dscao/sgcc_electricity

By dscao

•Updated about 3 years ago

from https://github.com/louisslee/sgcc_electricity

9

4.1K

dscao/sgcc_electricity repository overview

2023.10.18后因登录验证方式改变,暂时不能使用了……

⁠使用方法:docker部署

如果你是采用core, docker方式部署的home-assistant(也就是说你没有部署suppervisor, add-on等容器),建议采用docker部署本应用。

首先请在HA webUI上建立一个长期访问令牌,点击webUI左下角用户名拉到最下面就可以看到了。

在已安装好docker的主机上可输入如下命令执行docker部署。

docker run --name sgcc_electricity -d -e PHONE_NUMBER="手机号码" -e PASSWORD="登录密码" -e HASS_URL="ha服务器地址" -e HASS_TOKEN="长期访问令牌" --restart unless-stopped dscao/sgcc_electricity

部署container成功后稍等1分钟,你就可以在HA中找到实体了。

本应用在启动后和每隔12小时抓取一次数据,并在HA里更新以下一个实体及其六个属性:

sensor.electricity_95598:电费余额/上期账单金额
is_pay: 是否当期已结清
need_pay: 账单欠费金额(后付费用户)
last_electricity_usage:最近一天用电量
thismonth_electricity_usage: 本月用电量
yearly_electricity_usage: 今年以来用电量
yearly_electricity_charge: 今年以来电费
last_date: 数据更新的最后日期

注:如果你有一个户号,在HA里就是以上实体名;如果你有多个户号,实体名称还要加 “_户号”后缀,举例:sensor.electricity_95598_1234567890

由于采用REST API方式创建sensor,没有做实体注册,无法在webui里编辑。如果需要,你可以在configuration.yaml下增加如下配置后重启HA,这样你就可在webUI编辑对应的实体了。

如果你有一个户号,参照以下配置

template:
  - trigger:
      - platform: event
        event_type: "state_changed"
        event_data: 
          entity_id: sensor.electricity_95598
    sensor:
      - name: electricity_charge_balance_entity
        unique_id: electricity_charge_balance_entity
        state: "{{ states('sensor.electricity_95598') }}"
        unit_of_measurement: "CNY"
        device_class: monetary

      - name: electricity_balance_is_pay_entity
        unique_id: electricity_balance_is_pay_entity
        state: "{{ state_attr('sensor.electricity_95598', 'is_pay') }}"
 
      - name: last_electricity_usage_entity
        unique_id: last_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'last_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_usage_entity
        unique_id: yearly_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'yearly_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_charge_entity
        unique_id: yearly_electricity_charge_entity
        state: "{{ state_attr('sensor.electricity_95598', 'yearly_electricity_charge') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: electricity_need_pay
        unique_id: electricity_need_pay
        state: "{{ state_attr('sensor.electricity_95598', 'need_pay') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: thismonth_electricity_usage_entity
        unique_id: thismonth_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'thismonth_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"
        
      - name: electricity_last_date_entity
        unique_id: electricity_last_date_entity
        state: "{{ state_attr('sensor.electricity_95598', 'last_date') }}"

如果你有多个户号,每个户号参照以下配置

template:
  - trigger:
      - platform: event
        event_type: "state_changed"
        event_data: 
          entity_id: sensor.electricity_95598_户号
    sensor:
      - name: electricity_charge_balance_entity_户号
        unique_id: electricity_charge_balance_entity_户号
        state: "{{ states('sensor.electricity_95598_户号') }}"
        unit_of_measurement: "CNY"
        device_class: monetary

      - name: electricity_balance_is_pay_entity_户号
        unique_id: electricity_balance_is_pay_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'is_pay') }}"
 
      - name: last_electricity_usage_entity_户号
        unique_id: last_electricity_usage_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'last_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_usage_entity_户号
        unique_id: yearly_electricity_usage_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'yearly_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_charge_entity_户号
        unique_id: yearly_electricity_charge_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'yearly_electricity_charge') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: electricity_need_pay_户号
        unique_id: electricity_need_pay_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'need_pay') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: thismonth_electricity_usage_entity_户号
        unique_id: thismonth_electricity_usage_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'thismonth_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"
        
      - name: electricity_last_date_entity_户号
        unique_id: electricity_last_date_entity_户号
        state: "{{ state_attr('sensor.electricity_95598_户号', 'last_date') }}"

Tag Summary

No tags have been pushed to this repository yet.