homebridge-carrier-infinity 1.7.1 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devcontainer/README.md +211 -0
- package/.devcontainer/config.json.example +27 -0
- package/.devcontainer/devcontainer.json +55 -0
- package/.devcontainer/setup-homebridge.sh +45 -0
- package/.devcontainer/start-homebridge.sh +29 -0
- package/.devcontainer/stop-homebridge.sh +7 -0
- package/CLAUDE.md +179 -0
- package/dist/api/comodo-aaa-root.pem +25 -0
- package/dist/api/models.d.ts.map +1 -1
- package/dist/api/models.js +6 -0
- package/dist/api/models.js.map +1 -1
- package/dist/api/oauth.d.ts.map +1 -1
- package/dist/api/oauth.js +5 -5
- package/dist/api/oauth.js.map +1 -1
- package/dist/api/rest_client.d.ts.map +1 -1
- package/dist/api/rest_client.js +26 -1
- package/dist/api/rest_client.js.map +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +4 -3
- package/dist/platform.js.map +1 -1
- package/eslint.config.mjs +81 -0
- package/package.json +26 -24
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Devcontainer Development Environment
|
|
2
|
+
|
|
3
|
+
This directory contains configuration for a complete Homebridge development environment that runs in GitHub Codespaces or VS Code devcontainers.
|
|
4
|
+
|
|
5
|
+
## What Happens Automatically
|
|
6
|
+
|
|
7
|
+
### On Container Creation (First Time)
|
|
8
|
+
The setup script ([setup-homebridge.sh](setup-homebridge.sh)) automatically:
|
|
9
|
+
- Installs Homebridge, Homebridge Config UI X, and pm2 globally
|
|
10
|
+
- Creates `~/.homebridge/` directory structure
|
|
11
|
+
- Copies [config.json.example](config.json.example) to `~/.homebridge/config.json`
|
|
12
|
+
- Installs project dependencies
|
|
13
|
+
- Builds the plugin
|
|
14
|
+
- Symlinks the plugin to `~/.homebridge/node_modules/`
|
|
15
|
+
|
|
16
|
+
### On Every Container Start
|
|
17
|
+
The startup script ([start-homebridge.sh](start-homebridge.sh)) automatically:
|
|
18
|
+
- Starts Homebridge and Config UI via `hb-service` managed by `pm2`
|
|
19
|
+
- pm2 keeps the process running persistently (auto-restart on crashes)
|
|
20
|
+
- Verifies the UI is accessible on port 8581
|
|
21
|
+
- Displays status information
|
|
22
|
+
|
|
23
|
+
**Result**: When you open the codespace, Homebridge is already running under pm2 and will persist!
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
### 1. Configure Credentials
|
|
28
|
+
Edit your Carrier Infinity credentials:
|
|
29
|
+
|
|
30
|
+
**Option A** - Via Config UI (easiest):
|
|
31
|
+
- Open http://localhost:8581 (credentials: admin/admin)
|
|
32
|
+
- Navigate to the CarrierInfinity platform settings
|
|
33
|
+
- Update username and password
|
|
34
|
+
|
|
35
|
+
**Option B** - Via command line:
|
|
36
|
+
```bash
|
|
37
|
+
nano ~/.homebridge/config.json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Development Workflow
|
|
41
|
+
|
|
42
|
+
**Automatic rebuild** (recommended):
|
|
43
|
+
```bash
|
|
44
|
+
npm run watch
|
|
45
|
+
```
|
|
46
|
+
This watches for file changes and rebuilds automatically.
|
|
47
|
+
|
|
48
|
+
**After making changes**:
|
|
49
|
+
```bash
|
|
50
|
+
# Restart Homebridge to pick up plugin changes
|
|
51
|
+
pm2 restart homebridge
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Configuration Files
|
|
55
|
+
|
|
56
|
+
| File | Purpose |
|
|
57
|
+
|------|---------|
|
|
58
|
+
| **devcontainer.json** | Main devcontainer configuration |
|
|
59
|
+
| **setup-homebridge.sh** | One-time setup script (runs on container creation) |
|
|
60
|
+
| **start-homebridge.sh** | Startup script (runs on every container start) |
|
|
61
|
+
| **stop-homebridge.sh** | Stop Homebridge (pm2 delete) |
|
|
62
|
+
| **config.json.example** | Template Homebridge configuration |
|
|
63
|
+
|
|
64
|
+
### devcontainer.json Features
|
|
65
|
+
- Base image: Node.js 22 (TypeScript)
|
|
66
|
+
- Auto-installs VS Code extensions (Claude Code, ESLint, Copilot, Jest, etc.)
|
|
67
|
+
- Forwards port 8581 (Homebridge Config UI)
|
|
68
|
+
- Runs setup on creation, starts Homebridge on every startup
|
|
69
|
+
|
|
70
|
+
## Useful Commands
|
|
71
|
+
|
|
72
|
+
### Homebridge Management
|
|
73
|
+
```bash
|
|
74
|
+
# Check Homebridge status (managed by pm2)
|
|
75
|
+
pm2 status
|
|
76
|
+
|
|
77
|
+
# View live logs
|
|
78
|
+
pm2 logs homebridge
|
|
79
|
+
|
|
80
|
+
# View Homebridge log file
|
|
81
|
+
tail -f ~/.homebridge/homebridge.log
|
|
82
|
+
|
|
83
|
+
# Restart Homebridge
|
|
84
|
+
pm2 restart homebridge
|
|
85
|
+
|
|
86
|
+
# Stop Homebridge (will auto-start on next codespace start)
|
|
87
|
+
pm2 stop homebridge
|
|
88
|
+
# Or permanently remove:
|
|
89
|
+
.devcontainer/stop-homebridge.sh
|
|
90
|
+
|
|
91
|
+
# Start Homebridge manually (if stopped)
|
|
92
|
+
.devcontainer/start-homebridge.sh
|
|
93
|
+
|
|
94
|
+
# View pm2 process info
|
|
95
|
+
pm2 info homebridge
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Plugin Development
|
|
99
|
+
```bash
|
|
100
|
+
# Build plugin
|
|
101
|
+
npm run build
|
|
102
|
+
|
|
103
|
+
# Auto-rebuild on changes (recommended)
|
|
104
|
+
npm run watch
|
|
105
|
+
|
|
106
|
+
# Relink plugin manually (if needed)
|
|
107
|
+
npm run relink
|
|
108
|
+
# or
|
|
109
|
+
ln -sf $(pwd) ~/.homebridge/node_modules/homebridge-carrier-infinity
|
|
110
|
+
|
|
111
|
+
# Run tests
|
|
112
|
+
npm test
|
|
113
|
+
|
|
114
|
+
# Lint code
|
|
115
|
+
npm run lint
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Accessing Homebridge Config UI
|
|
119
|
+
- **URL**: http://localhost:8581 (auto-forwarded in VS Code)
|
|
120
|
+
- **Default credentials**: admin/admin
|
|
121
|
+
- Click the "Ports" tab in VS Code to open directly
|
|
122
|
+
|
|
123
|
+
## Debugging Tips
|
|
124
|
+
|
|
125
|
+
1. **Check plugin is loaded**: Look for "Loaded plugin: homebridge-carrier-infinity" in logs
|
|
126
|
+
2. **Check platform is registered**: Look for "Loading platform: CarrierInfinity"
|
|
127
|
+
3. **API errors**: Check `~/.homebridge/homebridge.log` for debug output
|
|
128
|
+
4. **Config issues**: Homebridge will log validation errors on startup
|
|
129
|
+
|
|
130
|
+
### Common Issues
|
|
131
|
+
|
|
132
|
+
**Plugin not loading**:
|
|
133
|
+
```bash
|
|
134
|
+
# Verify plugin is linked
|
|
135
|
+
ls -la ~/.homebridge/node_modules/homebridge-carrier-infinity
|
|
136
|
+
|
|
137
|
+
# Rebuild and relink
|
|
138
|
+
npm run build && npm run relink
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Homebridge not starting**:
|
|
142
|
+
```bash
|
|
143
|
+
# Check pm2 status
|
|
144
|
+
pm2 status
|
|
145
|
+
|
|
146
|
+
# Check logs for errors
|
|
147
|
+
pm2 logs homebridge --lines 50
|
|
148
|
+
|
|
149
|
+
# Or check Homebridge log file
|
|
150
|
+
tail -n 50 ~/.homebridge/homebridge.log
|
|
151
|
+
|
|
152
|
+
# Restart via pm2
|
|
153
|
+
pm2 restart homebridge
|
|
154
|
+
|
|
155
|
+
# Or restart via script (stops and starts fresh)
|
|
156
|
+
pm2 delete homebridge
|
|
157
|
+
.devcontainer/start-homebridge.sh
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Environment Details
|
|
161
|
+
|
|
162
|
+
- **Homebridge config**: `~/.homebridge/config.json`
|
|
163
|
+
- **Homebridge storage**: `~/.homebridge/`
|
|
164
|
+
- **Plugin source**: `/workspaces/homebridge-carrier-infinity`
|
|
165
|
+
- **Node version**: 22.x
|
|
166
|
+
- **Homebridge version**: Latest
|
|
167
|
+
- **Config UI version**: Latest
|
|
168
|
+
|
|
169
|
+
## Persistence
|
|
170
|
+
|
|
171
|
+
The following persists across codespace rebuilds:
|
|
172
|
+
- `~/.homebridge/config.json` (your configuration)
|
|
173
|
+
- `~/.homebridge/` directory (accessories, cache, persist data)
|
|
174
|
+
|
|
175
|
+
The plugin code is always from your working directory, so changes are reflected immediately after rebuild + restart.
|
|
176
|
+
|
|
177
|
+
## VS Code Extensions
|
|
178
|
+
|
|
179
|
+
The following extensions are automatically installed:
|
|
180
|
+
- **Claude Code**: AI coding assistant
|
|
181
|
+
- **ESLint**: Linting and formatting
|
|
182
|
+
- **GitHub Copilot**: AI code completion
|
|
183
|
+
- **Jest**: Test runner integration
|
|
184
|
+
- **GitHub Actions**: Workflow management
|
|
185
|
+
|
|
186
|
+
## Advanced Usage
|
|
187
|
+
|
|
188
|
+
### Running Multiple Instances
|
|
189
|
+
|
|
190
|
+
To test different configurations:
|
|
191
|
+
```bash
|
|
192
|
+
# Stop pm2-managed instance
|
|
193
|
+
pm2 stop homebridge
|
|
194
|
+
|
|
195
|
+
# Run with custom config
|
|
196
|
+
homebridge -D -U /path/to/custom/homebridge/directory
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Debugging with Breakpoints
|
|
200
|
+
|
|
201
|
+
1. Stop the pm2-managed Homebridge: `pm2 stop homebridge`
|
|
202
|
+
2. Use VS Code's debugger to start Homebridge
|
|
203
|
+
3. Set breakpoints in your plugin code
|
|
204
|
+
|
|
205
|
+
### Manual Testing
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Test specific API endpoints
|
|
209
|
+
npm run build
|
|
210
|
+
node -e "require('./dist/api/rest_client.js')"
|
|
211
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bridge": {
|
|
3
|
+
"name": "Homebridge Dev",
|
|
4
|
+
"username": "CC:22:3D:E3:CE:30",
|
|
5
|
+
"port": 51826,
|
|
6
|
+
"pin": "031-45-154"
|
|
7
|
+
},
|
|
8
|
+
"accessories": [],
|
|
9
|
+
"platforms": [
|
|
10
|
+
{
|
|
11
|
+
"name": "Config",
|
|
12
|
+
"port": 8581,
|
|
13
|
+
"platform": "config"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"platform": "CarrierInfinity",
|
|
17
|
+
"name": "Carrier Infinity",
|
|
18
|
+
"username": "YOUR_CARRIER_USERNAME",
|
|
19
|
+
"password": "YOUR_CARRIER_PASSWORD",
|
|
20
|
+
"holdBehavior": "forever",
|
|
21
|
+
"showOutdoorTemperatureSensor": false,
|
|
22
|
+
"showFanControl": false,
|
|
23
|
+
"showIndoorHumiditySensors": false,
|
|
24
|
+
"showZoneComfortActivityControls": false
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Homebridge Carrier Infinity Dev",
|
|
3
|
+
"image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm",
|
|
4
|
+
|
|
5
|
+
"features": {
|
|
6
|
+
"ghcr.io/devcontainers/features/github-cli:1": {},
|
|
7
|
+
"ghcr.io/devcontainers/features/git:1": {}
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
"customizations": {
|
|
11
|
+
"vscode": {
|
|
12
|
+
"extensions": [
|
|
13
|
+
"anthropic.claude-code",
|
|
14
|
+
"dbaeumer.vscode-eslint",
|
|
15
|
+
"github.copilot",
|
|
16
|
+
"github.copilot-chat",
|
|
17
|
+
"github.github-vscode-theme",
|
|
18
|
+
"github.vscode-github-actions",
|
|
19
|
+
"github.vscode-pull-request-github",
|
|
20
|
+
"ms-vscode.vscode-typescript-next",
|
|
21
|
+
"orta.vscode-jest"
|
|
22
|
+
],
|
|
23
|
+
"settings": {
|
|
24
|
+
"editor.formatOnSave": true,
|
|
25
|
+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
|
26
|
+
"editor.codeActionsOnSave": {
|
|
27
|
+
"source.fixAll.eslint": "explicit"
|
|
28
|
+
},
|
|
29
|
+
"eslint.validate": [
|
|
30
|
+
"typescript"
|
|
31
|
+
],
|
|
32
|
+
"typescript.tsdk": "node_modules/typescript/lib"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
"postCreateCommand": "chmod +x .devcontainer/setup-homebridge.sh && .devcontainer/setup-homebridge.sh",
|
|
38
|
+
|
|
39
|
+
"postStartCommand": "chmod +x .devcontainer/start-homebridge.sh && .devcontainer/start-homebridge.sh",
|
|
40
|
+
|
|
41
|
+
"forwardPorts": [8581],
|
|
42
|
+
|
|
43
|
+
"portsAttributes": {
|
|
44
|
+
"8581": {
|
|
45
|
+
"label": "Homebridge UI",
|
|
46
|
+
"onAutoForward": "notify"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
"remoteUser": "node",
|
|
51
|
+
|
|
52
|
+
"mounts": [
|
|
53
|
+
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.gitconfig,target=/home/node/.gitconfig,type=bind,consistency=cached"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
echo "Setting up Homebridge development environment..."
|
|
5
|
+
|
|
6
|
+
# Install Homebridge and pm2 globally
|
|
7
|
+
echo "Installing Homebridge and pm2..."
|
|
8
|
+
sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x pm2
|
|
9
|
+
|
|
10
|
+
# Create Homebridge directory structure
|
|
11
|
+
echo "Creating Homebridge directory structure..."
|
|
12
|
+
mkdir -p ~/.homebridge
|
|
13
|
+
|
|
14
|
+
# Create default config if it doesn't exist
|
|
15
|
+
if [ ! -f ~/.homebridge/config.json ]; then
|
|
16
|
+
echo "Creating Homebridge config from example..."
|
|
17
|
+
cp .devcontainer/config.json.example ~/.homebridge/config.json
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Install project dependencies
|
|
21
|
+
echo "Installing project dependencies..."
|
|
22
|
+
npm install
|
|
23
|
+
|
|
24
|
+
# Build the plugin
|
|
25
|
+
echo "Building plugin..."
|
|
26
|
+
npm run build
|
|
27
|
+
|
|
28
|
+
# Link the plugin to Homebridge
|
|
29
|
+
echo "Linking plugin to Homebridge..."
|
|
30
|
+
PLUGIN_PATH="$(pwd)"
|
|
31
|
+
HOMEBRIDGE_PATH="$HOME/.homebridge/node_modules"
|
|
32
|
+
PLUGIN_NAME="homebridge-carrier-infinity"
|
|
33
|
+
|
|
34
|
+
mkdir -p "$HOMEBRIDGE_PATH"
|
|
35
|
+
ln -sf "$PLUGIN_PATH" "$HOMEBRIDGE_PATH/$PLUGIN_NAME"
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "✅ Homebridge development environment setup complete!"
|
|
39
|
+
echo ""
|
|
40
|
+
echo "Quick start:"
|
|
41
|
+
echo " 1. Edit ~/.homebridge/config.json to add your Carrier credentials"
|
|
42
|
+
echo " 2. Homebridge will start automatically on codespace startup"
|
|
43
|
+
echo " - Access Config UI at http://localhost:8581 (credentials: admin/admin)"
|
|
44
|
+
echo " 3. Run 'npm run watch' for auto-rebuild on code changes"
|
|
45
|
+
echo ""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Start Homebridge and Config UI automatically using pm2
|
|
3
|
+
# This script is run by the devcontainer postStartCommand
|
|
4
|
+
|
|
5
|
+
echo "Starting Homebridge and Config UI with pm2..."
|
|
6
|
+
|
|
7
|
+
# Stop any existing instance (in case of restart)
|
|
8
|
+
pm2 delete homebridge 2>/dev/null || true
|
|
9
|
+
|
|
10
|
+
# Start hb-service using pm2
|
|
11
|
+
pm2 start hb-service --name homebridge -- run -U ~/.homebridge
|
|
12
|
+
|
|
13
|
+
# Save pm2 process list
|
|
14
|
+
pm2 save
|
|
15
|
+
|
|
16
|
+
# Wait a moment for startup
|
|
17
|
+
sleep 3
|
|
18
|
+
|
|
19
|
+
# Check if it's running
|
|
20
|
+
if curl -s http://localhost:8581 > /dev/null 2>&1; then
|
|
21
|
+
echo "✅ Homebridge and Config UI started successfully!"
|
|
22
|
+
echo " - Homebridge UI: http://localhost:8581"
|
|
23
|
+
echo " - Default credentials: admin/admin"
|
|
24
|
+
echo " - Logs: pm2 logs homebridge"
|
|
25
|
+
echo " - Status: pm2 status"
|
|
26
|
+
else
|
|
27
|
+
echo "⚠️ Homebridge may still be starting..."
|
|
28
|
+
echo " Check logs: pm2 logs homebridge"
|
|
29
|
+
fi
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
This is a Homebridge plugin for Carrier Infinity / Bryant Evolution / ICP Brands Ion thermostats. It communicates directly with the Carrier/Bryant cloud API (not requiring Infinitude/Infinitive) and exposes thermostat controls, sensors, and activities to HomeKit.
|
|
8
|
+
|
|
9
|
+
## Development Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Build the plugin
|
|
13
|
+
npm run build
|
|
14
|
+
|
|
15
|
+
# Lint code (must have 0 warnings)
|
|
16
|
+
npm run lint
|
|
17
|
+
|
|
18
|
+
# Run tests
|
|
19
|
+
npm test
|
|
20
|
+
|
|
21
|
+
# Watch mode (auto-rebuild and relink to local Homebridge)
|
|
22
|
+
npm run watch
|
|
23
|
+
|
|
24
|
+
# Relink plugin to local Homebridge instance
|
|
25
|
+
npm run relink
|
|
26
|
+
|
|
27
|
+
# Generate TypeScript interfaces from XML test data
|
|
28
|
+
npm run xml2ts
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Codespace/Devcontainer Development Environment
|
|
32
|
+
|
|
33
|
+
This repository includes a complete devcontainer configuration that automatically sets up a Homebridge development environment.
|
|
34
|
+
|
|
35
|
+
### Automatic Setup
|
|
36
|
+
|
|
37
|
+
When the codespace is created, the setup script (`.devcontainer/setup-homebridge.sh`) automatically:
|
|
38
|
+
- Installs Homebridge, Homebridge Config UI X, and pm2 globally
|
|
39
|
+
- Creates `~/.homebridge/` directory structure
|
|
40
|
+
- Copies `.devcontainer/config.json.example` to `~/.homebridge/config.json`
|
|
41
|
+
- Installs project dependencies
|
|
42
|
+
- Builds the plugin
|
|
43
|
+
- Symlinks the plugin to `~/.homebridge/node_modules/`
|
|
44
|
+
|
|
45
|
+
### Getting Started in Codespace
|
|
46
|
+
|
|
47
|
+
1. **Homebridge starts automatically**: On codespace startup, Homebridge and Config UI start automatically via `hb-service` managed by `pm2`
|
|
48
|
+
- pm2 keeps the service running persistently (auto-restart on crashes)
|
|
49
|
+
- Access Config UI at http://localhost:8581 (port auto-forwarded)
|
|
50
|
+
- Default credentials: admin/admin
|
|
51
|
+
- Logs: `pm2 logs homebridge` or `~/.homebridge/homebridge.log`
|
|
52
|
+
|
|
53
|
+
2. **Configure credentials**: Edit `~/.homebridge/config.json` with your Carrier Infinity username/password
|
|
54
|
+
- Config is pre-created from `.devcontainer/config.json.example` - just update credentials
|
|
55
|
+
- Can also edit via Config UI at http://localhost:8581
|
|
56
|
+
|
|
57
|
+
3. **Development workflow**:
|
|
58
|
+
- Run `npm run watch` (auto-rebuild on changes)
|
|
59
|
+
- Restart Homebridge to pick up plugin changes: `pm2 restart homebridge`
|
|
60
|
+
|
|
61
|
+
For complete development environment documentation, commands, and debugging tips, see [.devcontainer/README.md](.devcontainer/README.md).
|
|
62
|
+
|
|
63
|
+
### TypeScript Configuration
|
|
64
|
+
- Target: ES2018 (Node 10+)
|
|
65
|
+
- Output: `dist/` directory
|
|
66
|
+
- Uses experimental decorators (required for memoization and retry decorators)
|
|
67
|
+
- `noImplicitAny: false` is set in tsconfig
|
|
68
|
+
|
|
69
|
+
## Architecture Overview
|
|
70
|
+
|
|
71
|
+
### Plugin Entry Point
|
|
72
|
+
The plugin registers itself in [src/index.ts](src/index.ts) and implements the Homebridge `DynamicPlatformPlugin` interface via `CarrierInfinityHomebridgePlatform` in [src/platform.ts](src/platform.ts).
|
|
73
|
+
|
|
74
|
+
### Core Components
|
|
75
|
+
|
|
76
|
+
#### 1. Platform ([src/platform.ts](src/platform.ts))
|
|
77
|
+
- Entry point that discovers systems and zones after Homebridge launches
|
|
78
|
+
- Maintains `infinity_client` (REST API client) and `systems` (indexed by serial number)
|
|
79
|
+
- Periodically activates the API every 30 minutes to maintain connection
|
|
80
|
+
- Creates accessories based on config options (outdoor temp sensor, humidity sensors, etc.)
|
|
81
|
+
|
|
82
|
+
#### 2. API Layer ([src/api/](src/api/))
|
|
83
|
+
- **InfinityRestClient** ([src/api/rest_client.ts](src/api/rest_client.ts)): OAuth-authenticated Axios client
|
|
84
|
+
- Handles authentication with username/password
|
|
85
|
+
- Automatic OAuth header injection via interceptor
|
|
86
|
+
- Token refresh with 24hr memoization
|
|
87
|
+
- Activation endpoint called every minute (with memoization)
|
|
88
|
+
|
|
89
|
+
- **Models** ([src/api/models.ts](src/api/models.ts)): BaseModel and specific models (LocationsModel, SystemModel, etc.)
|
|
90
|
+
- `BaseModel` provides fetch/push pattern with mutex locking to prevent race conditions
|
|
91
|
+
- Hash-based change detection (only pushes if data actually changed)
|
|
92
|
+
- 10-second memoization on fetch operations
|
|
93
|
+
- XML parsing via xml2js
|
|
94
|
+
- Models include: `LocationsModel`, `SystemModel` with nested `ConfigModel`, `ProfileModel`, `StatusModel`
|
|
95
|
+
|
|
96
|
+
- **Interface Files**: TypeScript interfaces auto-generated from XML samples in `testdata/` using the `xml2ts` script
|
|
97
|
+
- [src/api/interface_config.ts](src/api/interface_config.ts)
|
|
98
|
+
- [src/api/interface_profile.ts](src/api/interface_profile.ts)
|
|
99
|
+
- [src/api/interface_status.ts](src/api/interface_status.ts)
|
|
100
|
+
- [src/api/interface_locations.ts](src/api/interface_locations.ts)
|
|
101
|
+
|
|
102
|
+
#### 3. Accessories ([src/accessory_*.ts](src/))
|
|
103
|
+
All accessories extend `BaseAccessory` ([src/accessory_base.ts](src/accessory_base.ts)):
|
|
104
|
+
- Handles UUID generation and caching
|
|
105
|
+
- Uses `useService()` helper to find or create HAP services
|
|
106
|
+
- Each accessory type:
|
|
107
|
+
- **ThermostatAccessory**: Main thermostat control
|
|
108
|
+
- **OutdoorTemperatureAccessory**: Outdoor temp sensor (optional)
|
|
109
|
+
- **EnvSensorAccessory**: Indoor humidity sensor (optional)
|
|
110
|
+
- **ComfortActivityAccessory**: Touch-n-Go activity switches (optional)
|
|
111
|
+
|
|
112
|
+
#### 4. Characteristics ([src/characteristics_*.ts](src/))
|
|
113
|
+
The plugin uses a wrapper pattern to bind HomeKit characteristics to API data:
|
|
114
|
+
- **CharacteristicWrapper** ([src/characteristics_base.ts](src/characteristics_base.ts)): Abstract base class
|
|
115
|
+
- Each wrapper handles one characteristic (or multiple via `MultiWrapper`)
|
|
116
|
+
- Defines `get` and `set` async handlers
|
|
117
|
+
- `wrap()` method attaches handlers to HAP Service
|
|
118
|
+
- Automatic debouncing/batching of set operations
|
|
119
|
+
- Subscription-based push updates when API data changes
|
|
120
|
+
|
|
121
|
+
- Specific wrappers:
|
|
122
|
+
- `characteristics_ac.ts`: Heating/cooling characteristics
|
|
123
|
+
- `characteristics_fan.ts`: Fan mode and state
|
|
124
|
+
- `characteristics_humidity.ts`: Humidity sensing
|
|
125
|
+
- `characteristics_filter.ts`: Filter status
|
|
126
|
+
|
|
127
|
+
### Key Patterns
|
|
128
|
+
|
|
129
|
+
#### OAuth Authentication
|
|
130
|
+
The API uses OAuth 1.0 with custom headers. See [src/api/oauth.ts](src/api/oauth.ts) for signature generation and [src/settings.ts](src/settings.ts) for consumer key/secret.
|
|
131
|
+
|
|
132
|
+
#### Memoization & Retry Decorators
|
|
133
|
+
- `@MemoizeExpiring(milliseconds)`: Caches method results for specified duration
|
|
134
|
+
- `@Retryable()`: Automatic retry with exponential backoff for network failures
|
|
135
|
+
- Both decorators from `typescript-memoize` and `typescript-retry-decorator` packages
|
|
136
|
+
|
|
137
|
+
#### Mutex Locking
|
|
138
|
+
API models use `async-mutex` to prevent concurrent fetch/push operations that could cause race conditions. The pattern:
|
|
139
|
+
```typescript
|
|
140
|
+
await tryAcquire(this.write_lock).runExclusive(async () => {
|
|
141
|
+
// critical section
|
|
142
|
+
});
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### Data Flow
|
|
146
|
+
1. **Read**: Characteristic getter → Model.fetch() → API GET → XML parse → return value
|
|
147
|
+
2. **Write**: Characteristic setter → batch changes → Model.push() → XML build → API PUT
|
|
148
|
+
3. **Updates**: Periodic polling + hash comparison triggers characteristic updates via subscription pattern
|
|
149
|
+
|
|
150
|
+
#### Hold Behavior
|
|
151
|
+
The plugin supports multiple thermostat hold modes (forever, until next activity, for X hours, until time X) configured via `holdBehavior` and `holdArgument` in config.
|
|
152
|
+
|
|
153
|
+
## Testing
|
|
154
|
+
|
|
155
|
+
- Test framework: Jest with ts-jest preset
|
|
156
|
+
- Test data: XML samples in `testdata/` directory
|
|
157
|
+
- Current tests: `src/helpers.spec.ts`
|
|
158
|
+
- Run: `npm test`
|
|
159
|
+
|
|
160
|
+
## Code Style (ESLint)
|
|
161
|
+
|
|
162
|
+
- Single quotes, 2-space indent
|
|
163
|
+
- Max line length: 140 characters
|
|
164
|
+
- Spellcheck plugin with custom dictionary for domain terms (carrier, bryant, oauth, etc.)
|
|
165
|
+
- See [.eslintrc](.eslintrc) for full rules
|
|
166
|
+
- Must pass with 0 warnings for builds
|
|
167
|
+
|
|
168
|
+
## Semantic Release
|
|
169
|
+
|
|
170
|
+
- Uses conventional commits (commitizen configured)
|
|
171
|
+
- Branches: `master` (next channel), `beta` (prerelease)
|
|
172
|
+
- Automated via GitHub Actions
|
|
173
|
+
|
|
174
|
+
## Important Notes
|
|
175
|
+
|
|
176
|
+
- The API expects `activate()` calls regularly (~1 min), though more frequent doesn't help
|
|
177
|
+
- Changes from HomeKit can take 1-2 minutes to reach the physical thermostat due to polling architecture
|
|
178
|
+
- Node version requirement: >= 18
|
|
179
|
+
- Homebridge version: >= 1.2 or ^2.0.0-beta.0
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
|
|
3
|
+
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
|
4
|
+
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
|
|
5
|
+
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
|
|
6
|
+
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
|
|
7
|
+
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
|
|
8
|
+
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
|
9
|
+
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
|
|
10
|
+
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
|
|
11
|
+
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
|
|
12
|
+
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
|
|
13
|
+
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
|
|
14
|
+
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
|
|
15
|
+
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
|
16
|
+
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
|
|
17
|
+
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
|
|
18
|
+
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
|
|
19
|
+
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
|
|
20
|
+
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
|
21
|
+
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
|
|
22
|
+
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
|
|
23
|
+
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
|
|
24
|
+
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
|
25
|
+
-----END CERTIFICATE-----
|
package/dist/api/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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"}
|
package/dist/api/models.js
CHANGED
|
@@ -560,6 +560,12 @@ class SystemModel {
|
|
|
560
560
|
this.status = new SystemStatusModel(infinity_client, serialNumber, api_logger, this.events);
|
|
561
561
|
this.config = new SystemConfigModel(infinity_client, serialNumber, api_logger, this.events);
|
|
562
562
|
this.profile = new SystemProfileModel(infinity_client, serialNumber, api_logger, this.events);
|
|
563
|
+
// Periodically ping the carrier api to keep it in sync with the thermostat.
|
|
564
|
+
// By fetching status, we both make sure 'activate' gets called, and
|
|
565
|
+
// internal state of status is updated, which will push updates to HK.
|
|
566
|
+
setInterval(() => {
|
|
567
|
+
this.status.fetch();
|
|
568
|
+
}, 30 * 60 * 1000); // every 30 min
|
|
563
569
|
}
|
|
564
570
|
}
|
|
565
571
|
exports.SystemModel = SystemModel;
|
package/dist/api/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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"}
|
package/dist/api/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/api/oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/api/oauth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAGnD,qBAAa,YAAY;IACvB,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IA4C/G,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,0BAA0B;CAIlH"}
|
package/dist/api/oauth.js
CHANGED
|
@@ -5,7 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.OAuthHeaders = void 0;
|
|
7
7
|
const settings_1 = require("../settings");
|
|
8
|
-
const
|
|
8
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
+
const oauth_sign_1 = require("oauth-sign");
|
|
9
10
|
class OAuthHeaders {
|
|
10
11
|
static genHeader(httpMethod, url, username, token, data) {
|
|
11
12
|
// Needed for header and sig
|
|
@@ -14,8 +15,7 @@ class OAuthHeaders {
|
|
|
14
15
|
oauth_token: username,
|
|
15
16
|
oauth_signature_method: 'HMAC-SHA1',
|
|
16
17
|
oauth_timestamp: Math.floor(Date.now() / 1000),
|
|
17
|
-
|
|
18
|
-
oauth_nonce: Math.floor(Math.random() * 100000000000) + 1,
|
|
18
|
+
oauth_nonce: crypto_1.default.randomBytes(12).toString('base64'),
|
|
19
19
|
oauth_version: '1.0',
|
|
20
20
|
};
|
|
21
21
|
// If there is post data, we need to include it
|
|
@@ -29,7 +29,7 @@ class OAuthHeaders {
|
|
|
29
29
|
}
|
|
30
30
|
const sig_params = Object.assign({}, sig_header_params, sig_body_params);
|
|
31
31
|
// Make the sig
|
|
32
|
-
const signature =
|
|
32
|
+
const signature = (0, oauth_sign_1.sign)(sig_header_params['oauth_signature_method'], httpMethod, 'http://' + url, sig_params, settings_1.INFINITY_API_CONSUMER_SECRET, token);
|
|
33
33
|
// Turn into header
|
|
34
34
|
const header_params = [
|
|
35
35
|
`realm=${encodeURIComponent(url)}`,
|
|
@@ -37,7 +37,7 @@ class OAuthHeaders {
|
|
|
37
37
|
for (const k in sig_header_params) {
|
|
38
38
|
header_params.push(`${k}=${sig_params[k]}`);
|
|
39
39
|
}
|
|
40
|
-
header_params.push(`oauth_signature=${signature}`);
|
|
40
|
+
header_params.push(`oauth_signature=${encodeURIComponent(signature)}`);
|
|
41
41
|
return `OAuth ${header_params.join(',')}`;
|
|
42
42
|
}
|
|
43
43
|
static intercept(config, username, token) {
|
package/dist/api/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/api/oauth.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAsF;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/api/oauth.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAsF;AAEtF,oDAA4B;AAE5B,2CAAkC;AAElC,MAAa,YAAY;IACvB,MAAM,CAAC,SAAS,CAAC,UAAkB,EAAE,GAAW,EAAE,QAAgB,EAAE,KAAa,EAAE,IAAmB;QACpG,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG;YACxB,kBAAkB,EAAG,oCAAyB;YAC9C,WAAW,EAAG,QAAQ;YACtB,sBAAsB,EAAG,WAAW;YACpC,eAAe,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC/C,WAAW,EAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvD,aAAa,EAAG,KAAK;SACtB,CAAC;QAEF,+CAA+C;QAC/C,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAEzE,eAAe;QACf,MAAM,SAAS,GAAG,IAAA,iBAAI,EACpB,iBAAiB,CAAC,wBAAwB,CAAC,EAC3C,UAAU,EACV,SAAS,GAAG,GAAG,EACf,UAAU,EACV,uCAA4B,EAC5B,KAAK,CACN,CAAC;QACF,mBAAmB;QACnB,MAAM,aAAa,GAAG;YACpB,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE;SACnC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CACxB,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,mBAAmB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,SAAS,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAkC,EAAE,QAAgB,EAAE,KAAa;QAClF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1H,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjDD,oCAiDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest_client.d.ts","sourceRoot":"","sources":["../../src/api/rest_client.ts"],"names":[],"mappings":"AAIA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rest_client.d.ts","sourceRoot":"","sources":["../../src/api/rest_client.ts"],"names":[],"mappings":"AAIA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAQpC,qBAAa,kBAAkB;IAKlB,QAAQ,EAAE,MAAM;IACvB,OAAO,CAAC,QAAQ;aACA,GAAG,EAAE,MAAM;IAN/B,OAAO,CAAC,YAAY,CAAM;IACnB,KAAK,EAAE,aAAa,CAAC;gBAGjB,QAAQ,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EACR,GAAG,EAAE,MAAM;IAuDzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BzC"}
|
package/dist/api/rest_client.js
CHANGED
|
@@ -15,18 +15,34 @@ const oauth_1 = require("./oauth");
|
|
|
15
15
|
const xml2js_1 = __importDefault(require("xml2js"));
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
17
|
const typescript_memoize_1 = require("typescript-memoize");
|
|
18
|
+
const typescript_retry_decorator_1 = require("typescript-retry-decorator");
|
|
19
|
+
const https_1 = __importDefault(require("https"));
|
|
20
|
+
const tls_1 = __importDefault(require("tls"));
|
|
21
|
+
const fs_1 = __importDefault(require("fs"));
|
|
22
|
+
const path_1 = __importDefault(require("path"));
|
|
18
23
|
class InfinityRestClient {
|
|
19
24
|
constructor(username, password, log) {
|
|
20
25
|
this.username = username;
|
|
21
26
|
this.password = password;
|
|
22
27
|
this.log = log;
|
|
23
28
|
this.access_token = '';
|
|
29
|
+
// Load Comodo AAA root certificate for Node.js 22+ compatibility
|
|
30
|
+
// Node.js 22.20+ removed this root CA, but Carrier's API still uses it
|
|
31
|
+
const comodoRootCert = fs_1.default.readFileSync(path_1.default.join(__dirname, 'comodo-aaa-root.pem'), 'utf8');
|
|
32
|
+
// Add Comodo cert to the default CA bundle (not replacing it)
|
|
33
|
+
// This ensures we trust both the default CAs and the Comodo root
|
|
34
|
+
const ca = [...tls_1.default.rootCertificates, comodoRootCert];
|
|
35
|
+
// Create HTTPS agent with augmented CA bundle
|
|
36
|
+
const httpsAgent = new https_1.default.Agent({
|
|
37
|
+
ca: ca,
|
|
38
|
+
});
|
|
24
39
|
this.axios = axios_1.default.create({
|
|
25
40
|
baseURL: settings_1.INFINITY_API_BASE_URL,
|
|
26
41
|
headers: {
|
|
27
42
|
featureset: 'CONSUMER_PORTAL',
|
|
28
43
|
Accept: 'application/xml',
|
|
29
44
|
},
|
|
45
|
+
httpsAgent: httpsAgent,
|
|
30
46
|
});
|
|
31
47
|
// Axios debug logging and error handling
|
|
32
48
|
this.axios.interceptors.response.use(
|
|
@@ -69,14 +85,15 @@ class InfinityRestClient {
|
|
|
69
85
|
async refreshToken() {
|
|
70
86
|
try {
|
|
71
87
|
await this.forceRefreshToken();
|
|
88
|
+
this.log.info('Completed login / token refresh successfully.');
|
|
72
89
|
}
|
|
73
90
|
catch (error) {
|
|
74
91
|
this.log.error('[API] Could not refresh access token: ', axios_1.default.isAxiosError(error) ? error.message : error);
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
|
-
// TODO: on some api errors, force a refresh
|
|
78
94
|
async forceRefreshToken() {
|
|
79
95
|
var _a;
|
|
96
|
+
this.log.info('Attempting login / token refresh.');
|
|
80
97
|
const builder = new xml2js_1.default.Builder({ cdata: true, headless: true });
|
|
81
98
|
const new_xml = builder.buildObject({
|
|
82
99
|
credentials: {
|
|
@@ -107,4 +124,12 @@ __decorate([
|
|
|
107
124
|
__decorate([
|
|
108
125
|
(0, typescript_memoize_1.MemoizeExpiring)(24 * 60 * 60 * 1000) // every 24 hrs
|
|
109
126
|
], InfinityRestClient.prototype, "refreshToken", null);
|
|
127
|
+
__decorate([
|
|
128
|
+
(0, typescript_retry_decorator_1.Retryable)({
|
|
129
|
+
maxAttempts: 5,
|
|
130
|
+
backOffPolicy: typescript_retry_decorator_1.BackOffPolicy.ExponentialBackOffPolicy,
|
|
131
|
+
backOff: 1000,
|
|
132
|
+
exponentialOption: { maxInterval: 5 * 60 * 1000, multiplier: 5 },
|
|
133
|
+
})
|
|
134
|
+
], InfinityRestClient.prototype, "forceRefreshToken", null);
|
|
110
135
|
//# sourceMappingURL=rest_client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest_client.js","sourceRoot":"","sources":["../../src/api/rest_client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAoD;AACpD,mCAAuC;AAEvC,oDAA4B;AAC5B,kDAA6C;AAE7C,2DAAqD;
|
|
1
|
+
{"version":3,"file":"rest_client.js","sourceRoot":"","sources":["../../src/api/rest_client.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAEL,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,qBAAa,iCAAkC,YAAW,qBAAqB;aAc3D,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAf1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM;IAE7E,SAAgB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAGzD,eAAe,EAAE,kBAAkB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;gBAG/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAEL,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,qBAAa,iCAAkC,YAAW,qBAAqB;aAc3D,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAf1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM;IAE7E,SAAgB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAGzD,eAAe,EAAE,kBAAkB,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;gBAG/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAwB1B,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIhD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAyEvC"}
|
package/dist/platform.js
CHANGED
|
@@ -24,9 +24,7 @@ class CarrierInfinityHomebridgePlatform {
|
|
|
24
24
|
this.log.error('Username and password do not appear to be set in config. This is not going to work.');
|
|
25
25
|
}
|
|
26
26
|
this.infinity_client = new rest_client_1.InfinityRestClient(config['username'], config['password'], this.log);
|
|
27
|
-
this.infinity_client.
|
|
28
|
-
this.log.error('Login failed: ' + error.message);
|
|
29
|
-
});
|
|
27
|
+
this.infinity_client.refreshToken().then(); // Speed up init by starting login right away
|
|
30
28
|
this.api.on('didFinishLaunching', () => {
|
|
31
29
|
this.discoverSystems().then().catch(error => {
|
|
32
30
|
this.log.error('Could not discover devices: ' + error.message);
|
|
@@ -44,6 +42,9 @@ class CarrierInfinityHomebridgePlatform {
|
|
|
44
42
|
this.restored_accessories[accessory.UUID] = accessory;
|
|
45
43
|
}
|
|
46
44
|
async discoverSystems() {
|
|
45
|
+
// Login / wait for login token to appear
|
|
46
|
+
await this.infinity_client.refreshToken();
|
|
47
|
+
// Query for systems, start adding accessories
|
|
47
48
|
const systems = await new models_1.LocationsModel(this.infinity_client).getSystems();
|
|
48
49
|
for (const serialNumber of systems) {
|
|
49
50
|
// Create system api object, and save for later reference
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAEA,yCAAwD;AACxD,iEAA6D;AAC7D,mDAA8D;AAC9D,yCAGsB;AACtB,+DAA2D;AAE3D,6EAAwE;AACxE,mDAAuD;AAEvD,MAAa,iCAAiC;IAa5C,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAfV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEpF,oDAAoD;QACpC,yBAAoB,GAAsC,EAAE,CAAC;QAC7E,mDAAmD;QACnC,gBAAW,GAAkC,EAAE,CAAC;QAIzD,YAAO,GAAgC,EAAE,CAAC;QAO/C,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,IAAI,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import js from '@eslint/js';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
3
|
+
import spellcheck from 'eslint-plugin-spellcheck';
|
|
4
|
+
|
|
5
|
+
export default tseslint.config(
|
|
6
|
+
{
|
|
7
|
+
ignores: ['dist/**', 'node_modules/**'],
|
|
8
|
+
},
|
|
9
|
+
js.configs.recommended,
|
|
10
|
+
...tseslint.configs.recommended,
|
|
11
|
+
{
|
|
12
|
+
files: ['src/**/*.ts'],
|
|
13
|
+
plugins: {
|
|
14
|
+
spellcheck,
|
|
15
|
+
},
|
|
16
|
+
languageOptions: {
|
|
17
|
+
parser: tseslint.parser,
|
|
18
|
+
parserOptions: {
|
|
19
|
+
ecmaVersion: 2018,
|
|
20
|
+
sourceType: 'module',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
rules: {
|
|
24
|
+
'quotes': ['warn', 'single'],
|
|
25
|
+
'indent': ['warn', 2, { 'SwitchCase': 1 }],
|
|
26
|
+
'semi': ['off'],
|
|
27
|
+
'spellcheck/spell-checker': [
|
|
28
|
+
'warn',
|
|
29
|
+
{
|
|
30
|
+
'strings': false,
|
|
31
|
+
'skipWords': [
|
|
32
|
+
'axios',
|
|
33
|
+
'bryant',
|
|
34
|
+
'cdata',
|
|
35
|
+
'cfgem',
|
|
36
|
+
'clsp',
|
|
37
|
+
'cmode',
|
|
38
|
+
'ctype',
|
|
39
|
+
'damperposition',
|
|
40
|
+
'deadband',
|
|
41
|
+
'Fanv',
|
|
42
|
+
'filtrlvl',
|
|
43
|
+
'featureset',
|
|
44
|
+
'Homebridge',
|
|
45
|
+
'htsp',
|
|
46
|
+
'mutex',
|
|
47
|
+
'rh',
|
|
48
|
+
'Retryable',
|
|
49
|
+
'setpoint',
|
|
50
|
+
'setpoints',
|
|
51
|
+
'sig',
|
|
52
|
+
'svalue',
|
|
53
|
+
'oauth',
|
|
54
|
+
'unregister',
|
|
55
|
+
'vacmaxt',
|
|
56
|
+
'vacmint',
|
|
57
|
+
'vacfan',
|
|
58
|
+
'xml',
|
|
59
|
+
'xml2js',
|
|
60
|
+
'zoneconditioning',
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
'comma-dangle': ['warn', 'always-multiline'],
|
|
65
|
+
'dot-notation': 'off',
|
|
66
|
+
'eqeqeq': 'warn',
|
|
67
|
+
'curly': ['warn', 'all'],
|
|
68
|
+
'brace-style': ['warn'],
|
|
69
|
+
'prefer-arrow-callback': ['warn'],
|
|
70
|
+
'max-len': ['warn', 140],
|
|
71
|
+
'no-console': ['warn'],
|
|
72
|
+
'comma-spacing': ['error'],
|
|
73
|
+
'no-multi-spaces': ['warn', { 'ignoreEOLComments': true }],
|
|
74
|
+
'no-trailing-spaces': ['warn'],
|
|
75
|
+
'lines-between-class-members': ['warn', 'always', { 'exceptAfterSingleLine': true }],
|
|
76
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
77
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
78
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Homebridge Carrier Infinity",
|
|
3
3
|
"name": "homebridge-carrier-infinity",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.8.1",
|
|
5
5
|
"description": "Standalone homebridge plugin for Carrier Infinity / Bryant Evolution / ICP Brands Ion thermostats.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -19,9 +19,8 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"commit": "git-cz",
|
|
21
21
|
"lint": "eslint src/**.ts --max-warnings=0",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"build": "rimraf ./dist && tsc",
|
|
22
|
+
"watch": "npm run build && npm link && nodemon",
|
|
23
|
+
"build": "rimraf ./dist && tsc && cp src/api/comodo-aaa-root.pem dist/api/",
|
|
25
24
|
"prepublishOnly": "npm run lint && npm run build",
|
|
26
25
|
"test": "jest",
|
|
27
26
|
"xml2ts": "find testdata/*.xml -exec sh -c 'node scripts/xml2ts.ts {} src/api/interface_$(basename {} .xml).ts' \\;"
|
|
@@ -31,7 +30,7 @@
|
|
|
31
30
|
"src"
|
|
32
31
|
],
|
|
33
32
|
"ext": "ts",
|
|
34
|
-
"exec": "tsc &&
|
|
33
|
+
"exec": "tsc && pm2 restart homebridge",
|
|
35
34
|
"delay": 5000,
|
|
36
35
|
"env": {
|
|
37
36
|
"NODE_OPTIONS": "--trace-warnings"
|
|
@@ -49,36 +48,39 @@
|
|
|
49
48
|
"infinitive"
|
|
50
49
|
],
|
|
51
50
|
"dependencies": {
|
|
52
|
-
"async-mutex": "^0.
|
|
53
|
-
"axios": "^1.
|
|
54
|
-
"oauth-
|
|
51
|
+
"async-mutex": "^0.5.0",
|
|
52
|
+
"axios": "^1.13.4",
|
|
53
|
+
"oauth-sign": "^0.9.0",
|
|
55
54
|
"object-hash": "^3.0.0",
|
|
56
55
|
"typescript-memoize": "^1.1.1",
|
|
56
|
+
"typescript-retry-decorator": "^2.5.3",
|
|
57
57
|
"xml2js": "^0.6.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@commitlint/cli": "^
|
|
61
|
-
"@commitlint/config-conventional": "^
|
|
62
|
-
"@commitlint/cz-commitlint": "^
|
|
60
|
+
"@commitlint/cli": "^20.3.1",
|
|
61
|
+
"@commitlint/config-conventional": "^20.3.1",
|
|
62
|
+
"@commitlint/cz-commitlint": "^20.3.1",
|
|
63
|
+
"@eslint/js": "^9.39.2",
|
|
63
64
|
"@semantic-release/git": "^10.0.1",
|
|
64
|
-
"@types/jest": "^
|
|
65
|
-
"@types/node": "^
|
|
65
|
+
"@types/jest": "^30.0.0",
|
|
66
|
+
"@types/node": "^22.10.5",
|
|
66
67
|
"@types/object-hash": "^3.0.6",
|
|
67
68
|
"@types/xml2js": "^0.4.14",
|
|
68
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
69
|
-
"@typescript-eslint/parser": "^
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
70
|
+
"@typescript-eslint/parser": "^8.54.0",
|
|
70
71
|
"commitizen": "^4.3.1",
|
|
71
|
-
"eslint": "^
|
|
72
|
+
"eslint": "^9.39.2",
|
|
72
73
|
"eslint-plugin-spellcheck": "^0.0.20",
|
|
73
|
-
"homebridge": "^1.
|
|
74
|
-
"jest": "^
|
|
75
|
-
"json-to-ts": "^1.
|
|
76
|
-
"nodemon": "^3.1.
|
|
77
|
-
"rimraf": "^
|
|
78
|
-
"semantic-release": "^
|
|
79
|
-
"ts-jest": "^29.
|
|
74
|
+
"homebridge": "^1.11.1",
|
|
75
|
+
"jest": "^30.2.0",
|
|
76
|
+
"json-to-ts": "^2.1.0",
|
|
77
|
+
"nodemon": "^3.1.11",
|
|
78
|
+
"rimraf": "^6.1.2",
|
|
79
|
+
"semantic-release": "^25.0.2",
|
|
80
|
+
"ts-jest": "^29.4.6",
|
|
80
81
|
"ts-node": "^10.9.2",
|
|
81
|
-
"typescript": "^5.
|
|
82
|
+
"typescript": "^5.9.3",
|
|
83
|
+
"typescript-eslint": "^8.54.0"
|
|
82
84
|
},
|
|
83
85
|
"config": {
|
|
84
86
|
"commitizen": {
|