/** * This class represent the <b>Thermostat</b> Cluster as defined by the document:<br> * <i>ZigBee Cluster Library</i> public release version 075123r01ZB * * @author <a href="mailto:[email protected]">Stefano "Kismet" Lenzi</a> * @author <a href="mailto:[email protected]">Francesco Furfari</a> * @author <a href="mailto:[email protected]">Ryan Press</a> * @version $LastChangedRevision: 799 $ ($LastChangedDate: 2015-02-26 19:00:05 +0300 (Thu, 26 Feb * 2015) $) * @since 0.6.0 */ public interface ThermostatControl extends Device { public static final int DEVICE_ID = 0x0301; public static final String NAME = "Thermostat"; public static final int[] MANDATORY = ArraysUtil.append(Device.MANDATORY, new int[] {ZigBeeApiConstants.CLUSTER_ID_THERMOSTAT}); public static final int[] OPTIONAL = ArraysUtil.append( Device.OPTIONAL, new int[] { ZigBeeApiConstants.CLUSTER_ID_SCENES, ZigBeeApiConstants.CLUSTER_ID_GROUPS, ZigBeeApiConstants.CLUSTER_ID_THERMOSTAT_USER_INTERFACE_CONFIGURATION, ZigBeeApiConstants.CLUSTER_ID_FAN_CONTROL, ZigBeeApiConstants.CLUSTER_ID_TEMPERATURE_MEASUREMENT, ZigBeeApiConstants.CLUSTER_ID_OCCUPANCY_SENSING, ZigBeeApiConstants.CLUSTER_ID_RELATIVE_HUMIDITY_MEASUREMENT }); public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL); public static final int[] CUSTOM = {}; /** * Access method for the <b>Mandatory</b> cluster: {@link Thermostat} * * @return the {@link Thermostat} cluster object */ public Thermostat getThermostat(); }
/** * @author <a href="mailto:[email protected]">Stefano "Kismet" Lenzi</a> * @author <a href="mailto:[email protected]">Francesco Furfari</a> * @version $LastChangedRevision: 799 $ ($LastChangedDate: 2013-08-06 19:00:05 +0300 (Tue, 06 Aug * 2013) $) */ public interface DimmableLight extends Device { public static final int DEVICE_ID = 0x0101; public static final String NAME = "Dimmable Light"; public static final int[] MANDATORY = ArraysUtil.append( Device.MANDATORY, new int[] { ZigBeeApiConstants.CLUSTER_ID_ON_OFF, ZigBeeApiConstants.CLUSTER_ID_LEVEL_CONTROL, ZigBeeApiConstants.CLUSTER_ID_SCENES, ZigBeeApiConstants.CLUSTER_ID_GROUPS }); public static final int[] OPTIONAL = ArraysUtil.append( Device.OPTIONAL, new int[] {ZigBeeApiConstants.CLUSTER_ID_OCCUPANCY_SENSING}); public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL); public static final int[] CUSTOM = {}; /** * Access method for the <b>Mandatory</b> cluster: {@link OnOff} * * @return the {@link OnOff} cluster object */ public OnOff getOnOff(); /** * Access method for the <b>Mandatory</b> cluster: {@link Scenes} * * @return the {@link Scenes} cluster object */ public Scenes getScenes(); /** * Access method for the <b>Mandatory</b> cluster: {@link Groups} * * @return the {@link Groups} cluster object */ public Groups getGroups(); /** * Access method for the <b>Mandatory</b> cluster: {@link LevelControl} * * @return the {@link LevelControl} cluster object */ public LevelControl getLevelControl(); /** * Access method for the <b>Optional</b> cluster: {@link * org.bubblecloud.zigbee.api.cluster.measureament_sensing.OccupancySensing} * * @return the {@link org.bubblecloud.zigbee.api.cluster.measureament_sensing.OccupancySensing} * cluster object if implemented by the device, otherwise <code>null</code> */ public abstract OccupancySensing getOccupacySensing(); }