YI Home Android 3.4.6

We have received reports that Android users are also affected by some European mobile ISP not able to resolve YI’s server DNS name.

YI Home Android 3.4.6 is an attempt to fix this issue. Please let us know if this works for you.

Alternatively, some users have reported, that after they switch to US/Asia region, the App works great for them. If YI Home Android 3.4.6 does not work for you in Europe, you may want to try switching regions.

YI Home iOS: Sync Cloud Order

On iOS system, per requirement from Apple Inc, virtual goods must be payed through Apple In-App Purchase (Short for IAP).

The purchase process is like the following:

  1. User makes a purchase requests in YI Home App
  2. YI Home App brings up the IAP payment process
  3. User makes the payment
  4. YI Home App is notified about the payment, and inform the YI service a purchase is made.
  5. YI service records the transaction.

If network is not available, or other possible reasons, step 3) and step 4) could fail. In this case, user has paid Apple, but we don’t know that user has finished the payment.

To mitigate this issue, in the latest YI Home iOS App, when the user clicks the “cloud” tab in the App, the app will ask Apple if the user has pending payment. If Apple says yes, YI Home App will prompt user to refresh the YI Cloud order. Once user click the “Refresh” button in the screenshot below, The App will re-submit the cloud order to YI service, with the recalled payment information.

Next time when you encounter this problem, please give it a try.

SyncCloudOrder

iOS YI Home 3.4.1 update

Today we published iOS YI Home 3.4.1 update to Apple App Store.  This update is to resolve an issue that some European users experienced, especially for users in Italy.

The problem is, for certain mobile internet carriers, they has trouble resolve our server’s dns name, or, it resolves to the wrong address. As the result, those users cannot access the camera, when the app is running under mobile internet environment.

In the 3.4.1 update, we now use a different DNS resolution mechanism. Hopefully, with this change, our cstomes will never encounter DNS resolution problems anymore.

Push Notifications on Samsung phones

We have seen continued complains on missing push notifications, or, users have to open the app in order to receive push notifications.

In research on the problem, we stumble upon this article. If you experienced push notifications problems on Samsung phones, it may help you.

https://forbes.com/sites/bensin/2017/05/05/samsungs-battery-paranoia-broke-the-galaxy-s8s-push-notifications-just-like-chinese-smartphones/#29ffdcf340d5

 

Location Permission (Unknown SSID)

Some users ask why does YI Home Android App need Location Permission.

This is to fix the Android P (9.0) “Unknown SSID” Pairing issue.

https://yicamerablog.yitechnology.com/2018/08/16/android-p-9-0-pairing-issue/

Yes some user reports that the problem still exists after the update. Please make sure 1. You have opened Location Service in your system, 2. You have given YI Home App the location permission.

Talos Intelligence

On October 31st, Talos Intelligence published several articles on vulnerabilities discovered in YI Home Camera.

Over the latest several months, Talos intelligence team has closely worked with YI Technology’s development team, explained the vulnerabilities, discussed solution, patiently waited the dev team to release a firmware, and kindly verified all the fixes, and generously waited almost two months to disclose the vulnerabilities publicly, after we released the firmware.

Thank you Talos Intelligence team. We are forever in debt to you.

Timeline

2018-06-13 – Vendor disclosure
2018-09-03 – Vendor submitted build to Talos for testing
2018-09-05 – Talos confirmed issue patched
2018-10-22 – Vendor released new firmware
2018-10-31 – Public release

Motion Detection Explained

Motion Detection

YI Home Camera can do many great things. Motion detection is a feature that many people rely on. When the camera detects movement (motion) in the front of the camera, the system will send a push notification to the user’s mobile phone, alerting the user that something has happened. In the meantime, the camera captures a picture, and 6s motion video to the cloud for safe record. User can look at view the alert picture and videos from the YI Home Camera alert tab. Those alerts (along with the pictures/videos) are stored in the cloud for 7 days and deleted automatically after that.

Motion detection algorithm

The camera determines that there are movements in the video, by comparing the adjacent video frames. If there are significant changed between those frames, a motion is detected.

Why 6s for the video length

This is a compromise for the alert notification delay. The longer we choose for the video, the longer the delay will be for the user to receive the notification. 6s seems a good compromise, that the alert won’t be delayed for long, while user can still see what happened.

Advanced motion detection features

More advanced motion detection features are available to different camera models, depending on the camera’s processing capabilities. Examples including, but not limited to: Detection Zone, motion sensitivity, human detection, baby crying detection.

Today, the detection zone feature, is only available to non-rotating cameras. The justification was, for rotating cameras, the viewing angle is moving around, thus the detection zone is not well defined.

Alert Reporting algorithm

One of frequently asked questions is, when does the camera reports a moving event?

Obviously, if the camera reports every movements detection, user will be notified too many times, thus consider it abusive. To avoid this, the system introduces two parameters to control when to report a motion.

The first parameter is called motion block grace period threshold.

Continuous movements are considered as a moving block. A moving block is counted as one reportable event. The system will only report once, for the whole block.

The window between the end time of the last moving block, and the start time of the next moving block, is the motion block grace period.

If the motion block grace period is longer than a pre-defined threshold, the new moving block is considered as report candidate.

The motion block grace period threshold, is set at 60s by default. It is configurable by the server.

The second parameter is called motion report minimum interval.

A report candidate will be reported, only if last report happened before the motion report minimum internal ago.

The internal is set to 10minutes by default and is configurable by the server.

Let’s use a few examples to illustrate the algorithms above.

Say, at 8:00:00am, the camera detected movement, and reported the event to the user. The movement stopped at 8:01:00am.

The second movement is detected at 8:01:30am and stopped at 8:02:00am.

The motion block grace period is 30s (between 8:01:00am and 8:01:30), which is less than the 60s threshold. This moving block is not considered as report candidate, thus will not be reported.

The third movement is detected at 8:05:00am, lasted for 30s. The grace period is 3minutes (8:02:00am to 8:05:00am), which is longer than 60s. This is a report candidate.

However, this event will not be reported. The last event report happened at 8:00:00am. This report candidate happened only 5 minutes later (8:00:00am to 8:05:00am), which is less than the 10 minutes internal.

The fourth movement is detected at 8:15:00am, lasted for 30s. This is a report candidate and will be reported.

Reaching YI Services

From time to time, we have received reports that some parts of the YI Home App’s functionalities do not work. For example, can not register, can not generate the QR code, etc.

We did a lot investigation. We found a few root causes.

  1. Sometimes, the App could not resolve our services’ DNS name.
  2. On other occasions, the https connection to our services is terminated unexpected.

If you have experienced problems in YI Home App, please open a browser, and visit one of the following sites. If you have trouble reaching them, it may be a good time to talk to your local ISP.

For Asian countries, please visit https://api.xiaoyi.com.tw
For North America countries, please visit https://api.us.xiaoyi.com
For European countries, please visit https://api.eu.xiaoyi.com
For other countries, please visit one of above.