[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r428 - in /projects/zb4osgi/sandbox/manlio.bacco: ./ .settings/ configurations/ configurations/factories/ configurations/services/ src/ src/main/ src/main/eclipse-run/ src/main/java/ src/main/java/it/ src/main/java/it/cnr/ src/main/java/it/cnr/isti/ src/main/java/it/cnr/isti/zigbee/ src/main/java/it/cnr/isti/zigbee/ha/ src/main/java/it/cnr/isti/zigbee/ha/cluster/ src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/ src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ src/main/java/it/cnr/isti/zigbee/ha/device/ src/main/java/it/cnr/isti/zigbee/ha/device/api/ src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/ src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/ src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/ src/main/java/it/cnr/isti/zigbee/ha/device/factory/ src/main/java/it/cnr/isti/zigbee/ha/device/impl/ src/main/java/it/cnr/isti/zigbee/ha/driver/ src/main/java/it/cnr/isti/zigbee/ha/driver/core/ src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/ src/main/resources/ src/test/ src/test/java/ src/test/resources/
scm-notify at zb4osgi.aaloa.org
scm-notify at zb4osgi.aaloa.org
Thu Jun 21 11:49:30 CEST 2012
Author: manlio.bacco
Date: Thu Jun 21 11:49:30 2012
New Revision: 428
Log:
MB
Added:
projects/zb4osgi/sandbox/manlio.bacco/.classpath (with props)
projects/zb4osgi/sandbox/manlio.bacco/.project (with props)
projects/zb4osgi/sandbox/manlio.bacco/.settings/
projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.jdt.core.prefs (with props)
projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.m2e.core.prefs (with props)
projects/zb4osgi/sandbox/manlio.bacco/LICENSE
projects/zb4osgi/sandbox/manlio.bacco/LICENSE.ZigBee
projects/zb4osgi/sandbox/manlio.bacco/NOTICE
projects/zb4osgi/sandbox/manlio.bacco/configurations/
projects/zb4osgi/sandbox/manlio.bacco/configurations/factories/
projects/zb4osgi/sandbox/manlio.bacco/configurations/services/
projects/zb4osgi/sandbox/manlio.bacco/configurations/services/org.ops4j.pax.logging.properties (with props)
projects/zb4osgi/sandbox/manlio.bacco/pax.args
projects/zb4osgi/sandbox/manlio.bacco/pom.xml (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/
projects/zb4osgi/sandbox/manlio.bacco/src/main/
projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/
projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver + Exporter.launch (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver.launch (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver.launch (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver.launch (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/Activator.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/HAClustersFactory.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/Cluster.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Alarms.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Basic.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/DeviceTemperatureConfiguration.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Groups.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Identify.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/LevelControl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOff.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitch.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitchConfiguration.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/PowerConfiguration.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/RSSILocation.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Scenes.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Time.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/IlluminanceMeasurement.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/OccupacySensing.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/RelativeHumidityMeasurement.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/TemperatureMeasurement.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceEvent.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceListener.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASWD.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASZone.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/AlarmsImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/BasicImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/DeviceTemperatureConfigurationImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/GroupsImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IASWDImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IdentifyImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IlluminanceMeasurementImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/LevelControlImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OccupacySensingImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffSwitchConfigurationImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/PowerConfigurationImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/RelativeHumidityMeasurementImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ScenesImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TemperatureMeasurementImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TimeImpl.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/CurrentLevelBridgeListeners.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/MeasuredValueBridgeListeners.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OccupancyBridgeListeners.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OnOffBridgeListeners.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ToleranceBridgeListeners.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/LevelControlSwitch.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/MainsPowerOutlet.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffOutput.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffSwitch.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/TemperatureSensor.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ColorDimmableLight.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/DimmableLight.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/LightSensor.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OccupancySensor.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLight.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLightSwitch.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/IAS_Zone.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/OnOffLightFactory.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/DimmableLightDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/GenericHADevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/IAS_ZoneDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LevelControlSwitchDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LightSensorDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/MainsPowerOutletDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OccupancySensorDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightSwitchDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffOutputDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffSwitchDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/TemperatureSensorDevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/ArraysUtil.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HADriverConfiguration.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HAImporter.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactory.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactoryBase.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/GenericHADeviceFactory.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADevice.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceBase.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactory.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactoryBase.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceRegistry.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HAProfile.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ReportingConfiguration.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ZigBeeHAException.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/AbstractDeviceDescription.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/DeviceDescription.java (with props)
projects/zb4osgi/sandbox/manlio.bacco/src/main/resources/
projects/zb4osgi/sandbox/manlio.bacco/src/test/
projects/zb4osgi/sandbox/manlio.bacco/src/test/java/
projects/zb4osgi/sandbox/manlio.bacco/src/test/resources/
Added: projects/zb4osgi/sandbox/manlio.bacco/.classpath
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/.classpath (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/.classpath Thu Jun 21 11:49:30 2012
@@ -1,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/.classpath
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/.project
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/.project (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/.project Thu Jun 21 11:49:30 2012
@@ -1,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.aaloa.zb4osgi.zigbee.ha.driver</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/.project
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.jdt.core.prefs
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.jdt.core.prefs (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.jdt.core.prefs Thu Jun 21 11:49:30 2012
@@ -1,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
Propchange: projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.m2e.core.prefs
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.m2e.core.prefs (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.m2e.core.prefs Thu Jun 21 11:49:30 2012
@@ -1,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
Propchange: projects/zb4osgi/sandbox/manlio.bacco/.settings/org.eclipse.m2e.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/LICENSE
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/LICENSE (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/LICENSE Thu Jun 21 11:49:30 2012
@@ -1,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
Added: projects/zb4osgi/sandbox/manlio.bacco/LICENSE.ZigBee
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/LICENSE.ZigBee (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/LICENSE.ZigBee Thu Jun 21 11:49:30 2012
@@ -1,0 +1,37 @@
+The ZigBee Specification is available to individuals, companies and institutions free of
+charge for all non-commercial purposes (including university research, technical
+evaluation, and development of non-commercial software, tools, or documentation). No
+part of this specification may be used in development of a product for sale without
+becoming a member of ZigBee Alliance.
+
+Copyright © ZigBee Alliance, Inc. (2007). All Rights Reserved. The information within this
+document is the property of the ZigBee Alliance and its use and disclosure are restricted.
+
+Elements of ZigBee Alliance specifications may be subject to third party intellectual
+property rights, including without limitation, patent, copyright or trademark rights (such a
+third party may or may not be a member of ZigBee). ZigBee is not responsible and shall not
+be held responsible in any manner for identifying or failing to identify any or all such third
+party intellectual property rights.
+
+This document and the information contained herein are provided on an ?AS IS? basis and
+ZigBee DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING WITHOUT
+LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT,
+COPYRIGHT OR TRADEMARK RIGHTS) OR (B) ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT.
+IN NO EVENT WILL ZIGBEE BE LIABLE FOR ANY LOSS OF
+PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF
+BUSINESS, OR FOR ANY OTHER DIRECT, INDIRECT, SPECIAL OR EXEMPLARY,
+INCIDENTIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND, IN
+CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT OR THE
+INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH LOSS OR DAMAGE. All Company, brand and product names may be trademarks
+that are the sole property of their respective owners.
+
+The above notice and this paragraph must be included on all copies of this document that
+are made.
+
+ZigBee Alliance, Inc.
+2400 Camino Ramon, Suite 375
+San Ramon, CA 94583
Added: projects/zb4osgi/sandbox/manlio.bacco/NOTICE
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/NOTICE (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/NOTICE Thu Jun 21 11:49:30 2012
@@ -1,0 +1,44 @@
+ZigBee Home Automation Profile Driver
+
+Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+Institute of Information Science and Technologies of the
+Italian National Research Council
+
+
+I. Included Software
+
+This does not include any software developed by 3rd parties
+
+
+II. Used Software
+
+This product uses software developed at
+The Codehaus (http://www.codehaus.org)
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The OPS4J (http://www.ops4j.org)
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright 2006-2009 The OSGi Alliance.
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+
+III. Specification used
+
+Part of this software is based on the specification
+provided by The ZigBee Alliance (http://www.zigbee.org)
+Licensed under ZigBee specific license for non-member
+of the ZigBee Allinace (see LICENSE.ZigBee file )
+
+
+IV. License Summary
+
+- Apache License 2.0
+- ZigBee Non-Member License
Added: projects/zb4osgi/sandbox/manlio.bacco/configurations/services/org.ops4j.pax.logging.properties
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/configurations/services/org.ops4j.pax.logging.properties (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/configurations/services/org.ops4j.pax.logging.properties Thu Jun 21 11:49:30 2012
@@ -1,0 +1,22 @@
+# Set root category priority to INFO and its only appender to CONSOLE.
+#log4j.rootCategory=DEBUG, CONSOLE
+log4j.rootCategory=INFO, CONSOLE, LOGFILE
+
+
+# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} - %-5p - [%t] %c - %m%n
+
+
+log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.LOGFILE.file=log.log
+log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
+log4j.appender.LOGFILE.layout.ConversionPattern=%d{HH:mm:ss.SSS} - %-5p - [%t] %c - %m%n
+
+log4j.logger.com.itaca=FATAL, CONSOLE
+
+log4j.logger.it.cnr.isti.zigbee=DEBUG, CONSOLE
+log4j.logger.it.cnr.isti.cc2480.high=DEBUG, CONSOLE
+log4j.logger=INFO, LOGFILE
+
Propchange: projects/zb4osgi/sandbox/manlio.bacco/configurations/services/org.ops4j.pax.logging.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/pax.args
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/pax.args (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/pax.args Thu Jun 21 11:49:30 2012
@@ -1,0 +1,32 @@
+#
+# PAX-RUNNER OPTIONS
+#
+--profiles=log,config
+--executor=script
+--org.ops4j.pax.runner.platform.downloadFeedback=false
+--org.ops4j.pax.runner.scanner.bundle.update=false
+
+#
+# BUNDLE LIST
+#
+
+# OSGi Tool
+mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2
+
+# ZigBee Stack General Dependencies & Tool
+mvn:org.aaloa.zb4osgi.bundle/org.aaloa.zb4osgi.bundle.rxtx/2.1.7-1
+mvn:org.aaloa.zb4osgi.bundle/org.aaloa.zb4osgi.bundle.net.sf.trove4j/2.0.4-1
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.tester
+
+# ZigBee Hardware Access Layer
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.dongle.api
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.CC2530.driver at nostart
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.ez430-rf2480.driver at nostart
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.cc2480.datalink
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.common
+
+# ZigBee Base Driver
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.basedriver
+
+# ZigBee Refinement Architecture
+mvn:org.aaloa.zb4osgi/org.aaloa.zb4osgi.zigbee.ha.driver
Added: projects/zb4osgi/sandbox/manlio.bacco/pom.xml
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/pom.xml (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/pom.xml Thu Jun 21 11:49:30 2012
@@ -1,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.aaloa.zb4osgi</groupId>
+ <artifactId>org.aaloa.zb4osgi.pom</artifactId>
+ <version>9-SNAPSHOT</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.aaloa.zb4osgi</groupId>
+ <artifactId>org.aaloa.zb4osgi.zigbee.ha.driver</artifactId>
+ <packaging>bundle</packaging>
+ <version>0.7.0-SNAPSHOT</version>
+
+ <name>ZigBee Home Automation Profile Driver</name>
+ <url>http://zb4osgi.aaloa.org/</url>
+ <description><![CDATA[
+A Home Automation Profile refinent driver that is able to refin ZigBeeDevice service
+as defined by the ZigBee OSGi Base Driver, using the OSGi Device Access Specification
+ ]]></description>
+
+ <inceptionYear>2008</inceptionYear>
+ <organization>
+ <name>Institute of Information Science and Technologies of the Italian National Research Council</name>
+ <url>http://isti.cnr.it/</url>
+ </organization>
+
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <id>slenzi</id>
+ <name>Stefano "Kismet" Lenzi</name>
+ <email>stefano.lenzi at isti.cnr.it</email>
+ <organization>Institute of Information Science and Technologies of the Italian National Research Council</organization>
+ <organizationUrl>http://www.isti.cnr.it/</organizationUrl>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>ffurfari</id>
+ <name>Francesco Furfari</name>
+ <email>francesco.furfari at isti.cnr.it</email>
+ <organization>Institute of Information Science and Technologies of the Italian National Research Council</organization>
+ <organizationUrl>http://www.isti.cnr.it/</organizationUrl>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>alessandro</id>
+ <name>Alessandro Giari</name>
+ <email>alessandro.giari at isti.cnr.it</email>
+ <organization>Institute of Information Science and Technologies of the Italian National Research Council</organization>
+ <organizationUrl>http://www.isti.cnr.it/</organizationUrl>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
+
+ <scm>
+ <connection>scm:svn:svn://svn.aaloa.org/projects/zb4osgi/trunk/zigbee.ha.driver</connection>
+ <developerConnection>scm:svn:svn://svn.aaloa.org/projects/zb4osgi/trunk/zigbee.ha.driver</developerConnection>
+ <url>http://zb4osgi.aaloa.org/projects/zb4osgi/repository/show/trunk/zigbee.ha.driver</url>
+ </scm>
+
+ <repositories>
+ <repository>
+ <id>nexus.aaloa.org</id>
+ <url>http://nexus.aaloa.org/content/repositories/releases/</url>
+ <snapshots><enabled>false</enabled></snapshots>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.aaloa.zb4osgi</groupId>
+ <artifactId>org.aaloa.zb4osgi.zigbee.zcl.library</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.aaloa.zb4osgi</groupId>
+ <artifactId>org.aaloa.zb4osgi.zigbee.basedriver.api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.logging</groupId>
+ <artifactId>pax-logging-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.logging</groupId>
+ <artifactId>pax-logging-service</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.aaloa.zb4osgi</groupId>
+ <artifactId>org.aaloa.zb4osgi.zigbee.common</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <groups>
+ <group>
+ <title>ZigBee Refinement Driver Extendible Architecture</title>
+ <packages>it.cnr.isti.zigbee.ha.driver*:it.cnr.isti.zigbee.ha.cluster.factory:it.cnr.isti.zigbee.ha</packages>
+ </group>
+ <group>
+ <title>Simple ZigBee Cluster API</title>
+ <packages>it.cnr.isti.zigbee.ha.cluster.glue*</packages>
+ </group>
+ <group>
+ <title>Home Automation Device API</title>
+ <packages>it.cnr.isti.zigbee.ha.device.api*</packages>
+ </group>
+ <group>
+ <title>Default Simple ZigBee Cluster implementation</title>
+ <packages>it.cnr.isti.zigbee.ha.cluster.impl*</packages>
+ </group>
+ <group>
+ <title>Default Home Automation Device implementation</title>
+ <packages>it.cnr.isti.zigbee.ha.device.factory:it.cnr.isti.zigbee.ha.device.impl*</packages>
+ </group>
+ </groups>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-Author><![CDATA[
+ Stefano "Kismet" Lenzi <stefano.lenzi at isti.cnr.it>,
+ Francesco Furfari <francesco.furfari at isti.cnr.it>,
+ Alessandro Giari <alessandro.giari at isti.cnr.it>
+ ]]></Bundle-Author>
+ <Bundle-Name>${project.name}</Bundle-Name>
+ <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+ <Bundle-Activator>it.cnr.isti.zigbee.ha.Activator</Bundle-Activator>
+ <Private-Package>
+ it.cnr.isti.primitvetypes.util,
+ com.itaca.ztool.util
+ </Private-Package>
+ <Export-Package>
+ it.cnr.isti.zigbee.ha.*;version=${pom.version},
+ it.cnr.isti.zigbee.persona.*;version=${pom.version}
+ </Export-Package>
+ <Import-Package>
+ !com.itaca.ztool.api.*,
+ it.cnr.isti.zigbee.zcl.*,
+ it.cnr.isti.zigbee.api.*,
+ it.cnr.isti.osgi.util,
+ org.osgi.*,
+ org.slf4j; provider=paxlogging
+ </Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-changelog-plugin</artifactId>
+ <configuration>
+ <type>date</type>
+ <dates>
+ <date implementation="java.lang.String">2010-10-24</date>
+ <date implementation="java.lang.String">2029-12-31</date>
+ </dates>
+ <dateFormat>yyyy-MM-dd</dateFormat>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+
+</project>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver + Exporter.launch
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver + Exporter.launch (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver + Exporter.launch Thu Jun 21 11:49:30 2012
@@ -1,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ZigBee Base Driver + Home Automation Driver + Exporter"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sourceLookupDirector>
<sourceContainers duplicates="false">
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="demo.lighting.consumer"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="demo.lighting.exporter"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="&
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true
-Dit.cnr.isti.zigbee.driver.serial.portname=COM5
-Dit.cnr.isti.zigbee.pan.channel=22
-Dit.cnr.isti.zigbee.driver.mode=EndDevice
-Dbundles.configuration.location=${workspace_loc:org.aal-persona.zigbee.driver.ha}/configurations"/>
+<stringAttribute key="org.ops4j.pax.cursor.logLevel" value="TRACE"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwrite" value="true"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteSystemBundles" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteUserBundles" value="false"/>
+<listAttribute key="org.ops4j.pax.cursor.profiles">
+<listEntry value="log"/>
+</listAttribute>
+<mapAttribute key="org.ops4j.pax.cursor.provisionItems">
+<mapEntry key="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha" value="true at false@null at true"/>
+<mapEntry key="mvn:org.aal-persona.middleware/sodapop.osgi" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.platform/casf.ont" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.samples/lighting.ont" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.middleware/middleware.upper" value="true at true@null at false"/>
+<mapEntry key="mvn:personatest/demo.lighting.exporter" value="false at false@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver" value="true at false@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.exporter" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.platform/prof.ont" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.middleware/acl.interfaces" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl" value="true at true@null at true"/>
+</mapAttribute>
+<listAttribute key="org.ops4j.pax.cursor.runArguments">
+<listEntry value="--overwrite=true"/>
+<listEntry value="--overwriteUserBundles=false"/>
+<listEntry value="--overwriteSystemBundles=false"/>
+<listEntry value="--log=TRACE"/>
+<listEntry value="--profiles=log"/>
+<listEntry value="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha at nostart@update"/>
+<listEntry value="mvn:org.aal-persona.platform/casf.ont"/>
+<listEntry value="mvn:org.aal-persona.middleware/middleware.upper"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl at update"/>
+<listEntry value="mvn:org.aal-persona.platform/prof.ont"/>
+<listEntry value="mvn:org.aal-persona.middleware/acl.interfaces at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl at update"/>
+<listEntry value="mvn:org.aal-persona.middleware/sodapop.osgi"/>
+<listEntry value="mvn:org.aal-persona.samples/lighting.ont"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver at nostart@update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.exporter at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001"/>
+</listAttribute>
+<stringAttribute key="osgi_framework_id" value="--platform=felix --version=1.4.1"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver + Exporter.launch
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver.launch
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver.launch (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver.launch Thu Jun 21 11:49:30 2012
@@ -1,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ZigBee Base Driver + Home Automation Driver"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sourceLookupDirector>
<sourceContainers duplicates="false">
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.basedriver.api"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.basedriver"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<co
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true
-Dit.cnr.isti.zigbee.driver.serial.portname=COM5
-Dit.cnr.isti.zigbee.pan.channel=22
-Dit.cnr.isti.zigbee.driver.mode=EndDevice
-Dbundles.configuration.location=${workspace_loc:org.aal-persona.zigbee.driver.ha}/configurations"/>
+<stringAttribute key="org.ops4j.pax.cursor.logLevel" value="INFO"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwrite" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteSystemBundles" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteUserBundles" value="false"/>
+<listAttribute key="org.ops4j.pax.cursor.profiles">
+<listEntry value="config"/>
+<listEntry value="log"/>
+</listAttribute>
+<mapAttribute key="org.ops4j.pax.cursor.provisionItems">
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver" value="true at true@null at true"/>
+<mapEntry key="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl" value="true at true@null at true"/>
+</mapAttribute>
+<listAttribute key="org.ops4j.pax.cursor.runArguments">
+<listEntry value="--overwrite=false"/>
+<listEntry value="--overwriteUserBundles=false"/>
+<listEntry value="--overwriteSystemBundles=false"/>
+<listEntry value="--log=INFO"/>
+<listEntry value="--profiles=config,log"/>
+<listEntry value="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl at update"/>
+</listAttribute>
+<stringAttribute key="osgi_framework_id" value="--platform=felix --version=1.4.1"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver + Home Automation Driver.launch
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver.launch
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver.launch (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver.launch Thu Jun 21 11:49:30 2012
@@ -1,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sourceLookupDirector>
<sourceContainers duplicates="false">
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.driver.pcl"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.driver.persona"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="<?xml version="1.0&
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true
-Dbundles.configuration.location=${workspace_loc:org.aal-persona.zigbee.driver.ha}/configurations"/>
+<stringAttribute key="org.ops4j.pax.cursor.logLevel" value="INFO"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwrite" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteSystemBundles" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteUserBundles" value="false"/>
+<listAttribute key="org.ops4j.pax.cursor.profiles">
+<listEntry value="config"/>
+<listEntry value="log"/>
+</listAttribute>
+<mapAttribute key="org.ops4j.pax.cursor.provisionItems">
+<mapEntry key="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.persona" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.stub" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/it.cnr.isti.primitivetypes-util" value="true at true@null at true"/>
+</mapAttribute>
+<listAttribute key="org.ops4j.pax.cursor.runArguments">
+<listEntry value="--overwrite=false"/>
+<listEntry value="--overwriteUserBundles=false"/>
+<listEntry value="--overwriteSystemBundles=false"/>
+<listEntry value="--log=INFO"/>
+<listEntry value="--profiles=config,log"/>
+<listEntry value="mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.2.2"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.stub at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.ha at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.zcl at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.persona at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api at update"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.driver.pcl at update"/>
+<listEntry value="mvn:org.aal-persona.sail/it.cnr.isti.primitivetypes-util at update"/>
+</listAttribute>
+<stringAttribute key="osgi_framework_id" value="--platform=felix --version=1.8.0"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver Stub + Home Automation Driver + PERSONA Driver.launch
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver.launch
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver.launch (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver.launch Thu Jun 21 11:49:30 2012
@@ -1,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ZigBee Base Driver"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sourceLookupDirector>
<sourceContainers duplicates="false">
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.basedriver.api"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<container memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <javaProject name="org.aal-persona.zigbee.basedriver"/> " typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/>
<co
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true
-Dit.cnr.isti.zigbee.driver.serial.portname=COM5
-Dit.cnr.isti.zigbee.pan.channel=22
-Dit.cnr.isti.zigbee.driver.mode=EndDevice
-Dbundles.configuration.location=${workspace_loc:org.aal-persona.zigbee.driver.ha}/configurations"/>
+<stringAttribute key="org.ops4j.pax.cursor.logLevel" value="INFO"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwrite" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteSystemBundles" value="false"/>
+<booleanAttribute key="org.ops4j.pax.cursor.overwriteUserBundles" value="false"/>
+<listAttribute key="org.ops4j.pax.cursor.profiles">
+<listEntry value="log"/>
+</listAttribute>
+<mapAttribute key="org.ops4j.pax.cursor.provisionItems">
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api" value="true at true@null at true"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001" value="true at true@null at false"/>
+<mapEntry key="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001" value="true at true@null at false"/>
+</mapAttribute>
+<listAttribute key="org.ops4j.pax.cursor.runArguments">
+<listEntry value="--overwrite=false"/>
+<listEntry value="--overwriteUserBundles=false"/>
+<listEntry value="--overwriteSystemBundles=false"/>
+<listEntry value="--log=INFO"/>
+<listEntry value="--profiles=log"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.net.sourceforge.trove/2.0.4-0001"/>
+<listEntry value="mvn:org.aal-persona.sail/org.aal-persona.zigbee.basedriver.api at update"/>
+<listEntry value="mvn:org.aal-persona.bundles/org.aal-persona.bundles.rxtx/2.1.7-0001"/>
+</listAttribute>
+<stringAttribute key="osgi_framework_id" value="--platform=felix --version=1.4.1"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/eclipse-run/ZigBee Base Driver.launch
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/Activator.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/Activator.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/Activator.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,142 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha;
+
+import it.cnr.isti.zigbee.ha.cluster.factory.HAClustersFactory;
+import it.cnr.isti.zigbee.ha.device.api.generic.LevelControlSwitch;
+import it.cnr.isti.zigbee.ha.device.api.generic.MainsPowerOutlet;
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffOutput;
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffSwitch;
+import it.cnr.isti.zigbee.ha.device.api.hvac.TemperatureSensor;
+import it.cnr.isti.zigbee.ha.device.api.lighting.DimmableLight;
+import it.cnr.isti.zigbee.ha.device.api.lighting.LightSensor;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OccupancySensor;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLightSwitch;
+import it.cnr.isti.zigbee.ha.device.api.security_safety.IAS_Zone;
+import it.cnr.isti.zigbee.ha.device.factory.OnOffLightFactory;
+import it.cnr.isti.zigbee.ha.device.impl.DimmableLightDevice;
+import it.cnr.isti.zigbee.ha.device.impl.IAS_ZoneDevice;
+import it.cnr.isti.zigbee.ha.device.impl.LevelControlSwitchDevice;
+import it.cnr.isti.zigbee.ha.device.impl.LightSensorDevice;
+import it.cnr.isti.zigbee.ha.device.impl.MainsPowerOutletDevice;
+import it.cnr.isti.zigbee.ha.device.impl.OccupancySensorDevice;
+import it.cnr.isti.zigbee.ha.device.impl.OnOffLightSwitchDevice;
+import it.cnr.isti.zigbee.ha.device.impl.OnOffOutputDevice;
+import it.cnr.isti.zigbee.ha.device.impl.OnOffSwitchDevice;
+import it.cnr.isti.zigbee.ha.device.impl.TemperatureSensorDevice;
+import it.cnr.isti.zigbee.ha.driver.HADriverConfiguration;
+import it.cnr.isti.zigbee.ha.driver.HAImporter;
+import it.cnr.isti.zigbee.ha.driver.core.GenericHADeviceFactory;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceFactoryBase;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+
+import java.util.ArrayList;
+import java.util.Properties;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.cm.ManagedService;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 90 $ ($LastChangedDate: 2010-10-08 21:02:14 +0200 (ven, 08 ott 2010) $)
+ *
+ */
+public class Activator implements BundleActivator {
+
+ private static final String HA_CONFIG_PID = "it.cnr.isti.zigbee.ha.configuration";
+
+ private HAImporter haImporter;
+
+ private final ArrayList<HADeviceFactoryBase> factories = new ArrayList<HADeviceFactoryBase>();
+
+ private ServiceRegistration configRegistration;
+
+ private static HADriverConfiguration configuration = null;
+
+ public static HADriverConfiguration getConfiguration(){
+ return configuration;
+ }
+
+ private void doRegisterConfigurationService(BundleContext ctx){
+ Properties properties = new Properties();
+
+ properties.setProperty(Constants.SERVICE_PID, HA_CONFIG_PID);
+
+ configuration = new HADriverConfiguration(ctx);
+ configRegistration = ctx.registerService(
+ new String[]{ManagedService.class.getName(), ReportingConfiguration.class.getName()},
+ configuration,
+ null
+ );
+ }
+
+ public void start(BundleContext ctx) throws Exception {
+
+ doRegisterConfigurationService(ctx);
+
+ new HAClustersFactory(ctx).register();
+
+ factories.add(new OnOffLightFactory(ctx).register());
+
+ //factories.add(new GenericHADeviceFactory(ctx, HADevice.class, GenericHADevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, DimmableLight.class, DimmableLightDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, LevelControlSwitch.class, LevelControlSwitchDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, OccupancySensor.class, OccupancySensorDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, OnOffLightSwitch.class, OnOffLightSwitchDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, OnOffOutput.class, OnOffOutputDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, OnOffSwitch.class, OnOffSwitchDevice.class).register());
+
+ factories.add(new GenericHADeviceFactory(ctx, TemperatureSensor.class, TemperatureSensorDevice.class).register());
+
+ /* */
+
+ factories.add(new GenericHADeviceFactory(ctx, MainsPowerOutlet.class, MainsPowerOutletDevice.class).register()); // new
+
+ factories.add(new GenericHADeviceFactory(ctx, IAS_Zone.class, IAS_ZoneDevice.class).register()); // new
+
+ factories.add(new GenericHADeviceFactory(ctx, LightSensor.class, LightSensorDevice.class).register()); // new
+
+ /* */
+
+ haImporter = new HAImporter(ctx);
+ }
+
+ public void stop(BundleContext context) throws Exception {
+ haImporter.close();
+
+ for (HADeviceFactoryBase factory : factories) {
+ factory.unregister();
+ }
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/Activator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/HAClustersFactory.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/HAClustersFactory.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/HAClustersFactory.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,106 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.cluster.factory;
+
+import it.cnr.isti.zigbee.ha.cluster.impl.AlarmsImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.BasicImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.DeviceTemperatureConfigurationImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.GroupsImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.IdentifyImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.IlluminanceMeasurementImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.LevelControlImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.OccupacySensingImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.OnOffImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.OnOffSwitchConfigurationImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.PowerConfigurationImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.RelativeHumidityMeasurementImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.ScenesImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.TemperatureMeasurementImpl;
+import it.cnr.isti.zigbee.ha.cluster.impl.TimeImpl;
+import it.cnr.isti.zigbee.ha.driver.core.ClusterFactoryBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class HAClustersFactory extends ClusterFactoryBase {
+
+ //General
+ final static String BASIC_KEY = HAProfile.ID + ":"+ HAProfile.BASIC;
+ final static String POWER_CONFIGURATION_KEY = HAProfile.ID + ":"+ HAProfile.POWER_CONFIGURATION;
+ final static String DEVICE_TEMPERATURE_CONFIGURATION_KEY = HAProfile.ID + ":"+ HAProfile.DEVICE_TEMPERATURE_CONFIGURATION;
+ final static String IDENTIFY_KEY = HAProfile.ID + ":"+ HAProfile.IDENTIFY;
+ final static String GROUPS_KEY = HAProfile.ID + ":"+ HAProfile.GROUPS;
+ final static String SCENES_KEY = HAProfile.ID + ":"+ HAProfile.SCENES;
+ final static String ONOFF_KEY = HAProfile.ID + ":"+ HAProfile.ON_OFF;
+ final static String ON_OFF_SWITCH_CONFIGURATION_KEY = HAProfile.ID + ":"+ HAProfile.ON_OFF_SWITCH_CONFIGURATION;
+ final static String LEVEL_CONTROL_KEY = HAProfile.ID + ":"+ HAProfile.LEVEL_CONTROL;
+ final static String ALARMS_KEY = HAProfile.ID + ":"+ HAProfile.ALARMS;
+ final static String TIME_KEY = HAProfile.ID + ":"+ HAProfile.TIME;
+ final static String COMMISSIONING_KEY = HAProfile.ID + ":"+ HAProfile.COMMISSIONING;
+
+ //Measurement and Sensing
+ final static String TEMPERATURE_MEASUREMENT_KEY = HAProfile.ID + ":"+ HAProfile.TEMPERATURE_MEASUREMENT;
+ final static String RELATIVE_HUMIDITY_MEASUREMENT_KEY = HAProfile.ID + ":"+ HAProfile.RELATIVE_HUMIDITY_MEASUREMENT;
+ final static String OCCUPANCY_SENSING_KEY = HAProfile.ID + ":"+ HAProfile.OCCUPANCY_SENSING;
+ final static String ILLUMINANCE_MEASUREMENT_KEY = HAProfile.ID + ":"+ HAProfile.ILLUMINANCE_MEASUREMENT; // new
+
+ //Security and Safety
+ final static String IAS_ZONE_KEY = HAProfile.ID + ":"+ HAProfile.IAS_ZONE;
+ final static String IAS_WD_KEY = HAProfile.ID + ":"+ HAProfile.IAS_WD;
+
+ public HAClustersFactory(BundleContext ctx){
+ super(ctx);
+
+ //General
+ addCluster(BASIC_KEY, BasicImpl.class);
+ addCluster(POWER_CONFIGURATION_KEY, PowerConfigurationImpl.class);
+ addCluster(DEVICE_TEMPERATURE_CONFIGURATION_KEY, DeviceTemperatureConfigurationImpl.class);
+ addCluster(IDENTIFY_KEY, IdentifyImpl.class);
+ addCluster(GROUPS_KEY, GroupsImpl.class);
+ addCluster(SCENES_KEY, ScenesImpl.class);
+ addCluster(ONOFF_KEY, OnOffImpl.class);
+ addCluster(ON_OFF_SWITCH_CONFIGURATION_KEY, OnOffSwitchConfigurationImpl.class);
+ addCluster(LEVEL_CONTROL_KEY, LevelControlImpl.class);
+ addCluster(ALARMS_KEY, AlarmsImpl.class);
+ addCluster(TIME_KEY, TimeImpl.class);
+ addCluster(COMMISSIONING_KEY, TimeImpl.class); // new
+
+ //Measurement and Sensing
+ addCluster(TEMPERATURE_MEASUREMENT_KEY, TemperatureMeasurementImpl.class);
+ addCluster(RELATIVE_HUMIDITY_MEASUREMENT_KEY, RelativeHumidityMeasurementImpl.class);
+ addCluster(OCCUPANCY_SENSING_KEY, OccupacySensingImpl.class);
+ addCluster(ILLUMINANCE_MEASUREMENT_KEY, IlluminanceMeasurementImpl.class); // new
+
+ //Security and Safety
+ //TODO the glue class addCluster(IAS_ZONE_KEY, IASZoneImpl.class);
+ //TODO the glue class addCluster(IAS_WD_KEY, IASWDImpl.class);
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/factory/HAClustersFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/Cluster.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/Cluster.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/Cluster.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,77 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue;
+
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Cluster {
+
+ String PROFILE_CLUSTER_IDs = "zigbee.profile.cluster.ids";
+
+ /**
+ * This method return the actual <i>ClusterId</i>. Please remember that the final and official <i>ClusterId</i><br>
+ * is defined by the <i>Profile</i> even if the Cluster is defined by a <i>Cluster Library</i>.
+ *
+ * @return the <i>ClusterId</i>
+ */
+ public int getId();
+
+ /**
+ *
+ * @return This method return the {@link String} identifying the human readable name of the cluster.<br>
+ * The name is assigned by the document defining the Cluster, either the <i>Cluster Library</i> or<br>
+ * or the <i>Profile</i>
+ */
+ public String getName();
+
+ /**
+ *
+ * This method return an array of {@link Subscription} objects according to the number of reportable {@link Attribute}
+ * currently used.
+ * @return an array of {@link Subscription}
+ */
+ public Subscription[] getActiveSubscriptions();
+
+ /**
+ *
+ * @return {@link Attribute} array with all the attribute implemented by the {@link Cluster}
+ * @since 0.2.0
+ */
+ public Attribute[] getAttributes();
+
+ /**
+ *
+ * @param id the <code>int</code> value identifying an attribute of the {@link Cluster}
+ * @return {@link Attribute} implemented by the cluster identified by the given id
+ * @since 0.2.0
+ */
+ public Attribute getAttribute(int id);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/Cluster.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Alarms.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Alarms.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Alarms.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,53 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.general.alarms.AlarmListener;
+import it.cnr.isti.zigbee.zcl.library.api.general.alarms.GetAlarmResponse;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Alarms extends Cluster {
+
+ public Attribute getAttributeAlarmCount();
+
+ public void resetAlarm(int clusterId, int attributeId) throws ZigBeeHAException;
+
+ public void resetAllAlarms() throws ZigBeeHAException;
+
+ public GetAlarmResponse getAlarm() throws ZigBeeHAException;
+
+ public void resetAlarmLog() throws ZigBeeHAException;
+
+ public boolean addAlarmListerner(AlarmListener listener);
+
+ public boolean removeAlarmListerner(AlarmListener listener);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Alarms.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Basic.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Basic.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Basic.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,53 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Basic extends Cluster {
+
+ public Attribute getZCLVersion();
+ public Attribute getApplicationVersion();
+ public Attribute getStackVersion();
+ public Attribute getHWVersion();
+ public Attribute getManufacturerName();
+ public Attribute getModelIdentifier();
+ public Attribute getDateCode();
+ public Attribute getPowerSource();
+ public String getLocationDescription() throws ZigBeeHAException;
+ public Attribute getPhysicalEnviroment();
+ public boolean getDeviceEnabled() throws ZigBeeHAException;
+ public Attribute getAlarmMask();
+
+ public void resetToFactoryDefault() throws ZigBeeHAException;
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Basic.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/DeviceTemperatureConfiguration.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/DeviceTemperatureConfiguration.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/DeviceTemperatureConfiguration.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,46 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface DeviceTemperatureConfiguration extends Cluster {
+
+ public Attribute getCurrentTemperature();
+ public Attribute getMinTempExperienced();
+ public Attribute getMaxTempExperienced();
+ public Attribute getOverTempTotalDwell();
+
+ public Attribute getDeviceTempAlarmMask();
+ public Attribute getLowTempThreshold();
+ public Attribute getHighTempThreshold();
+ public Attribute getLowTempDwellTripPoint();
+ public Attribute getHighTempDwellTripPoint();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/DeviceTemperatureConfiguration.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Groups.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Groups.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Groups.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,56 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.AddGroupResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.GetGroupMembershipResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.RemoveGroupResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.ViewGroupResponse;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Groups extends Cluster{
+
+ public AddGroupResponse addGroup(int groupId) throws ZigBeeHAException;
+
+ public void addGroupIfIdentifying(int groupId, String name) throws ZigBeeHAException;
+
+ public GetGroupMembershipResponse getGroupMembership(int[] groupList) throws ZigBeeHAException;
+
+ public void removeAllGroup() throws ZigBeeHAException;
+
+ public RemoveGroupResponse removeGroup(int groupId) throws ZigBeeHAException;
+
+ public ViewGroupResponse viewGroup(int groupId) throws ZigBeeHAException;
+
+ public Attribute getNameSupport();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Groups.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Identify.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Identify.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Identify.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,43 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Identify extends Cluster{
+
+ public void identify(int time) throws ZigBeeHAException;
+
+ public int IdentifyQuery() throws ZigBeeHAException;
+
+ public int getIdentifyTime() throws ZigBeeHAException;
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Identify.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/LevelControl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/LevelControl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/LevelControl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,85 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.CurrentLevelListener;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface LevelControl extends Cluster {
+
+ public Attribute getCurrentLevel();
+ public Attribute getRemainingTime();
+ public Attribute getOnOffTransactionTime();
+ public Attribute getOnLevel();
+
+ /**
+ *
+ * @param listener The {@link CurrentLevelListener} to subscribe for events
+ * @since 0.2.0
+ */
+ public boolean subscribe(CurrentLevelListener listener);
+
+ /**
+ *
+ * @param listener The {@link CurrentLevelListener} to unsubscribe
+ * @since 0.2.0
+ */
+ public boolean unsubscribe(CurrentLevelListener listener);
+
+
+ public void moveToLevel(short level, int time) throws ZigBeeHAException;
+ public void move(byte mode, short rate) throws ZigBeeHAException;
+ public void step(byte mode, short step, int time) throws ZigBeeHAException;
+ public void stop() throws ZigBeeHAException;
+
+ /**
+ * @since 0.6.0
+ */
+ public void moveToLevelWithOnOff(short level, int time) throws ZigBeeHAException;
+
+ /**
+ * @since 0.6.0
+ */
+ public void moveWithOnOff(byte mode, short rate) throws ZigBeeHAException;
+
+ /**
+ * @since 0.6.0
+ */
+ public void stepWithOnOff(byte mode, short step, int time) throws ZigBeeHAException;
+
+ /**
+ * @since 0.6.0
+ */
+ public void stopWithOnOff() throws ZigBeeHAException;
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/LevelControl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOff.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOff.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOff.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,61 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.OnOffListener;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOff extends Cluster{
+
+ public void on() throws ZigBeeHAException;
+
+ public void off() throws ZigBeeHAException;
+
+ public void toggle() throws ZigBeeHAException;
+
+ public boolean getOnOff() throws ZigBeeHAException;
+
+ /**
+ *
+ * @param listener The {@link OnOffListener} to subscribe for events
+ * @since 0.2.0
+ */
+ public boolean subscribe(OnOffListener listener);
+
+ /**
+ *
+ * @param listener The {@link OnOffListener} to unsubscribe
+ * @since 0.2.0
+ */
+ public boolean unsubscribe(OnOffListener listener);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOff.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitch.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitch.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitch.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,52 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Response;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface OnOffSwitch extends Cluster {
+
+public Attribute getAttributeOnOff();
+
+ public Response on(boolean disableDefatultResponse);
+ public Response off(boolean disableDefatultResponse);
+ public Response toggle(boolean disableDefatultResponse);
+
+
+ public void on();
+
+
+ public void off();
+
+
+ public void toggle();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitch.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitchConfiguration.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitchConfiguration.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitchConfiguration.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,38 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface OnOffSwitchConfiguration extends Cluster {
+
+ public Attribute getSwitchType();
+ public Attribute getSwitchActions();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/OnOffSwitchConfiguration.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/PowerConfiguration.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/PowerConfiguration.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/PowerConfiguration.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,53 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface PowerConfiguration extends Cluster {
+
+ public Attribute getMainsVoltage();
+ public Attribute getMainsFrequency();
+
+ public Attribute getMainsAlarmMask();
+ public Attribute getMainsVoltageMinThreshold();
+ public Attribute getMainsVoltageMaxThreshold();
+ public Attribute getMainsDwellTripPoint();
+
+ public Attribute getBatteryVoltage();
+
+ public Attribute getBatteryManufacturer();
+ public Attribute getBatterySize();
+ public Attribute getBatteryAHrRating();
+ public Attribute getBatteryQuantity();
+ public Attribute getBatteryRatedVoltage();
+ public Attribute getBatteryAlarmMask();
+ public Attribute getBatteryVoltageMinThreshold();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/PowerConfiguration.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/RSSILocation.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/RSSILocation.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/RSSILocation.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,49 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Response;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface RSSILocation extends Cluster {
+
+public Attribute getAttributeOnOff();
+
+ public Response on(boolean disableDefatultResponse);
+ public Response off(boolean disableDefatultResponse);
+ public Response toggle(boolean disableDefatultResponse);
+
+ public void on();
+
+ public void off();
+
+ public void toggle();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/RSSILocation.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Scenes.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Scenes.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Scenes.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,69 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.AddScenePayload;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.AddSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.GetSceneMembershipResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.RemoveAllSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.RemoveSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.StoreSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.ViewSceneResponse;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Scenes extends Cluster{
+
+ public AddSceneResponse addScene(AddScenePayload scenePayload) throws ZigBeeHAException;
+
+ public GetSceneMembershipResponse getSceneMembership(int groupId) throws ZigBeeHAException;
+
+ public void recallScene(int groupId, short sceneId) throws ZigBeeHAException;
+
+ public RemoveAllSceneResponse removeAllScene() throws ZigBeeHAException;
+
+ public RemoveSceneResponse removeScene(int groupId, short sceneId) throws ZigBeeHAException;
+
+ public StoreSceneResponse storeScene(int groupId, short sceneId) throws ZigBeeHAException;
+
+ public ViewSceneResponse viewScene(int groupId, short sceneId) throws ZigBeeHAException;
+
+ public Attribute getSceneCount();
+
+ public Attribute getCurrentScene();
+
+ public Attribute getCurrentGroup();
+
+ public Attribute getSceneValid();
+
+ public Attribute getNameSupport();
+
+ public Attribute getLastConfiguredBy();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Scenes.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Time.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Time.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Time.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,38 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface Time extends Cluster {
+
+ public Attribute getTime();
+ public Attribute getTimeStatus();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/Time.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,40 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface CurrentLevelEvent {
+
+ public int getEvent();
+
+ public Cluster getSource();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,36 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general.event;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface CurrentLevelListener {
+
+ public void changedCurrentLevel(CurrentLevelEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/CurrentLevelListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,46 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOffEvent {
+
+ public boolean getEvent();
+
+ /**
+ *
+ * @return the reference to the {@link Cluster} object which represent the <i>Cluster</i> whose<br>
+ * generated the event
+ * @since 0.6.0
+ */
+ public Cluster getSource();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,36 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.general.event;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOffListener {
+
+ public void changedOnOff(OnOffEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/general/event/OnOffListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/IlluminanceMeasurement.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/IlluminanceMeasurement.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/IlluminanceMeasurement.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,29 @@
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.LightSensorTypeListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+
+public interface IlluminanceMeasurement extends Cluster {
+
+ public Attribute getMeasuredValue();
+ public Attribute getMinMeasuredValue();
+ public Attribute getMaxMeasuredValue();
+ public Attribute getTolerance();
+ public Attribute getLightSensorType();
+
+ public boolean subscribe(MeasuredValueListener tl);
+
+ public boolean unsubscribe(MeasuredValueListener tl);
+
+ public boolean subscribe(ToleranceListener tl);
+
+ public boolean unsubscribe(ToleranceListener tl);
+
+ //public boolean subscribe(LightSensorTypeListener tl);
+
+ //public boolean unsubscribe(LightSensorTypeListener tl);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/IlluminanceMeasurement.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/OccupacySensing.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/OccupacySensing.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/OccupacySensing.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,65 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.OccupancyListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+
+/**
+ * This class represent the <b>Occupancy sensing</b> Cluster as defined by the document:<br>
+ * <i>ZigBee Cluster Library</i> public release version 075123r01ZB
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OccupacySensing extends Cluster {
+
+ public Attribute getOccupancy();
+
+ /**
+ *
+ * @param listener The {@link OccupancyListener} to subscribe for events
+ * @since 0.2.0
+ */
+ public void subscribe(OccupancyListener listener);
+
+ /**
+ *
+ * @param listener The {@link OccupancyListener} to unsubscribe
+ * @since 0.2.0
+ */
+ public void unsubscribe(OccupancyListener listener);
+
+ public Attribute getOccupancySensorType();
+
+ public Attribute getPIROccupiedToUnoccupiedDelay();
+ public Attribute getPIRUnoccupiedToOccupiedDelay();
+
+ public Attribute getUltraSonicOccupiedToUnoccupiedDelay();
+ public Attribute getUltraSonicUnoccupiedToOccupiedDelay();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/OccupacySensing.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/RelativeHumidityMeasurement.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/RelativeHumidityMeasurement.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/RelativeHumidityMeasurement.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,74 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+
+/**
+ * This interface simplify the use of the cluster by avoiding the check of error messages and flow control.
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public interface RelativeHumidityMeasurement extends Cluster {
+
+ public Attribute getMeasuredValue();
+ public Attribute getMinMeasuredValue();
+ public Attribute getMaxMeasuredValue();
+ public Attribute getTolerance();
+
+ /**
+ *
+ * @param tl The {@link ToleranceListener} to subscribe for events
+ * @since 0.6.0
+ */
+ public boolean subscribe(ToleranceListener tl);
+
+ /**
+ *
+ * @param tl The {@link ToleranceListener} to unsubscribe
+ * @since 0.6.0
+ */
+ public boolean unsubscribe(ToleranceListener tl);
+
+ /**
+ *
+ * @param mvl The {@link MeasuredValueListener} to subscribe for events
+ * @since 0.6.0
+ */
+ public boolean subscribe(MeasuredValueListener mvl);
+
+ /**
+ *
+ * @param mvl The {@link MeasuredValueListener} to unsubscribe
+ * @since 0.6.0
+ */
+ public boolean unsubscribe(MeasuredValueListener mvl);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/RelativeHumidityMeasurement.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/TemperatureMeasurement.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/TemperatureMeasurement.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/TemperatureMeasurement.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,71 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface TemperatureMeasurement extends Cluster {
+
+ public Attribute getMeasuredValue();
+ public Attribute getMinMeasuredValue();
+ public Attribute getMaxMeasuredValue();
+ public Attribute getTolerance();
+
+ /**
+ *
+ * @param tl The {@link ToleranceListener} to subscribe for events
+ * @since 0.6.0
+ */
+ public boolean subscribe(ToleranceListener tl);
+
+ /**
+ *
+ * @param tl The {@link ToleranceListener} to unsubscribe
+ * @since 0.6.0
+ */
+ public boolean unsubscribe(ToleranceListener tl);
+
+ /**
+ *
+ * @param mvl The {@link MeasuredValueListener} to subscribe for events
+ * @since 0.6.0
+ */
+ public boolean subscribe(MeasuredValueListener mvl);
+
+ /**
+ *
+ * @param mvl The {@link MeasuredValueListener} to unsubscribe
+ * @since 0.6.0
+ */
+ public boolean unsubscribe(MeasuredValueListener mvl);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/TemperatureMeasurement.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,10 @@
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+public interface LightSensorTypeEvent {
+
+ public int getEvent();
+
+ public Cluster getSource();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,7 @@
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+public interface LightSensorTypeListener {
+
+ public void changedLightSensorType(LightSensorTypeEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/LightSensorTypeListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,40 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface MeasuredValueEvent {
+
+ public int getEvent();
+
+ public Cluster getSource();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,36 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface MeasuredValueListener {
+
+ public void changedMeasuredValue(MeasuredValueEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/MeasuredValueListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,41 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface OccupancyEvent {
+
+ public int getEvent();
+
+ public Cluster getSource();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,37 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface OccupancyListener {
+
+ public void changedOccupancy(OccupancyEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/OccupancyListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceEvent.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceEvent.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceEvent.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,40 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface ToleranceEvent {
+
+ public int getEvent();
+
+ public Cluster getSource();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceEvent.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceListener.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceListener.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceListener.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,36 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface ToleranceListener {
+
+ public void changedTolerance(ToleranceEvent event);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/measureament_sensing/event/ToleranceListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASWD.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASWD.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASWD.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,42 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.glue.security_safety;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Response;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface IASWD extends Cluster {
+
+ public Attribute getMaxDuration();
+
+ public Response startWaiting(short warningMode, short strobe, long warningDuration);
+
+ public Response squawk(short squawkMode, short strobe, short squawkLevel);
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASWD.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASZone.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASZone.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASZone.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,48 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.cluster.glue.security_safety;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.security_safety.ias_zone.ZoneEnrollResponse;
+import it.cnr.isti.zigbee.zcl.library.api.security_safety.ias_zone.ZoneStatusChangeNotificationListener;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface IASZone extends Cluster {
+
+ public Attribute getZoneState();
+ public Attribute getZoneType();
+ public Attribute getZoneStatus();
+ public Attribute getIASCIEAddress();
+
+ public ZoneEnrollResponse ZoneEnrollRequest(byte zoneType, byte manufacturerCode);
+
+ public boolean addZoneStatusChangeNotificationListener(ZoneStatusChangeNotificationListener listener);
+
+ public boolean removeZoneStatusChangeNotificationListener(ZoneStatusChangeNotificationListener listener);
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/glue/security_safety/IASZone.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/AlarmsImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/AlarmsImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/AlarmsImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,144 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Alarms;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Response;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.general.alarms.AlarmListener;
+import it.cnr.isti.zigbee.zcl.library.api.general.alarms.GetAlarmResponse;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.AlarmsCluster;
+
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class AlarmsImpl implements Alarms{
+
+ private final AlarmsCluster alarmsCluster;
+ private final Attribute attribute;
+
+ public AlarmsImpl(ZigBeeDevice zbDevice){
+ alarmsCluster = new AlarmsCluster(zbDevice);
+ attribute = alarmsCluster.getAttributeAlarmCount();
+ }
+
+ public boolean getOnOff() throws ZigBeeHAException {
+ try {
+ Boolean value = (Boolean) attribute.getValue();
+ return value.booleanValue();
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return alarmsCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return alarmsCluster.getId();
+ }
+
+ public String getName() {
+ return alarmsCluster.getName();
+ }
+
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = alarmsCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return alarmsCluster.getAvailableAttributes();
+ }
+
+ public Attribute getAttributeAlarmCount() {
+ return attribute;
+ }
+
+ public boolean addAlarmListerner(AlarmListener listener) {
+ return alarmsCluster.addAlarmListerner(listener);
+ }
+
+ public boolean removeAlarmListerner(AlarmListener listener) {
+ return alarmsCluster.removeAlarmListerner(listener);
+ }
+
+ public GetAlarmResponse getAlarm() throws ZigBeeHAException {
+ try {
+ Response response = alarmsCluster.getAlarm();
+ if (response.getZCLHeader().getCommandId() != GetAlarmResponse.ID)
+ throw new ZigBeeHAException( ((DefaultResponse) response).getStatus().toString());
+
+ return (GetAlarmResponse) response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void resetAlarm(int clusterId, int attributeId) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse) alarmsCluster.resetAlarm(clusterId, attributeId);
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void resetAlarmLog() throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse) alarmsCluster.resetAlarmLog();
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void resetAllAlarms() throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse) alarmsCluster.resetAllAlarms();
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/AlarmsImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/BasicImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/BasicImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/BasicImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,168 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Basic;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.BasicCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class BasicImpl implements Basic{
+
+ private BasicCluster basicCluster;
+ private Attribute zclVersion;
+ private Attribute applicationVersion;
+ private Attribute stackVersion;
+ private Attribute hwVersion;
+ private Attribute manufacturerName;
+ private Attribute modelIdentifier;
+ private Attribute dataCode;
+ private Attribute powerSource;
+ private Attribute locationDescription;
+ private Attribute physicalEnviroment;
+ private Attribute deviceEnabled;
+ private Attribute alarmMask;
+
+ public BasicImpl(ZigBeeDevice zbDevice){
+ basicCluster = new BasicCluster(zbDevice);
+ zclVersion = basicCluster.getAttributeZCLVersion();
+ applicationVersion = basicCluster.getAttributeApplicationVersion();
+ stackVersion = basicCluster.getAttributeStackVersion();
+ hwVersion = basicCluster.getAttributeHWVersion();
+ manufacturerName = basicCluster.getAttributeManufacturerName();
+ modelIdentifier = basicCluster.getAttributeModelIdentifier();
+ dataCode = basicCluster.getAttributeDateCode();
+ powerSource = basicCluster.getPowerSource();
+ locationDescription = basicCluster.getAttributeLocationDescription();
+ physicalEnviroment = basicCluster.getAttributePhysicalEnviroment();
+ deviceEnabled = basicCluster.getAttributeDeviceEnabled();
+ alarmMask = basicCluster.getAttributeAlarmMask();
+ }
+
+ public Attribute getAlarmMask() {
+ return alarmMask;
+ }
+
+ public Attribute getApplicationVersion() {
+ return applicationVersion;
+ }
+
+ public Attribute getDateCode() {
+ return dataCode;
+ }
+
+ public boolean getDeviceEnabled() throws ZigBeeHAException{
+ try {
+ Boolean value = (Boolean) deviceEnabled.getValue();
+ return value.booleanValue();
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Attribute getHWVersion() {
+ return hwVersion;
+ }
+
+ public String getLocationDescription() throws ZigBeeHAException{
+ try {
+ String value = (String) locationDescription.getValue();
+ return value;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Attribute getManufacturerName() {
+ return manufacturerName;
+ }
+
+ public Attribute getModelIdentifier() {
+ return modelIdentifier;
+ }
+
+ public Attribute getPhysicalEnviroment() {
+ return physicalEnviroment;
+ }
+
+ public Attribute getPowerSource() {
+ return powerSource;
+ }
+
+ public Attribute getStackVersion() {
+ return stackVersion;
+ }
+
+ public Attribute getZCLVersion() {
+ return zclVersion;
+ }
+
+ public void resetToFactoryDefault() throws ZigBeeHAException{
+ try {
+ DefaultResponse response = basicCluster.resetToFactoryDefault();
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return basicCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return basicCluster.getId();
+ }
+
+ public String getName() {
+ return basicCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = basicCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return basicCluster.getAvailableAttributes();
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/BasicImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/DeviceTemperatureConfigurationImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/DeviceTemperatureConfigurationImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/DeviceTemperatureConfigurationImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,125 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.DeviceTemperatureConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.general.DeviceTemperatureConfigurationCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class DeviceTemperatureConfigurationImpl implements DeviceTemperatureConfiguration{
+
+ private final DeviceTemperatureConfigurationCluster cluster;
+ private final Attribute currentTemperature;
+ private final Attribute deviceTemperature;
+ private final Attribute highTemperature;
+ private final Attribute highTemperatureThreshold;
+ private final Attribute lowTemperature;
+ private final Attribute lowTemperatureThreshold;
+ private final Attribute maxTemperature;
+ private final Attribute minTemperature;
+ private final Attribute overTemperature;
+
+ public DeviceTemperatureConfigurationImpl(ZigBeeDevice zbDevice){
+ cluster = new DeviceTemperatureConfigurationCluster(zbDevice);
+ currentTemperature = cluster.getAttributeCurrentTemperature();
+ deviceTemperature = cluster.getAttributeDeviceTempAlarmMask();
+ highTemperature = cluster.getAttributeHighTempDwellTripPoint();
+ highTemperatureThreshold = cluster.getAttributeHighTempThreshold();
+ lowTemperature = cluster.getAttributeLowTempDwellTripPoint();
+ lowTemperatureThreshold = cluster.getAttributeLowTempThreshold();
+ maxTemperature = cluster.getAttributeMaxTempExperienced();
+ minTemperature = cluster.getAttributeMinTempExperienced();
+ overTemperature = cluster.getAttributeOverTempTotalDwell();
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return cluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return cluster.getId();
+ }
+
+ public String getName() {
+ return cluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = cluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return cluster.getAvailableAttributes();
+ }
+
+ public Attribute getCurrentTemperature() {
+ return currentTemperature;
+ }
+
+ public Attribute getDeviceTempAlarmMask() {
+ return deviceTemperature;
+ }
+
+ public Attribute getHighTempDwellTripPoint() {
+ return highTemperature;
+ }
+
+ public Attribute getHighTempThreshold() {
+ return highTemperatureThreshold;
+ }
+
+ public Attribute getLowTempDwellTripPoint() {
+ return lowTemperature;
+ }
+
+ public Attribute getLowTempThreshold() {
+ return lowTemperatureThreshold;
+ }
+
+ public Attribute getMaxTempExperienced() {
+ return maxTemperature;
+ }
+
+ public Attribute getMinTempExperienced() {
+ return minTemperature;
+ }
+
+ public Attribute getOverTempTotalDwell() {
+ return overTemperature;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/DeviceTemperatureConfigurationImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/GroupsImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/GroupsImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/GroupsImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,143 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.AddGroupResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.GetGroupMembershipResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.RemoveGroupResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.groups.ViewGroupResponse;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.GroupsCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class GroupsImpl implements Groups {
+
+ private GroupsCluster groupCluster;
+ private Attribute nameSupport;
+
+ public GroupsImpl(ZigBeeDevice zbDevice){
+ groupCluster = new GroupsCluster(zbDevice);
+ nameSupport = groupCluster.getAttributeNameSupport();
+ }
+
+ public AddGroupResponse addGroup(int groupId) throws ZigBeeHAException{
+ try {
+ AddGroupResponse response = (AddGroupResponse)groupCluster.addGroup(groupId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void addGroupIfIdentifying(int groupId, String name) throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse)groupCluster.addGroupIfIdentifying(groupId, name);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+
+ }
+
+ public GetGroupMembershipResponse getGroupMembership(int[] groupList) throws ZigBeeHAException{
+ try {
+ GetGroupMembershipResponse response = (GetGroupMembershipResponse)groupCluster.getGroupMembership(groupList);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Attribute getNameSupport() {
+ return nameSupport;
+ }
+
+ public void removeAllGroup() throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse)groupCluster.removeAllGroup();
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public RemoveGroupResponse removeGroup(int groupId) throws ZigBeeHAException{
+ try {
+ RemoveGroupResponse response = (RemoveGroupResponse)groupCluster.removeGroup(groupId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public ViewGroupResponse viewGroup(int groupId) throws ZigBeeHAException{
+ try {
+ ViewGroupResponse response = (ViewGroupResponse)groupCluster.viewGroup(groupId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return groupCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return groupCluster.getId();
+ }
+
+ public String getName() {
+ return groupCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = groupCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return groupCluster.getAvailableAttributes();
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/GroupsImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IASWDImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IASWDImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IASWDImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,63 @@
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.security_safety.IASWD;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Response;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+public class IASWDImpl implements IASWD {
+
+ //private final IASWDCluster cluster;
+
+ private final Attribute maxDuration;
+
+ public IASWDImpl(ZigBeeDevice zbDevice){
+
+ //cluster = new IASWD(zbDevice);
+ //maxDuration = cluster.getMeasuredValue();
+ maxDuration = null;
+ //cluster = null;
+ }
+
+ public int getId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Attribute getAttribute(int id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Attribute getMaxDuration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Response startWaiting(short warningMode, short strobe,
+ long warningDuration) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Response squawk(short squawkMode, short strobe, short squawkLevel) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IASWDImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IdentifyImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IdentifyImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IdentifyImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,109 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.general.identify.IdentifyQueryResponse;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.IdentifyCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class IdentifyImpl implements Identify {
+
+ private IdentifyCluster identifyCluster;
+ private Attribute identifyTime;
+
+
+ public IdentifyImpl(ZigBeeDevice zbDevice){
+ identifyCluster = new IdentifyCluster(zbDevice);
+
+ }
+
+ public int IdentifyQuery() throws ZigBeeHAException{
+ try {
+ IdentifyQueryResponse response = (IdentifyQueryResponse)identifyCluster.identifyQuery();
+ return response.getTimeout();
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public int getIdentifyTime() throws ZigBeeHAException{
+ try {
+ return (Integer)identifyTime.getValue();
+
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void identify(int time) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse) identifyCluster.identify(time);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return identifyCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return identifyCluster.getId();
+ }
+
+ public String getName() {
+ return identifyCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = identifyCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return identifyCluster.getAvailableAttributes();
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IdentifyImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IlluminanceMeasurementImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IlluminanceMeasurementImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IlluminanceMeasurementImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,114 @@
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.IlluminanceMeasurement;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.MeasuredValueBridgeListeners;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.ToleranceBridgeListeners;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.measureament_sensing.IlluminanceMeasurementCluster;
+
+public class IlluminanceMeasurementImpl implements IlluminanceMeasurement {
+
+ private final IlluminanceMeasurementCluster cluster;
+ private final Attribute measuredValue;
+ private final Attribute minMeasuredValue;
+ private final Attribute maxMeasuredValue;
+ private final Attribute tolerance;
+ private final Attribute lightSensorType;
+
+ private final MeasuredValueBridgeListeners measureBridge;
+ private final ToleranceBridgeListeners toleranceBridge;
+ //private final ToleranceBridgeListeners toleranceBridge;
+
+ public IlluminanceMeasurementImpl(ZigBeeDevice zbDevice){
+
+ cluster = new IlluminanceMeasurementCluster(zbDevice);
+ measuredValue = cluster.getMeasuredValue();
+ minMeasuredValue = cluster.getMinMeasuredValue();
+ maxMeasuredValue = cluster.getMaxMeasuredValue();
+ tolerance = cluster.getTolerance();
+ lightSensorType = cluster.getLightSensorType();
+
+ toleranceBridge = new ToleranceBridgeListeners(Activator.getConfiguration(), tolerance, this);
+ measureBridge = new MeasuredValueBridgeListeners(Activator.getConfiguration(), measuredValue, this);
+ }
+
+ public int getId() {
+
+ return cluster.getId();
+ }
+
+ public String getName() {
+
+ return cluster.getName();
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+
+ return cluster.getActiveSubscriptions();
+ }
+
+ public Attribute[] getAttributes() {
+
+ return cluster.getAvailableAttributes();
+ }
+
+ public Attribute getAttribute(int id) {
+
+ Attribute[] attributes = cluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute getMeasuredValue() {
+
+ return measuredValue;
+ }
+
+ public Attribute getMinMeasuredValue() {
+
+ return minMeasuredValue;
+ }
+
+ public Attribute getMaxMeasuredValue() {
+
+ return maxMeasuredValue;
+ }
+
+ public Attribute getTolerance() {
+
+ return tolerance;
+ }
+
+ public Attribute getLightSensorType() {
+
+ return lightSensorType;
+ }
+
+ public boolean subscribe(MeasuredValueListener tl) {
+
+ return measureBridge.subscribe(tl);
+ }
+
+ public boolean unsubscribe(MeasuredValueListener tl) {
+
+ return measureBridge.unsubscribe(tl);
+ }
+
+ public boolean subscribe(ToleranceListener tl) {
+
+ return toleranceBridge.subscribe(tl);
+ }
+
+ public boolean unsubscribe(ToleranceListener tl) {
+
+ return toleranceBridge.unsubscribe(tl);
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/IlluminanceMeasurementImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/LevelControlImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/LevelControlImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/LevelControlImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,197 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.LevelControl;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.CurrentLevelListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.CurrentLevelBridgeListeners;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.LevelControlCluster;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public class LevelControlImpl implements LevelControl {
+
+ private LevelControlCluster levelControlCluster;
+ private Attribute currentLevel;
+ private Attribute remainingTime;
+ private Attribute onOffTransitionTime;
+ private Attribute onLevel;
+ private final CurrentLevelBridgeListeners eventBridge;
+
+ public LevelControlImpl(ZigBeeDevice zbDevice){
+ levelControlCluster = new LevelControlCluster(zbDevice);
+ currentLevel = levelControlCluster.getAttributeCurrentLevel();
+ remainingTime = levelControlCluster.getAttributeRemainingTime();
+ onOffTransitionTime = levelControlCluster.getAttributeOnOffTransactionTime();
+ onLevel = levelControlCluster.getAttributeOnLevel();
+ eventBridge = new CurrentLevelBridgeListeners(Activator.getConfiguration(),currentLevel, this);
+ }
+
+
+ public Attribute getCurrentLevel() {
+ return currentLevel;
+ }
+
+ public Attribute getOnLevel() {
+ return onLevel;
+ }
+
+ public Attribute getOnOffTransactionTime() {
+ return onOffTransitionTime;
+ }
+
+ public Attribute getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void move(byte mode, short rate) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.move(mode, rate);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void moveWithOnOff(byte mode, short rate) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.moveWithOnOff(mode, rate);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+
+ public void moveToLevel(short level, int time) throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.moveToLevel(level, time);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void moveToLevelWithOnOff(short level, int time) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.moveToLevelWithOnOff(level, time);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void step(byte mode, short step, int time) throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.step(mode, step, time);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void stepWithOnOff(byte mode, short step, int time) throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.stepWithOnOff(mode, step, time);
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+
+ public void stop() throws ZigBeeHAException{
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.stop();
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void stopWithOnOff() throws ZigBeeHAException {
+ try {
+ DefaultResponse response = (DefaultResponse)levelControlCluster.stopWithOnOff();
+ if (! response.getStatus().equals(Status.SUCCESS))
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+
+ public Subscription[] getActiveSubscriptions() {
+ return levelControlCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return levelControlCluster.getId();
+ }
+
+ public String getName() {
+ return levelControlCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = levelControlCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return levelControlCluster.getAvailableAttributes();
+ }
+
+
+ public boolean subscribe(CurrentLevelListener listener) {
+ return eventBridge.subscribe(listener);
+ }
+
+ public boolean unsubscribe(CurrentLevelListener listener) {
+ return eventBridge.unsubscribe(listener);
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/LevelControlImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OccupacySensingImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OccupacySensingImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OccupacySensingImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,124 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.OccupancyListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.OccupancyBridgeListeners;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.measureament_sensing.OccupacySensingCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OccupacySensingImpl implements OccupacySensing {
+
+ private OccupacySensingCluster occupacySensingCluster;
+
+ private Attribute occupancy;
+ private Attribute occupancySensorType;
+ private Attribute pirOccupiedToUnoccupiedDelay;
+ private Attribute pirUnoccupiedToOccupiedDelay;
+ private Attribute ultraSonicOccupiedToUnoccupiedDelay;
+ private Attribute ultraSonicUnoccupiedToOccupiedDelay;
+
+ private OccupancyBridgeListeners eventBridge;
+
+ public OccupacySensingImpl(ZigBeeDevice zbDevice){
+
+ occupacySensingCluster = new OccupacySensingCluster(zbDevice);
+ occupancy = occupacySensingCluster.getAttributeOccupancy();
+ occupancySensorType = occupacySensingCluster.getAttributeOccupancySensorType();
+ pirOccupiedToUnoccupiedDelay = occupacySensingCluster.getAttributePIROccupiedToUnoccupiedDelay();
+ pirUnoccupiedToOccupiedDelay = occupacySensingCluster.getAttributePIRUnoccupiedToOccupiedDelay();
+ ultraSonicOccupiedToUnoccupiedDelay = occupacySensingCluster.getAttributeUltraSonicOccupiedToUnoccupiedDelay();
+ ultraSonicUnoccupiedToOccupiedDelay = occupacySensingCluster.getAttributeUltraSonicUnoccupiedToOccupiedDelay();
+ eventBridge = new OccupancyBridgeListeners(Activator.getConfiguration(), occupancy, this);
+ }
+
+ public Attribute getOccupancy() {
+ return occupancy;
+ }
+
+ public Attribute getOccupancySensorType() {
+ return occupancySensorType;
+ }
+
+ public Attribute getPIROccupiedToUnoccupiedDelay() {
+ return pirUnoccupiedToOccupiedDelay;
+ }
+
+ public Attribute getPIRUnoccupiedToOccupiedDelay() {
+ return pirOccupiedToUnoccupiedDelay;
+ }
+
+ public Attribute getUltraSonicOccupiedToUnoccupiedDelay() {
+ return ultraSonicOccupiedToUnoccupiedDelay;
+ }
+
+ public Attribute getUltraSonicUnoccupiedToOccupiedDelay() {
+ return ultraSonicUnoccupiedToOccupiedDelay;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return occupacySensingCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return occupacySensingCluster.getId();
+ }
+
+ public String getName() {
+ return occupacySensingCluster.getName();
+ }
+
+ public void subscribe(OccupancyListener listener) {
+ eventBridge.subscribe(listener);
+ }
+
+ public void unsubscribe(OccupancyListener listener) {
+ eventBridge.unsubscribe(listener);
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = occupacySensingCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return occupacySensingCluster.getAvailableAttributes();
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OccupacySensingImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,133 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.OnOffListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.OnOffBridgeListeners;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Status;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.global.DefaultResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.OnOffCluster;
+
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OnOffImpl implements OnOff{
+
+ private final Attribute attribute;
+ private final OnOffCluster onOffCluster;
+ private OnOffBridgeListeners eventBridge;
+
+ public OnOffImpl(ZigBeeDevice zbDevice){
+ onOffCluster = new OnOffCluster(zbDevice);
+ attribute = onOffCluster.getAttributeOnOff();
+ eventBridge = new OnOffBridgeListeners(Activator.getConfiguration(), attribute, this);
+ }
+
+ public boolean getOnOff() throws ZigBeeHAException {
+ try {
+ Boolean value = (Boolean) attribute.getValue();
+ return value.booleanValue();
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public boolean subscribe(OnOffListener listener) {
+ return eventBridge.subscribe(listener);
+ }
+
+ public boolean unsubscribe(OnOffListener listener) {
+ return eventBridge.unsubscribe(listener);
+ }
+
+
+ public void off() throws ZigBeeHAException {
+ try {
+ DefaultResponse response = onOffCluster.off();
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void on() throws ZigBeeHAException {
+ try {
+ DefaultResponse response = onOffCluster.on();
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public void toggle() throws ZigBeeHAException {
+ try {
+ DefaultResponse response = onOffCluster.toggle();
+ if (response.getStatus() != Status.SUCCESS)
+ throw new ZigBeeHAException(response.getStatus().toString());
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return onOffCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return onOffCluster.getId();
+ }
+
+ public String getName() {
+ return onOffCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = onOffCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return onOffCluster.getAvailableAttributes();
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffSwitchConfigurationImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffSwitchConfigurationImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffSwitchConfigurationImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,85 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.general.OnOffSwitchConfigurationCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OnOffSwitchConfigurationImpl implements OnOffSwitchConfiguration {
+
+ private OnOffSwitchConfigurationCluster onOffSwitchConfiguratioCluster;
+ private Attribute switchType;
+ private Attribute switchActions;
+
+ public OnOffSwitchConfigurationImpl(ZigBeeDevice zbDevice){
+ onOffSwitchConfiguratioCluster = new OnOffSwitchConfigurationCluster(zbDevice);
+ switchType = onOffSwitchConfiguratioCluster.getAttributeSwitchType();
+ switchActions = onOffSwitchConfiguratioCluster.getAttributeSwitchActions();
+
+ }
+
+ public Attribute getSwitchActions() {
+ return switchActions;
+ }
+
+ public Attribute getSwitchType() {
+ return switchType;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return onOffSwitchConfiguratioCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return onOffSwitchConfiguratioCluster.getId();
+ }
+
+ public String getName() {
+ return onOffSwitchConfiguratioCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = onOffSwitchConfiguratioCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return onOffSwitchConfiguratioCluster.getAvailableAttributes();
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/OnOffSwitchConfigurationImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/PowerConfigurationImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/PowerConfigurationImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/PowerConfigurationImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,155 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.PowerConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.general.PowerConfigurationCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class PowerConfigurationImpl implements PowerConfiguration{
+
+ private final PowerConfigurationCluster cluster;
+ private final Attribute batteryRating;
+ private final Attribute batteryAlarm;
+ private final Attribute batteryManufacturer;
+ private final Attribute batteryQty;
+ private final Attribute batteryRatedVoltage;
+ private final Attribute batterySize;
+ private final Attribute batteryVoltage;
+ private final Attribute batteryVoltageMin;
+ private final Attribute mainsAlarm;
+ private final Attribute mainsDwell;
+ private final Attribute mainsHz;
+ private final Attribute mainsV;
+ private final Attribute mainsVMax;
+ private final Attribute mainsVMin;
+
+ public PowerConfigurationImpl(ZigBeeDevice zbDevice){
+ cluster = new PowerConfigurationCluster(zbDevice);
+ batteryRating = cluster.getAttributeBatteryAHrRating();
+ batteryAlarm = cluster.getAttributeBatteryAlarmMask();
+ batteryManufacturer = cluster.getAttributeBatteryManufacturer();
+ batteryQty = cluster.getAttributeBatteryQuantity();
+ batteryRatedVoltage = cluster.getAttributeBatteryRatedVoltage();
+ batterySize = cluster.getAttributeBatterySize();
+ batteryVoltage = cluster.getAttributeBatteryVoltage();
+ batteryVoltageMin = cluster.getAttributeBatteryVoltageMinThreshold();
+ mainsAlarm = cluster.getAttributeMainsAlarmMask();
+ mainsDwell = cluster.getAttributeMainsDwellTripPoint();
+ mainsHz = cluster.getAttributeMainsFrequency();
+ mainsV = cluster.getAttributeMainsVoltage();
+ mainsVMax = cluster.getAttributeMainsVoltageMaxThreshold();
+ mainsVMin = cluster.getAttributeMainsVoltageMinThreshold();
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return cluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return cluster.getId();
+ }
+
+ public String getName() {
+ return cluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = cluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return cluster.getAvailableAttributes();
+ }
+
+ public Attribute getBatteryAHrRating() {
+ return batteryRating;
+ }
+
+ public Attribute getBatteryAlarmMask() {
+ return batteryAlarm;
+ }
+
+ public Attribute getBatteryManufacturer() {
+ return batteryManufacturer;
+ }
+
+ public Attribute getBatteryQuantity() {
+ return batteryQty;
+ }
+
+ public Attribute getBatteryRatedVoltage() {
+ return batteryRatedVoltage;
+ }
+
+ public Attribute getBatterySize() {
+ return batterySize;
+ }
+
+ public Attribute getBatteryVoltage() {
+ return batteryVoltage;
+ }
+
+ public Attribute getBatteryVoltageMinThreshold() {
+ return batteryVoltageMin;
+ }
+
+ public Attribute getMainsAlarmMask() {
+ return mainsAlarm;
+ }
+
+ public Attribute getMainsDwellTripPoint() {
+ return mainsDwell;
+ }
+
+ public Attribute getMainsFrequency() {
+ return mainsHz;
+ }
+
+ public Attribute getMainsVoltage() {
+ return mainsV;
+ }
+
+ public Attribute getMainsVoltageMaxThreshold() {
+ return mainsVMax;
+ }
+
+ public Attribute getMainsVoltageMinThreshold() {
+ return mainsVMin;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/PowerConfigurationImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/RelativeHumidityMeasurementImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/RelativeHumidityMeasurementImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/RelativeHumidityMeasurementImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,125 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.RelativeHumidityMeasurement;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.MeasuredValueBridgeListeners;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.ToleranceBridgeListeners;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.measureament_sensing.RelativeHumidityMeasurementCluster;
+
+/**
+ * Implementation of the {@link RelativeHumidityMeasurement} interface, that wraps the
+ * {@link RelativeHumidityMeasurementCluster}.
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class RelativeHumidityMeasurementImpl implements RelativeHumidityMeasurement {
+
+ private RelativeHumidityMeasurementCluster relativeHumidityMeasurementCluster;
+ private Attribute measuredValue;
+ private Attribute minMeasuredValue;
+ private Attribute maxMeasuredValue;
+ private Attribute tolerance;
+
+ private final MeasuredValueBridgeListeners measureBridge;
+ private final ToleranceBridgeListeners toleranceBridge;
+
+ public RelativeHumidityMeasurementImpl(ZigBeeDevice zbDevice){
+ relativeHumidityMeasurementCluster = new RelativeHumidityMeasurementCluster(zbDevice);
+ measuredValue = relativeHumidityMeasurementCluster.getAttributeMeasuredValue();
+ minMeasuredValue = relativeHumidityMeasurementCluster.getAttributeMinMeasuredValue();
+ maxMeasuredValue = relativeHumidityMeasurementCluster.getAttributeMaxMeasuredValue();
+ tolerance = relativeHumidityMeasurementCluster.getAttributeTolerance();
+
+ toleranceBridge = new ToleranceBridgeListeners(Activator.getConfiguration(), tolerance, this);
+ measureBridge = new MeasuredValueBridgeListeners(Activator.getConfiguration(), measuredValue, this);
+ }
+
+ public Attribute getMaxMeasuredValue() {
+ return maxMeasuredValue;
+ }
+
+ public Attribute getMeasuredValue() {
+ return measuredValue;
+ }
+
+ public Attribute getMinMeasuredValue() {
+ return minMeasuredValue;
+ }
+
+ public Attribute getTolerance() {
+ return tolerance;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return relativeHumidityMeasurementCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return relativeHumidityMeasurementCluster.getId();
+ }
+
+ public String getName() {
+ return relativeHumidityMeasurementCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = relativeHumidityMeasurementCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return relativeHumidityMeasurementCluster.getAvailableAttributes();
+ }
+
+ public boolean subscribe(MeasuredValueListener listener) {
+ return measureBridge.subscribe(listener);
+ }
+
+ public boolean subscribe(ToleranceListener listener) {
+ return toleranceBridge.subscribe(listener);
+ }
+
+ public boolean unsubscribe(MeasuredValueListener listener) {
+ return measureBridge.unsubscribe(listener);
+ }
+
+ public boolean unsubscribe(ToleranceListener listener) {
+ return toleranceBridge.unsubscribe(listener);
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/RelativeHumidityMeasurementImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ScenesImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ScenesImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ScenesImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,180 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZigBeeClusterException;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.AddScenePayload;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.AddSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.GetSceneMembershipResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.RemoveAllSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.RemoveSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.StoreSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.api.general.scenes.ViewSceneResponse;
+import it.cnr.isti.zigbee.zcl.library.impl.general.ScenesCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class ScenesImpl implements Scenes {
+
+ private ScenesCluster scenesCluster;
+ private Attribute sceneCount;
+ private Attribute currentScene;
+ private Attribute currentGroup;
+ private Attribute sceneValid;
+ private Attribute nameSupport;
+ private Attribute lastConfiguredBy;
+ public ScenesImpl(ZigBeeDevice zbDevice){
+ scenesCluster = new ScenesCluster(zbDevice);
+ sceneCount = scenesCluster.getAttributeSceneCount();
+ currentScene = scenesCluster.getAttributeCurrentScene();
+ currentGroup = scenesCluster.getAttributeCurrentGroup();
+ sceneValid = scenesCluster.getAttributeSceneValid();
+ nameSupport = scenesCluster.getAttributeNameSupport();
+ lastConfiguredBy = scenesCluster.getAttributeLastConfiguredBy();
+
+ }
+
+ public AddSceneResponse addScene(AddScenePayload scenepayload) throws ZigBeeHAException{
+ try {
+ AddSceneResponse response = (AddSceneResponse)scenesCluster.addScene(scenepayload);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Attribute getCurrentGroup() {
+ return currentGroup;
+ }
+
+ public Attribute getCurrentScene() {
+ return currentScene;
+ }
+
+ public Attribute getLastConfiguredBy() {
+ return lastConfiguredBy;
+ }
+
+ public Attribute getNameSupport() {
+ return nameSupport;
+ }
+
+ public Attribute getSceneCount() {
+ return sceneCount;
+ }
+
+ public GetSceneMembershipResponse getSceneMembership(int groupId) throws ZigBeeHAException{
+ try {
+ GetSceneMembershipResponse response = (GetSceneMembershipResponse)scenesCluster.getSceneMembership(groupId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Attribute getSceneValid() {
+ return sceneValid;
+ }
+
+ public void recallScene(int groupId, short sceneId) throws ZigBeeHAException{
+ try {
+ scenesCluster.recallScene(groupId, sceneId);
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+
+ }
+
+ public RemoveAllSceneResponse removeAllScene() throws ZigBeeHAException{
+ try {
+ RemoveAllSceneResponse response = (RemoveAllSceneResponse)scenesCluster.removeAllScene();
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public RemoveSceneResponse removeScene(int groupId, short sceneId) throws ZigBeeHAException{
+ try {
+ RemoveSceneResponse response = (RemoveSceneResponse)scenesCluster.removeScene(groupId, sceneId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public StoreSceneResponse storeScene(int groupId, short sceneId) throws ZigBeeHAException{
+ try {
+ StoreSceneResponse response = (StoreSceneResponse)scenesCluster.storeScene(groupId, sceneId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public ViewSceneResponse viewScene(int groupId, short sceneId) throws ZigBeeHAException{
+ try {
+ ViewSceneResponse response = (ViewSceneResponse)scenesCluster.viewScene(groupId, sceneId);
+ return response;
+ } catch (ZigBeeClusterException e) {
+ throw new ZigBeeHAException(e);
+ }
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return scenesCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return scenesCluster.getId();
+ }
+
+ public String getName() {
+ return scenesCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = scenesCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return scenesCluster.getAvailableAttributes();
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/ScenesImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TemperatureMeasurementImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TemperatureMeasurementImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TemperatureMeasurementImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,123 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.TemperatureMeasurement;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.MeasuredValueBridgeListeners;
+import it.cnr.isti.zigbee.ha.cluster.impl.event.ToleranceBridgeListeners;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.measureament_sensing.TemperatureMeasurementCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class TemperatureMeasurementImpl implements TemperatureMeasurement {
+
+ private final TemperatureMeasurementCluster temperatureMeasurementCluster;
+ private final Attribute measuredValue;
+ private final Attribute minMeasuredValue;
+ private final Attribute maxMeasuredValue;
+ private final Attribute tolerance;
+
+ private final MeasuredValueBridgeListeners measureBridge;
+ private final ToleranceBridgeListeners toleranceBridge;
+
+ public TemperatureMeasurementImpl(ZigBeeDevice zbDevice){
+ temperatureMeasurementCluster = new TemperatureMeasurementCluster(zbDevice);
+ measuredValue = temperatureMeasurementCluster.getAttributeMeasuredValue();
+ minMeasuredValue = temperatureMeasurementCluster.getAttributeMinMeasuredValue();
+ maxMeasuredValue = temperatureMeasurementCluster.getAttributeMaxMeasuredValue();
+ tolerance = temperatureMeasurementCluster.getAttributeTolerance();
+
+ toleranceBridge = new ToleranceBridgeListeners(Activator.getConfiguration(), tolerance, this);
+ measureBridge = new MeasuredValueBridgeListeners(Activator.getConfiguration(), measuredValue, this);
+ }
+
+ public Attribute getMaxMeasuredValue() {
+ return maxMeasuredValue;
+ }
+
+ public Attribute getMeasuredValue() {
+ return measuredValue;
+ }
+
+ public Attribute getMinMeasuredValue() {
+ return minMeasuredValue;
+ }
+
+ public Attribute getTolerance() {
+ return tolerance;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return temperatureMeasurementCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return temperatureMeasurementCluster.getId();
+ }
+
+ public String getName() {
+ return temperatureMeasurementCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = temperatureMeasurementCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return temperatureMeasurementCluster.getAvailableAttributes();
+ }
+
+ public boolean subscribe(MeasuredValueListener listener) {
+ return measureBridge.subscribe(listener);
+ }
+
+ public boolean subscribe(ToleranceListener listener) {
+ return toleranceBridge.subscribe(listener);
+ }
+
+ public boolean unsubscribe(MeasuredValueListener listener) {
+ return measureBridge.unsubscribe(listener);
+ }
+
+ public boolean unsubscribe(ToleranceListener listener) {
+ return toleranceBridge.unsubscribe(listener);
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TemperatureMeasurementImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TimeImpl.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TimeImpl.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TimeImpl.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,85 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Time;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.impl.general.TimeCluster;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class TimeImpl implements Time {
+
+ private TimeCluster timeCluster;
+ private Attribute time;
+ private Attribute timeStatus;
+
+ public TimeImpl(ZigBeeDevice zbDevice){
+ timeCluster = new TimeCluster(zbDevice);
+ time = timeCluster.getAttributeTime();
+ timeStatus = timeCluster.getAttributeTimeStatus();
+ }
+
+ public Attribute getTime() {
+ return time;
+ }
+
+ public Attribute getTimeStatus() {
+ return timeStatus;
+ }
+
+ public Subscription[] getActiveSubscriptions() {
+ return timeCluster.getActiveSubscriptions();
+ }
+
+ public int getId() {
+ return timeCluster.getId();
+ }
+
+ public String getName() {
+ return timeCluster.getName();
+ }
+
+ public Attribute getAttribute(int id) {
+ Attribute[] attributes = timeCluster.getAvailableAttributes();
+ for (int i = 0; i < attributes.length; i++) {
+ if( attributes[i].getId() == id )
+ return attributes[i];
+ }
+ return null;
+ }
+
+ public Attribute[] getAttributes() {
+ return timeCluster.getAvailableAttributes();
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/TimeImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/CurrentLevelBridgeListeners.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/CurrentLevelBridgeListeners.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/CurrentLevelBridgeListeners.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,124 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.CurrentLevelEvent;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.CurrentLevelListener;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.AnalogSubscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+
+/**
+ * Default implementation of the delegator class that handles the eventing of the {@link CurrentLevelListener}
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class CurrentLevelBridgeListeners implements ReportListener {
+
+ private class CurrentLevelEventImpl implements CurrentLevelEvent{
+
+ private final Cluster source;
+ private final int event;
+
+ public CurrentLevelEventImpl(Cluster cluster, Integer value) {
+ source = cluster;
+ event = value.intValue();
+ }
+
+ public int getEvent() {
+ return event;
+ }
+
+ public Cluster getSource() {
+ return source;
+ }
+ }
+
+ private final Attribute bridged;
+ private final ArrayList<CurrentLevelListener> listeners = new ArrayList<CurrentLevelListener>();
+ private final Cluster cluster;
+ private final ReportingConfiguration configuration;
+
+ public CurrentLevelBridgeListeners(final ReportingConfiguration conf, final Attribute attribute, final Cluster c) {
+ bridged = attribute;
+ cluster = c;
+ configuration = conf;
+ }
+
+ public void receivedReport(Dictionary<Attribute, Object> reports) {
+ if (reports.get(bridged) == null) {
+ return;
+ }
+ synchronized (listeners) {
+ for (CurrentLevelListener listener : listeners) {
+ listener.changedCurrentLevel(new CurrentLevelEventImpl(cluster, (Integer) reports.get(bridged)));
+ }
+ }
+ }
+
+ public List<CurrentLevelListener> getListeners(){
+ return listeners;
+ }
+
+ public boolean subscribe(CurrentLevelListener listener) {
+ synchronized (listeners) {
+ if ( listeners.size() == 0 ) {
+ AnalogSubscription subscription = (AnalogSubscription) bridged.getSubscription();
+ if ( configuration.getReportingOverwrite() || subscription.isActive() == false ) {
+ subscription.setMaximumReportingInterval(configuration.getReportingMaximum());
+ subscription.setMinimumReportingInterval(configuration.getReportingMinimum());
+ subscription.setReportableChange(configuration.getReportingChange());
+ subscription.updateConfiguration();
+ }
+ if ( subscription.addReportListner(this) == false ) {
+ return false;
+ }
+ }
+ return listeners.add(listener);
+ }
+ }
+
+ public boolean unsubscribe(CurrentLevelListener listener) {
+ synchronized (listeners) {
+ listeners.remove(listener);
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( subscription.getReportListenersCount() == 1 ){
+ subscription.clear();
+ }
+ }
+ }
+ return true;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/CurrentLevelBridgeListeners.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/MeasuredValueBridgeListeners.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/MeasuredValueBridgeListeners.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/MeasuredValueBridgeListeners.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,124 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueEvent;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.MeasuredValueListener;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.AnalogSubscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+
+/**
+ * Default implementation of the delegator class that handles the eventing of the {@link MeasuredValueListener}
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class MeasuredValueBridgeListeners implements ReportListener {
+
+ private class MeasuredValueEventImpl implements MeasuredValueEvent{
+
+ private final Cluster source;
+ private final int event;
+
+ public MeasuredValueEventImpl(Cluster cluster, Integer value) {
+ source = cluster;
+ event = value.intValue();
+ }
+
+ public int getEvent() {
+ return event;
+ }
+
+ public Cluster getSource() {
+ return source;
+ }
+ }
+
+ private final Attribute bridged;
+ private final ArrayList<MeasuredValueListener> listeners = new ArrayList<MeasuredValueListener>();
+ private final Cluster cluster;
+ private final ReportingConfiguration configuration;
+
+ public MeasuredValueBridgeListeners(final ReportingConfiguration conf, final Attribute attribute, final Cluster c) {
+ bridged = attribute;
+ cluster = c;
+ configuration = conf;
+ }
+
+ public void receivedReport(Dictionary<Attribute, Object> reports) {
+ if (reports.get(bridged) == null) {
+ return;
+ }
+ synchronized (listeners) {
+ for (MeasuredValueListener listener : listeners) {
+ listener.changedMeasuredValue(new MeasuredValueEventImpl(cluster, (Integer) reports.get(bridged)));
+ }
+ }
+ }
+
+ public List<MeasuredValueListener> getListeners(){
+ return listeners;
+ }
+
+ public boolean subscribe(MeasuredValueListener listener) {
+ synchronized (listeners) {
+ if ( listeners.size() == 0 ) {
+ AnalogSubscription subscription = (AnalogSubscription) bridged.getSubscription();
+ if ( configuration.getReportingOverwrite() || subscription.isActive() == false ) {
+ subscription.setMaximumReportingInterval(configuration.getReportingMaximum());
+ subscription.setMinimumReportingInterval(configuration.getReportingMinimum());
+ subscription.setReportableChange(configuration.getReportingChange());
+ subscription.updateConfiguration();
+ }
+ if ( subscription.addReportListner(this) == false ) {
+ return false;
+ }
+ }
+ return listeners.add(listener);
+ }
+ }
+
+ public boolean unsubscribe(MeasuredValueListener listener) {
+ synchronized (listeners) {
+ listeners.remove(listener);
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( subscription.getReportListenersCount() == 1 ){
+ subscription.clear();
+ }
+ }
+ }
+ return true;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/MeasuredValueBridgeListeners.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OccupancyBridgeListeners.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OccupancyBridgeListeners.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OccupancyBridgeListeners.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,122 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.OccupancyEvent;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.OccupancyListener;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+
+/**
+ * Default implementation of the delegator class that handles the eventing of the {@link OccupancyListener}
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class OccupancyBridgeListeners implements ReportListener {
+
+ private class OccupancyEventImpl implements OccupancyEvent{
+
+ private final Cluster source;
+ private final int event;
+
+ public OccupancyEventImpl(Cluster cluster, Integer value) {
+ source = cluster;
+ event = value;
+ }
+
+ public int getEvent() {
+ return event;
+ }
+
+ public Cluster getSource() {
+ return source;
+ }
+ }
+
+ private final Attribute bridged;
+ private final ArrayList<OccupancyListener> listeners = new ArrayList<OccupancyListener>();
+ private final Cluster cluster;
+ private final ReportingConfiguration configuration;
+
+ public OccupancyBridgeListeners(final ReportingConfiguration conf, final Attribute attribute, final Cluster c) {
+ bridged = attribute;
+ cluster = c;
+ configuration = conf;
+ }
+
+ public void receivedReport(Dictionary<Attribute, Object> reports) {
+ if (reports.get(bridged) == null) {
+ return;
+ }
+ synchronized (listeners) {
+ for (OccupancyListener listener : listeners) {
+ listener.changedOccupancy(new OccupancyEventImpl(cluster, (Integer) reports.get(bridged)));
+ }
+ }
+ }
+
+ public List<OccupancyListener> getListeners(){
+ return listeners;
+ }
+
+ public boolean subscribe(OccupancyListener listener) {
+ synchronized (listeners) {
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( configuration.getReportingOverwrite() || subscription.isActive() == false ) {
+ subscription.setMaximumReportingInterval(configuration.getReportingMaximum());
+ subscription.setMinimumReportingInterval(configuration.getReportingMinimum());
+ subscription.updateConfiguration();
+ }
+ if ( subscription.addReportListner(this) == false ) {
+ return false;
+ }
+ }
+ return listeners.add(listener);
+ }
+ }
+
+ public boolean unsubscribe(OccupancyListener listener) {
+ synchronized (listeners) {
+ listeners.remove(listener);
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( subscription.getReportListenersCount() == 1 ){
+ subscription.clear();
+ }
+ }
+ }
+ return true;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OccupancyBridgeListeners.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OnOffBridgeListeners.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OnOffBridgeListeners.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OnOffBridgeListeners.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,122 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.OnOffEvent;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.event.OnOffListener;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+
+/**
+ * Default implementation of the delegator class that handles the eventing of the {@link OnOffListener}
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class OnOffBridgeListeners implements ReportListener {
+
+ private class OnOffEventImpl implements OnOffEvent{
+
+ private final Cluster source;
+ private final boolean event;
+
+ public OnOffEventImpl(Cluster cluster, Boolean value) {
+ source = cluster;
+ event = value;
+ }
+
+ public boolean getEvent() {
+ return event;
+ }
+
+ public Cluster getSource() {
+ return source;
+ }
+ }
+
+ private final Attribute bridged;
+ private final ArrayList<OnOffListener> listeners = new ArrayList<OnOffListener>();
+ private final Cluster cluster;
+ private final ReportingConfiguration configuration;
+
+ public OnOffBridgeListeners(final ReportingConfiguration conf, final Attribute attribute, final Cluster c) {
+ bridged = attribute;
+ cluster = c;
+ configuration = conf;
+ }
+
+ public void receivedReport(Dictionary<Attribute, Object> reports) {
+ if (reports.get(bridged) == null) {
+ return;
+ }
+ synchronized (listeners) {
+ for (OnOffListener listener : listeners) {
+ listener.changedOnOff(new OnOffEventImpl(cluster, (Boolean) reports.get(bridged)));
+ }
+ }
+ }
+
+ public List<OnOffListener> getListeners(){
+ return listeners;
+ }
+
+ public boolean subscribe(OnOffListener listener) {
+ synchronized (listeners) {
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( configuration.getReportingOverwrite() || subscription.isActive() == false ) {
+ subscription.setMaximumReportingInterval(configuration.getReportingMaximum());
+ subscription.setMinimumReportingInterval(configuration.getReportingMinimum());
+ subscription.updateConfiguration();
+ }
+ if ( subscription.addReportListner(this) == false ) {
+ return false;
+ }
+ }
+ return listeners.add(listener);
+ }
+ }
+
+ public boolean unsubscribe(OnOffListener listener) {
+ synchronized (listeners) {
+ listeners.remove(listener);
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( subscription.getReportListenersCount() == 1 ){
+ subscription.clear();
+ }
+ }
+ }
+ return true;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/OnOffBridgeListeners.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ToleranceBridgeListeners.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ToleranceBridgeListeners.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ToleranceBridgeListeners.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,125 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.cluster.impl.event;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceEvent;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.event.ToleranceListener;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.core.AnalogSubscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
+import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+
+/**
+ * Default implementation of the delegator class that handles the eventing of the {@link ToleranceListener}
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class ToleranceBridgeListeners implements ReportListener {
+
+ private class ToleranceEventImpl implements ToleranceEvent{
+
+ private final Cluster source;
+ private final int event;
+
+ public ToleranceEventImpl(Cluster cluster, Integer value) {
+ source = cluster;
+ event = value.intValue();
+ }
+
+ public int getEvent() {
+ return event;
+ }
+
+ public Cluster getSource() {
+ return source;
+ }
+ }
+
+ private final Attribute bridged;
+ private final ArrayList<ToleranceListener> listeners = new ArrayList<ToleranceListener>();
+ private final Cluster cluster;
+ private final ReportingConfiguration configuration;
+
+ public ToleranceBridgeListeners(final ReportingConfiguration conf, final Attribute attribute, final Cluster c) {
+ bridged = attribute;
+ cluster = c;
+ configuration = conf;
+ }
+
+ public void receivedReport(Dictionary<Attribute, Object> reports) {
+ if (reports.get(bridged) == null) {
+ return;
+ }
+ synchronized (listeners) {
+ for (ToleranceListener listener : listeners) {
+ listener.changedTolerance(new ToleranceEventImpl(cluster, (Integer) reports.get(bridged)));
+ }
+ }
+ }
+
+ public List<ToleranceListener> getListeners(){
+ return listeners;
+ }
+
+ public boolean subscribe(ToleranceListener listener) {
+ synchronized (listeners) {
+ if ( listeners.size() == 0 ) {
+ AnalogSubscription subscription = (AnalogSubscription) bridged.getSubscription();
+ if ( configuration.getReportingOverwrite() || subscription.isActive() == false ) {
+ subscription.setMaximumReportingInterval(configuration.getReportingMaximum());
+ subscription.setMinimumReportingInterval(configuration.getReportingMinimum());
+ subscription.setReportableChange(configuration.getReportingChange());
+ subscription.updateConfiguration();
+ }
+ if ( subscription.addReportListner(this) == false ) {
+ return false;
+ }
+ }
+ return listeners.add(listener);
+ }
+ }
+
+ public boolean unsubscribe(ToleranceListener listener) {
+ synchronized (listeners) {
+ listeners.remove(listener);
+ if ( listeners.size() == 0 ) {
+ Subscription subscription = bridged.getSubscription();
+ if ( subscription.getReportListenersCount() == 1 ){
+ subscription.clear();
+ }
+ }
+ }
+ return true;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/cluster/impl/event/ToleranceBridgeListeners.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/LevelControlSwitch.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/LevelControlSwitch.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/LevelControlSwitch.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,100 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.generic;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.LevelControl;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface LevelControlSwitch extends HADevice{
+
+ public static final int DEVICE_ID = 0x0001;
+ public static final String NAME = "Level Control Switch";
+
+
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF_SWITCH_CONFIGURATION,HAProfile.ON_OFF,HAProfile.GROUPS,HAProfile.SCENES,HAProfile.LEVEL_CONTROL,HAProfile.IDENTIFY
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ 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 OnOffSwitchConfiguration}
+ *
+ * @return the {@link OnOffSwitchConfiguration} cluster object
+ */
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration();
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link Identify}
+ *
+ * @return the {@link Identify} cluster object
+ */
+ public Identify getIdentify();
+
+ /**
+ * 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();
+
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/LevelControlSwitch.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/MainsPowerOutlet.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/MainsPowerOutlet.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/MainsPowerOutlet.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,33 @@
+package it.cnr.isti.zigbee.ha.device.api.generic;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+public interface MainsPowerOutlet extends HADevice {
+
+ public static final int DEVICE_ID = 0x0009;
+ public static final String NAME = "Mains Power Outlet";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF, HAProfile.SCENES, HAProfile.GROUPS
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link OnOffSwitchConfiguration}
+ *
+ * @return the {@link OnOffSwitchConfiguration} cluster object
+ */
+ public OnOff getOnOff();
+
+ public Scenes getScenes();
+
+ public Groups getGroups();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/MainsPowerOutlet.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffOutput.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffOutput.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffOutput.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,77 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.generic;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+
+/**
+ * This class represent the <b>On/Off Output</b> Cluster as defined by the document:<br>
+ * <i>ZigBee Cluster Library</i> public release version 075123r01ZB
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface OnOffOutput extends HADevice{
+
+ public static final int DEVICE_ID = 0x0002;
+ public static final String NAME = "On/Off Output";
+
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.BASIC,HAProfile.IDENTIFY,HAProfile.ON_OFF,HAProfile.GROUPS,HAProfile.SCENES
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ 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();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffOutput.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffSwitch.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffSwitch.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffSwitch.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,56 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.device.api.generic;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOffSwitch extends HADevice{
+
+ public static final int DEVICE_ID = 0x0000;
+ public static final String NAME = "OnOff Switch";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF_SWITCH_CONFIGURATION
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link OnOffSwitchConfiguration}
+ *
+ * @return the {@link OnOffSwitchConfiguration} cluster object
+ */
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/generic/OnOffSwitch.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/TemperatureSensor.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/TemperatureSensor.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/TemperatureSensor.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,63 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.hvac;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.TemperatureMeasurement;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+/**
+ * This class represent the <b>On/off Light</b> Cluster as defined by the document:<br>
+ * <i>ZigBee Cluster Library</i> public release version 075123r01ZB
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface TemperatureSensor extends HADevice {
+
+ public static final int DEVICE_ID = 0x0302;
+ public static final String NAME = "Temperature Sensor";
+
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.TEMPERATURE_MEASUREMENT
+ });
+
+ public static final int[] OPTIONAL = ArraysUtil.append(HADevice.OPTIONAL, new int[]{
+ });
+
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link TemperatureMeasurement}
+ *
+ * @return the {@link TemperatureMeasurement} cluster object
+ */
+ public TemperatureMeasurement getTemperatureMeasurement();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/hvac/TemperatureSensor.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ColorDimmableLight.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ColorDimmableLight.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ColorDimmableLight.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,34 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public class ColorDimmableLight {
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/ColorDimmableLight.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/DimmableLight.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/DimmableLight.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/DimmableLight.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,90 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.LevelControl;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public interface DimmableLight extends HADevice{
+
+ public static final int DEVICE_ID = 0x0101;
+ public static final String NAME = "Dimmable Light";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF,HAProfile.LEVEL_CONTROL,HAProfile.SCENES,HAProfile.GROUPS
+ });
+ public static final int[] OPTIONAL = ArraysUtil.append(HADevice.OPTIONAL, new int[]{
+ HAProfile.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 OccupacySensing}
+ *
+ * @return the {@link OccupacySensing} cluster object if implemented by the device, otherwise <code>null</code>
+ */
+ public abstract OccupacySensing getOccupacySensing();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/DimmableLight.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/LightSensor.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/LightSensor.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/LightSensor.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,21 @@
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.IlluminanceMeasurement;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+public interface LightSensor extends HADevice {
+
+ public static final int DEVICE_ID = 0x0106;
+ public static final String NAME = "Light Sensor";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ILLUMINANCE_MEASUREMENT
+ });
+ public static final int[] OPTIONAL = ArraysUtil.append(HADevice.OPTIONAL, new int[]{
+ });
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+ public IlluminanceMeasurement getIlluminanceMeasurement();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/LightSensor.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OccupancySensor.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OccupancySensor.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OccupancySensor.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,60 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+
+/**
+ * This class represent the <b>Occupancy Sensor</b> Cluster as defined by the document:<br>
+ * <i>ZigBee Cluster Library</i> public release version 075123r01ZB
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public interface OccupancySensor extends HADevice{
+
+ public static final int DEVICE_ID = 0x0107;
+ public static final String NAME = "Occupancy Sensor";
+
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.BASIC,HAProfile.IDENTIFY,HAProfile.OCCUPANCY_SENSING
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link OccupacySensing}
+ *
+ * @return the {@link OccupacySensing} cluster implemented by the device
+ */
+ public OccupacySensing getOccupacySensing();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OccupancySensor.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLight.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLight.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLight.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,88 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+
+/**
+ * This class represent the <b>On/off Light</b> Cluster as defined by the document:<br>
+ * <i>ZigBee Cluster Library</i> public release version 075123r01ZB
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:alessandro.giari at isti.cnr.it">Alessandro Giari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOffLight extends HADevice{
+
+ public static final int DEVICE_ID = 0x0100;
+ public static final String NAME = "OnOff Light";
+
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF,HAProfile.GROUPS,HAProfile.SCENES
+ });
+ public static final int[] OPTIONAL = ArraysUtil.append(HADevice.OPTIONAL, new int[]{
+ HAProfile.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>Optional</b> cluster: {@link OccupacySensing}
+ *
+ * @return the {@link OccupacySensing} cluster object if implemented by the device, otherwise <code>null</code>
+ */
+ public OccupacySensing getOccupacySensing();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLight.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLightSwitch.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLightSwitch.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLightSwitch.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,59 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.device.api.lighting;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface OnOffLightSwitch extends HADevice{
+
+ public static final int DEVICE_ID = 0x0103;
+ public static final String NAME = "OnOff Light Switch";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.ON_OFF_SWITCH_CONFIGURATION
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link OnOffSwitchConfiguration}
+ *
+ * @return the {@link OnOffSwitchConfiguration} cluster object
+ */
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/lighting/OnOffLightSwitch.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/IAS_Zone.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/IAS_Zone.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/IAS_Zone.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,27 @@
+package it.cnr.isti.zigbee.ha.device.api.security_safety;
+
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.security_safety.IASZone;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+
+public interface IAS_Zone extends HADevice {
+
+ public static final int DEVICE_ID = 0x0402;
+ public static final String NAME = "IAS Zone";
+ public static final int[] MANDATORY = ArraysUtil.append(HADevice.MANDATORY, new int[]{
+ HAProfile.IAS_ZONE
+ });
+ public static final int[] OPTIONAL = HADevice.OPTIONAL;
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+ public static final int[] CUSTOM = {};
+
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link OnOffSwitchConfiguration}
+ *
+ * @return the {@link OnOffSwitchConfiguration} cluster object
+ */
+ public IASZone getIASZone();
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/api/security_safety/IAS_Zone.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/OnOffLightFactory.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/OnOffLightFactory.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/OnOffLightFactory.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,70 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.device.factory;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLight;
+import it.cnr.isti.zigbee.ha.device.impl.OnOffLightDevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceFactoryBase;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @since 0.4.0
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $) *
+ */
+public class OnOffLightFactory extends HADeviceFactoryBase {
+
+
+ public OnOffLightFactory(BundleContext ctx) {
+ super(ctx,OnOffLight.class);
+ }
+
+ private String[] clusters;
+ private String[] implementedInterfaces = {
+ HADevice.class.getName(),
+ HADeviceBase.class.getName(),
+ OnOffLight.class.getName()
+ };
+
+ @Override
+ public String getDeviceId() {
+ return String.valueOf(OnOffLightDevice.DEVICE_ID);
+ }
+
+ @Override
+ public String[] getRefinedInterfaces() {
+ return implementedInterfaces;
+ }
+
+ @Override
+ public HADeviceBase getInstance(ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ return new OnOffLightDevice(ctx,zbDevice);
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/factory/OnOffLightFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/DimmableLightDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/DimmableLightDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/DimmableLightDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,114 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.LevelControl;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.device.api.lighting.DimmableLight;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public class DimmableLightDevice extends HADeviceBase implements DimmableLight {
+
+ private OnOff onOff;
+ private LevelControl levelControl;
+ private Scenes scenes;
+ private Groups groups;
+ private OccupacySensing occupancySensing;
+
+ public DimmableLightDevice(BundleContext ctx, ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ super(ctx,zbDevice);
+ levelControl = (LevelControl) addCluster(HAProfile.LEVEL_CONTROL);
+ onOff = (OnOff) addCluster(HAProfile.ON_OFF);
+ groups = (Groups) addCluster(HAProfile.GROUPS);
+ scenes = (Scenes) addCluster(HAProfile.SCENES);
+ occupancySensing = (OccupacySensing) addCluster(HAProfile.OCCUPANCY_SENSING);
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return DimmableLight.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return DimmableLight.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return DimmableLight.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return DimmableLight.STANDARD;
+ }
+
+ };
+
+
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+ @Override
+ public String getName() {
+ return DimmableLight.NAME;
+ }
+
+ public Groups getGroups() {
+ return groups;
+ }
+
+ public LevelControl getLevelControl() {
+ return levelControl;
+ }
+
+ public OccupacySensing getOccupacySensing() {
+ return occupancySensing;
+ }
+
+ public OnOff getOnOff() {
+ return onOff;
+ }
+
+ public Scenes getScenes() {
+ return scenes;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/DimmableLightDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/GenericHADevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/GenericHADevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/GenericHADevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,113 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import java.util.ArrayList;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * This class should be used by the refinment driver when there is no device matching the DeviceId<br>
+ * of the service
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public class GenericHADevice extends HADeviceBase {
+
+ private int[] mandatory;
+ private int[] optional;
+ private int[] standard;
+ private int[] custom;
+ public GenericHADevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ super(ctx,zbDevice);
+
+ mandatory = new int[0]; // we don't know the device so we cannot distinuish
+ optional = new int[0];
+
+ int[] clusterIDs = zbDevice.getInputClusters();
+ ArrayList<Integer> standardList = new ArrayList<Integer>();
+ ArrayList<Integer> customList = new ArrayList<Integer>();
+ for (int i = 0; i < clusterIDs.length; i++) {
+// if (HAProfile.clusters.containsKey(clusterIDs[i])){
+// standardList.add(clusterIDs[i]);
+// } else {
+// customList.add(clusterIDs[i]);
+// }
+ }
+ standard = new int[standardList.size()];
+ for (int i = 0; i < standard.length; i++) {
+ standard[i] = standardList.get(i).intValue();
+ }
+ custom = new int[customList.size()];
+ for (int i = 0; i < custom.length; i++) {
+ custom[i] = customList.get(i).intValue();
+ }
+
+ for (int i = 0; i < standard.length; i++) {
+ addCluster(standard[i]);
+ }
+ }
+
+
+ final DeviceDescription descriptor = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return custom;
+ }
+
+ public int[] getMandatoryCluster() {
+ return mandatory;
+ }
+
+ public int[] getOptionalCluster() {
+ return optional;
+ }
+
+ public int[] getStandardClusters() {
+ return standard;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return descriptor;
+ }
+
+ @Override
+ public String getName() {
+ return "Geniric HA Device";
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/GenericHADevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/IAS_ZoneDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/IAS_ZoneDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/IAS_ZoneDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,60 @@
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.security_safety.IASZone;
+import it.cnr.isti.zigbee.ha.device.api.security_safety.IAS_Zone;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+public class IAS_ZoneDevice extends HADeviceBase implements IAS_Zone {
+
+ private IASZone IASZone;
+
+ public IAS_ZoneDevice(BundleContext ctx, ZigBeeDevice zbDevice)
+ throws ZigBeeHAException {
+ super(ctx, zbDevice);
+ IASZone = (IASZone) addCluster(HAProfile.IAS_ZONE);
+ }
+
+ public IASZone getIASZone() {
+
+ return IASZone;
+ }
+
+ @Override
+ public String getName() {
+
+ return IASZone.getName();
+ }
+
+ @Override
+ public DeviceDescription getDescription() {
+
+ return DEVICE_DESCRIPTOR;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return IAS_Zone.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return IAS_Zone.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return IAS_Zone.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return IAS_Zone.STANDARD;
+ }
+
+ };
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/IAS_ZoneDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LevelControlSwitchDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LevelControlSwitchDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LevelControlSwitchDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,122 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.LevelControl;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.device.api.generic.LevelControlSwitch;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public class LevelControlSwitchDevice extends HADeviceBase implements
+ LevelControlSwitch {
+
+ private OnOff onOff;
+ private OnOffSwitchConfiguration onOffSwitchConfiguration;
+ private Groups groups;
+ private Scenes scenes;
+ private LevelControl levelControl;
+ private Identify identify;
+
+
+ public LevelControlSwitchDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ super(ctx, zbDevice);
+ onOffSwitchConfiguration = (OnOffSwitchConfiguration) addCluster(HAProfile.ON_OFF_SWITCH_CONFIGURATION);
+ onOff = (OnOff) addCluster(HAProfile.ON_OFF);
+ groups = (Groups) addCluster(HAProfile.GROUPS);
+ scenes = (Scenes) addCluster(HAProfile.SCENES);
+ identify = (Identify) addCluster(HAProfile.IDENTIFY);
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return LevelControlSwitch.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return LevelControlSwitch.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return LevelControlSwitch.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return LevelControlSwitch.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+ @Override
+ public String getName() {
+ return LevelControlSwitch.NAME;
+ }
+
+ public Groups getGroups() {
+ return groups;
+ }
+
+ public LevelControl getLevelControl() {
+ return levelControl;
+ }
+
+ public OnOff getOnOff() {
+ return onOff;
+ }
+
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration() {
+ return onOffSwitchConfiguration;
+ }
+
+ public Scenes getScenes() {
+ return scenes;
+ }
+
+ public Identify getIdentify() {
+ return identify;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LevelControlSwitchDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LightSensorDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LightSensorDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LightSensorDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,60 @@
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.IlluminanceMeasurement;
+import it.cnr.isti.zigbee.ha.device.api.lighting.LightSensor;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+public class LightSensorDevice extends HADeviceBase implements LightSensor {
+
+ private IlluminanceMeasurement illuminanceMeasurement;
+
+ public LightSensorDevice(BundleContext ctx, ZigBeeDevice zbDevice) throws ZigBeeHAException {
+
+ super(ctx, zbDevice);
+ illuminanceMeasurement = (IlluminanceMeasurement) addCluster(HAProfile.ILLUMINANCE_MEASUREMENT);
+ }
+
+ public IlluminanceMeasurement getIlluminanceMeasurement() {
+
+ return illuminanceMeasurement;
+ }
+
+ @Override
+ public String getName() {
+
+ return LightSensor.NAME;
+ }
+
+ @Override
+ public DeviceDescription getDescription() {
+
+ return DEVICE_DESCRIPTOR;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return LightSensor.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return LightSensor.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return LightSensor.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return LightSensor.STANDARD;
+ }
+
+ };
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/LightSensorDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/MainsPowerOutletDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/MainsPowerOutletDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/MainsPowerOutletDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,76 @@
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.device.api.generic.MainsPowerOutlet;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+public class MainsPowerOutletDevice extends HADeviceBase implements MainsPowerOutlet {
+
+ private OnOff onOff;
+ private Scenes scenes;
+ private Groups groups;
+
+ public MainsPowerOutletDevice(BundleContext ctx, ZigBeeDevice zbDevice) throws ZigBeeHAException {
+
+ super(ctx, zbDevice);
+ onOff = (OnOff) addCluster(HAProfile.ON_OFF);
+ groups = (Groups) addCluster(HAProfile.GROUPS);
+ scenes = (Scenes) addCluster(HAProfile.SCENES);
+ }
+
+ public OnOff getOnOff() {
+
+ return onOff;
+ }
+
+ public Scenes getScenes() {
+
+ return scenes;
+ }
+
+ public Groups getGroups() {
+
+ return groups;
+ }
+
+ @Override
+ public String getName() {
+
+ return MainsPowerOutlet.NAME;
+ }
+
+ @Override
+ public DeviceDescription getDescription() {
+
+ return DEVICE_DESCRIPTOR;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return MainsPowerOutlet.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return MainsPowerOutlet.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return MainsPowerOutlet.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return MainsPowerOutlet.STANDARD;
+ }
+
+ };
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/MainsPowerOutletDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OccupancySensorDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OccupancySensorDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OccupancySensorDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,90 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OccupancySensor;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.2.0
+ *
+ */
+public class OccupancySensorDevice extends HADeviceBase implements OccupancySensor {
+
+ private OccupacySensing occupancySensing;
+
+ public OccupancySensorDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ super(ctx,zbDevice);
+ occupancySensing = (OccupacySensing) addCluster(HAProfile.OCCUPANCY_SENSING);
+ }
+
+ public OccupacySensing getOccupacySensing() {
+ return occupancySensing;
+ }
+
+
+ @Override
+ public String getName() {
+ return OccupancySensor.NAME;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return OccupancySensor.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return OccupancySensor.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return OccupancySensor.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return OccupancySensor.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OccupancySensorDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,112 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLight;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OnOffLightDevice extends HADeviceBase implements OnOffLight {
+
+ private OnOff onOff;
+ private Scenes scenes;
+ private Groups groups;
+ private OccupacySensing occupancySensing;
+
+ public OnOffLightDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ super(ctx,zbDevice);
+ onOff = (OnOff) addCluster(HAProfile.ON_OFF);
+ groups = (Groups) addCluster(HAProfile.GROUPS);
+ scenes = (Scenes) addCluster(HAProfile.SCENES);
+ occupancySensing = (OccupacySensing) addCluster(HAProfile.OCCUPANCY_SENSING);
+ }
+
+
+ public Groups getGroups() {
+ return groups;
+ }
+
+ public OccupacySensing getOccupacySensing() {
+ return occupancySensing;
+ }
+
+ public OnOff getOnOff() {
+ return onOff;
+ }
+
+ public Scenes getScenes() {
+ return scenes;
+ }
+
+
+
+ @Override
+ public String getName() {
+ return OnOffLight.NAME;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return OnOffLight.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return OnOffLight.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return OnOffLight.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return OnOffLight.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightSwitchDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightSwitchDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightSwitchDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,85 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffSwitch;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLightSwitch;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OnOffLightSwitchDevice extends HADeviceBase implements OnOffLightSwitch {
+
+ private OnOffSwitchConfiguration onOffSwitchConfiguration;
+
+ public OnOffLightSwitchDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ super(ctx,zbDevice);
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return OnOffLightSwitch.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return OnOffLightSwitch.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return OnOffLightSwitch.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return OnOffLightSwitch.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+ @Override
+ public String getName() {
+ return OnOffSwitch.NAME;
+ }
+
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration() {
+ return onOffSwitchConfiguration;
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffLightSwitchDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffOutputDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffOutputDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffOutputDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,107 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Groups;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOff;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Scenes;
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffOutput;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLight;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 112 $ ($LastChangedDate: 2010-10-17 00:07:45 +0200 (dom, 17 ott 2010) $)
+ * @since 0.2.0
+ *
+ */
+public class OnOffOutputDevice extends HADeviceBase implements OnOffOutput {
+
+ private OnOff onOff;
+ private Scenes scenes;
+ private Groups groups;
+
+ public OnOffOutputDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ super(ctx,zbDevice);
+ onOff = (OnOff) addCluster(HAProfile.ON_OFF);
+ groups = (Groups) addCluster(HAProfile.GROUPS);
+ scenes = (Scenes) addCluster(HAProfile.SCENES);
+ }
+
+
+ public Groups getGroups() {
+ return groups;
+ }
+
+ public OnOff getOnOff() {
+ return onOff;
+ }
+
+ public Scenes getScenes() {
+ return scenes;
+ }
+
+
+
+ @Override
+ public String getName() {
+ return OnOffLight.NAME;
+ }
+
+ public final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return OnOffLight.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return OnOffLight.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return OnOffLight.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return OnOffLight.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffOutputDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffSwitchDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffSwitchDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffSwitchDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,90 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffSwitch;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class OnOffSwitchDevice extends HADeviceBase implements OnOffSwitch {
+
+ private OnOffSwitchConfiguration onOffSwitchConfiguration;
+
+ public OnOffSwitchDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ super(ctx,zbDevice);
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return OnOffSwitch.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return OnOffSwitch.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return OnOffSwitch.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return OnOffSwitch.STANDARD;
+ }
+
+ };
+
+ @Override
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+ @Override
+ public String getName() {
+ return OnOffSwitch.NAME;
+ }
+
+ public OnOffSwitchConfiguration getOnOffSwitchConfiguration() {
+ return onOffSwitchConfiguration;
+ }
+
+ public Identify getIdentify() {
+ return identify;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/OnOffSwitchDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/TemperatureSensorDevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/TemperatureSensorDevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/TemperatureSensorDevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,85 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.device.impl;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.measureament_sensing.TemperatureMeasurement;
+import it.cnr.isti.zigbee.ha.device.api.hvac.TemperatureSensor;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.AbstractDeviceDescription;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class TemperatureSensorDevice extends HADeviceBase implements TemperatureSensor {
+
+ private final TemperatureMeasurement temperature;
+
+ public TemperatureSensorDevice(BundleContext ctx,ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ super(ctx,zbDevice);
+ temperature = (TemperatureMeasurement) addCluster(HAProfile.TEMPERATURE_MEASUREMENT);
+ }
+
+ public String getName() {
+ return TemperatureSensor.NAME;
+ }
+
+ public TemperatureMeasurement getTemperatureMeasurement() {
+ return temperature;
+ }
+
+ final static DeviceDescription DEVICE_DESCRIPTOR = new AbstractDeviceDescription(){
+
+ public int[] getCustomClusters() {
+ return TemperatureSensor.CUSTOM;
+ }
+
+ public int[] getMandatoryCluster() {
+ return TemperatureSensor.MANDATORY;
+ }
+
+ public int[] getOptionalCluster() {
+ return TemperatureSensor.OPTIONAL;
+ }
+
+ public int[] getStandardClusters() {
+ return TemperatureSensor.STANDARD;
+ }
+
+ };
+
+ public DeviceDescription getDescription() {
+ return DEVICE_DESCRIPTOR;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/device/impl/TemperatureSensorDevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/ArraysUtil.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/ArraysUtil.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/ArraysUtil.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,49 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver;
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class ArraysUtil {
+
+ /**
+ * Create a new <code>int[]</code> by concatenating prefix and postfix
+ *
+ * @param prefix the first the <code>int[]</code> to join
+ * @param postfix the second the <code>int[]</code> to join
+ * @return the new <code>int[]</code> obtained by concatenating prefix and postfix
+ */
+ public static final int[] append(int[] prefix, int[] postfix){
+ int[] result = new int[prefix.length+postfix.length];
+ System.arraycopy(prefix, 0, result, 0, prefix.length);
+ System.arraycopy(postfix, 0, result, prefix.length, postfix.length);
+ return result;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/ArraysUtil.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HADriverConfiguration.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HADriverConfiguration.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HADriverConfiguration.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,247 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver;
+
+import it.cnr.isti.osgi.util.DictionaryHelper;
+import it.cnr.isti.osgi.util.OSGiProperties;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.ReportingConfiguration;
+
+import java.util.Dictionary;
+import java.util.HashMap;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.service.cm.ConfigurationException;
+import org.osgi.service.cm.ManagedService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 90 $ ($LastChangedDate: 2010-10-08 21:02:14 +0200 (ven, 08 ott 2010) $)
+ * @since 0.6.0
+ *
+ */
+public class HADriverConfiguration implements ManagedService, ReportingConfiguration {
+
+ private final static Logger logger = LoggerFactory.getLogger(HADriverConfiguration.class);
+
+
+ public enum ProvidedClusterMode {
+ HomeAutomationProfileStrict,
+ EitherInputAndOutput;
+ }
+ /**
+ * The key to {@link String} property representing on values of th {@link ProvidedClusterMode} enum, that change the<br>
+ * creation behavior of the {@link HADeviceBase} objects, by following the rules:<br>
+ * <ul>
+ * <li>
+ * if the value is equal to <b>EitherInputAndOutput</b> then if a device provides an cluster X as <i>Input cluster</i> only,<br>
+ * and if the cluster X is mandatory and appear as <i>Output cluster</i>, then the <i>Home Automation Driver</i> consider the<br>
+ * cluster available X available for input too, and it add it to the actual list of cluster for the {@link HADevice} created
+ * <li>
+ * if the value is equal to <b>HomeAutomationProfileStrict</b> then the <i>Home Automation Driver</i> create the cluster for the<br>
+ * {@link HADevice} if and only if it is reported as an <i>Input cluster</i>
+ * </li>
+ *
+ */
+ public static final String PROVIDED_CLUSTER_MODE_KEY = "it.isti.cnr.zigbee.ha.driver.cluster.discovery.mode";
+ /**
+ * The default value for the property {@link #PROVIDED_CLUSTER_MODE_KEY}, that is <b>HomeAutomationProfileStrict</b>
+ */
+ public static final String DEFAULT_PROVIDED_CLUSTER_MODE = ProvidedClusterMode.HomeAutomationProfileStrict.toString();
+
+ private final HashMap<String, Object> configuration = new HashMap<String, Object>();
+ private final BundleContext context;
+
+ public HADriverConfiguration(BundleContext bc){
+ context = bc;
+ synchronized (configuration) {
+ configuration.put(ReportingConfiguration.CONFIGURE_REPORTING_MIN_KEY,
+ OSGiProperties.getInt(context, ReportingConfiguration.CONFIGURE_REPORTING_MIN_KEY, ReportingConfiguration.DEFAULT_CONFIGURE_REPORTING_MIN)
+ );
+
+ configuration.put(ReportingConfiguration.CONFIGURE_REPORTING_MAX_KEY,
+ OSGiProperties.getInt(context, ReportingConfiguration.CONFIGURE_REPORTING_MAX_KEY, ReportingConfiguration.DEFAULT_CONFIGURE_REPORTING_MAX)
+ );
+
+ configuration.put(ReportingConfiguration.CONFIGURE_REPORTING_CHANGE_KEY,
+ OSGiProperties.getDouble(context, ReportingConfiguration.CONFIGURE_REPORTING_CHANGE_KEY, ReportingConfiguration.DEFAULT_CONFIGURE_REPORTING_CHANGE)
+ );
+
+ configuration.put(ReportingConfiguration.CONFIGURE_REPORTING_OVERWRITE_KEY,
+ OSGiProperties.getBoolean(context, ReportingConfiguration.CONFIGURE_REPORTING_OVERWRITE_KEY, ReportingConfiguration.DEFAULT_CONFIGURE_REPORTING_OVERWRITE)
+ );
+ try{
+ configuration.put(PROVIDED_CLUSTER_MODE_KEY,
+ OSGiProperties.getString(context, PROVIDED_CLUSTER_MODE_KEY, ProvidedClusterMode.HomeAutomationProfileStrict.toString() )
+ );
+ }catch(IllegalArgumentException ex){
+ logger.error(
+ "The value current value {} of the property {} doesn't not belong to the enum {}, so it has been SET TO DEFAULT {}",
+ new Object[]{
+ OSGiProperties.getString(context, PROVIDED_CLUSTER_MODE_KEY, null ),
+ PROVIDED_CLUSTER_MODE_KEY,
+ ProvidedClusterMode.class.getName(),
+ ProvidedClusterMode.HomeAutomationProfileStrict.toString()
+ }
+ );
+ configuration.put(PROVIDED_CLUSTER_MODE_KEY, ProvidedClusterMode.HomeAutomationProfileStrict.toString() );
+ }
+ }
+
+ logger.debug("Initialized {} with {}", this, configuration);
+ }
+
+ @SuppressWarnings("unchecked")
+ public void updated(Dictionary newConfig) throws ConfigurationException {
+
+ logger.info("Updating configuration with {}", newConfig);
+
+ if( newConfig == null ){
+ logger.debug("New configuration is null, avoiding to update it");
+ return;
+ }
+
+ DictionaryHelper helper = new DictionaryHelper(newConfig);
+ boolean isChanged = false;
+ synchronized (this) {
+ isChanged = setInteger(ReportingConfiguration.CONFIGURE_REPORTING_MIN_KEY,
+ helper.getInt(ReportingConfiguration.CONFIGURE_REPORTING_MIN_KEY, getReportingMinimum())
+ ) || isChanged;
+
+ isChanged = setInteger(ReportingConfiguration.CONFIGURE_REPORTING_MAX_KEY,
+ helper.getInt(ReportingConfiguration.CONFIGURE_REPORTING_MAX_KEY, getReportingMaximum())
+ ) || isChanged;
+
+ isChanged = setDouble(ReportingConfiguration.CONFIGURE_REPORTING_CHANGE_KEY,
+ helper.getDouble(ReportingConfiguration.CONFIGURE_REPORTING_CHANGE_KEY, getReportingChange())
+ ) || isChanged;
+
+ isChanged = setBoolean(ReportingConfiguration.CONFIGURE_REPORTING_OVERWRITE_KEY,
+ helper.getBoolean(ReportingConfiguration.CONFIGURE_REPORTING_OVERWRITE_KEY, getReportingOverwrite())
+ ) || isChanged;
+ try {
+ isChanged = setStringCaseSensitve( PROVIDED_CLUSTER_MODE_KEY,
+ helper.getString( PROVIDED_CLUSTER_MODE_KEY, getClusterMode().toString() )
+ ) || isChanged;
+ } catch ( IllegalArgumentException ex ) {
+ logger.error( "The new value current value {} for the property {} doesn't not belong to the enum {}, so it has been IGNORED",
+ new Object[] {
+ helper.getString( PROVIDED_CLUSTER_MODE_KEY, getClusterMode().toString() ),
+ PROVIDED_CLUSTER_MODE_KEY,
+ ProvidedClusterMode.class.getName()
+ }
+ );
+ }
+
+ }
+
+ logger.debug("Current configuration after applying new configuration is {}", configuration);
+
+ }
+
+ private int getInt(String key){
+ return ((Integer) configuration.get(key)).intValue();
+ }
+
+ private long getLong(String key){
+ return ((Long) configuration.get(key)).longValue();
+ }
+
+ private double getDouble(String key){
+ return ((Double) configuration.get(key)).doubleValue();
+ }
+
+ private boolean getBoolean(String key){
+ return ((Boolean) configuration.get(key)).booleanValue();
+ }
+
+ private String getString(String key){
+ return (String) configuration.get(key);
+ }
+
+ private boolean setStringCaseInsensitve(String key, String value){
+ if( getString(key).equalsIgnoreCase(value) ) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ private boolean setStringCaseSensitve(String key, String value){
+ if( getString(key).compareTo(value) == 0) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ private boolean setLong(String key, long value){
+ if( getLong(key) == value ) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ private boolean setInteger(String key, int value){
+ if( getInt(key) == value ) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ private boolean setBoolean(String key, boolean value){
+ if( getBoolean(key) == value ) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ private boolean setDouble(String key, double value){
+ if( getDouble(key) == value ) return false;
+ configuration.put(key, value);
+ return true;
+ }
+
+ public synchronized int getReportingMinimum() {
+ return getInt(ReportingConfiguration.CONFIGURE_REPORTING_MIN_KEY);
+ }
+
+ public synchronized int getReportingMaximum() {
+ return getInt(ReportingConfiguration.CONFIGURE_REPORTING_MAX_KEY);
+ }
+
+ public synchronized double getReportingChange() {
+ return getDouble(ReportingConfiguration.CONFIGURE_REPORTING_CHANGE_KEY);
+ }
+
+ public synchronized boolean getReportingOverwrite() {
+ return getBoolean(ReportingConfiguration.CONFIGURE_REPORTING_OVERWRITE_KEY);
+ }
+
+ /**
+ *
+ * @return
+ * @since 0.6.0 - Revision 88
+ */
+ public synchronized ProvidedClusterMode getClusterMode() {
+ return ProvidedClusterMode.valueOf( getString( PROVIDED_CLUSTER_MODE_KEY ) );
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HADriverConfiguration.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HAImporter.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HAImporter.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HAImporter.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,262 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceFactory;
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceRegistry;
+import it.cnr.isti.zigbee.ha.driver.core.HAProfile;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class HAImporter extends Thread {
+
+ private final static Logger log = LoggerFactory.getLogger(HAImporter.class);
+
+ private final static Object DISCOVERY = new Object();
+ private final static String ANY_ZBDEVICE_FILTER = "("+Constants.OBJECTCLASS+"="+ZigBeeDevice.class.getName()+")";
+ private final static String ANY_HADEVICE_FILTER = "(&" + ANY_ZBDEVICE_FILTER + "(" + ZigBeeDevice.PROFILE_ID+"=" + HAProfile.ID +"))";
+ private BundleContext context;
+
+ private final Hashtable<String, HADeviceDescriptor> refinedDevices;
+ private final HADeviceRegistry deviceRegistry;
+ private final HADeviceListener listenerHADevice = new HADeviceListener();
+ private final HADeviceFactoryListener listenerHADeviceFactory = new HADeviceFactoryListener();
+
+ private class HADeviceDescriptor {
+ ServiceRegistration registration;
+ HADeviceBase haDevice;
+ ServiceReference zbDeviceSR;
+ }
+
+ private class HADeviceListener implements ServiceListener {
+
+ public void serviceChanged(ServiceEvent event) {
+ synchronized (DISCOVERY) {
+ ServiceReference zbDeviceSR = event.getServiceReference();
+ switch(event.getType()){
+ case ServiceEvent.REGISTERED:{
+ doRefineHADevice(zbDeviceSR);
+ };break;
+
+ case ServiceEvent.MODIFIED:{
+ // never modified
+ };break;
+
+ case ServiceEvent.UNREGISTERING:{
+ doRemoveRefinement(zbDeviceSR);
+ };break;
+ }
+ }
+ }
+ }
+
+ private class HADeviceFactoryListener implements ServiceListener {
+
+ public void serviceChanged(ServiceEvent event) {
+ ServiceReference zbDeviceFactorySR = event.getServiceReference();
+ synchronized (DISCOVERY) {
+ switch(event.getType()){
+ case ServiceEvent.REGISTERED:{
+ deviceRegistry.addHADeviceFactory(zbDeviceFactorySR);
+ refineDevices(zbDeviceFactorySR);
+ };break;
+
+ case ServiceEvent.MODIFIED:{
+ deviceRegistry.removeHADeviceFactory(zbDeviceFactorySR);
+ deviceRegistry.addHADeviceFactory(zbDeviceFactorySR);
+ };break;
+
+ case ServiceEvent.UNREGISTERING:{
+ deviceRegistry.removeHADeviceFactory(zbDeviceFactorySR);
+ };break;
+ }
+ }
+ }
+
+ private void refineDevices(ServiceReference factory) {
+ try {
+ ServiceReference[] references = context.getServiceReferences(
+ ZigBeeDevice.class.getName(),
+ "("+ZigBeeDevice.PROFILE_ID+"="+HAProfile.ID+")"
+ );
+ if ( references == null ) return;
+ for (int j = 0; j < references.length; j++) {
+ String uuid = (String) references[j].getProperty(ZigBeeDevice.UUID);
+ ServiceReference[] refined = context.getServiceReferences(
+ HADevice.class.getName(),
+ "(" + HADevice.ZIGBEE_DEVICE_UUID + "=" + uuid + ")"
+ );
+ if ( refined != null ) {
+ log.debug(
+ "Device {} already refined. I won't checked if it could be refined by " +
+ "the new factory {}", uuid, factory.getProperty(Constants.OBJECTCLASS)
+ );
+ continue;
+ }
+ doRefineHADevice(references[j]);
+ }
+ } catch (InvalidSyntaxException ex) {
+ log.error("Fixed the filter definition and recompile the bundle {}",ex);
+ }
+ }
+
+ }
+
+ public void run(){
+ //TODO Move registration inside the run
+ }
+
+ public HAImporter(BundleContext context){
+ this.context = context;
+ deviceRegistry = new HADeviceRegistry(context);
+ refinedDevices = new Hashtable<String, HADeviceDescriptor>();
+
+ synchronized (DISCOVERY) {
+ try {
+ context.addServiceListener(listenerHADevice,ANY_HADEVICE_FILTER);
+ context.addServiceListener(listenerHADeviceFactory,HADeviceRegistry.ANY_ZBDEVICE_FACTORY_FILTER);
+ } catch (InvalidSyntaxException e) {
+ log.error("Modified the value of ANY_HADEVICE_FILTER or HADeviceRegistry.ANY_ZBDEVICE_FACTORY_FILTER and recompile",e);
+ }
+ try {
+ ServiceReference[] zbDeviceSRs = context.getAllServiceReferences(ZigBeeDevice.class.getName(), ANY_HADEVICE_FILTER);
+ if (zbDeviceSRs!= null){
+ for (int i= 0; i<zbDeviceSRs.length;i++){
+ doRefineHADevice(zbDeviceSRs[i]);
+ }
+ }
+ } catch (InvalidSyntaxException e) {
+ log.error("Modified the value of ANY_HADEVICE_FILTER and recompile",e);
+ }
+ }
+ }
+
+ public void serviceChanged(ServiceEvent event) {
+
+ }
+
+ private void doRefineHADevice(ServiceReference zbDeviceSR) {
+ final String uuid = (String) zbDeviceSR.getProperty(ZigBeeDevice.UUID);
+ log.info("HAD - refining ZigbeeDevice {}", uuid);
+ ZigBeeDevice zbDevice = (ZigBeeDevice) context.getService(zbDeviceSR);
+ try {
+ /*
+ * Call the getDeviceFactories and check for multiple factory
+ * capable of handling the device
+ */
+ HADeviceFactory factory = deviceRegistry.getFactory(zbDevice);
+ HADeviceBase refined = deviceRegistry.getInstance(zbDevice);
+ if (refined == null) { // pending services
+ log.warn("No refinement for ZigbeeDevice {}", uuid);
+ } else {
+ doRefinementRegistration(zbDeviceSR, refined, factory);
+ }
+ } catch (ZigBeeHAException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ private void doRefinementRegistration(ServiceReference zbDeviceSR, HADeviceBase refined, HADeviceFactory factory) {
+ String[] directInterfaces = factory.getRefinedInterfaces();
+
+ //TODO definition of HAdevice Properties
+ Properties properties = new Properties();
+
+ properties.put(HADevice.ZIGBEE_DEVICE_UUID, zbDeviceSR.getProperty(ZigBeeDevice.UUID));
+ properties.put(HADevice.ZIGBEE_DEVICE_SERVICE, zbDeviceSR.getProperty(Constants.SERVICE_ID));
+ properties.put(HADevice.HA_DRIVER, "it.cnr.isti.zigbee.ha.driver");
+ properties.put(HADevice.HA_DEVICE_NAME, refined.getName());
+ properties.put(HADevice.HA_DEVICE_GROUP, ""); //TODO
+ properties.put(HADevice.HA_DEVICE_STANDARD, Boolean.TRUE);
+
+
+ ServiceRegistration registration = context.registerService(directInterfaces, refined, properties);
+ String uuid = (String) zbDeviceSR.getProperty(ZigBeeDevice.UUID);
+
+ HADeviceDescriptor descriptor = new HADeviceDescriptor();
+ descriptor.registration = registration;
+ descriptor.haDevice = refined;
+ descriptor.zbDeviceSR = zbDeviceSR;
+
+ synchronized (refinedDevices) {
+ refinedDevices.put(uuid, descriptor);
+ }
+ }
+
+ private void doRemoveRefinement(ServiceReference zbDeviceSR) {
+ String uuid = (String) zbDeviceSR.getProperty(ZigBeeDevice.UUID);
+ HADeviceDescriptor descriptor = null;
+ synchronized (refinedDevices) {
+ descriptor = (HADeviceDescriptor) refinedDevices.remove(uuid);
+ }
+ if (descriptor != null){
+ descriptor.haDevice.stop();
+ descriptor.registration.unregister();
+ context.ungetService(descriptor.zbDeviceSR);
+ }
+ }
+
+
+ public void close() {
+ synchronized (refinedDevices) {
+ context.removeServiceListener(listenerHADevice);
+ context.removeServiceListener(listenerHADeviceFactory);
+ Enumeration<String> keys = refinedDevices.keys();
+ while (keys.hasMoreElements()) {
+ String key = (String) keys.nextElement();
+ HADeviceDescriptor descriptor = (HADeviceDescriptor) refinedDevices.get(key);
+ descriptor.haDevice.stop();
+ descriptor.registration.unregister();
+ context.ungetService(descriptor.zbDeviceSR);
+ }
+ refinedDevices.clear();
+ }
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/HAImporter.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactory.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactory.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactory.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,41 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public interface ClusterFactory {
+
+ public Cluster getInstance(String key, ZigBeeDevice zbDevice) throws ZigBeeHAException;
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactoryBase.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactoryBase.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactoryBase.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,120 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class ClusterFactoryBase implements ClusterFactory{
+
+ private BundleContext ctx;
+ private ServiceRegistration registration;
+ private Dictionary dictionary;
+ private Hashtable<String, Class> clusters;
+
+
+ public ClusterFactoryBase(BundleContext ctx){
+ this.ctx = ctx;
+ dictionary = new Properties();
+ clusters = new Hashtable<String, Class>();
+ }
+
+
+
+ public void addProperty(String key, Object value){
+ dictionary.put(key, value);
+ }
+
+
+ public void register(){
+ Enumeration<String> keys = clusters.keys();
+ String[] clusterIDs = new String[clusters.size()];
+ int i =0;
+ while (keys.hasMoreElements()) {
+ String key = (String) keys.nextElement();
+ clusterIDs[i++]=key;
+ }
+
+ dictionary.put(Cluster.PROFILE_CLUSTER_IDs,clusterIDs);
+ registration = ctx.registerService(ClusterFactory.class.getName(), this, dictionary);
+ }
+
+ public void unregister(){
+ registration.unregister();
+ }
+
+
+ protected void addCluster(String key, Class clazz) {
+ clusters.put(key,clazz);
+ }
+
+ public Cluster getInstance(String key, ZigBeeDevice zbDevice) {
+ Class clazz = clusters.get(key);
+ if (clazz != null) {
+ try {
+ Constructor<?> constructor = clazz.getConstructor(ZigBeeDevice.class);
+ Cluster cluster = (Cluster) constructor.newInstance(zbDevice);
+ return cluster;
+ } catch (SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ClusterFactoryBase.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/GenericHADeviceFactory.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/GenericHADeviceFactory.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/GenericHADeviceFactory.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,121 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+
+import java.lang.reflect.Constructor;
+
+import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * Generic class that simplify the creation of factory, and avoids the creation of a class for<br>
+ * each factory that we want to register
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @since 0.4.0
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $) *
+ */
+public class GenericHADeviceFactory extends HADeviceFactoryBase {
+
+ static final Logger logger = LoggerFactory.getLogger(GenericHADeviceFactory.class);
+
+ final protected String deviceId;
+ final protected Class<?> inter, impl;
+
+ protected String[] classes;
+
+
+ /**
+ * Build an {@link HADeviceFactory} that refine {@link ZigBeeDevice} by means of <code>cImplementation</code>,<br>
+ * into a <code>cInterface</code> service. This factory build the instance of the new service by invoking<br>
+ * the constructor <code>cImplementation(BundleContext, ZigBeeDevice)</code>.<br>
+ * By default the {@link #getRefinedInterfaces()} is built to return the values:<br>
+ * <pre>
+ * cInterface.getName()
+ * HADevice.class.getName()
+ * </pre>
+ *
+ *
+ * @param ctx {@link BundleContext} to use for registering the {@link HADeviceFactory} service
+ * @param cInterface {@link Class} representing the refined service that this factory will install
+ * @param cImplementation {@link Class} representing the implementation of the refinement service that will be created by the factory
+ *
+ * @throws ZigBeeHAException
+ */
+ public GenericHADeviceFactory(BundleContext ctx, Class<?> cInterface, Class<?> cImplementation) throws ZigBeeHAException {
+ super(ctx, cInterface);
+
+ this.inter = cInterface;
+ this.impl = cImplementation;
+ classes = new String[]{ cInterface.getName(), HADevice.class.getName() };
+
+ try {
+ deviceId = cInterface.getField("DEVICE_ID").get(null).toString();
+ } catch (Exception e) {
+ logger.error(
+ "Unable to retrive the implemented the DeviceId refined by this driver"
+ + " by means of the reflection, the class {} does not provide the static "
+ + "field DEVICE_ID.\n"
+ + "Please modify the source code of the class by adding such static field or"
+ + "implement a proper {} class",
+ cInterface.getName(), HADeviceFactory.class.getName()
+ );
+ logger.debug("Stack exception of the GenericHADeviceFactory() error", e);
+
+ throw new ZigBeeHAException("Unable to retrive DEVICE_ID by means of reflection", e);
+ }
+ }
+
+ @Override
+ public String getDeviceId() {
+ return deviceId;
+ }
+
+ public GenericHADeviceFactory setRefinedInterfaces(String[] classNames) {
+ classes = classNames;
+ return this;
+ }
+
+ @Override
+ public String[] getRefinedInterfaces() {
+ return classes;
+ }
+
+ @Override
+ public HADeviceBase getInstance(ZigBeeDevice zbd) throws ZigBeeHAException {
+ try {
+ Constructor builder = impl.getConstructor(BundleContext.class, ZigBeeDevice.class);
+ HADeviceBase device = (HADeviceBase) builder.newInstance(ctx, zbd);
+ return device;
+ } catch (Exception e) {
+ logger.error("Unable to create an instance of the refined device due to:", e);
+ return null;
+ }
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/GenericHADeviceFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADevice.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADevice.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADevice.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,141 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Alarms;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Basic;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.DeviceTemperatureConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.PowerConfiguration;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 108 $ ($LastChangedDate: 2010-10-15 19:51:32 +0200 (ven, 15 ott 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface HADevice {
+
+ public static final String ZIGBEE_DEVICE_SERVICE = "zigbee.service.id";
+ public static final String ZIGBEE_DEVICE_UUID = "zigbee.device.uuid";
+ public static final String HA_DRIVER = "zigbee.ha.driver.name";
+ public static final String HA_DEVICE_NAME = "zigbee.ha.name";
+ public static final String HA_DEVICE_GROUP = "zigbee.ha.group";
+ public static final String HA_DEVICE_STANDARD = "zigbee.ha.standard";
+
+ public static final int[] MANDATORY = {HAProfile.BASIC,HAProfile.IDENTIFY};
+ public static final int[] OPTIONAL = {HAProfile.POWER_CONFIGURATION, HAProfile.DEVICE_TEMPERATURE_CONFIGURATION, HAProfile.ALARMS};
+ public static final int[] STANDARD = ArraysUtil.append(MANDATORY, OPTIONAL);
+
+
+ public String getName();
+ /**
+ *
+ * @return an <code>int</code> representing the <b>DeviceId</b> as defined by the<br>
+ * <i>ZigBee Home Automation</i> profile documentation
+ */
+ public int getDeviceType();
+ public int getEndPointId();
+ public int getProfileId();
+
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link Basic}
+ *
+ * @return the {@link Basic} cluster object
+ */
+ public Basic getBasic();
+
+ /**
+ * Access method for the <b>Mandatory</b> cluster: {@link Basic}
+ *
+ * @return the {@link Basic} cluster object
+ */
+ public Identify getIdentify();
+
+ /**
+ * Access method for the <b>Optional</b> cluster: {@link PowerConfiguration}
+ *
+ * @return the {@link PowerConfiguration} cluster object
+ * @since 0.4.0
+ */
+ public PowerConfiguration getPowerConfiguration();
+
+ /**
+ * Access method for the <b>Optional</b> cluster: {@link DeviceTemperatureConfiguration}
+ *
+ * @return the {@link DeviceTemperatureConfiguration} cluster object
+ * @since 0.4.0
+ */
+ public DeviceTemperatureConfiguration getDeviceTemperatureConfiguration();
+
+ /**
+ * Access method for the <b>Optional</b> cluster: {@link Alarms}
+ *
+ * @return the {@link Alarms} cluster object
+ * @since 0.4.0
+ */
+ public Alarms getAlarms();
+
+ /**
+ * Access method to the {@link DeviceDescription}.<br>
+ *
+ * <b>NOTE</b>: The {@link DeviceDescription} <b>should</b> be shared among all {@link HADeviceBase}<br>
+ * sharing the same <b>DeviceId</b>
+ *
+ * @return the {@link DeviceDescription}
+ */
+ public DeviceDescription getDescription();
+ /**
+ *
+ * @param id the <code>int</code> representing the <b>ClusterId</b>
+ * @return the {@link Cluster} identified by the given id if this device implements<br>
+ * otherwise <code>null</code>
+ * @since 0.2.0
+ */
+ public Cluster getCluster(int id);
+
+ /**
+ *
+ * @return the {@link Cluster} array effectively implemented by the remote ZigBee Device<br>
+ * otherwise <code>null</code>
+ */
+ public Cluster[] getAvailableCluster();
+
+
+ /**
+ *
+ * @return return {@link ZigBeeDevice} service that has been refined has {@link HADevice}
+ * @since 0.2.0
+ * @deprecated The method should be avoided because it cause Service Reference Leak
+ */
+ public ZigBeeDevice getZBDevice();
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADevice.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceBase.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceBase.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceBase.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,277 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.Activator;
+import it.cnr.isti.zigbee.ha.cluster.glue.Cluster;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Alarms;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Basic;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.DeviceTemperatureConfiguration;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.Identify;
+import it.cnr.isti.zigbee.ha.cluster.glue.general.PowerConfiguration;
+import it.cnr.isti.zigbee.ha.driver.HADriverConfiguration;
+import it.cnr.isti.zigbee.ha.driver.HADriverConfiguration.ProvidedClusterMode;
+import it.cnr.isti.zigbee.ha.driver.core.reflection.DeviceDescription;
+import it.cnr.isti.zigbee.zcl.library.api.core.Subscription;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZCLCluster;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * This class represent a generic <b>Home Automation Device</b> as defined by the document:<br>
+ * <i>ZigBee Home Automation</i> public release version 075123r01ZB
+ * <br>
+ * <b>NOTE</b>: In general the mapping between <b>ClusterId</b> and <b>Cluster</b> is defined<br>
+ * by the profile, while the mapping between <b><i>Name</i></b> and <b>Cluster</b> is defined where the<br>
+ * <b>Cluster</b> is defined: usually inside a <i>Cluster Library</i>
+ *
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 90 $ ($LastChangedDate: 2010-10-08 21:02:14 +0200 (ven, 08 ott 2010) $)
+ * @since 0.1.0
+ *
+ */
+public abstract class HADeviceBase implements HADevice {
+
+ private final static Logger logger = LoggerFactory.getLogger(HADeviceBase.class);
+
+ protected ZigBeeDevice zbDevice;
+ private BundleContext ctx;
+
+
+ private Cluster[] clusters;
+ private int index;
+
+
+ /*
+ * Mandatory clusters common to all Home Automation devices
+ */
+ protected Basic basic;
+ protected Identify identify;
+ /*
+ * Optional clusters common to all Home Automation devices
+ */
+ protected Alarms alarms;
+ protected DeviceTemperatureConfiguration deviceTemperature;
+ protected PowerConfiguration powerConfiguration;
+
+
+
+ public HADeviceBase(BundleContext ctx, ZigBeeDevice zbDevice ) throws ZigBeeHAException{
+ this.zbDevice = zbDevice;
+ this.ctx = ctx;
+
+ final int size;
+ if( Activator.getConfiguration().getClusterMode() == ProvidedClusterMode.HomeAutomationProfileStrict ){
+ size = zbDevice.getInputClusters().length;
+ }else{
+ size = zbDevice.getInputClusters().length + zbDevice.getOutputClusters().length;
+ }
+ clusters = new Cluster[size];
+
+ basic = (Basic) addCluster(HAProfile.BASIC);
+ identify = (Identify) addCluster(HAProfile.IDENTIFY);
+
+ powerConfiguration = (PowerConfiguration) addCluster(HAProfile.POWER_CONFIGURATION);
+ deviceTemperature = (DeviceTemperatureConfiguration) addCluster(HAProfile.DEVICE_TEMPERATURE_CONFIGURATION);
+ alarms = (Alarms) addCluster(HAProfile.ALARMS);
+ }
+
+ public int getDeviceType(){
+ return zbDevice.getDeviceId();
+ }
+
+ public abstract String getName();
+
+ public int getEndPointId(){
+ return zbDevice.getId();
+ }
+ public int getProfileId(){
+ return zbDevice.getProfileId();
+ }
+
+
+ protected Cluster addCluster(int clusterId) throws ZigBeeHAException {
+ if ( ! zbDevice.providesInputCluster(clusterId) ){
+ if (getDescription().isMandatory(clusterId)){
+ logger.warn(
+ "ZigBeeDevice with DeviceId={} of Home Automation profile " +
+ "doesn't implement mandatory cluster {}", zbDevice.getDeviceId(), clusterId
+ );
+ if ( zbDevice.providesOutputCluster(clusterId) ){
+ logger.error(
+ "ZigBeeDevice with DeviceId={} of Home Automation profile " +
+ "implements the mandatory cluster {} as output instead of as input " +
+ "it may identify an error either on the Driver description or in " +
+ "in the implementation of firmware of the physical device",
+ zbDevice.getDeviceId(), clusterId
+ );
+ if( Activator.getConfiguration().getClusterMode() == ProvidedClusterMode.HomeAutomationProfileStrict ) {
+ logger.warn(
+ "The cluster {} of the device {} is PROVIDED AS OUTPUT instead of AS INPUT, " +
+ "if you want to add it anyway please change the value of the property {} " +
+ " from {} to {}", new Object[]{
+ clusterId,
+ zbDevice.getDeviceId(),
+ HADriverConfiguration.PROVIDED_CLUSTER_MODE_KEY,
+ ProvidedClusterMode.HomeAutomationProfileStrict,
+ ProvidedClusterMode.EitherInputAndOutput
+ }
+ );
+ return null;
+ }else{
+ logger.warn(
+ "The cluster {} of the device {} is PROVIDED AS OUTPUT instead of AS INPUT, " +
+ "it will be added anyway to the device due to value of the property {} " +
+ ", if you want to disable this change the value from {} to {}",
+ new Object[]{
+ clusterId,
+ zbDevice.getDeviceId(),
+ HADriverConfiguration.PROVIDED_CLUSTER_MODE_KEY,
+ ProvidedClusterMode.EitherInputAndOutput,
+ ProvidedClusterMode.HomeAutomationProfileStrict
+ }
+ );
+ }
+ } else {
+ logger.error(
+ "ZigBeeDevice with DeviceId={} of Home Automation profile " +
+ "doesn't implements the mandatory cluster {} neither as output " +
+ "nor as input it may identify an error either on the Driver " +
+ "description or in in the implementation of firmware of the " +
+ "physical device",
+ zbDevice.getDeviceId(), clusterId
+ );
+ return null;
+ }
+ } else if (getDescription().isOptional(clusterId)){
+ return null;
+ } else if (getDescription().isCustom(clusterId)){
+ // check if exists custom add-on
+ // by using ProfileModule interface
+ logger.warn("[WARNING] Custom Cluster not instantiated");
+ return null;
+ }
+ }
+
+
+ try {
+ String key = HAProfile.ID + ":"+String.valueOf(clusterId);
+ String filter = "(" + Cluster.PROFILE_CLUSTER_IDs + "=" + key+ ")";
+ ServiceReference[] srClusterFactory = ctx.getServiceReferences(ClusterFactory.class.getName(), filter);
+ if( srClusterFactory == null ) {
+ logger.error("No class found implementing the requested cluster {}", clusterId);
+ return null;
+ }
+ else {
+ ClusterFactory factory = (ClusterFactory) ctx.getService(srClusterFactory[0]);
+ Cluster cluster = factory.getInstance(key,zbDevice);
+ clusters[index++] = cluster;
+ return cluster;
+ }
+ } catch (InvalidSyntaxException e) {
+ logger.error("Modified the value of ANY_HADEVICE_FILTER and recompile",e);
+ }
+ return null;
+
+
+ }
+
+ public Basic getBasic(){
+ return basic;
+ }
+
+
+ public Identify getIdentify(){
+ return identify;
+ }
+
+ public PowerConfiguration getPowerConfiguration() {
+ return powerConfiguration;
+ }
+
+ public DeviceTemperatureConfiguration getDeviceTemperatureConfiguration(){
+ return deviceTemperature;
+ }
+
+ public Alarms getAlarms(){
+ return alarms;
+ }
+
+
+ public abstract DeviceDescription getDescription();
+
+ public Cluster getCluster(int id){
+ for (int i = 0; i < clusters.length; i++) {
+ if (clusters[i] != null && clusters[i].getId()==id)
+ return clusters[i];
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param name the {@link String} representing the name associated to <b>ClusterId</b>
+ * @return the {@link ZCLCluster} identified by the given name if this device implements<br>
+ * otherwise <code>null</code>
+ */
+ public Cluster getCluster(String name){
+ for (int i = 0; i < clusters.length; i++) {
+ if (clusters[i] != null && clusters[i].getName().equals(name))
+ return clusters[i];
+ }
+ return null;
+ }
+
+ public Cluster[] getAvailableCluster(){
+ return clusters;
+ }
+
+ public void stop() {
+ for (int i = 0; i < clusters.length; i++) {
+ if ( clusters[i] == null ) continue;
+
+ Subscription[] subscriptions = clusters[i].getActiveSubscriptions();
+ if ( subscriptions == null ) continue;
+
+ for (int j = 0; j < subscriptions.length; j++) {
+ if ( subscriptions[j] == null ) continue;
+ subscriptions[j].clear();
+ }
+ }
+ }
+
+ public ZigBeeDevice getZBDevice(){
+ return zbDevice;
+ }
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceBase.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactory.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactory.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactory.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,86 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+
+import org.osgi.framework.ServiceReference;
+
+/**
+ *
+ * This class represent the main interface for the extendable architecture of the<br>
+ * refinement driver. Each refinement driver from {@link ZigBeeDevice} to {@link HADevice}<br>
+ * has to implement this interface as OSGi Service and register it on OSGi platform.
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 68 $ ($LastChangedDate: 2010-10-01 14:33:43 +0200 (ven, 01 ott 2010) $)
+ * @since 0.4.0
+ *
+ */
+public interface HADeviceFactory {
+
+ //TODO Allow the creation of multi-device factory
+
+ /**
+ *
+ * @return return the {@link String} representing the Device Id that this driver can refine
+ */
+ public String getDeviceId();
+
+ /**
+ *
+ * @return return an array of {@link String} containing all the cluster interfaces<br>
+ * implemented by the refined device generated by this driver
+ */
+ public int[] getDeviceClusters();
+
+ /**
+ *
+ * @return return an array of {@link String} containing all the interfaces<br>
+ * implemented by the refined device generated by this driver
+ */
+ public String[] getRefinedInterfaces();
+
+
+ /**
+ *
+ * @param zbd the {@link ZigBeeDevice} to refine
+ * @return the {@link HADeviceBase} refined from {@link ZigBeeDevice} from this<br>
+ * refinement driver
+ *
+ * @throws ZigBeeHAException
+ */
+ public HADeviceBase getInstance(ZigBeeDevice zbd) throws ZigBeeHAException;
+
+ /**
+ * <b>NOT IN USE</b>
+ *
+ * @param sr the {@link ServiceReference} referencing at the {@link ZigBeeDevice}
+ * @return a matching value between the {@link ZigBeeDevice} referenced by the<br>
+ * {@link ServiceReference} for this refinement driver
+ */
+ public int hasMatch(ServiceReference sr);
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactoryBase.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactoryBase.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactoryBase.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,142 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.driver.ArraysUtil;
+
+import java.util.Arrays;
+import java.util.Dictionary;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ *
+ * @version $LastChangedRevision: 68 $ ($LastChangedDate: 2010-10-01 14:33:43 +0200 (ven, 01 ott 2010) $)
+ * @since 0.4.0
+ *
+ */
+public abstract class HADeviceFactoryBase implements HADeviceFactory {
+
+ private static final int MATCH_DEVICE_ID = 256;
+
+ private static final Logger logger = LoggerFactory.getLogger(HADeviceFactoryBase.class);
+
+ protected BundleContext ctx;
+
+ private ServiceRegistration registration;
+ private Dictionary dictionary;
+ private Class<?> refinement;
+ protected int[] clusters;
+
+ /**
+ *
+ * @param ctx {@link BundleContext} of the bundle extending the refinement capabilities
+ * @param refinement {@link Class} of the most refined interfaces provided by this factory
+ */
+ public HADeviceFactoryBase(BundleContext ctx, Class<?> refinement) {
+ this.ctx = ctx;
+ this.refinement = refinement;
+ dictionary = new Properties();
+ dictionary.put(ZigBeeDevice.PROFILE_ID, Integer.toString(HAProfile.ID));
+ }
+
+ public abstract String getDeviceId();
+
+ public int[] getDeviceClusters() {
+ synchronized (this) {
+ if (clusters == null) {
+ try {
+ final int[] standard = (int[]) refinement.getDeclaredField("STANDARD").get(null);
+ final int[] custom = (int[]) refinement.getDeclaredField("CUSTOM").get(null);
+ clusters = ArraysUtil.append(standard, custom);
+ } catch (Exception e) {
+ logger.error(
+ "Unable to retrive the implemented clusters by means of the reflection, "
+ + "the class {} does not provide the static field STANDARD or CUSTOM.\n"
+ + "Please modify the source code of the class by adding such static field or"
+ + "ovveride the getDeviceClusters() method",refinement.getName()
+ );
+ logger.debug("Stack exception of the getDeviceClusters() error", e);
+ }
+ }
+ return clusters;
+ }
+ }
+
+ public abstract String[] getRefinedInterfaces();
+
+ public abstract HADeviceBase getInstance(ZigBeeDevice zbDevice) throws ZigBeeHAException;
+
+ public void addProperty(String key, Object value) {
+ dictionary.put(key, value);
+ }
+
+
+ public int hasMatch(ServiceReference ref) {
+ int[] inclusterIds = (int[]) ref.getProperty(ZigBeeDevice.CLUSTERS_INPUT_ID);
+ int[] refinedClusterIds = (int[]) getDeviceClusters();
+ int score = 0;
+ for (int i = 0; i < inclusterIds.length; i++) {
+ for (int j = 0; j < refinedClusterIds.length; j++) {
+ if (inclusterIds[i] == refinedClusterIds[j]) {
+ score = score + 1;
+ break;
+ }
+ }
+ }
+ String deviceId = (String) ref.getProperty(ZigBeeDevice.DEVICE_ID);
+ String id = getDeviceId();
+ if (deviceId.equals(id)){
+ score = score + MATCH_DEVICE_ID;
+ }
+ return score;
+ }
+
+ public HADeviceFactoryBase register() {
+ dictionary.put(ZigBeeDevice.DEVICE_ID, getDeviceId());
+ dictionary.put(ZigBeeDevice.CLUSTERS_INPUT_ID, getDeviceClusters());
+ if( logger.isInfoEnabled() ) {
+ logger.info(
+ "Registering a HADeviceFactory ( a refinement driver ) whose refines service with deviceId={} and clusters={}",
+ getDeviceId(), Arrays.toString( getDeviceClusters() )
+ );
+ }
+ registration = ctx.registerService(HADeviceFactory.class.getName(), this, dictionary);
+ return this;
+ }
+
+ public HADeviceFactoryBase unregister() {
+ registration.unregister();
+ return this;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceFactoryBase.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceRegistry.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceRegistry.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceRegistry.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,138 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.driver.HAImporter;
+
+import java.util.HashMap;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class HADeviceRegistry {
+
+ private final static Object REGISTRY = new Object();
+ public final static String ANY_ZBDEVICE_FACTORY_FILTER = "("+Constants.OBJECTCLASS+"="+HADeviceFactory.class.getName()+")";
+
+ private final static Logger log = LoggerFactory.getLogger(HADeviceRegistry.class);
+ private final BundleContext ctx;
+ private HashMap<String, HADeviceFactory> registry;
+ private HAImporter refiner;
+
+ public HADeviceRegistry(BundleContext ctx){
+ this.ctx = ctx ;
+ registry = new HashMap<String, HADeviceFactory>();
+
+ try {
+ ServiceReference[] zbDeviceSRs = ctx.getAllServiceReferences(HADeviceFactory.class.getName(), ANY_ZBDEVICE_FACTORY_FILTER);
+ if (zbDeviceSRs!= null){
+ for (int i= 0; i<zbDeviceSRs.length;i++){
+ addHADeviceFactory(zbDeviceSRs[i]);
+ }
+ }
+ } catch (InvalidSyntaxException e) {
+ log.error("Bad ANY_ZBDEVICE_FACTORY_FILTER: " + ANY_ZBDEVICE_FACTORY_FILTER,e);
+ }
+ }
+
+ public void addHADeviceFactory(ServiceReference zbDeviceFactorySR) {
+ HADeviceFactory factory = (HADeviceFactory) ctx.getService(zbDeviceFactorySR);
+ String key = factory.getDeviceId();
+
+ HADeviceFactory value;
+ synchronized (REGISTRY) {
+ value = registry.put(key, factory);
+ }
+ if(value != null){
+ log.warn("ATTENTION a device with ID:" + key + " has been replaced in the registry !!");
+ }
+ }
+
+ public void removeHADeviceFactory(ServiceReference zbDeviceFactorySR) {
+ String deviceId = (String) zbDeviceFactorySR.getProperty(ZigBeeDevice.DEVICE_ID);
+ synchronized (REGISTRY) {
+ registry.remove(deviceId);
+ }
+ ctx.ungetService(zbDeviceFactorySR);
+ }
+
+ /**
+ * This method selects among all the {@link HADeviceFactory} all the {@link HADeviceFactory} that can<br>
+ * refine the {@link ZigBeeDevice}. Thus all the {@link HADeviceFactory} having<br>
+ * {@link HADeviceFactory#hasMatch(ServiceReference)} greater than 0
+ *
+ * @param zbDevice
+ * @return a {@link HADeviceFactory} array containing all the factories with a matching value greater then 0
+ *
+ * @throws ZigBeeHAException
+ */
+ /*
+ public HADeviceFactory[] getDeviceFactories(ZigBeeDevice zbDevice) throws ZigBeeHAException {
+ //TODO follow the javadoc
+
+ final String deviceId = String.valueOf(zbDevice.getDeviceId());
+
+ synchronized (REGISTRY) {
+ HADeviceFactory factory = registry.get(deviceId);
+ if (factory != null)
+ return new HADeviceFactory[]{ factory };
+ else
+ return null;
+ }
+ }
+ */
+
+ public HADeviceFactory getFactory(ZigBeeDevice zbDevice) {
+ final String deviceId = String.valueOf(zbDevice.getDeviceId());
+
+ synchronized (REGISTRY) {
+ return registry.get(deviceId);
+ }
+ }
+
+ public HADeviceBase getInstance(ZigBeeDevice zbDevice) throws ZigBeeHAException{
+ final HADeviceFactory factory = getFactory(zbDevice);
+ if (factory != null) {
+ return factory.getInstance(zbDevice);
+ } else {
+ return null;
+ }
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HADeviceRegistry.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HAProfile.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HAProfile.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HAProfile.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,96 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.ha.device.api.generic.OnOffOutput;
+import it.cnr.isti.zigbee.ha.device.api.hvac.TemperatureSensor;
+import it.cnr.isti.zigbee.ha.device.api.lighting.DimmableLight;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OccupancySensor;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLight;
+import it.cnr.isti.zigbee.ha.device.api.lighting.OnOffLightSwitch;
+import it.cnr.isti.zigbee.zcl.library.api.general.Alarms;
+import it.cnr.isti.zigbee.zcl.library.api.general.Basic;
+import it.cnr.isti.zigbee.zcl.library.api.general.Commissioning;
+import it.cnr.isti.zigbee.zcl.library.api.general.DeviceTemperatureConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.general.Groups;
+import it.cnr.isti.zigbee.zcl.library.api.general.Identify;
+import it.cnr.isti.zigbee.zcl.library.api.general.LevelControl;
+import it.cnr.isti.zigbee.zcl.library.api.general.OnOff;
+import it.cnr.isti.zigbee.zcl.library.api.general.OnOffSwitchConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.general.PowerConfiguration;
+import it.cnr.isti.zigbee.zcl.library.api.general.Scenes;
+import it.cnr.isti.zigbee.zcl.library.api.general.Time;
+import it.cnr.isti.zigbee.zcl.library.api.measureament_sensing.IlluminanceMeasurement;
+import it.cnr.isti.zigbee.zcl.library.api.measureament_sensing.OccupacySensing;
+import it.cnr.isti.zigbee.zcl.library.api.measureament_sensing.RelativeHumidityMeasurement;
+import it.cnr.isti.zigbee.zcl.library.api.measureament_sensing.TemperatureMeasurement;
+import it.cnr.isti.zigbee.zcl.library.api.security_safety.IASWD;
+import it.cnr.isti.zigbee.zcl.library.api.security_safety.IASZone;
+
+
+/**
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.4.0
+ *
+ */
+public class HAProfile {
+
+ public static final int ID = 260;
+
+ //Generic
+ public static final int BASIC = Basic.ID;
+ public static final int IDENTIFY = Identify.ID;
+ public static final int GROUPS = Groups.ID;
+ public static final int SCENES = Scenes.ID;
+ public static final int ON_OFF = OnOff.ID;
+ public static final int TIME = Time.ID;
+ public static final int LEVEL_CONTROL = LevelControl.ID;
+ public static final int ONOFF_OUTPUT = OnOffOutput.DEVICE_ID;
+ public static final int ON_OFF_SWITCH_CONFIGURATION = OnOffSwitchConfiguration.ID;
+ public static final int ALARMS = Alarms.ID;
+ public static final int POWER_CONFIGURATION = PowerConfiguration.ID;
+ public static final int DEVICE_TEMPERATURE_CONFIGURATION = DeviceTemperatureConfiguration.ID;
+ public static final int COMMISSIONING = Commissioning.ID; // new
+
+ //Measureament & Sensing
+ public static final int TEMPERATURE_MEASUREMENT = TemperatureMeasurement.ID;
+ public static final int OCCUPANCY_SENSING = OccupacySensing.ID;
+ public static final int RELATIVE_HUMIDITY_MEASUREMENT = RelativeHumidityMeasurement.ID;
+ public static final int ILLUMINANCE_MEASUREMENT = IlluminanceMeasurement.ID; // new
+
+ //Lighting
+ public static final int ONOFF_LIGHT = OnOffLight.DEVICE_ID;
+ public static final int DIMMABLE_LIGHT = DimmableLight.DEVICE_ID;
+ public static final int ONOFF_LIGHT_SWITCH = OnOffLightSwitch.DEVICE_ID;
+ public static final int OCCUPANCY_SENSOR = OccupancySensor.DEVICE_ID;
+
+ //HVAC
+ public static final int TEMPERATURE_SENSOR = TemperatureSensor.DEVICE_ID;
+
+ //Security & Safety
+ public static final int IAS_ZONE = IASZone.ID;
+ public static final int IAS_WD = IASWD.ID;
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/HAProfile.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ReportingConfiguration.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ReportingConfiguration.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ReportingConfiguration.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,103 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.ha.driver.HADriverConfiguration.ProvidedClusterMode;
+
+import org.osgi.framework.Constants;
+
+/**
+ *
+ * The interface of the service registered by the <b>Home Automation Driver</b> architecture<br>
+ * which is used to provides among all the bundles composing the <b>Home Automation Driver</b>,<br>
+ * (i.e.: core drivers and driver extension) the default configuration of the reporting<br>
+ * <br>
+ * Interfaces that contains the definition of all the properties key and default values,<br>
+ * that affects the reporting behavior of the <b>Home Automation Driver</b> architecture
+ *
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 90 $ ($LastChangedDate: 2010-10-08 21:02:14 +0200 (ven, 08 ott 2010) $)
+ * @since 0.6.0
+ *
+ */
+public interface ReportingConfiguration {
+
+ public final static String SERVICE_FILTER = "( " + Constants.OBJECTCLASS + "=" + ReportingConfiguration.class.getName() + ")";
+
+
+ /**
+ * The key to {@link Integer} property that set the default value for the <b>Minimum Rerporting Interval</b> field
+ * of the <br>
+ * <b>Configure Reporting Command</b> command. By default it sets the reporting to up one message per minute
+ */
+ public static final String CONFIGURE_REPORTING_MIN_KEY = "it.cnr.isti.zigbee.ha.reporting.min";
+ /**
+ * The default value for the property {@link #CONFIGURE_REPORTING_MIN_KEY}, that is 60
+ */
+ public static final int DEFAULT_CONFIGURE_REPORTING_MIN = 60;
+
+
+ /**
+ * The key to {@link Integer} property that set the default value for the <b>Maximum Rerporting Interval</b> field
+ * of the <br>
+ * <b>Configure Reporting Command</b> command. By default it sets the reporting to send message only when value change
+ */
+ public static final String CONFIGURE_REPORTING_MAX_KEY = "it.cnr.isti.zigbee.ha.reporting.max";
+ /**
+ * The default value for the property {@link #CONFIGURE_REPORTING_MAX_KEY}, that is 0
+ */
+ public static final int DEFAULT_CONFIGURE_REPORTING_MAX = 0;
+
+
+ /**
+ * The key to {@link Double} property that set the default value for the <b>Rerportable Change</b> field of the <br>
+ * <b>Configure Reporting Command</b> command. By default it sets the reporting to send message for any change
+ */
+ public static final String CONFIGURE_REPORTING_CHANGE_KEY = "it.cnr.isti.zigbee.ha.reporting.change";
+ /**
+ * The default value for the property {@link #CONFIGURE_REPORTING_CHANGE_KEY}, that is 0.0
+ */
+ public static final double DEFAULT_CONFIGURE_REPORTING_CHANGE = 0.0d;
+
+ /**
+ * The key to {@link Boolean} property that specify if the reporting should overwrite pre-existing configuration or not<br>
+ * By default the system overwrite the configuration
+ */
+ public static final String CONFIGURE_REPORTING_OVERWRITE_KEY = "it.cnr.isti.zigbee.ha.reporting.overwrite";
+ /**
+ * The default value for the property {@link #CONFIGURE_REPORTING_OVERWRITE_KEY}, that is true
+ */
+ public static final boolean DEFAULT_CONFIGURE_REPORTING_OVERWRITE = true;
+
+
+ public abstract int getReportingMinimum();
+
+ public abstract int getReportingMaximum();
+
+ public abstract double getReportingChange();
+
+ public abstract boolean getReportingOverwrite();
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ReportingConfiguration.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ZigBeeHAException.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ZigBeeHAException.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ZigBeeHAException.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,52 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core;
+
+import it.cnr.isti.zigbee.api.ZigBeeException;
+
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ *
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ * @since 0.1.0
+ *
+ */
+public class ZigBeeHAException extends ZigBeeException {
+
+ public ZigBeeHAException(String msg) {
+ super(msg);
+ }
+
+ public ZigBeeHAException(Throwable ex) {
+ super(ex);
+ }
+
+ /**
+ * @since 0.4.0
+ */
+ public ZigBeeHAException(String msg,Throwable ex) {
+ super(msg,ex);
+ }
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/ZigBeeHAException.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/AbstractDeviceDescription.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/AbstractDeviceDescription.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/AbstractDeviceDescription.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,70 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core.reflection;
+/**
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 42 $ ($LastChangedDate: 2010-09-23 14:21:48 +0200 (gio, 23 set 2010) $)
+ *
+ */
+public abstract class AbstractDeviceDescription implements DeviceDescription{
+
+ public abstract int[] getCustomClusters();
+ public abstract int[] getMandatoryCluster();
+ public abstract int[] getOptionalCluster() ;
+ public abstract int[] getStandardClusters() ;
+
+ public boolean isCustom(int clusterId) {
+ int[] array = getCustomClusters();
+ for (int i = 0; i < array.length; i++) {
+ if (array[i]==clusterId) return true;
+ }
+ return false;
+ }
+
+ public boolean isMandatory(int clusterId) {
+ int[] array = getMandatoryCluster();
+ for (int i = 0; i < array.length; i++) {
+ if (array[i]==clusterId) return true;
+ }
+ return false;
+ }
+
+ public boolean isOptional(int clusterId) {
+ int[] array = getOptionalCluster();
+ for (int i = 0; i < array.length; i++) {
+ if (array[i]==clusterId) return true;
+ }
+ return false;
+ }
+
+ public boolean isStandard(int clusterId) {
+ int[] array = getStandardClusters();
+ for (int i = 0; i < array.length; i++) {
+ if (array[i]==clusterId) return true;
+ }
+ return false;
+ }
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/AbstractDeviceDescription.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/DeviceDescription.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/DeviceDescription.java (added)
+++ projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/DeviceDescription.java Thu Jun 21 11:49:30 2012
@@ -1,0 +1,75 @@
+/*
+ Copyright 2008-2010 CNR-ISTI, http://isti.cnr.it
+ Institute of Information Science and Technologies
+ of the Italian National Research Council
+
+
+ See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+package it.cnr.isti.zigbee.ha.driver.core.reflection;
+
+import it.cnr.isti.zigbee.ha.driver.core.HADeviceBase;
+import it.cnr.isti.zigbee.zcl.library.api.core.ZCLCluster;
+
+/**
+ * This class represent static description associated to a generic <b>Home Automation Device</b><br>
+ * as defined by the document:<br>
+ * <i>ZigBee Home Automation</i> public release version 075123r01ZB
+ * <br>
+ * In particular, this class can be used for inspecting by code the <i>ZigBee Home Automation</i><br>
+ * definition. In fact, all the device belonging to the same <b>DeviceId</b> have a common definition.<br>
+ * Hence, a Singelton implementation that shares a {@link DeviceDescription} among all the {@link HADeviceBase}<br>
+ * objects belonging to the <b>DeviceId</b> is adviced.
+ *
+ * @author <a href="mailto:stefano.lenzi at isti.cnr.it">Stefano "Kismet" Lenzi</a>
+ * @author <a href="mailto:francesco.furfari at isti.cnr.it">Francesco Furfari</a>
+ * @version $LastChangedRevision: 112 $ ($LastChangedDate: 2010-10-17 00:07:45 +0200 (dom, 17 ott 2010) $)
+ * @since 0.1.0
+ *
+ */
+public interface DeviceDescription {
+
+ /**
+ *
+ * @return the {@link ZCLCluster} array of all the cluster defined as <b>Optional</b> by the<br>
+ * <i>ZigBee Home Automation</i> profile documentation
+ */
+ public int[] getOptionalCluster();
+
+ /**
+ *
+ * @return the {@link ZCLCluster} array of all the cluster defined as <b>Mandatory</b> by the<br>
+ * <i>ZigBee Home Automation</i> profile documentation
+ */
+ public int[] getMandatoryCluster();
+
+ /**
+ *
+ * @return
+ */
+ public int[] getStandardClusters();
+
+ public int[] getCustomClusters();
+
+ public boolean isMandatory(int clusterId);
+ public boolean isOptional(int clusterId);
+ public boolean isStandard(int clusterId);
+ public boolean isCustom(int clusterId);
+
+
+
+}
Propchange: projects/zb4osgi/sandbox/manlio.bacco/src/main/java/it/cnr/isti/zigbee/ha/driver/core/reflection/DeviceDescription.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the Commit
mailing list