Skip to content

Commit

Permalink
docs: Add descriptions for previously descriptionless capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
Hypfer committed Sep 6, 2023
1 parent 5987b91 commit 7bac061
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 8 deletions.
2 changes: 1 addition & 1 deletion docs/_pages/installation/dreame.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ which at this point should be connected to the robots Wi-Fi AP.
To do that, use the ssh shell to create a tar file of all the required files like so:

```
tar cvf /tmp/backup.tar /mnt/private/ /mnt/misc/ /etc/OTA_Key_pub.pem /etc/publickey.pem
tar cvf /tmp/backup.tar /mnt/private/ /mnt/misc/
```

Then, look at the output of the `valetudo-helper-httpbridge` instance you've started previously.
Expand Down
93 changes: 86 additions & 7 deletions docs/_pages/usage/capabilities-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ To support a growing list of robots with different sub- as well as supersets of
Although the names should be fairly self-explanatory, this page documents what each of them does.
Your robot will probably have multiple but not all of these.

## AutoEmptyDockAutoEmptyControlCapability <a id="AutoEmptyDockAutoEmptyControlCapability"></a>

This capability enables you to control if the robot should automatically auto-empty its dustbin into the auto-empty-dock
after a finished cleanup.

## AutoEmptyDockManualTriggerCapability <a id="AutoEmptyDockManualTriggerCapability"></a>

This capability is used to manually trigger the auto-emptying of the robot's dustbin into the auto-empty-dock.

## BasicControlCapability <a id="BasicControlCapability"></a>

Expand All @@ -31,6 +39,22 @@ If that's not the case, stop will perform a pause.

This capability enables you to enable or disable the automatic suction power increase when the robot detects that it has driven onto a carpet.

## CarpetSensorModeControlCapability <a id="CarpetSensorModeControlCapability"></a>

Some robots - usually those with advanced mopping capabilities - come with a dedicated sensor - usually ultrasonic - used
to detect carpets. This capability allows you to select how the robot should deal with carpets detected during navigation.

Depending on your robot, possible options can include
- Ignore and just drive over it
- Avoid
- Lift the mop

## CollisionAvoidantNavigationControlCapability <a id="CollisionAvoidantNavigationControlCapability"></a>

Some robots and firmwares allow the user to tweak the robots navigation a little.
As the name suggests, this capability provides a toggle that allows to select between less bumps into things or less risk of
missed areas during cleaning.

## CombinedVirtualRestrictionsCapability <a id="CombinedVirtualRestrictionsCapability"></a>

This capability enables you to configure Virtual Walls + Restricted Zones.
Expand All @@ -39,6 +63,10 @@ This capability enables you to configure Virtual Walls + Restricted Zones.

This capability enables you to view and reset the status of the consumables of your robot.

## CurrentStatisticsCapability <a id="CurrentStatisticsCapability"></a>

This capability provides statistics such as covered area or runtime of the current or most recent cleanup job.

## DoNotDisturbCapability <a id="DoNotDisturbCapability"></a>

This capability enables you to set a DND timespan.
Expand Down Expand Up @@ -68,13 +96,9 @@ This capability enables you to let the robot play some kind of sound often at fu

Useful if you've completely lost track of where that thing went. It's usually below the couch.

## MappingPassCapability <a id="MappingPassCapability"></a>
## ManualControlCapability <a id="ManualControlCapability"></a>

Some robots may allow for or even require a mapping pass instead of building the map as they go.
This capability is used to start the mapping process.

Don't be confused if your robot doesn't have this capability.
Usually, they will build the map during cleanup without requiring a separate mapping pass.
This capability allows manually driving around the robot like an RC car with tank controls.

## MapResetCapability <a id="MapResetCapability"></a>

Expand Down Expand Up @@ -103,9 +127,34 @@ I just didn't like the term room, because they don't necessarily have to actuall

This capability enables you to list all existing map snapshots as well as restore one of them.

Snapshots are made automatically by the robots firmware. They're basically backups.
Snapshots are made automatically by the robots' firmware. They're basically backups.
Use this if your robot has lost track of where it is and somehow corrupted the map.

## MappingPassCapability <a id="MappingPassCapability"></a>

Some robots may allow for or even require a mapping pass instead of building the map as they go.
This capability is used to start the mapping process.

Don't be confused if your robot doesn't have this capability.
Usually, they will build the map during cleanup without requiring a separate mapping pass.

## MopDockCleanManualTriggerCapability <a id="MopDockCleanManualTriggerCapability"></a>

This capability allows you to start and stop cleaning of the mops in the mop dock.

## MopDockDryManualTriggerCapability <a id="MopDockDryManualTriggerCapability"></a>

This capability allows you to start and stop drying of the mops in the mop dock.

## ObstacleAvoidanceControlCapability <a id="ObstacleAvoidanceControlCapability"></a>

Some robots featuring obstacle detection and avoidance using technology such as fully local AI object detection or lasers
give you the option to completely disable that. This can be useful if it wrongly detects and avoids obstacles where there are none.

## OperationModeControlCapability <a id="OperationModeControlCapability"></a>

This capability allows you to select if the robot should only vacuum, only mop or both.

## PendingMapChangeHandlingCapability <a id="PendingMapChangeHandlingCapability"></a>

Some robots may occasionally discover a new map and ask for user confirmation to actually use it.
Expand All @@ -116,6 +165,31 @@ This capability enables you to either accept or reject the new map.
This capability enables you to control whether the robot persists its map across cleanups. When
persisted maps are disabled, a new map is generated on each new full cleanup.

## PetObstacleAvoidanceControlCapability <a id="PetObstacleAvoidanceControlCapability"></a>

Robots featuring fully local AI camera object detection for obstacle avoidance may feature a special AI model specifically
tuned to detect pet feces that would otherwise lead to catastrophic and fatal results.

Because of that, these models are a bit trigger-happy and therefore may cause detection of objects where there are none
which is why the firmware allows robot owners without pets to disable that and get less ghost obstacles in return.

## QuirksCapability <a id="QuirksCapability"></a>

Valetudo aims to be a generic abstraction. That means that it tries to unify vendor-specific commands and concepts
into generic ones so that you don't have to worry about which brand of robot you buy as Valetudo will work
the same on all of them.

Sometimes however there might be things that only one Vendor or even only one model of robot does.
Adding that to the core infrastructure of Valetudo wouldn't make sense as the generic interface would soon become an
interface specific to one particular robot which would go against the core goal of being vendor-agnostic.

Still, limiting features to the least common denominator may at times also not be ideal.
This is where quirks come in.

A quirk is a vendor, robot or firmware-specific tunable that doesn't fit into Valetudo (yet?).

Think of quirks as some kind of convenience playground testing section.
Usually, they will be tunables that you change once and then likely never touch again.

## SpeakerTestCapability <a id="SpeakerTestCapability"></a>

Expand All @@ -126,6 +200,11 @@ It is used to try out the newly set audio volume.

This capability enables you to control the volume of the integrated speaker of the robot.

## TotalStatisticsCapability <a id="TotalStatisticsCapability"></a>

This capability provides all-time statistics such as covered area, cleanup count or total runtime.
Depending on your robot, these might not survive a factory reset.

## VoicePackManagementCapability <a id="VoicePackManagementCapability"></a>

This capability enables you to change and upload new voice packs to the robot.
Expand Down

0 comments on commit 7bac061

Please sign in to comment.