@viguza/homebridge-ezviz 1.2.12 → 1.2.13

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/README.md +233 -48
  3. package/package.json +1 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,155 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+ - Nothing yet
12
+
13
+ ### Changed
14
+ - Nothing yet
15
+
16
+ ### Fixed
17
+ - Nothing yet
18
+
19
+ ### Removed
20
+ - Nothing yet
21
+
22
+ ## [1.2.12] - 2025-09-02
23
+
24
+ ### Fixed
25
+ - Fixed live view stopping after 9 seconds issue (#6)
26
+ - Improved streaming stability and reliability
27
+
28
+ ## [1.2.11] - 2025-08-30
29
+
30
+ ### Added
31
+ - Added funding support via PayPal
32
+ - Added Homebridge verified badge to README
33
+ - Enhanced project documentation
34
+
35
+ ### Changed
36
+ - Updated funding configuration in package.json
37
+ - Improved README with better badges and information
38
+
39
+ ## [1.2.10] - 2025-07-13
40
+
41
+ ### Added
42
+ - Initial release of the improved EZVIZ plugin
43
+ - Support for EZVIZ cameras with RTSP streaming
44
+ - Support for EZVIZ smart plugs
45
+ - Multi-region support for EZVIZ accounts
46
+ - Comprehensive configuration schema
47
+ - TypeScript implementation with full type safety
48
+
49
+ ### Features
50
+ - **Camera Support**: Live streaming for EZVIZ IP cameras
51
+ - **Smart Plug Control**: Remote control of EZVIZ smart plugs
52
+ - **Multi-Region Support**: Support for all EZVIZ regions worldwide
53
+ - **Secure Authentication**: Secure login with EZVIZ credentials
54
+ - **Easy Configuration**: Simple setup through Homebridge UI
55
+ - **Auto-Discovery**: Automatic device discovery and configuration
56
+
57
+ ### Technical Details
58
+ - Built with TypeScript for better maintainability
59
+ - Uses modern ES modules
60
+ - Comprehensive error handling and logging
61
+ - Full HomeKit integration
62
+ - Support for Node.js 18.20.4, 20.18.0, and 22.10.0
63
+ - Compatible with Homebridge 1.8.0+
64
+
65
+ ## [1.2.9] - 2025-06-08
66
+
67
+ ### Fixed
68
+ - Improved error handling and logging
69
+ - Enhanced stability for device connections
70
+
71
+ ### Changed
72
+ - Updated dependencies for better security and performance
73
+
74
+ ## [1.2.8] - 2025-05-29
75
+
76
+ ### Fixed
77
+ - Various bug fixes and stability improvements
78
+ - Enhanced device discovery reliability
79
+
80
+ ## [1.2.7] - 2025-05-27
81
+
82
+ ### Fixed
83
+ - Minor bug fixes and improvements
84
+ - Enhanced error handling
85
+
86
+ ## [1.2.4] - 2025-03-06
87
+
88
+ ### Fixed
89
+ - Critical bug fixes for device connectivity
90
+ - Improved authentication handling
91
+
92
+ ## [1.2.3] - 2025-01-31
93
+
94
+ ### Fixed
95
+ - Bug fixes for smart plug control
96
+ - Improved camera streaming stability
97
+
98
+ ## [1.2.2] - 2025-01-12
99
+
100
+ ### Added
101
+ - Initial support for smart plugs
102
+ - Enhanced configuration options
103
+
104
+ ### Fixed
105
+ - Various stability improvements
106
+
107
+ ---
108
+
109
+ ## Legacy Versions
110
+
111
+ This project is based on the original work by [Brandawg93](https://github.com/Brandawg93/homebridge-ezviz). The following versions represent the continuation and improvement of that work:
112
+
113
+ ### Version History Notes
114
+
115
+ - **v1.2.12**: Latest stable release with live streaming fixes
116
+ - **v1.2.11**: Added funding support and documentation improvements
117
+ - **v1.2.10**: Major rewrite with TypeScript and enhanced features
118
+ - **v1.2.9 and earlier**: Legacy versions with incremental improvements
119
+
120
+ ### Breaking Changes
121
+
122
+ - **v1.2.10**: Complete rewrite from JavaScript to TypeScript (backward compatible)
123
+
124
+ ---
125
+
126
+ ## Contributing
127
+
128
+ When contributing to this project, please update this changelog by adding a new section under `[Unreleased]` with the following structure:
129
+
130
+ ```markdown
131
+ ## [Unreleased]
132
+
133
+ ### Added
134
+ - New features
135
+
136
+ ### Changed
137
+ - Changes to existing functionality
138
+
139
+ ### Fixed
140
+ - Bug fixes
141
+
142
+ ### Removed
143
+ - Removed features
144
+ ```
145
+
146
+ When releasing a new version, move the `[Unreleased]` section to a new version number and update the date.
147
+
148
+ ---
149
+
150
+ ## Links
151
+
152
+ - [GitHub Repository](https://github.com/viguza/homebridge-ezviz)
153
+ - [NPM Package](https://www.npmjs.com/package/@viguza/homebridge-ezviz)
154
+ - [Homebridge Plugin Page](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
155
+ - [Original Plugin](https://github.com/Brandawg93/homebridge-ezviz) (Archived)
package/README.md CHANGED
@@ -1,72 +1,257 @@
1
- [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
2
-
3
1
  # Homebridge EZVIZ Plugin
4
2
 
5
- ## Introduction
3
+ [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins) ![NPM Version](https://img.shields.io/npm/v/%40viguza%2Fhomebridge-ezviz) ![NPM Downloads](https://img.shields.io/npm/d18m/%40viguza%2Fhomebridge-ezviz) ![License](https://img.shields.io/npm/l/%40viguza%2Fhomebridge-ezviz) ![Node.js Version](https://img.shields.io/node/v/%40viguza%2Fhomebridge-ezviz)
6
4
 
7
- This is a Homebridge plugin for integrating EZVIZ devices into HomeKit.
5
+ A Homebridge plugin for integrating EZVIZ devices into Apple HomeKit. This plugin provides seamless integration with your EZVIZ devices, allowing you to control them through the Home app and Siri.
8
6
 
9
- This project is based on the original work by [Brandawg93](https://github.com/Brandawg93/homebridge-ezviz). The idea for this project is to improve and expand upon the original plugin, especially now that it is archived.
7
+ ## Features
10
8
 
11
- ## Warnings :warning:
9
+ - 🏠 **HomeKit Integration**: Integration with Apple HomeKit ecosystem
10
+ - 📹 **Camera Support**: Live streaming for EZVIZ cameras
11
+ - 🔌 **Smart Plug Control**: Remote control of EZVIZ smart plugs
12
+ - 🌍 **Multi-Region Support**: Support for all EZVIZ regions worldwide
13
+ - 🔒 **Secure Authentication**: Secure login with your EZVIZ credentials
14
+ - 🎯 **Easy Configuration**: Simple setup through Homebridge UI
15
+ - 🔄 **Auto-Discovery**: Automatic device discovery and configuration
12
16
 
13
- - There is no official documentation for the EZVIZ API, so the endpoints used are based on other similar projects. If EZVIZ changes something, this plugin might break.
14
- - I only have a few devices to test, so this won't cover every single EZVIZ device.
15
- - Use it at your own risk.
17
+ ## Supported Devices
16
18
 
17
- ## Required Device Settings
19
+ ### Cameras
20
+ - EZVIZ IP Cameras with RTSP support
21
+ - Indoor and outdoor security cameras
22
+ - PTZ (Pan-Tilt-Zoom) cameras
23
+ - Doorbell cameras
18
24
 
19
- Before using the plugin, you need to configure your EZVIZ devices with the following settings:
25
+ ### Smart Plugs
26
+ - EZVIZ Smart Plugs
27
+ - Smart switches and outlets
20
28
 
21
- ### 1. Enable Video & Picture Encryption
22
- - Open the EZVIZ app
23
- - Go to your device settings
24
- - Navigate to Privacy settings
25
- - Enable "Video & Picture Encryption"
29
+ ## Prerequisites
26
30
 
27
- ### 2. Enable RTSP
28
- RTSP (Real Time Streaming Protocol) is the protocol used by this plugin to connect to your device's livestream. You need to enable this setting for each device you want to use with the plugin.
31
+ - [Homebridge](https://homebridge.io/) v1.8.0 or higher
32
+ - Node.js v18.20.4, v20.18.0, or v22.10.0
33
+ - EZVIZ account with registered devices
34
+ - Network access to your EZVIZ devices
29
35
 
30
- - Open the EZVIZ app
31
- - Go to Settings
32
- - Select "LAN Live View"
33
- - Start scanning and select your device from the list
34
- - Once connected, tap the settings icon in the top right corner
35
- - Select "Local Service settings"
36
- - Enable RTSP
36
+ ## Installation
37
37
 
38
- These settings are required for the plugin to access your device's livestream. Without them, you won't be able to view the camera feed in HomeKit.
38
+ ### Method 1: Homebridge UI (Recommended)
39
+ 1. Open Homebridge UI
40
+ 2. Go to the "Plugins" tab
41
+ 3. Search for "EZVIZ"
42
+ 4. Click "Install" on the `@viguza/homebridge-ezviz` plugin
39
43
 
40
- ## Installation
44
+ ### Method 2: Command Line
45
+ ```bash
46
+ npm install -g @viguza/homebridge-ezviz
47
+ ```
41
48
 
42
- Install the Homebridge EZVIZ plugin using npm:
43
- ```sh
44
- npm install -g @viguza/homebridge-ezviz
45
- ```
49
+ ## Device Setup
50
+
51
+ Before using the plugin, you need to configure your EZVIZ devices:
52
+
53
+ ### 1. Enable Video & Picture Encryption
54
+ 1. Open the EZVIZ app
55
+ 2. Go to your device settings
56
+ 3. Navigate to Privacy settings
57
+ 4. Enable "Video & Picture Encryption"
58
+
59
+ ### 2. Enable RTSP (For Cameras)
60
+ RTSP (Real Time Streaming Protocol) is required for camera live streaming:
61
+
62
+ 1. Open the EZVIZ app
63
+ 2. Go to Settings
64
+ 3. Select "LAN Live View"
65
+ 4. Start scanning and select your device from the list
66
+ 5. Once connected, tap the settings icon in the top right corner
67
+ 6. Select "Local Service settings"
68
+ 7. Enable RTSP
69
+
70
+ > **Note**: These settings are required for the plugin to access your device's livestream. Without them, you won't be able to view the camera feed in HomeKit.
46
71
 
47
72
  ## Configuration
48
73
 
49
- To configure the plugin, you need to add the following to your Homebridge `config.json` file:
74
+ ### Basic Configuration
75
+
76
+ Add the following to your Homebridge `config.json` file:
50
77
 
51
78
  ```json
52
79
  {
53
- "platform": "EZVIZ",
54
- "region": 123,
55
- "email": "your-email@example.com",
56
- "password": "your-password",
57
- "cameras": [
58
- {
59
- "name": "Camera 1",
60
- "serial": "camera-serial-number",
61
- "username": "admin",
62
- "code": "verification-code"
63
- }
64
- ],
65
- "plugs": [
80
+ "platforms": [
66
81
  {
67
- "serial": "plug-serial-number",
68
- "code": "verification-code"
82
+ "platform": "EZVIZ",
83
+ "name": "EZVIZ",
84
+ "region": 314,
85
+ "email": "your-email@example.com",
86
+ "password": "your-password",
87
+ "cameras": [
88
+ {
89
+ "serial": "C1A1234567890",
90
+ "username": "admin",
91
+ "code": "ABCD1234"
92
+ }
93
+ ],
94
+ "plugs": [
95
+ {
96
+ "serial": "P1A1234567890",
97
+ "code": "ABCD1234"
98
+ }
99
+ ]
69
100
  }
70
101
  ]
71
102
  }
72
- ```
103
+ ```
104
+
105
+ ### Configuration Options
106
+
107
+ | Option | Type | Required | Description |
108
+ |--------|------|----------|-------------|
109
+ | `platform` | string | Yes | Must be "EZVIZ" |
110
+ | `name` | string | No | Platform name (default: "EZVIZ") |
111
+ | `region` | number | Yes | Your EZVIZ region code (see region list below) |
112
+ | `email` | string | Yes | Your EZVIZ account email |
113
+ | `password` | string | Yes | Your EZVIZ account password |
114
+ | `cameras` | array | No | Array of camera configurations |
115
+ | `plugs` | array | No | Array of smart plug configurations |
116
+
117
+ ### Camera Configuration
118
+
119
+ | Option | Type | Required | Description |
120
+ |--------|------|----------|-------------|
121
+ | `serial` | string | Yes | Camera serial number |
122
+ | `username` | string | Yes | Camera username (usually "admin") |
123
+ | `code` | string | Yes | Camera verification code |
124
+
125
+ ### Smart Plug Configuration
126
+
127
+ | Option | Type | Required | Description |
128
+ |--------|------|----------|-------------|
129
+ | `serial` | string | Yes | Smart plug serial number |
130
+ | `code` | string | Yes | Smart plug verification code |
131
+
132
+ ### Region Codes
133
+
134
+ | Region | Code | Region | Code |
135
+ |--------|------|--------|------|
136
+ | USA | 314 | United Kingdom | 142 |
137
+ | Canada | 312 | Germany | 112 |
138
+ | Australia | 501 | France | 115 |
139
+ | Japan | 227 | Italy | 141 |
140
+ | China | 248 | Spain | 138 |
141
+ | Hong Kong | 251 | Netherlands | 117 |
142
+ | Singapore | 237 | Sweden | 132 |
143
+ | India | 244 | Norway | 129 |
144
+
145
+ > **Note**: For a complete list of region codes, check the plugin configuration in Homebridge UI.
146
+
147
+ ## Usage
148
+
149
+ ### In HomeKit
150
+ 1. Open the Home app on your iOS device
151
+ 2. Your EZVIZ devices will appear as accessories
152
+ 3. Tap on cameras to view live streams
153
+ 4. Use smart plugs to control connected devices
154
+ 5. Set up automations and scenes as needed
155
+
156
+ ### Voice Control
157
+ - "Hey Siri, turn on the living room camera"
158
+ - "Hey Siri, turn off the bedroom plug"
159
+ - "Hey Siri, show me the front door camera"
160
+
161
+ ## Troubleshooting
162
+
163
+ ### Common Issues
164
+
165
+ #### Camera Not Showing Video
166
+ - Ensure RTSP is enabled on your camera
167
+ - Check that Video & Picture Encryption is enabled
168
+ - Verify camera credentials are correct
169
+ - Check network connectivity
170
+
171
+ #### Smart Plug Not Responding
172
+ - Verify the verification code is correct
173
+ - Check that the plug is online in the EZVIZ app
174
+ - Ensure the plug is connected to your network
175
+
176
+ #### Authentication Errors
177
+ - Double-check your email and password
178
+ - Verify your region code is correct
179
+ - Try logging into the EZVIZ app to confirm credentials
180
+
181
+ ### Debug Mode
182
+
183
+ Enable debug mode for detailed logging:
184
+
185
+ 1. Open Homebridge UI
186
+ 2. Go to the plugin settings
187
+ 3. Enable "Debug" mode
188
+ 4. Check the logs for detailed information
189
+
190
+ ### Getting Help
191
+
192
+ 1. Check the [Issues](https://github.com/viguza/homebridge-ezviz/issues) page
193
+ 2. Search for existing solutions
194
+ 3. Create a new issue with:
195
+ - Device information
196
+ - Configuration (without credentials)
197
+ - Error logs
198
+ - Steps to reproduce
199
+
200
+ ## Development
201
+
202
+ ### Building from Source
203
+
204
+ ```bash
205
+ git clone https://github.com/viguza/homebridge-ezviz.git
206
+ cd homebridge-ezviz
207
+ npm install
208
+ npm run build
209
+ ```
210
+
211
+ ### Running Tests
212
+
213
+ ```bash
214
+ npm test
215
+ ```
216
+
217
+ ### Contributing
218
+
219
+ 1. Fork the repository
220
+ 2. Create a feature branch
221
+ 3. Make your changes
222
+ 4. Add tests if applicable
223
+ 5. Submit a pull request
224
+
225
+ ## Changelog
226
+
227
+ See [CHANGELOG.md](CHANGELOG.md) for version history and updates.
228
+
229
+ ## Disclaimer
230
+
231
+ ⚠️ **Important Warnings**:
232
+
233
+ - There is no official documentation for the EZVIZ API, so the endpoints used are based on other similar projects. If EZVIZ changes something, this plugin might break.
234
+ - This plugin is tested with a limited number of devices. It may not cover every single EZVIZ device.
235
+ - Use this plugin at your own risk.
236
+ - This plugin is not officially affiliated with EZVIZ.
237
+
238
+ ## Credits
239
+
240
+ This project is based on the original work by [Brandawg93](https://github.com/Brandawg93/homebridge-ezviz). The idea for this project is to improve and expand upon the original plugin, especially now that it is archived.
241
+
242
+ ## License
243
+
244
+ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
245
+
246
+ ## Support
247
+
248
+ If you find this plugin helpful, please consider:
249
+
250
+ - ⭐ Starring the repository
251
+ - 🐛 Reporting bugs and issues
252
+ - 💡 Suggesting new features
253
+ - 💰 [Supporting the project](https://paypal.me/viguza)
254
+
255
+ ---
256
+
257
+ **Made with ❤️ for the Homebridge community**
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@viguza/homebridge-ezviz",
3
3
  "displayName": "EZVIZ Homebridge Plugin",
4
4
  "type": "module",
5
- "version": "1.2.12",
5
+ "version": "1.2.13",
6
6
  "private": false,
7
7
  "description": "A short description about what your plugin does.",
8
8
  "author": "Victor Guzman",