|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: "Yi Home Camera" |
| 4 | +description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant." |
| 5 | +date: 2017-10-10 13:00 |
| 6 | +sidebar: true |
| 7 | +comments: false |
| 8 | +sharing: true |
| 9 | +footer: true |
| 10 | +logo: yi.png |
| 11 | +ha_category: Camera |
| 12 | +ha_release: 0.56 |
| 13 | +ha_iot_class: "Local Polling" |
| 14 | +--- |
| 15 | + |
| 16 | +The `yi` camera platform allows you to utilize Yi Home Cameras within Home |
| 17 | +Assistant. Specifically, this platform supports the line of Yi Home Cameras |
| 18 | +that are based on the Hi3518e Chipset; these include: |
| 19 | + |
| 20 | +* Yi Home 17CN |
| 21 | +* Yi 1080p Home |
| 22 | +* Yi Dome |
| 23 | +* Yi 1080p Dome |
| 24 | + |
| 25 | +To successfully implement this platform, the Home Assistant host should be |
| 26 | +capable of multiple simultaneous reads; for every concurrent Home Assistant |
| 27 | +user, a connection will be made to the camera every 10 seconds. |
| 28 | +This should normally not be a problem. |
| 29 | + |
| 30 | +## {% linkable_title Preparing the Device %} |
| 31 | + |
| 32 | +### {% linkable_title Installing Alternative Firmware %} |
| 33 | + |
| 34 | +In order to integrate the camera with Home Assitant, it is necessary to install |
| 35 | +a custom firmware on the device. Instructions for doing so can be found via the |
| 36 | +[yi-hack-v3 GitHub project](https://github.com/shadow-1/yi-hack-v3). |
| 37 | + |
| 38 | +Once installed, please ensure that you have enabled FTP and Telnet on your |
| 39 | +device. |
| 40 | + |
| 41 | +<p class='note warning'> |
| 42 | +Some alternative Yi firmwares enable an experimental RTSP server, which will |
| 43 | +allow you to connect to your camera via other Home Assistant camera platforms. |
| 44 | +However, this RTSP server disables the ability to use the supremely-useful Yi |
| 45 | +Home app. In order to maintain both Home Assistant compatibility _and_ the native |
| 46 | +app, this platform retrieves videos via FTP. |
| 47 | +</p> |
| 48 | + |
| 49 | +### {% linkable_title Changing the FTP Password %} |
| 50 | + |
| 51 | +Once the custom firmware is installed, a password must be added to the FTP |
| 52 | +server. To do so: |
| 53 | + |
| 54 | +1. Telnet into your camera: `telnet <IP ADDRESS>`. |
| 55 | +2. Enter `root` as the username and `<blank>` as the password. |
| 56 | +3. Type `passwd` and hit `<Enter>`. |
| 57 | +4. Enter your new password twice. |
| 58 | +5. Log out of Telnet. |
| 59 | + |
| 60 | +## {% linkable_title Configuring the Platform %} |
| 61 | + |
| 62 | +To enable the platform, add the following lines to your |
| 63 | +`configuration.yaml` file: |
| 64 | + |
| 65 | +```yaml |
| 66 | +camera: |
| 67 | + - platform: yi |
| 68 | + host: '192.168.1.100' |
| 69 | + password: my_password_123 |
| 70 | +``` |
| 71 | +
|
| 72 | +Configuration variables: |
| 73 | +
|
| 74 | +- **host** (*Required*): the IP address or hostname of the camera |
| 75 | +- **password** (*Required*): the password to the FTP server on the camera (from above) |
| 76 | +- **username** (*Optional*): the user that can access the FTP server (default: `root`) |
| 77 | +- **name** (*Optional*): a human-friendly name for the camera |
| 78 | +- **ffmpeg_arguments** (*Optional*): extra options to pass to `ffmpeg` (e.g. image quality or video filter options) |
| 79 | + |
| 80 | +## {% linkable_title Image quality %} |
| 81 | + |
| 82 | +Any option supported by the `ffmpeg` client can be utilized via the |
| 83 | +`ffmpeg_arguments` configuration parameter. |
| 84 | + |
| 85 | +One particularly useful adjustment deals with video size. Since Yi videos are |
| 86 | +fairly large (especially on the 1080p cameras), the following configuration will |
| 87 | +bring them down to a manageable size: |
| 88 | + |
| 89 | +```yaml |
| 90 | +camera: |
| 91 | + - platform: yi |
| 92 | + name: My Camera |
| 93 | + host: '192.168.1.100' |
| 94 | + password: my_password_123 |
| 95 | + ffmpeg_arguments: '-vf scale=800:450' |
| 96 | +``` |
0 commit comments