emanuelbesliu/homeassistant-orange
GitHub: emanuelbesliu/homeassistant-orange
Home Assistant的非官方Orange Romania集成,用于监控电信订阅、积分和账单状态。
Stars: 1 | Forks: 0
# Orange Romania - Home Assistant 集成
[](https://github.com/custom-components/hacs)
[](https://github.com/emanuelbesliu/homeassistant-orange/releases/latest)
[](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, 云资产清单, 余额查询, 无后门, 智能家居, 物联网, 电信, 积分追踪, 网络调试, 罗马尼亚, 自动化, 自定义组件, 订阅管理, 账单监控, 逆向工具, 逆向工程, 集成, 非官方