当前位置: 首页 > 软件库 > 其他开源 > 物联网 >

homebridge-roomba2

授权协议 MIT License
开发语言 JavaScript
所属分类 其他开源、 物联网
软件类型 开源软件
地区 不详
投 递 者 逄嘉木
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Homebridge-Roomba2

Features

  • Roomba start on demand
  • Roomba stop and dock on demand
  • Roomba charging status
  • Roomba battery level (with low battery warning)
  • Roomba docked notifcation
  • Roomba running notification
  • Roomba bin full notification

The homebridge-roomba2 plugin polls Roomba for its status when requested by HomeKit, so when you first openthe Home app you may see an old status, or no status, until Roomba has had time to respond (which may takea few seconds).

Installation

Automatic Installation

  1. Install Homebridge: sudo npm i -g homebridge --unsafe-perm
  2. Download this plugin: sudo npm i -g homebridge-roomba2
  3. Follow Setup to get Roomba credentials
  4. Add an Accessory for your Roomba and configure it using Config-Ui-X
  5. Restart Homebridge

Manual Installation

  1. Install Homebridge: sudo npm i -g homebridge --unsafe-perm
  2. Download this plugin: sudo npm i -g homebridge-roomba2
  3. Follow Setup to get Roomba credentials
  4. Enter Roomba's credentials in your config.json file.
  5. Restart Homebridge

Setup

  1. Find your Roomba's IP address (for help see the troubleshooting section); it will look like 192.168.X.XXX or 10.X.X.XXX, or similar.
  2. Open a terminal on your Homebridge system, either using ssh or by using the Homebridge Terminal located in the ⋮ menu, top-right in the Homebridge UI.
  3. Change into the directory where the plugin is installed: cd $(npm root -g)/homebridge-roomba2
  4. Type sudo npm run getrobotpwd <IP ADDRESS> (replacing <IP ADDRESS> with the IP address you discovered above).
  5. Follow the instructions on screen to obtain your Roomba's blid and password. NB: Read the instructions carefully and ensure that you're pressing and holding the correct button on your Roomba.
  6. Proceed to Configuration.

Configuration

This plugin supports GUI-based configuration using Config-Ui-X. You can alsoconfigure your accessory using JSON:

{
  "accessory": "Roomba2",
  "name": "Roomba",
  "model": "960",
  "blid": "1234567890",
  "robotpwd": "aPassword",
  "ipaddress": "192.168.x.xxx",
  "dockContactSensor": true,
  "runningContactSensor": true,
  "binContactSensor": true,
  "dockOnStop": true
}
Key Description Default Value
accessory Loads this plugin. Must be set to Roomba2
name The name of your Roomba as it should appear in Homebridge and HomeKit
model The model of your Roomba as you'd like it to appear in HomeKit
serialnum The serial number as you'd like it to appear in HomeKit
blid The blid of your Roomba, obtained during setup
robotpwd The password for your Roomba, obtained during setup
ipaddress The IP address of your Roomba on your network
dockContactSensor Add a contact sensor to HomeKit that's closed when Roomba is docked true
runningContactSensor Add a contact sensor to HomeKit that's open when Roomba is running false
binContactSensor Add a contact sensor to HomeKit that's open when Roomba's bin is full false
dockingContactSensor Add a contact sensor to HomeKit that's open when Roomba is docking false
dockOnStop Send home to dock when stopped true

Deprecated configuration

The homebridge-roomba2 plugin used to support keep-alive and auto refresh modes for obtaining Roomba's status.Both of these modes required more resources from Homebridge and Roomba than were necessary.

Now the plugin efficiently queries Roomba's status on demand so as not to slow down Homebridge and soas to provide HomeKit with Roomba's status only when it requests it.

Troubleshooting

Click on any of the items below to expand the corresponding answer.

Finding my Roomba's IP address

You can find your Roomba's IP Address in the iRobot app. Open the app and choose your Robot. Scroll down to the bottom and find Robot Settings. Click Wi-Fi Settings and then Robot Wi-FI Details. You will find your IP address and various other network goodies here.

Alt Text

Alternatively you can open up your Router Admin Panel and look for a list of devices. Once you identify the Roomba, you should see an associated IP address, however, this process will be different for each type of router.

While identifying your Roomba's IP address, we strongly recommend assigning your Roomba a Static IP Address (See Roomba cannot be found after router restart OR Roomba's IP Address changed below).

Roomba cannot be found after router restart OR Roomba's IP Address changed

If you experience issues with connecting to your Roomba, you might want to assign a Static IP Address to your Roomba. In order to do this, you'll need to navigate to your Router's Admin Portal and modify the configuration; because this process is different for each type of router, you will need to research this process on your own.

NOTE: If you choose to set an IP address that is different than the IP address your Roomba was previously assigned, you'll need to restart your router before the Roomba will begin responding on the new IP address.

Building

The homebridge-roomba2 plugin uses TypeScript, pnpm andnvm.

nvm is used to control the version of node used. You can skip the nvm step if you manage your ownnode versions.

Use nvm to select the required node version:

nvm use

or, if you don't have the required node version installed:

nvm install

Install pnpm, if you haven't already:

npm -g install pnpm

Prepare the project:

pnpm install

Build the project:

pnpm build

or

pnpm watch

Contributing

The homebridge-roomba2 plugin uses Changesets to maintain the CHANGELOG.md and to bump the package's version number according to semer.

If you are preparing a PR, please consider using Changesets to include a summary of your change for the CHANGELOG.md, following the example of existing changelog entries (but feel free to provide more detail).

To create a new changeset:

pnpm changeset

That will prompt you to indicate whether your change is a patch (a bug fix) or a minor or major change. If you are adding a feature it is a minor change, not a patch.

Changesets will create a new file in the .changeset directory that you can commit as part of your PR.

Credits

STVMallen - Original plugin

ncovercash - Dock status

 相关资料
  • Homebridge 是一个轻量级 NodeJS 服务器,它模拟 iOS HomeKit API,提供从 HomeKit 到“智能家居”设备制造商提供的各种第三方 API 的基本桥接。通过 Homebridge 的桥接,可以让 Siri 控制完全不支持 HomeKit 的设备。 此外 Homebridge 支持插件。

  • homebridge-vsx homebridge-vsx is a plugin made for homebridge,which allows switching on and off your Pioneer AV receiver. All AV receivers (VSX and SC),which work with the iControl AV5 App are support

  • homebridge-sesame Control and monitor your Sesame smart lock with HomeKit integration. Prerequisites Installation of Homebridge iOS 11 or later Sesame lock with enabled cloud integration Sesame Wifi A

  • homebridge-panasonictv A homebridge plugin for turning on and off your Panasonic Viera TV. The plugin also has experimental support for changing the volume and channel. These characteristics are not r

  • Quick Start | Contribute A Wake on Lan plugin for Homebridge Turn your PCs, laptops, servers and more on and off through Siri Quick Start To install the plugin, head over to the machine with Homebridg

  • Docker Homebridge This Alpine/Ubuntu Linux based Docker image allows you to run Nfarina's Homebridge on your home network which emulates the iOS HomeKit API. This is a multi-arch image and will also r