Code Monkey home page Code Monkey logo

homebridge-irobot-roomba's Introduction

NOTE: I now longer own an iRobot roboter. Therefore I will not make any updates for this porject!

homebridge-roomba

NPM version

Control your iRobot Roomba through HomeKit. (Available for the 800 and 900 series with V2.0 or higher)

Demo

Installation

1. Installation

npm install -g homebridge-roomba

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. (example: 192.168.xx.xx)

3. Get password and blid.

  • 3-1. Move to the directory where you installed your node modules.
    (example path /ust/local/lib/node_modules)
  • 3-2. Go in the dorita980 directory
  • 3-2. run npm run getpassword <Roomba IP address>
  • 3-3. Follow the displayed message.
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 getpassword 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 "v7.7.1", "v8.9.0" or "v9.1.0".

If successful, the following message will be displayed. Please check "blid" and "Password" of displayed message.

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. password is :1:2345678910:ABCDEFGHIJKLMNOP.

4. Update homebridge configuration file.

  {
    "platform": "Roomba",
    "name": "Roomba",
    "robots": [
      {
        "name": "Name of the robot in the Home app",
        "blid":"123456789abcdefg",
        "password": ":1:2345678901:ABCDEFGHIJKLMNOP",
        "address": "192.168.x.xx"
      }
    ]
  }

homebridge-irobot-roomba's People

Contributors

alexanderbabel avatar umesan avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

homebridge-irobot-roomba's Issues

All Accessories Updating / Not Responding

I have Envisalink, Chamberlain, Nest & SmartThings loaded. I added the Roomba module and it caused all of the accessories to go to Updating or Not Responding. It would occasionally update them but it would be very rare. I started removing them one by one starting with Nest and when I got to the Roomba it started working. I then added all the others back in and when I got to the Roomba it stopped again. I assume that it might be checking with the Roomba which is asleep most of the time so it's timing out while waiting to hear back. I really wanted this to work so I can get rid of my Echo. Would also be awesome if we can get support for pausing and ending a job so I can empty the bin and get it to go home instead of just stop.

Incorrect Roomba Password causes unhandled execption which crashes homebridge

I noticed this morning that somehow my Roomba's password ended up getting changed. When the homebridge-irobot-roomba plugin would attempt to communicate with the Roomba an error "Connection refused: Not authorized" is returned and then thrown. This unhandled exception causes homebridge to crash.

From the log:

homebridge[913]: /usr/lib/node_modules/homebridge-irobot-roomba/node_modules/dorita980/lib/v2/local.js:30
homebridge[913]:     throw e;
homebridge[913]:     ^
homebridge[913]: Error: Connection refused: Not authorized
homebridge[913]:     at MqttClient._handleConnack (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/mqtt/lib/client.js:896:15)
homebridge[913]:     at MqttClient._handlePacket (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/mqtt/lib/client.js:332:12)
homebridge[913]:     at work (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/mqtt/lib/client.js:274:12)
homebridge[913]:     at Writable.writable._write (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/mqtt/lib/client.js:284:5)
homebridge[913]:     at doWrite (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/readable-stream/lib/_stream_writable.js:428:64)
homebridge[913]:     at writeOrBuffer (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/readable-stream/lib/_stream_writable.js:417:5)
homebridge[913]:     at Writable.write (/usr/lib/node_modules/homebridge-irobot-roomba/node_modules/readable-stream/lib/_stream_writable.js:334:11)
systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: homebridge.service: Unit entered failed state.
systemd[1]: homebridge.service: Failed with result 'exit-code'.

Braava 390t

Does this plug-in also work with Braava 390t? Or is it possible to add this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.