This project provides a java wrapper over the SwitchBot API v1.1 (https://github.com/OpenWonderLabs/SwitchBotAPI)
It presently implements the device apis, but may be updated in the future to support scenes and webhooks as well.
- Listing devices
SwitchBotApi instance = SwitchBotApi.getInstance(token, secret);
List<Device> devices = instance.getDeviceApi().getDevices();
- Getting battery status of a device:
SwitchBotApi instance = SwitchBotApi.getInstance(token, secret);
List<Device> devices = instance.getDeviceApi().getDevices();
Device status = instance.getDeviceApi().getDeviceStatus(devices.get(0).getDeviceId());
System.out.println("" + status.getBattery());
- Send command to opening a curtain
SwitchBotApi instance = SwitchBotApi.getInstance(token, secret);
instance.getDeviceApi().getDevices().stream()
.filter(device -> IDeviceTypes.CURTAIN.equals(device.getDeviceType()))
.filter(Device::isMaster)
.findAny()
.ifPresent(curtain -> {
try {
instance.getDeviceApi()
.sendDeviceControlCommands(
curtain.getDeviceId(), IDeviceCommands.CURTAIN_CLOSE);
} catch (IOException theE) {
theE.printStackTrace();
}
});
- Send command to turn on a plug mini
SwitchBotApi instance = SwitchBotApi.getInstance(token, secret);
instance.getDeviceApi().getDevices().stream()
.filter(device -> IDeviceTypes.PLUG_MINI.equals(device.getDeviceType()))
.findAny()
.ifPresent(plug -> {
try {
instance.getDeviceApi()
.sendDeviceControlCommands(
plug.getDeviceId(), IDeviceCommands.PLUG_MINI_ON);
} catch (IOException theE) {
theE.printStackTrace();
}
});