[irobot] Fix password discovery and command sending for Roomba I-Models. (using gson) (#10860)
* Fix password discovery for Roomba I-Models. Signed-off-by: Alexander Falkenstern <alexander.falkenstern@gmail.com> * [irobot] remove json-path dependency (use gson instead) Signed-off-by: Florian Binder <fb@java4.info> * [irobot] fix checkstyle warnings, preserve backward compatibility, and remove unused parameters Signed-off-by: Florian Binder <fb@java4.info> Co-authored-by: Alexander Falkenstern <alexander.falkenstern@gmail.com>
This commit is contained in:
@@ -1,32 +1,36 @@
|
||||
# iRobot Binding
|
||||
|
||||
This binding provides integration of products by iRobot company (https://www.irobot.com/). It is currently developed to support Roomba 900
|
||||
series robotic vacuum cleaner with built-in Wi-Fi module. The binding interfaces to the robot directly without any need for a dedicated MQTT server.
|
||||
This binding provides integration of products by iRobot company (https://www.irobot.com/). It is currently developed
|
||||
to support Roomba vacuum cleaner/mopping robots with built-in Wi-Fi module. The binding interfaces to the robot directly
|
||||
without any need for a dedicated MQTT server.
|
||||
|
||||
## Supported Things
|
||||
|
||||
- iRobot Roomba robotic vacuum cleaner (https://www.irobot.com/roomba). The binding has been developed and tested with Roomba 930.
|
||||
- iRobot Braava has also been reported to (partially) work. Automatic configuration and password retrieval does not work. Add the robot manually as Roomba and use external tools (like Dorita980) in order to retrieve the password.
|
||||
- iRobot Roomba robotic vacuum cleaner (https://www.irobot.com/roomba).
|
||||
- iRobot Braava has also been reported to (partially) work.
|
||||
- In general, the channel list is far from complete. There is a lot to do now.
|
||||
|
||||
## Discovery
|
||||
|
||||
Roombas on the same network will be discovered automatically, however in order to connect to them a password is needed. The
|
||||
password is a machine-generated string, which is unfortunately not exposed by the original iRobot smartphone application, but
|
||||
it can be downloaded from the robot itself. If no password is configured, the Thing enters "CONFIGURATION PENDING" state.
|
||||
password is a machine-generated string, which is unfortunately not exposed by the original iRobot smartphone application,
|
||||
but it can be downloaded from the robot itself. If no password is configured, the Thing enters "CONFIGURATION PENDING" state.
|
||||
Now you need to perform authorization by pressing and holding the HOME button on your robot until it plays series of tones
|
||||
(approximately 2 seconds). The Wi-Fi indicator on the robot will flash for 30 seconds, the binding should automatically
|
||||
receive the password and go ONLINE.
|
||||
|
||||
After you've done this procedure you can write the password somewhere in case if you need to reconfigure your binding. It's not
|
||||
known, however, whether the password is eternal or can change during factory reset.
|
||||
After you've done this procedure you can write the password somewhere in case if you need to reconfigure your binding. It's
|
||||
not known, however, whether the password is eternal or can change during factory reset.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
| --------- | :-----: | :-------: | :------: | ----------------- |
|
||||
| ipaddress | String | Yes | | Robot IP address |
|
||||
| blid | String | No | | Robot ID |
|
||||
| password | String | No | | Robot Password |
|
||||
|
||||
| Parameter | Meaning |
|
||||
|-----------|----------------------------------------|
|
||||
| ipaddress | IP address (or hostname) of your robot |
|
||||
| password | Password for the robot |
|
||||
All parameters will be autodiscovered. If using textual configuration, then `ipaddress` shall be specified.
|
||||
|
||||
## Channels
|
||||
|
||||
@@ -140,11 +144,13 @@ Error codes. Data type is string in order to be able to utilize mapping to human
|
||||
| 76 | Hardware problem detected |
|
||||
|
||||
## Cleaning specific regions
|
||||
|
||||
You can clean one or many specific regions of a given map by sending the following String to the command channel:
|
||||
|
||||
```
|
||||
cleanRegions:<pmapId>;<region_id1>,<region_id2>,..
|
||||
```
|
||||
|
||||
The easiest way to determine the pmapId and region_ids is to monitor the last_command channel while starting a new mission for the specific region with the iRobot-App.
|
||||
|
||||
## Known Problems / Caveats
|
||||
|
||||
Reference in New Issue
Block a user