Package io.github.hapjava.accessories
Interface SmokeSensorAccessory
-
- All Superinterfaces:
HomekitAccessory
public interface SmokeSensorAccessory extends HomekitAccessory
A smoke sensor reports whether smoke has been detected or not.- Author:
- Gaston Dombiak
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.Collection<Service>
getServices()
The collection of Services this accessory supports.java.util.concurrent.CompletableFuture<SmokeDetectedStateEnum>
getSmokeDetectedState()
Retrieves the state of the smoke sensor.void
subscribeSmokeDetectedState(HomekitCharacteristicChangeCallback callback)
Subscribes to changes in the smoke sensor's state.void
unsubscribeSmokeDetectedState()
Unsubscribes from changes in the smoke sensor's state.-
Methods inherited from interface io.github.hapjava.accessories.HomekitAccessory
getFirmwareRevision, getId, getManufacturer, getModel, getName, getPrimaryService, getSerialNumber, identify
-
-
-
-
Method Detail
-
getSmokeDetectedState
java.util.concurrent.CompletableFuture<SmokeDetectedStateEnum> getSmokeDetectedState()
Retrieves the state of the smoke sensor. This is whether smoke has been detected or not.- Returns:
- a future that will contain the smoke sensor's state
-
subscribeSmokeDetectedState
void subscribeSmokeDetectedState(HomekitCharacteristicChangeCallback callback)
Subscribes to changes in the smoke sensor's state.- Parameters:
callback
- the function to call when the state changes.
-
unsubscribeSmokeDetectedState
void unsubscribeSmokeDetectedState()
Unsubscribes from changes in the smoke sensor's state.
-
getServices
default java.util.Collection<Service> getServices()
Description copied from interface:HomekitAccessory
The collection of Services this accessory supports. Services are the primary way to interact with the accessory via HomeKit. Besides the Services offered here, the accessory will automatically include the required information service.This method will only be useful if you're implementing your own accessory type. For the standard accessories, use the default implementation provided by the interfaces in
io.github.hapjava.accessories
.- Specified by:
getServices
in interfaceHomekitAccessory
- Returns:
- the collection of services.
-
-