client1.subscribeToDesiredProperties(homeKit.getDesiredProp()); client2.subscribeToDesiredProperties(homeKit.getDesiredProp()); client3.subscribeToDesiredProperties(homeKit.getDesiredProp()); homeKit.setDesiredPropertyCallback(new Property("HomeTemp(F)", null), new onHomeTempChange(), null); homeKit.setDesiredPropertyCallback(new Property("LivingRoomLights", null), homeKit, null); homeKit.setDesiredPropertyCallback(new Property("BedroomRoomLights", null), homeKit, null); homeKit.setDesiredPropertyCallback(new Property("HomeSecurityCamera", null), new onCameraActivity(), null); homeKit.setReportedProp(new Property("HomeTemp(F)", 70)); homeKit.setReportedProp(new Property("LivingRoomLights", LIGHTS.ON)); homeKit.setReportedProp(new Property("BedroomRoomLights", LIGHTS.OFF)); homeKit.setReportedProp(new Property("HomeSecurityCamera", CAMERA.DETECTED_BURGLAR)); homeKit.setReportedProp(new Property("HomeSecurityCamera", CAMERA.SAFELY_WORKING)); homeKit.setReportedProp(new Property("BedroomRoomLights", null)); client1.sendReportedProperties(homeKit.getReportedProp()); client2.sendReportedProperties(homeKit.getReportedProp()); client3.sendReportedProperties(homeKit.getReportedProp()); homeKit.clean(); transportClient.closeNow();