-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🎉 Major Update. Compatible with Roomba 900 Software Version 2.x.
- Loading branch information
Naoki Umeyama
committed
Apr 30, 2017
1 parent
71a85b8
commit 94de952
Showing
5 changed files
with
281 additions
and
182 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"extends": "airbnb" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,75 @@ | ||
# homebridge-roomba | ||
|
||
homebridge-plugin for Roomba980 | ||
[![homebridge-plugin for Roomba980](http://img.youtube.com/vi/BbHbArJ95g0/0.jpg)](https://www.youtube.com/watch?v=BbHbArJ95g0) | ||
[![NPM version][npm-image]][npm-url] | ||
|
||
[npm-image]: https://img.shields.io/npm/v/homebridge-roomba.svg | ||
[npm-url]: https://www.npmjs.com/package/homebridge-roomba | ||
|
||
homebridge-plugin for Roomba980(Roomba 900 Software Version 2.x). | ||
|
||
[![homebridge-plugin for Roomba980](https://cloud.githubusercontent.com/assets/3190760/25561826/ac495bda-2dae-11e7-96be-e7d8409e2901.gif)](https://www.youtube.com/watch?v=BbHbArJ95g0) | ||
|
||
# Installation | ||
|
||
1. Install homebridge using: npm install -g homebridge | ||
2. Install this plugin using: npm install -g homebridge-roomba | ||
3. Update your configuration file. See sample-config.json in this repository for a sample. | ||
## 1. Install homebridge and homebridge plugin. | ||
1-1. Install homebridge: `npm install -g homebridge` | ||
1-2. Install homebridge-roomba: `npm install -g homebridge-roomba` | ||
|
||
# Configuration | ||
Configuration sample: | ||
## 2. Confirm the IP address to which Roomba is connected with the official application. | ||
2-1. Open the `iRobot HOME App`. | ||
2-2. Select More ➔ Settings ➔ Wi-Fi Settings ➔ Details of robot's Wi-Fi | ||
2-3. Check IP Address items. (exsample: 192.16.xx.xx) | ||
|
||
## 3. Get robotpwd and blid. | ||
3-1. Move to the directory where you installed `homebridge-roomba`. | ||
(exsample path `/Users/xxxxxx/.nodebrew/node/v7.7.1/lib/node_modules/homebridge-roomba/`) | ||
3-2. `npm run getrobotpwd 192.16.xx.xx` | ||
3-3. Follow the displayed message. | ||
``` | ||
"accessories": [ | ||
"accessories": [ | ||
{ | ||
"accessory": "Roomba", | ||
"name": "Roomba", | ||
"blid":"0123456789abcdef", | ||
"robotpwd":"abcdefghijklmnop" | ||
} | ||
] | ||
Make sure your robot is on the Home Base and powered on (green lights on). | ||
Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). | ||
Release the button and your robot will flash WIFI light. | ||
Then press any key here... | ||
``` | ||
|
||
This process often fails. | ||
Please check the following points and try several times. | ||
|
||
- Is the environment installing Rumba and homebridge connected to the same wifi? | ||
- Is Rumba in the Dock and in a charged state? | ||
- Please try running "npm run getrobotpwd 192.16.xx.xx" after the sound has sounded after pressing the home button of the room for 2 seconds | ||
- Please check the version of Node.js. I confirmed that it works with "v 7.7.1". | ||
|
||
# How do You find the BLID and robotpwd? | ||
If successful, the following message will be displayed. | ||
Please check "blid" and "Password" of displayed message. | ||
|
||
1. [install Charles](https://www.charlesproxy.com/) | ||
2. Start the Charles. | ||
3. [Set the packet capture of the iPhone.](http://qiita.com/HIkaruSato/items/1f66c1a189bf9c19f838) | ||
4. Start the iRobot app. | ||
5. Check the contents of communication 「https://irobot.axeda.com」. | ||
6. Check the request parameters of the top of the communication. | ||
``` | ||
example: | ||
blid=0123456789abcdef&robotpwd=abcdefghijklmnop&method=getStatus | ||
Robot Data: | ||
{ ver: '2', | ||
hostname: 'Roomba-xxxxxxxxxxxxxxxx', | ||
robotname: 'Your Roomba’s Name', | ||
ip: '192.168.xx.xx', | ||
mac: 'xx:xx:xx:xx:xx:xx', | ||
sw: 'vx.x.x-x', | ||
sku: 'R98----', | ||
nc: 0, | ||
proto: 'mqtt', | ||
blid: '0123456789abcdef' } | ||
Password=> :1:2345678910:ABCDEFGHIJKLMNOP <= Yes, all this string. | ||
``` | ||
|
||
blid is `0123456789abcdef`. | ||
robotpwd is `:1:2345678910:ABCDEFGHIJKLMNOP`. | ||
|
||
## 4. Update homebridge configuration file. | ||
``` | ||
"accessories": [ | ||
{ | ||
"accessory": "Roomba", | ||
"name": "Roomba", | ||
"blid":"0123456789abcdef", | ||
"robotpwd":":1:2345678910:ABCDEFGHIJKLMNOP", | ||
"ipaddress": "192.168.xx.xx" | ||
} | ||
] | ||
``` |
Oops, something went wrong.