homebridge-furbo
v1.0.0
Published
Homebridge plugin for Furbo dog cameras - exposes the local RTSP stream as a HomeKit camera
Maintainers
Readme
homebridge-furbo
Homebridge plugin for Furbo dog cameras. Exposes the camera's local RTSP stream as a HomeKit camera, enabling live video and snapshots in the Apple Home app.
Prerequisites
- Homebridge v1.9.0+
- FFmpeg installed on the Homebridge host
- Your Furbo camera's local IP address (use a static IP or DHCP reservation)
- Your Furbo camera's RTSP credentials (see below)
Installation
npm install -g homebridge-furboOr install via the Homebridge UI plugins tab by searching for homebridge-furbo.
Finding Your RTSP Credentials
The Furbo camera runs a local RTSP server on port 554 with digest authentication. The credentials are not publicly documented. To discover them:
Network traffic interception: Use mitmproxy or Charles Proxy to intercept traffic from the Furbo mobile app while viewing the live stream. Look for RTSP authentication exchanges.
Firmware analysis: Security researchers have documented methods for extracting credentials from the Furbo firmware. See the Somerset Recon research for details.
Try common defaults: Some older Furbo firmware versions may use default or empty credentials. Try connecting with no auth first.
Testing your RTSP connection
Once you have credentials, test with VLC or FFmpeg:
ffmpeg -rtsp_transport tcp -i "rtsp://USERNAME:PASSWORD@CAMERA_IP:554/stream" -frames:v 1 -f image2 test.jpgIf this produces a test.jpg image, your credentials and stream path are correct.
Configuration
Add the following to your Homebridge config.json:
{
"platforms": [
{
"platform": "FurboCam",
"cameras": [
{
"name": "Furbo Living Room",
"ip": "192.168.1.50",
"rtspPort": 554,
"rtspPath": "/stream",
"username": "your_username",
"password": "your_password",
"maxWidth": 1920,
"maxHeight": 1080,
"maxFPS": 30,
"maxBitrate": 300,
"audio": false
}
]
}
]
}Configuration Options
| Option | Required | Default | Description |
|--------|----------|---------|-------------|
| name | Yes | Furbo Camera | Camera name in HomeKit |
| ip | Yes | — | Camera's local IP address |
| rtspPort | No | 554 | RTSP server port |
| rtspPath | No | /stream | RTSP stream path |
| username | No | — | RTSP digest auth username |
| password | No | — | RTSP digest auth password |
| maxWidth | No | 1920 | Max video width (pixels) |
| maxHeight | No | 1080 | Max video height (pixels) |
| maxFPS | No | 30 | Max frames per second |
| maxBitrate | No | 300 | Max video bitrate (kbps) |
| audio | No | false | Enable one-way audio (requires FFmpeg with libfdk_aac) |
| ffmpegPath | No | ffmpeg | Custom path to FFmpeg binary |
RTSP Path
The default stream path is /stream, but this may vary by Furbo model. Other paths to try:
/stream/live/stream1/h264
Supported Features
- Live video streaming in the Home app
- Snapshots (with 3-second caching)
- One-way audio (optional, requires FFmpeg with libfdk_aac)
- Multiple camera support
Not Supported
These features are cloud-dependent and cannot be accessed locally:
- Treat tossing
- Barking detection
- Person detection
- Dog activity tracking
- 360-degree camera rotation (also not supported by HomeKit)
- Two-way audio (return audio goes through Furbo's cloud)
Troubleshooting
No video in Home app
- Verify the RTSP URL works with
ffmpegor VLC directly - Check that FFmpeg is installed and accessible
- Ensure the camera IP is reachable from the Homebridge host
- Check Homebridge logs for FFmpeg error messages
High CPU usage
- Lower
maxFPSto 15 - Lower
maxWidth/maxHeightto 1280x720 - Lower
maxBitrateto 200
Stream disconnects frequently
- Assign a static IP to your Furbo camera
- Use
-rtsp_transport tcp(already the default in this plugin) to avoid UDP packet loss
Disclaimer
This plugin is unofficial and not affiliated with Furbo (Tomofun). It relies on undocumented local RTSP access that may be changed or removed by firmware updates at any time. Use at your own risk.
