Skip to main content

PrL的负能量场

  1. https://deepwiki.com/search/pushplus-forktelegrambot-pytho_4e416c58-4e4e-42f8-b182-e8a96355ee39
    —-



    根据你的需求,你想要在现有的SGCC电力监控项目中添加Telegram Bot和企业微信机器人的推送支持。

    ## 当前推送系统分析

    目前项目只支持Pushplus推送,推送逻辑位于`scripts/sensor_updator.py`的`balance_notify`方法中。 [1](#0-0) 当电费余额低于设定阈值时,系统会通过Pushplus发送通知。

    ## 需要修改的文件和位置

    ### 1. 环境变量配置文件

    你需要在`example.env`文件中添加新的环境变量: [2](#0-1)

    建议在现有的Pushplus配置后添加:
    # Telegram Bot 配置
    TG_BOT_TOKEN=your_bot_token
    TG_USER_ID=your_user_id
    TG_API_HOST=https://api.telegram.org  # 可选,自定义API地址
    TG_PROXY_HOST=proxy_host  # 可选,代理主机
    TG_PROXY_PORT=proxy_port  # 可选,代理端口
    TG_PROXY_AUTH=user:pass   # 可选,代理认证
    
    # 企业微信机器人配置
    QYWX_KEY=your_webhook_key
    QYWX_ORIGIN=https://qyapi.weixin.qq.com  # 可选,自定义API地址


    ### 2. 主配置加载逻辑

    在`scripts/main.py`中,你需要在两个地方添加新的环境变量加载:

    - Home Assistant Add-on模式(`options.json`): [3](#0-2)
    - Docker模式(`.env`文件): [4](#0-3)

    ### 3. 推送逻辑修改

    主要修改`scripts/sensor_updator.py`中的推送逻辑:

    #### 在`init`方法中添加新的配置读取: [5](#0-4)

    #### 修改`balance_notify`方法: [1](#0-0)

    你需要将现有的单一Pushplus推送逻辑扩展为支持多种推送方式的逻辑。

    ## 推荐的实现方案

    1. 创建推送工厂模式**:在`sensor_updator.py`中添加你提供的`wecom_bot`和`telegram_bot`函数
    2. **修改`balance_notify`方法**:根据配置的环境变量决定使用哪种推送方式
    3. **支持多推送并行**:可以同时启用多种推送方式

    ## 配置优先级

    根据现有代码结构,配置加载的优先级是: [6](#0-5)
    1. 如果存在`/data/options.json`(Home Assistant Add-on模式)
    2. 否则使用环境变量(Docker模式)

    你需要在两种配置方式中都添加对应的新环境变量支持。

    **Notes


    当前项目的推送功能集中在`SensorUpdator`类中,通过`RECHARGE_NOTIFY`环境变量控制是否启用推送。你的修改应该保持这个架构,只是扩展推送方式的选择。记得在`DataFetcher.fetch()`方法中,`SensorUpdator`实例会为每个用户ID调用推送检查。 [7](#0-6)

    Wiki pages you might want to explore:
    - [Overview (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#1)
    - [Core Components (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#4)