emanuelbesliu/homeassistant-orange

GitHub: emanuelbesliu/homeassistant-orange

Home Assistant的非官方Orange Romania集成,用于监控电信订阅、积分和账单状态。

Stars: 1 | Forks: 0

# Orange Romania - Home Assistant 集成 [![HACS](https://img.shields.io/badge/HACS-Custom-orange.svg)](https://github.com/custom-components/hacs) [![GitHub Release](https://img.shields.io/github/v/release/emanuelbesliu/homeassistant-orange)](https://github.com/emanuelbesliu/homeassistant-orange/releases/latest) [![License](https://img.shields.io/github/license/emanuelbesliu/homeassistant-orange)](LICENSE) **用于 [orange.ro](https://www.orange.ro) 的自定义 Home Assistant 集成** 直接在 Home Assistant 中监控您的 Orange 订阅、账户余额、积分和未付账单。 ## ⚠️ 重要免责声明 **此集成是通过逆向工程独立开发的,仅供个人和教育用途。** - ❌ **不隶属于** Orange Romania - ❌ **未经** Orange Romania **认可** - ❌ **不受** Orange Romania **支持** - ⚠️ Orange Romania 对此集成**不承担任何责任或义务** - ⚠️ **使用风险自负** - ⚠️ 如果 Orange 更改其 API,此集成可能随时**停止工作** - ⚠️ 使用此集成即表示您承认它是**非官方的**且**不受支持的** **作者(Emanuel Besliu)按“原样”提供此集成,不提供任何保证。** ## ✨ 功能 - 🔐 **安全 OAuth 认证** - 通过 OAuth 流程加密凭据 - 📱 **多配置文件支持** - 支持多个客户配置文件 - 🎯 **多订阅追踪** - 移动、互联网、电视订阅 - ⭐ **积分** - 追踪 Orange 积分和奖励 - 💰 **未付账单追踪** - 监控未付账单和截止日期 - 📊 **账户监控** - 客户信息、订阅状态 - 🔄 **自动更新** - 每小时数据刷新 - 🌍 **双语** - 罗马尼亚语和英语界面 ## 📦 安装 ### 选项 1:复制到 custom_components 1. 将 `custom_components/orange` 文件夹复制到您的 Home Assistant `custom_components` 目录: /config/custom_components/orange/ 2. 重启 Home Assistant 3. 转到 **设置** → **设备与服务** → **添加集成** 4. 搜索“**Orange Romania**” 5. 输入您的 Orange.ro 凭据(电话号码或电子邮件 + 密码) ### 选项 2:HACS(即将推出) 将在测试和发布后提供。 ## ⚙️ 配置 1. **设置** → **设备与服务** → **添加集成** 2. 搜索“**Orange Romania**” 3. 输入您的 **Orange.ro 用户名**(电话号码:`0700123456` 或电子邮件) 4. 输入您的 **密码** 5. 点击 **提交** 该集成将使用 Orange 的 OAuth 流程进行身份验证并自动创建传感器! ## 🛠️ 开发 有关详细的开发指南,请参阅 [AGENTS.md](AGENTS.md)。 ### 快速开始 1. **设置拦截器**(来自 hidroelectrica 项目): cd ../hidroelectrica python interceptor.py 2. **配置浏览器代理**以捕获 Orange.ro 流量 3. **登录 orange.ro** 并浏览账户页面 4. **分析捕获的请求**以识别 API 端点 5. 根据捕获的数据**实现 API 客户端** ## 📦 文件结构 ``` custom_components/orange/ ├── __init__.py # Integration setup ├── api.py # Orange.ro API client ├── const.py # Constants ├── config_flow.py # UI configuration ├── sensor.py # Sensor entities ├── manifest.json # Metadata └── strings.json # Translations ``` ## 📊 创建的传感器 ### 全局传感器 (4) | Entity ID | 描述 | 属性 | |-----------|-------------|------------| | `sensor.orange_profile_count` | 客户配置文件数量 | profile_names, profile_ids | | `sensor.orange_subscriber_count` | 订阅数量 | phone_numbers, subscriber_ids | | `sensor.orange_loyalty_points` | 总积分 | 每个配置文件的积分明细 | | `sensor.orange_total_unpaid_bills` | 账户余额 (RON) - 正数 = 欠费, 负数 = 预存 | total_count, 每个配置文件的金额和截止日期 | **注意:** `sensor.orange_total_unpaid_bills` 传感器显示: - **正值**(例如 `129.41`)表示您有未付账单 - **负值**(例如 `-129.00`)表示您有预存余额 - **零**表示您的账户已结清 ### 每配置文件传感器 对于每个客户配置文件(例如“John Doe”): | Entity ID | 状态 | 属性 | |-----------|-------|------------| | `sensor.orange_profile_100000001` | 客户类型 (PRIVATE) | name, ocn, status, next_invoice_date | | `sensor.orange_profile_100000001_unpaid_bills` | 账户余额 (RON) - 正数 = 欠费, 负数 = 预存 | services_amount, installments_amount, due_date, profile_name | ### 每订阅传感器 对于每个订阅(例如 0700123456): | Entity ID | 状态 | 属性 | |-----------|-------|------------| | `sensor.orange_subscriber_200000001` | 状态 (ACTIVE) | msisdn, subscription_type, contact_name, is_prepay | ## 📈 示例数据 设置完成后,您将看到如下传感器: ``` sensor.orange_profile_count: 2 profile_names: ["John Doe", "Jane Smith"] sensor.orange_subscriber_count: 1 phone_numbers: ["0700123456"] sensor.orange_loyalty_points: 4.38 profile_100000001_points: 4.38 profile_100000001_value_ron: 0.88 sensor.orange_total_unpaid_bills: 129.41 total_count: 1 profile_100000001_amount: 129.41 profile_100000001_due_date: "2026-02-15" profile_100000001_name: "John Doe" sensor.orange_profile_100000001_unpaid_bills: 129.41 services_amount: 129.41 installments_amount: 0.0 due_date: "2026-02-15" has_invoices: true profile_name: "John Doe" sensor.orange_subscriber_200000001: "ACTIVE" msisdn: "0700123456" subscription_type: "abonament" subscriber_type: "PRIVATE" is_prepay: false ``` ## 📝 许可证 MIT License - Copyright (c) 2026 Emanuel Besliu ## ⚠️ 法律声明 此集成是通过逆向工程独立开发的,仅供个人和教育用途。它不隶属于、未经认可或不受 Orange Romania S.A. 支持。Orange Romania 对此集成不承担任何责任或义务。使用风险自负。 Orange 名称和徽标是 Orange S.A. 的商标。此项目未经 Orange S.A. 或 Orange Romania S.A. 认可或隶属于它们。 **由 Emanuel Besliu (@emanuelbesliu) 开发** # Test 依赖更新 # Test v2
标签:API 逆向, HACS, Home Assistant, IoT, OAuth, Orange Romania, Python, 云资产清单, 余额查询, 无后门, 智能家居, 物联网, 电信, 积分追踪, 网络调试, 罗马尼亚, 自动化, 自定义组件, 订阅管理, 账单监控, 逆向工具, 逆向工程, 集成, 非官方