cap:cleaning-state - get if cleaning¶
cleaning-state is used when a thing can report if is currently cleaning.
This is commonly used for things that also support
autonomous cleaning. Things implementing This
capability also support error states.
if(thing.matches('cap:cleaning-state')) {
console.log('Currently cleaning:', await thing.cleaning());
}
API¶
Events¶
-
cleaningChanged The cleaning state has changed. Payload will be the new state as a boolean.
Example:
thing.on('cleaningChanged', c => ...);
-
cleaningStarted Cleaning has started.
Example:
thing.on('cleaningStarted', () => console.log('Doing some cleaning'));
-
cleaningDone Cleaning was completed without any errors.
thing.on('cleaningDone', () => console.log('Cleaning is now done'));
-
cleaningError Cleaning has encountered an error.
thing.on('cleaningError', () => console.log('Cleaning encountered an error'));
-
cleaningStopped Cleaning has stopped (for any reason).
thing.on('cleaningStopped', () => console.log('No longer doing any cleaning'));
Protected methods¶
Implementing capability¶
When implementing this capability take care to call updateCleaning whenever cleaning is being done and also when cleaning stops. For errors calling updateError(error) will automatically set cleaning to false.
const { Thing } = require('abstract-things');
const { CleaningState } = require('abstract-things/climate');
class Example extends Thing.with(CleaningState) {
}