diff --git a/README.md b/README.md index 6639a3c..134a65a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ Still work in progress, but the vacuum entity has been fully ported over. - [ ] Actions - [ ] Dynamically grab rooms and add them to the UI +## Why? + +I found that working with jeremywillans' implementation was nice and almost effortless, but I'd prefer to not have a YAML configuration and work with it by a more native integration that adds entities and isn't bound to making a lot of helpers per room. + ## Setup ### Prerequisites / Recommendations @@ -105,11 +109,13 @@ Locate and install the `rest980` addon, then update and save the configuration o ## Step 2: Setting up the Integration +rest980 will gather all the data about our robot, but the integration will format it perfectly, creating entities and a vacuum device. +
For HACS users - Add this custom repository, `https://github.com/ia74/roomba_rest980` to HACS as an Integration. Search for the addon ("iRobot Roomba (rest980)") + Add this custom repository, `https://github.com/ia74/roomba_rest980` to HACS as an Integration. Search for the addon ("iRobot Roomba (rest980)") and install it!
@@ -117,4 +123,64 @@ Locate and install the `rest980` addon, then update and save the configuration o Manual installation Clone this repository, `https://github.com/ia74/roomba_rest980`, and add the custom component folder (`roomba_rest980`) to your Home Assistant's `config/custom_components` folder. -
\ No newline at end of file + + +When you install the integration and restart Home Assistant, you will notice it picking up your Roomba. + +![Discovery](img/discovery.png) + +This is not due to your rest980 API server being discovered, rather the integration finding your Roomba on the local network. + +> If you do not see this, that is okay; it only means HA was able to fully detect a roomba through it's network identifiers. + +## Step 3: Adding your Roomba! + +If you see the autodiscovered integration, press "Add"! +You'll be presented with this popup. It will be styled much better later, but this works well enough for now. + +![Adding the robot](img/ADD.png) + +Input your rest980 server's url like so: + +``` +http://localhost:3000 +``` + +and don't leave any trailing /s. + +If you did it right, you'll see a success screen! + +![Added the config!](img/ADDeD.png) + +If all has gone right, checking the device will show something like this: + +![Added the config!](img/fin.png) + +But those aren't your rooms.... + +## Step 4: Rooms! + +TO BE CONTINUED... +Rooms are not given to us easily, but a fix is in progress for that. + +## Step 5: Robot Maintenance / Done! + +> Unfortunately, this is not implemented yet, alongside any other action. + +This integration will eventually support the maintenance function of the Roomba, but still is not implemented + +## Cleaning a room using the Roomba from HA + +> Unfortunately, this is not implemented yet, alongside any other action. + +In any configuration you'd like, you may lay the switches on the dashboard and switch them in the order you want them cleaned. After that, press Start on the native Vacuum! + +## Note: + +Unfortunately, this is about where my current progress ends. We gather all the possible data and display it. I will be working on this integration however and eventually these features will be fully supported. + +## Backwards Compatibility + +Minus the actions (currently!), the integration adds all the attributes that you would expect from `jeremywillans` implementation, even adding an `extendedState` attribute that gives you "Ready", "Training", "Spot", etc. since HA doesnt do that natively for some odd reason. + +![Compatibility](img/compat.png) diff --git a/img/ADD.png b/img/ADD.png new file mode 100644 index 0000000..72799e7 Binary files /dev/null and b/img/ADD.png differ diff --git a/img/ADDeD.png b/img/ADDeD.png new file mode 100644 index 0000000..76988b4 Binary files /dev/null and b/img/ADDeD.png differ diff --git a/img/compat.png b/img/compat.png new file mode 100644 index 0000000..7a5cb1e Binary files /dev/null and b/img/compat.png differ diff --git a/img/discovery.png b/img/discovery.png new file mode 100644 index 0000000..bf7de7c Binary files /dev/null and b/img/discovery.png differ diff --git a/img/fin.png b/img/fin.png new file mode 100644 index 0000000..d5c20d0 Binary files /dev/null and b/img/fin.png differ