From 2202c413fd23b284c3f0fbdfed539235aab485b1 Mon Sep 17 00:00:00 2001 From: Marian Pohling Date: Fri, 19 Dec 2014 15:11:46 +0100 Subject: [PATCH] push all new types. --- .gitignore | 4 +- .../rst/devices/energenie/EN_PowerManager.proto | 40 +++++++ .../rst/devices/fibaro/F_MotionSensor.proto | 49 +++++++++ proto/sandbox/rst/devices/gira/GI_5133.proto | 51 +++++++++ proto/sandbox/rst/devices/gira/GI_5142.proto | 54 ++++++++++ proto/sandbox/rst/devices/hager/HA_TE330.proto | 36 +++++++ proto/sandbox/rst/devices/hager/HA_TYA606E.proto | 83 +++++++++++++++ proto/sandbox/rst/devices/hager/HA_TYA628C.proto | 61 +++++++++++ proto/sandbox/rst/devices/hager/HA_TYA663A.proto | 36 +++++++ .../rst/devices/homematic/HM_ReedSwitch.proto | 31 ++++++ .../devices/homematic/HM_RotaryHandleSensor.proto | 31 ++++++ proto/sandbox/rst/devices/philips/PH_Hue_E27.proto | 26 +++++ .../sandbox/rst/devices/philips/PH_Hue_GU10.proto | 26 +++++ .../rst/devices/plugwise/PW_PowerPlug.proto | 32 ++++++ .../rst/devices/sensfloor/FloorModuleState.proto | 40 +++++++ .../sandbox/rst/devices/sensfloor/FloorState.proto | 26 +++++ .../sandbox/rst/homeautomation/AmbientLight.proto | 37 +++++++ proto/sandbox/rst/homeautomation/Battery.proto | 30 ++++++ .../rst/homeautomation/BrightnessSensor.proto | 28 +++++ proto/sandbox/rst/homeautomation/Button.proto | 30 ++++++ proto/sandbox/rst/homeautomation/Dimmer.proto | 35 +++++++ .../sandbox/rst/homeautomation/HandleSensor.proto | 30 ++++++ .../sandbox/rst/homeautomation/MotionSensor.proto | 30 ++++++ .../homeautomation/PowerConsumptionSensor.proto | 28 +++++ proto/sandbox/rst/homeautomation/PowerPlug.proto | 30 ++++++ proto/sandbox/rst/homeautomation/ReedSwitch.proto | 30 ++++++ .../sandbox/rst/homeautomation/Rollershutter.proto | 36 +++++++ .../sandbox/rst/homeautomation/TamperSwitch.proto | 30 ++++++ .../rst/homeautomation/TemperatureController.proto | 28 +++++ .../rst/homeautomation/TemperatureSensor.proto | 28 +++++ .../rst/homeautomation/openhab/DALBinding.proto | 19 ++++ proto/sandbox/rst/homeautomation/openhab/HSB.proto | 30 ++++++ .../openhab/IncreaseDecreaseHolder.proto | 35 +++++++ .../rst/homeautomation/openhab/OnOffHolder.proto | 36 +++++++ .../homeautomation/openhab/OpenClosedHolder.proto | 36 +++++++ .../homeautomation/openhab/OpenhabCommand.proto | 115 +++++++++++++++++++++ .../rst/homeautomation/openhab/Percent.proto | 19 ++++ .../rst/homeautomation/openhab/RSBBinding.proto | 19 ++++ .../homeautomation/openhab/StopMoveHolder.proto | 36 +++++++ .../rst/homeautomation/openhab/UpDownHolder.proto | 36 +++++++ .../rst/homeautomation/states/ActiveDeactive.proto | 39 +++++++ .../sandbox/rst/homeautomation/states/Click.proto | 52 ++++++++++ .../sandbox/rst/homeautomation/states/Energy.proto | 48 +++++++++ .../sandbox/rst/homeautomation/states/Motion.proto | 47 +++++++++ .../rst/homeautomation/states/OpenClosed.proto | 40 +++++++ .../homeautomation/states/OpenClosedTilted.proto | 45 ++++++++ .../sandbox/rst/homeautomation/states/Power.proto | 38 +++++++ .../rst/homeautomation/states/Shutter.proto | 45 ++++++++ .../sandbox/rst/homeautomation/states/Tamper.proto | 47 +++++++++ proto/sandbox/rst/vision/HSVColor.proto | 28 +++++ 50 files changed, 1865 insertions(+), 1 deletion(-) create mode 100644 proto/sandbox/rst/devices/energenie/EN_PowerManager.proto create mode 100644 proto/sandbox/rst/devices/fibaro/F_MotionSensor.proto create mode 100644 proto/sandbox/rst/devices/gira/GI_5133.proto create mode 100644 proto/sandbox/rst/devices/gira/GI_5142.proto create mode 100644 proto/sandbox/rst/devices/hager/HA_TE330.proto create mode 100644 proto/sandbox/rst/devices/hager/HA_TYA606E.proto create mode 100644 proto/sandbox/rst/devices/hager/HA_TYA628C.proto create mode 100644 proto/sandbox/rst/devices/hager/HA_TYA663A.proto create mode 100644 proto/sandbox/rst/devices/homematic/HM_ReedSwitch.proto create mode 100644 proto/sandbox/rst/devices/homematic/HM_RotaryHandleSensor.proto create mode 100644 proto/sandbox/rst/devices/philips/PH_Hue_E27.proto create mode 100644 proto/sandbox/rst/devices/philips/PH_Hue_GU10.proto create mode 100644 proto/sandbox/rst/devices/plugwise/PW_PowerPlug.proto create mode 100644 proto/sandbox/rst/devices/sensfloor/FloorModuleState.proto create mode 100644 proto/sandbox/rst/devices/sensfloor/FloorState.proto create mode 100644 proto/sandbox/rst/homeautomation/AmbientLight.proto create mode 100644 proto/sandbox/rst/homeautomation/Battery.proto create mode 100644 proto/sandbox/rst/homeautomation/BrightnessSensor.proto create mode 100644 proto/sandbox/rst/homeautomation/Button.proto create mode 100644 proto/sandbox/rst/homeautomation/Dimmer.proto create mode 100644 proto/sandbox/rst/homeautomation/HandleSensor.proto create mode 100644 proto/sandbox/rst/homeautomation/MotionSensor.proto create mode 100644 proto/sandbox/rst/homeautomation/PowerConsumptionSensor.proto create mode 100644 proto/sandbox/rst/homeautomation/PowerPlug.proto create mode 100644 proto/sandbox/rst/homeautomation/ReedSwitch.proto create mode 100644 proto/sandbox/rst/homeautomation/Rollershutter.proto create mode 100644 proto/sandbox/rst/homeautomation/TamperSwitch.proto create mode 100644 proto/sandbox/rst/homeautomation/TemperatureController.proto create mode 100644 proto/sandbox/rst/homeautomation/TemperatureSensor.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/DALBinding.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/HSB.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/IncreaseDecreaseHolder.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/OnOffHolder.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/OpenClosedHolder.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/OpenhabCommand.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/Percent.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/RSBBinding.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/StopMoveHolder.proto create mode 100644 proto/sandbox/rst/homeautomation/openhab/UpDownHolder.proto create mode 100644 proto/sandbox/rst/homeautomation/states/ActiveDeactive.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Click.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Energy.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Motion.proto create mode 100644 proto/sandbox/rst/homeautomation/states/OpenClosed.proto create mode 100644 proto/sandbox/rst/homeautomation/states/OpenClosedTilted.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Power.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Shutter.proto create mode 100644 proto/sandbox/rst/homeautomation/states/Tamper.proto create mode 100644 proto/sandbox/rst/vision/HSVColor.proto diff --git a/.gitignore b/.gitignore index 28ed25c..a26ba85 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/build* \ No newline at end of file +/build* +*~ +*.swp diff --git a/proto/sandbox/rst/devices/energenie/EN_PowerManager.proto b/proto/sandbox/rst/devices/energenie/EN_PowerManager.proto new file mode 100644 index 0000000..d9de77e --- /dev/null +++ b/proto/sandbox/rst/devices/energenie/EN_PowerManager.proto @@ -0,0 +1,40 @@ +package rst.devices.energenie; + +import "rst/homeautomation/PowerPlug.proto"; + +option java_outer_classname = "EN_PowerManagerType"; + + +/** + * Description of the energenie power manager. + * + * @author Tamino Huxohl + */ +message EN_PowerManager { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The first power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_1 = 200; + + /** + * The second power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_2 = 300; + + /** + * The third power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_3 = 400; + + /** + * The fourth power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_4 = 500; +} + diff --git a/proto/sandbox/rst/devices/fibaro/F_MotionSensor.proto b/proto/sandbox/rst/devices/fibaro/F_MotionSensor.proto new file mode 100644 index 0000000..d2b8881 --- /dev/null +++ b/proto/sandbox/rst/devices/fibaro/F_MotionSensor.proto @@ -0,0 +1,49 @@ +package rst.devices.fibaro; + +import "rst/homeautomation/Battery.proto"; +import "rst/homeautomation/MotionSensor.proto"; +import "rst/homeautomation/TemperatureSensor.proto"; +import "rst/homeautomation/TamperSwitch.proto"; +import "rst/homeautomation/BrightnessSensor.proto"; + +option java_outer_classname = "F_MotionSensorType"; + + +/** + * Description of the wireless fibaro motion sensor. + * + * @author Tamino Huxohl + */ +message F_MotionSensor { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The battery. + */ + optional .rst.homeautomation.Battery battery = 200; + + /** + * The motion sensor. + */ + optional .rst.homeautomation.MotionSensor motionSensor = 300; + + /** + * The temperature sensor. + */ + optional .rst.homeautomation.TemperatureSensor temperatureSensor = 400; + + /** + * The tamper switch. + */ + optional .rst.homeautomation.TamperSwitch tamperSwitch = 500; + + /** + * The brightness sensor. + */ + optional .rst.homeautomation.BrightnessSensor brightnessSensor = 600; +} + diff --git a/proto/sandbox/rst/devices/gira/GI_5133.proto b/proto/sandbox/rst/devices/gira/GI_5133.proto new file mode 100644 index 0000000..1df0818 --- /dev/null +++ b/proto/sandbox/rst/devices/gira/GI_5133.proto @@ -0,0 +1,51 @@ +package rst.devices.gira; + +import "rst/homeautomation/Button.proto"; + +option java_outer_classname = "GI_5133Type"; + + +/** + * Description of the gira device containg six buttons. + * + * @author Tamino Huxohl + */ +message GI_5133 { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The first button. + */ + optional .rst.homeautomation.Button button_0 = 200; + + /** + * The second button. + */ + optional .rst.homeautomation.Button button_1 = 300; + + /** + * The third button. + */ + optional .rst.homeautomation.Button button_2 = 400; + + /** + * The fourth button. + */ + optional .rst.homeautomation.Button button_3 = 500; + + /** + * The fifth button. + */ + optional .rst.homeautomation.Button button_4 = 600; + + /** + * The sixth button. + */ + optional .rst.homeautomation.Button button_5 = 700; + +} + diff --git a/proto/sandbox/rst/devices/gira/GI_5142.proto b/proto/sandbox/rst/devices/gira/GI_5142.proto new file mode 100644 index 0000000..8f186ea --- /dev/null +++ b/proto/sandbox/rst/devices/gira/GI_5142.proto @@ -0,0 +1,54 @@ +package rst.devices.gira; + +import "rst/homeautomation/Button.proto"; +import "rst/homeautomation/TemperatureSensor.proto"; +import "rst/homeautomation/TemperatureController.proto"; + +option java_outer_classname = "GI_5142Type"; + + +/** + * Description of the gira device containg four buttons, + * a temperature sensor and a temperature controller. + * + * @author Tamino Huxohl + */ +message GI_5142 { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The temperature sensor. + */ + optional .rst.homeautomation.TemperatureSensor temperature_sensor = 200; + + /** + * The temperature controller. + */ + optional .rst.homeautomation.TemperatureController temperature_controller = 250; + + /** + * The first button. + */ + optional .rst.homeautomation.Button button_0 = 300; + + /** + * The second button. + */ + optional .rst.homeautomation.Button button_1 = 400; + + /** + * The third button. + */ + optional .rst.homeautomation.Button button_2 = 500; + + /** + * The fourth button. + */ + optional .rst.homeautomation.Button button_3 = 600; + +} + diff --git a/proto/sandbox/rst/devices/hager/HA_TE330.proto b/proto/sandbox/rst/devices/hager/HA_TE330.proto new file mode 100644 index 0000000..d9f354b --- /dev/null +++ b/proto/sandbox/rst/devices/hager/HA_TE330.proto @@ -0,0 +1,36 @@ +package rst.devices.hager; + +import "rst/homeautomation/PowerConsumptionSensor.proto"; + +option java_outer_classname = "HA_TE330Type"; + + +/** + * Description of the Hager transducer. + * + * @author Tamino Huxohl + */ +message HA_TE330 { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The first power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_0 = 200; + + /** + * The second power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_1 = 300; + + /** + * The third power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_2 = 400; + +} + diff --git a/proto/sandbox/rst/devices/hager/HA_TYA606E.proto b/proto/sandbox/rst/devices/hager/HA_TYA606E.proto new file mode 100644 index 0000000..eee9bf3 --- /dev/null +++ b/proto/sandbox/rst/devices/hager/HA_TYA606E.proto @@ -0,0 +1,83 @@ +package rst.devices.hager; + +import "rst/homeautomation/PowerPlug.proto"; +import "rst/homeautomation/PowerConsumptionSensor.proto"; + +option java_outer_classname = "HA_TYA606EType"; + + +/** + * Description of the Hager power plug actuator. + * + * @author Tamino Huxohl + */ +message HA_TYA606E { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The fisrt power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_0 = 200; + + /** + * The first power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_0 = 250; + + /** + * The second power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_1 = 300; + + /** + * The second power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_1 = 350; + + /** + * The third power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_2 = 400; + + /** + * The third power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_2 = 450; + + /** + * The fourth power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_3 = 500; + + /** + * The fourth power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_3 = 550; + + /** + * The fifth power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_4 = 600; + + /** + * The fifth power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_4 = 650; + + + /** + * The sixth power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug_5 = 700; + + /** + * The sixth power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_5 = 750; + +} + diff --git a/proto/sandbox/rst/devices/hager/HA_TYA628C.proto b/proto/sandbox/rst/devices/hager/HA_TYA628C.proto new file mode 100644 index 0000000..4712ef4 --- /dev/null +++ b/proto/sandbox/rst/devices/hager/HA_TYA628C.proto @@ -0,0 +1,61 @@ +package rst.devices.hager; + +import "rst/homeautomation/Rollershutter.proto"; + +option java_outer_classname = "HA_TYA628CType"; + + +/** + * Description of the Hager rollershutter actuator. + * + * @author Tamino Huxohl + */ +message HA_TYA628C { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The fisrt rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_0 = 200; + + /** + * The second rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_1 = 300; + + /** + * The third rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_2 = 400; + + /** + * The fourth rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_3 = 500; + + /** + * The fifth rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_4 = 600; + + /** + * The sixth rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_5 = 700; + + /** + * The seventh rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_6 = 800; + + /** + * The eighth rollershutter. + */ + optional .rst.homeautomation.Rollershutter rollershutter_7 = 900; + +} + diff --git a/proto/sandbox/rst/devices/hager/HA_TYA663A.proto b/proto/sandbox/rst/devices/hager/HA_TYA663A.proto new file mode 100644 index 0000000..be7875f --- /dev/null +++ b/proto/sandbox/rst/devices/hager/HA_TYA663A.proto @@ -0,0 +1,36 @@ +package rst.devices.hager; + +import "rst/homeautomation/Dimmer.proto"; + +option java_outer_classname = "HA_TYA663AType"; + + +/** + * Description of the Hager dimmer actuator. + * + * @author Tamino Huxohl + */ +message HA_TYA663A { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The first dimmer. + */ + optional .rst.homeautomation.Dimmer dimmer_0 = 200; + + /** + * The second dimmer. + */ + optional .rst.homeautomation.Dimmer dimmer_1 = 300; + + /** + * The third dimmer. + */ + optional .rst.homeautomation.Dimmer dimmer_2 = 400; + +} + diff --git a/proto/sandbox/rst/devices/homematic/HM_ReedSwitch.proto b/proto/sandbox/rst/devices/homematic/HM_ReedSwitch.proto new file mode 100644 index 0000000..b25963b --- /dev/null +++ b/proto/sandbox/rst/devices/homematic/HM_ReedSwitch.proto @@ -0,0 +1,31 @@ +package rst.devices.homematic; + +import "rst/homeautomation/Battery.proto"; +import "rst/homeautomation/ReedSwitch.proto"; + +option java_outer_classname = "HM_ReedSwitchType"; + + +/** + * Description of the wireless homematic reed contact sensor. + * + * @author Marian Pohling + */ +message HM_ReedSwitch { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The battery. + */ + optional .rst.homeautomation.Battery battery = 200; + + /** + * The contact sensor. + */ + optional .rst.homeautomation.ReedSwitch reed_switch = 300; +} + diff --git a/proto/sandbox/rst/devices/homematic/HM_RotaryHandleSensor.proto b/proto/sandbox/rst/devices/homematic/HM_RotaryHandleSensor.proto new file mode 100644 index 0000000..8760c1c --- /dev/null +++ b/proto/sandbox/rst/devices/homematic/HM_RotaryHandleSensor.proto @@ -0,0 +1,31 @@ +package rst.devices.homematic; + +import "rst/homeautomation/Battery.proto"; +import "rst/homeautomation/HandleSensor.proto"; + +option java_outer_classname = "HM_RotaryHandleSensorType"; + + +/** + * Descritpion of the wireless homematic rotary handle sensor. + * + * @author Tamino Huxohl + */ +message HM_RotaryHandleSensor { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The battery. + */ + optional .rst.homeautomation.Battery battery = 200; + + /** + * The handle sensor. + */ + optional .rst.homeautomation.HandleSensor handleSensor = 300; +} + diff --git a/proto/sandbox/rst/devices/philips/PH_Hue_E27.proto b/proto/sandbox/rst/devices/philips/PH_Hue_E27.proto new file mode 100644 index 0000000..f5c02b5 --- /dev/null +++ b/proto/sandbox/rst/devices/philips/PH_Hue_E27.proto @@ -0,0 +1,26 @@ +package rst.devices.philips; + +import "rst/homeautomation/AmbientLight.proto"; + +option java_outer_classname = "PH_Hue_E27Type"; + + +/** + * Description of the wireless philips ambient light bulb type E27. + * + * @author Marian Pohling + * @author Tamino Huxohl + */ +message PH_Hue_E27 { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The ambient light control unit. + */ + optional .rst.homeautomation.AmbientLight ambientLight = 200; +} + diff --git a/proto/sandbox/rst/devices/philips/PH_Hue_GU10.proto b/proto/sandbox/rst/devices/philips/PH_Hue_GU10.proto new file mode 100644 index 0000000..b7719fd --- /dev/null +++ b/proto/sandbox/rst/devices/philips/PH_Hue_GU10.proto @@ -0,0 +1,26 @@ +package rst.devices.philips; + +import "rst/homeautomation/AmbientLight.proto"; + +option java_outer_classname = "PH_Hue_GU10Type"; + + +/** + * Description of the philips hue ambient light bulb type GU10. + * + * @author Marian Pohling + * @author Tamino Huxohl + */ +message PH_Hue_GU10 { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The ambient light control unit. + */ + optional .rst.homeautomation.AmbientLight ambientLight = 200; +} + diff --git a/proto/sandbox/rst/devices/plugwise/PW_PowerPlug.proto b/proto/sandbox/rst/devices/plugwise/PW_PowerPlug.proto new file mode 100644 index 0000000..fd60275 --- /dev/null +++ b/proto/sandbox/rst/devices/plugwise/PW_PowerPlug.proto @@ -0,0 +1,32 @@ +package rst.devices.plugwise; + +import "rst/homeautomation/PowerPlug.proto"; +import "rst/homeautomation/PowerConsumptionSensor.proto"; + +option java_outer_classname = "PW_PowerPlugType"; + + +/** + * Description of the wireless plugwise power plug. + * + * @author Marian Pohling + */ +message PW_PowerPlug { + + /** + * A unique object identifier. + */ + required string id = 100; + + /** + * The power plug. + */ + optional .rst.homeautomation.PowerPlug power_plug = 200; + + /** + * The power consumption sensor. + */ + optional .rst.homeautomation.PowerConsumptionSensor power_consumption = 300; + +} + diff --git a/proto/sandbox/rst/devices/sensfloor/FloorModuleState.proto b/proto/sandbox/rst/devices/sensfloor/FloorModuleState.proto new file mode 100644 index 0000000..59aceb3 --- /dev/null +++ b/proto/sandbox/rst/devices/sensfloor/FloorModuleState.proto @@ -0,0 +1,40 @@ +package rst.devices.sensfloor; + +option java_outer_classname = "FloorModuleStateType"; + +/** + * Holds information about the state of one Future-Shape SensFloor Module. + * + * @author Hendrik Oestreich + */ + +message FloorModuleState { + + message FloorSegmentState { + + /** + * The capacity values for each of the eight segments in a module. + */ + required int32 capacity_segment = 1; + + /** + * The activation values for each of the eight segments in a module. + */ + required bool activation_segment = 2; + + } + + /** + * The activation and capacity combined in one message + * Each module consists of 8 segments, so normally this field should be + * repeated 8 times. + */ + repeated FloorSegmentState segment = 1; + + /** + * The Position of the module in the room (from the transciever). + */ + required int32 position_col = 2; + required int32 position_row = 3; + +} diff --git a/proto/sandbox/rst/devices/sensfloor/FloorState.proto b/proto/sandbox/rst/devices/sensfloor/FloorState.proto new file mode 100644 index 0000000..a9bef4e --- /dev/null +++ b/proto/sandbox/rst/devices/sensfloor/FloorState.proto @@ -0,0 +1,26 @@ +package rst.devices.sensfloor; + +import "rst/devices/sensfloor/FloorModuleState.proto"; + +option java_outer_classname = "FloorStateType"; + +/** + * Holds information about a collection of many Future-Shape SensFloor Modules. + * + * @author Hendrik Oestreich + */ + +message FloorState { + + /** + * The label describes the location where the modules are installed. + */ + required string label = 1; + + /** + * The repeated Field contains RST FloorModuleState Types which + * encode the detail information about the state of each module + */ + repeated .rst.devices.sensfloor.FloorModuleState floormodulestate = 2; + +} diff --git a/proto/sandbox/rst/homeautomation/AmbientLight.proto b/proto/sandbox/rst/homeautomation/AmbientLight.proto new file mode 100644 index 0000000..8ca5b37 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/AmbientLight.proto @@ -0,0 +1,37 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Power.proto"; +import "rst/vision/HSVColor.proto"; + +option java_outer_classname = "AmbientLightType"; + + +/** + * Generic description of an ambient light. + * + * @author Marian Pohling + */ +message AmbientLight { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which repesents the color of the ambient light. + */ + optional .rst.vision.HSVColor color = 200; + + /** + * Field which repesents the power state of the ambient light. + */ + optional .rst.homeautomation.states.Power state = 300; + + /** + * Label of the ambient light. Used to build the scope. + */ + optional string label = 400; + +} + diff --git a/proto/sandbox/rst/homeautomation/Battery.proto b/proto/sandbox/rst/homeautomation/Battery.proto new file mode 100644 index 0000000..ced74f8 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/Battery.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Energy.proto"; + +option java_outer_classname = "BatteryType"; + + +/** + * Generic description of a battery. + * + * @author Marian Pohling + */ +message Battery { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the energy of the battery. + */ + optional .rst.homeautomation.states.Energy state = 200; + + /** + * Label of the battery. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/BrightnessSensor.proto b/proto/sandbox/rst/homeautomation/BrightnessSensor.proto new file mode 100644 index 0000000..e5cc13d --- /dev/null +++ b/proto/sandbox/rst/homeautomation/BrightnessSensor.proto @@ -0,0 +1,28 @@ +package rst.homeautomation; + +option java_outer_classname = "BrightnessSensorType"; + + +/** + * Generic Description of a brightness sensor. + * + * @author Tamino Huxohl + */ +message BrightnessSensor { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * The value for the brightness. + */ + optional float brightness = 200; + + /** + * Label of the brightness sensor. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/Button.proto b/proto/sandbox/rst/homeautomation/Button.proto new file mode 100644 index 0000000..9e95e44 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/Button.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Click.proto"; + +option java_outer_classname = "ButtonType"; + + +/** + * Generic description of a button. + * + * @author Tamino Huxohl + */ +message Button { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the state of the button. + */ + optional .rst.homeautomation.states.Click state = 200; + + /** + * Label of the button. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/Dimmer.proto b/proto/sandbox/rst/homeautomation/Dimmer.proto new file mode 100644 index 0000000..8232938 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/Dimmer.proto @@ -0,0 +1,35 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Power.proto"; + +option java_outer_classname = "DimmerType"; + + +/** + * Generic description of a dimmer. + * + * @author Tamino Huxohl + */ +message Dimmer { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the power state of the dimmer. + */ + optional .rst.homeautomation.states.Power state = 200; + + /** + * The value describing the dimming. Range [0..100] + */ + optional double value = 300; + + /** + * Label of the dimmer. Used to build the scope. + */ + optional string label = 400; +} + diff --git a/proto/sandbox/rst/homeautomation/HandleSensor.proto b/proto/sandbox/rst/homeautomation/HandleSensor.proto new file mode 100644 index 0000000..fa71ea0 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/HandleSensor.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/OpenClosedTilted.proto"; + +option java_outer_classname = "HandleSensorType"; + + +/** + * Description of a generic handle sensor. + * + * @author Tamino Huxohl + */ +message HandleSensor { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the state of the handle sensor. + */ + optional .rst.homeautomation.states.OpenClosedTilted state = 200; + + /** + * Label of the handle sensor. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/MotionSensor.proto b/proto/sandbox/rst/homeautomation/MotionSensor.proto new file mode 100644 index 0000000..4e7ccc6 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/MotionSensor.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Motion.proto"; + +option java_outer_classname = "MotionSensorType"; + + +/** + * Generic description of a motion sensor. + * + * @author Tamino Huxohl + */ +message MotionSensor { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the state of the motion. + */ + optional .rst.homeautomation.states.Motion state = 200; + + /** + * Label of the motion sensor. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/PowerConsumptionSensor.proto b/proto/sandbox/rst/homeautomation/PowerConsumptionSensor.proto new file mode 100644 index 0000000..c71ea99 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/PowerConsumptionSensor.proto @@ -0,0 +1,28 @@ +package rst.homeautomation; + +option java_outer_classname = "PowerConsumptionSensorType"; + + +/** + * Generic description of a power consumption sensor. + * + * @author Marian Pohling + */ +message PowerConsumptionSensor { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * The value for the power consumption. + */ + optional float consumption = 200; + + /** + * Label of the power consumption sensor. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/PowerPlug.proto b/proto/sandbox/rst/homeautomation/PowerPlug.proto new file mode 100644 index 0000000..6550d32 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/PowerPlug.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Power.proto"; + +option java_outer_classname = "PowerPlugType"; + + +/** + * Generic description of a power plug. + * + * @author Marian Pohling + */ +message PowerPlug { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the state of the power plug. + */ + optional .rst.homeautomation.states.Power state = 200; + + /** + * Label of the power plug. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/ReedSwitch.proto b/proto/sandbox/rst/homeautomation/ReedSwitch.proto new file mode 100644 index 0000000..c6380f5 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/ReedSwitch.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/OpenClosed.proto"; + +option java_outer_classname = "ReedSwitchType"; + + +/** + * Generic description of a reed switch. + * + * @author Marian Pohling + */ +message ReedSwitch { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the contact state of the reed switch. + */ + optional .rst.homeautomation.states.OpenClosed state = 200; + + /** + * Label of the reed switch. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/Rollershutter.proto b/proto/sandbox/rst/homeautomation/Rollershutter.proto new file mode 100644 index 0000000..2416d50 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/Rollershutter.proto @@ -0,0 +1,36 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Shutter.proto"; + +option java_outer_classname = "RollershutterType"; + + +/** + * Generic description of a rollershutter. + * + * @author Tamino Huxohl + */ +message Rollershutter { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the shutter state of the rollershutter. + */ + optional .rst.homeautomation.states.Shutter shutter_state = 200; + + /** + * The value which represents the height of the rollershutter in percent. Range [0..100]. + * If this value is 100 the rollershutter is at the very top. + */ + optional double opening_ratio = 300; + + /** + * Label of the rollershutter. Used to build the scope. + */ + optional string label = 400; +} + diff --git a/proto/sandbox/rst/homeautomation/TamperSwitch.proto b/proto/sandbox/rst/homeautomation/TamperSwitch.proto new file mode 100644 index 0000000..8af598e --- /dev/null +++ b/proto/sandbox/rst/homeautomation/TamperSwitch.proto @@ -0,0 +1,30 @@ +package rst.homeautomation; + +import "rst/homeautomation/states/Tamper.proto"; + +option java_outer_classname = "TamperSwitchType"; + + +/** + * Generic description of a tamper switch. + * + * @author Tamino Huxohl + */ +message TamperSwitch { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * Field which represents the state of the tamper switch. + */ + optional .rst.homeautomation.states.Tamper state = 200; + + /** + * Label of the tamper switch. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/TemperatureController.proto b/proto/sandbox/rst/homeautomation/TemperatureController.proto new file mode 100644 index 0000000..91405b5 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/TemperatureController.proto @@ -0,0 +1,28 @@ +package rst.homeautomation; + +option java_outer_classname = "TemperatureControllerType"; + + +/** + * Generic description of a temperature controller. + * + * @author Marian Pohling + */ +message TemperatureController { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * The value which represents the temperature. + */ + optional float temperature = 200; + + /** + * Label of the temperature controller. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/TemperatureSensor.proto b/proto/sandbox/rst/homeautomation/TemperatureSensor.proto new file mode 100644 index 0000000..a0011e6 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/TemperatureSensor.proto @@ -0,0 +1,28 @@ +package rst.homeautomation; + +option java_outer_classname = "TemperatureSensorType"; + + +/** + * Generic description of a temperature sensor. + * + * @author Marian Pohling + */ +message TemperatureSensor { + + /** + * A unique object identifier. + */ + optional string id = 100; + + /** + * The value which represents temperature. + */ + optional float temperature = 200; + + /** + * Label of the temperature sensor. Used to build the scope. + */ + optional string label = 300; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/DALBinding.proto b/proto/sandbox/rst/homeautomation/openhab/DALBinding.proto new file mode 100644 index 0000000..791dcef --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/DALBinding.proto @@ -0,0 +1,19 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "DALBindingType"; + +import "rst/homeautomation/states/ActiveDeactive.proto"; + +/** + * Type to show if the dal connection is active. + * + * @author Tamino Huxohl + */ +message DALBinding { + + /* + * The acitvation state. + */ + optional .rst.homeautomation.states.ActiveDeactive state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/HSB.proto b/proto/sandbox/rst/homeautomation/openhab/HSB.proto new file mode 100644 index 0000000..3a33c63 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/HSB.proto @@ -0,0 +1,30 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "HSBType"; + + +/** + * Basic HSB type used by openhab. + * Used by objects like LEDs. + * + * @author Tamino Huxohl + */ +message HSB { + + /** + * The hue value in the HSB color space. Range: [0..360]. + */ + optional double hue = 100; + + /** + * The saturation in the HSB color space. Range: [0..100]. + */ + optional double saturation = 200; + + /** + * The brightness in the HSB color space. Range: [0..100]. + */ + optional double brightness = 300; + +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/IncreaseDecreaseHolder.proto b/proto/sandbox/rst/homeautomation/openhab/IncreaseDecreaseHolder.proto new file mode 100644 index 0000000..99fd202 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/IncreaseDecreaseHolder.proto @@ -0,0 +1,35 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "IncreaseDecreaseHolderType"; + + +/** + * Basic increase and decrease type used by openhab. + * Used by objects like dimmers. + * + * @author Tamino Huxohl + */ +message IncreaseDecreaseHolder { + + /** + * The state definitions. + */ + enum IncreaseDecrease { + + /** + * Increase option. + */ + INCREASE = 100; + + /** + * Decrease option. + */ + DECREASE = 200; + } + + /** + * The increase or decrease state. + */ + required IncreaseDecrease state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/OnOffHolder.proto b/proto/sandbox/rst/homeautomation/openhab/OnOffHolder.proto new file mode 100644 index 0000000..9ef5479 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/OnOffHolder.proto @@ -0,0 +1,36 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "OnOffHolderType"; + + +/** + * Basic OnOff type used by openhab. + * Used by objects like power plugs. + * + * @author Tamino Huxohl + */ +message OnOffHolder { + + /** + * The state definitions. + */ + enum OnOff { + + /** + * On state. + */ + ON = 100; + + /** + * Off state. + */ + OFF = 200; + } + + /** + * The on or off state. + */ + required OnOff state = 100; + +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/OpenClosedHolder.proto b/proto/sandbox/rst/homeautomation/openhab/OpenClosedHolder.proto new file mode 100644 index 0000000..8acd512 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/OpenClosedHolder.proto @@ -0,0 +1,36 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "OpenClosedHolderType"; + + +/** + * Basic OpenClosed type used by openhab. + * Used by objects like handle sensors. + * + * @author Tamino Huxohl + */ +message OpenClosedHolder { + + /** + * The state definitions. + */ + enum OpenClosed { + + /** + * Open state. + */ + OPEN = 100; + + /** + * Closed state. + */ + CLOSED = 200; + } + + /** + * The open or closed state. + */ + required OpenClosed state = 100; + +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/OpenhabCommand.proto b/proto/sandbox/rst/homeautomation/openhab/OpenhabCommand.proto new file mode 100644 index 0000000..1dc19ca --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/OpenhabCommand.proto @@ -0,0 +1,115 @@ +package rst.homeautomation.openhab; + +import "rst/homeautomation/openhab/HSB.proto"; +import "rst/homeautomation/openhab/IncreaseDecreaseHolder.proto"; +import "rst/homeautomation/openhab/OnOffHolder.proto"; +import "rst/homeautomation/openhab/OpenClosedHolder.proto"; +import "rst/homeautomation/openhab/Percent.proto"; +import "rst/homeautomation/openhab/StopMoveHolder.proto"; +import "rst/homeautomation/openhab/UpDownHolder.proto"; + +option java_outer_classname = "OpenhabCommandType"; + +/** + * Basic state/command used by openhab. Should contain a + * command type and the related value. + * + * @author Tamino Huxohl + */ +message OpenhabCommand { + + /** + * The state/command type. + */ + enum CommandType { + + HSB = 10; + DECIMAL = 20; + INCREASEDECREASE = 30; + ONOFF = 40; + OPENCLOSED = 50; + PERCENT = 60; + STOPMOVE = 70; + STRING = 80; + UPDOWN = 90; + + } + + /** + * Type describing how the command shall be executed. + */ + enum ExecutionType { + + /** + * Synchronous execution of the command. + */ + SYNCHRONOUS = 10; + + /** + * Asynchronous execution of the command. + */ + ASYNCHRONOUS = 20; + + } + + /** + * The item name to send the command/state to. + */ + required string item = 10; + + /** + * The state/command type. + */ + required CommandType type = 20; + + /** + * The HSB color type. + */ + optional .rst.homeautomation.openhab.HSB hsb = 30; + + /** + * The decimal type. + */ + optional double decimal = 40; + + /** + * The increase or decrease type. + */ + optional .rst.homeautomation.openhab.IncreaseDecreaseHolder increase_decrease = 50; + + /** + * The on or off type. + */ + optional .rst.homeautomation.openhab.OnOffHolder on_off = 60; + + /** + * The open or closed type. + */ + optional .rst.homeautomation.openhab.OpenClosedHolder open_closed = 70; + + /** + * The percent type. + */ + optional .rst.homeautomation.openhab.Percent percent = 80; + + /** + * The stop or move type. + */ + optional .rst.homeautomation.openhab.StopMoveHolder stop_move = 90; + + /** + * The string type. + */ + optional string text = 100; + + /** + * The up or down type. + */ + optional .rst.homeautomation.openhab.UpDownHolder up_down = 110; + + /** + * The execution type; + */ + optional ExecutionType execution_type = 120; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/Percent.proto b/proto/sandbox/rst/homeautomation/openhab/Percent.proto new file mode 100644 index 0000000..87ded14 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/Percent.proto @@ -0,0 +1,19 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "PercentType"; + + +/** + * Basic percent type used by openhab. + * Used by objects like dimmers. + * + * @author Tamino Huxohl + */ +message Percent { + + /* + * The percent value. Range: [0..100]. + */ + required int32 value = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/RSBBinding.proto b/proto/sandbox/rst/homeautomation/openhab/RSBBinding.proto new file mode 100644 index 0000000..ca11333 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/RSBBinding.proto @@ -0,0 +1,19 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "RSBBindingType"; + +import "rst/homeautomation/states/ActiveDeactive.proto"; + +/** + * Type to show if the RSBBinding is active. + * + * @author Tamino Huxohl + */ +message RSBBinding { + + /* + * The acitvation state. + */ + optional .rst.homeautomation.states.ActiveDeactive state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/StopMoveHolder.proto b/proto/sandbox/rst/homeautomation/openhab/StopMoveHolder.proto new file mode 100644 index 0000000..7c6006f --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/StopMoveHolder.proto @@ -0,0 +1,36 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "StopMoveHolderType"; + + +/** + * Basic StopMove type used by openhab. + * Used by objects like rollershutters. + * + * @author Tamino Huxohl + */ +message StopMoveHolder { + + /** + * The state definitions. + */ + enum StopMove { + + /** + * Stop state. + */ + STOP = 100; + + /** + * Move state. + */ + MOVE = 200; + } + + /** + * The stop or move state. + */ + required StopMove state = 100; + +} + diff --git a/proto/sandbox/rst/homeautomation/openhab/UpDownHolder.proto b/proto/sandbox/rst/homeautomation/openhab/UpDownHolder.proto new file mode 100644 index 0000000..c89d787 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/openhab/UpDownHolder.proto @@ -0,0 +1,36 @@ +package rst.homeautomation.openhab; + +option java_outer_classname = "UpDownHolderType"; + + +/** + * Basic UpDown type used by openhab. + * Used by objects like rollershutters. + * + * @author Tamino Huxohl + */ +message UpDownHolder { + + /** + * The state definitions. + */ + enum UpDown { + + /** + * Up state. + */ + UP = 100; + + /** + * Down state. + */ + DOWN = 200; + } + + /** + * The up or down state. + */ + required UpDown state = 100; + +} + diff --git a/proto/sandbox/rst/homeautomation/states/ActiveDeactive.proto b/proto/sandbox/rst/homeautomation/states/ActiveDeactive.proto new file mode 100644 index 0000000..350f155 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/ActiveDeactive.proto @@ -0,0 +1,39 @@ +package rst.homeautomation.states; + +option java_outer_classname = "ActiveDeactiveType"; + + +/** + * Basic state that indicates if an application is currently active or inactive. + * + * @author Marian Pohling + */ +message ActiveDeactive { + + /** + * The state definitions. + */ + enum ActiveDeactiveState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * Active state. + */ + ACTIVE = 200; + + /** + * Deactive state. + */ + DEACTIVE = 300; + } + + /* + * The state. + */ + required ActiveDeactiveState state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/states/Click.proto b/proto/sandbox/rst/homeautomation/states/Click.proto new file mode 100644 index 0000000..7acd41e --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Click.proto @@ -0,0 +1,52 @@ +package rst.homeautomation.states; + +import "rst/timing/Timestamp.proto"; + +option java_outer_classname = "ClickType"; + + +/** + * Basic click state. + * Can be used for buttons. + * + * @author Tamino Huxohl + */ +message Click { + + /** + * The state definitions. + */ + enum ClickState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * Clicked once. + */ + CLICKED = 200; + + /** + * Clicked twice. + */ + DOUBLE_CLICKED = 300; + + /** + * Released state. + */ + RELEASED = 400; + } + + /* + * The click state. + */ + required ClickState state = 100; + + /* + * Last clicked timestemp. + */ + optional .rst.timing.Timestamp lastClicked = 200; +} + diff --git a/proto/sandbox/rst/homeautomation/states/Energy.proto b/proto/sandbox/rst/homeautomation/states/Energy.proto new file mode 100644 index 0000000..4455882 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Energy.proto @@ -0,0 +1,48 @@ +package rst.homeautomation.states; + +option java_outer_classname = "EnergyType"; + +/** + * Basic object state used by battery devices + * to display their energy level. + * + * @author Marian Pohling + */ +message Energy { + + /** + * The state definitions. + */ + enum EnergyState { + + /** + * Unknwon state. + */ + UNKNOWN = 1; + + /** + * Ok state. + */ + OK = 2; + + /** + * Critical state. + */ + CRITICAL = 3; + + /** + * Insufficient energy state. + */ + INSUFFICIENT = 4; + } + + /** + * The energy state. + */ + required EnergyState state = 100; + + /** + * The energy level. Range: [1..100]. + */ + required double level = 200; +} diff --git a/proto/sandbox/rst/homeautomation/states/Motion.proto b/proto/sandbox/rst/homeautomation/states/Motion.proto new file mode 100644 index 0000000..a1b4a5e --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Motion.proto @@ -0,0 +1,47 @@ +package rst.homeautomation.states; + +import "rst/timing/Timestamp.proto"; + +option java_outer_classname = "MotionType"; + + +/** + * Basic motion state used by devices + * like motion detectors. + * + * @author Marian Pohling + */ +message Motion { + + /** + * The state definitions. + */ + enum MotionState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * No movement detected. + */ + NO_MOVEMENT = 200; + + /** + * Movement detected. + */ + MOVEMENT = 300; + } + + /* + * The motion state. + */ + required MotionState state = 100; + + /* + * Last movement timestemp. + */ + optional .rst.timing.Timestamp lastMovement = 200; +} + diff --git a/proto/sandbox/rst/homeautomation/states/OpenClosed.proto b/proto/sandbox/rst/homeautomation/states/OpenClosed.proto new file mode 100644 index 0000000..8a95b79 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/OpenClosed.proto @@ -0,0 +1,40 @@ +package rst.homeautomation.states; + +option java_outer_classname = "OpenClosedType"; + + +/** + * Basic sensor or object state. + * Used by objects like doors and windows or by sensors like the reed switch. + * + * @author Marian Pohling + */ +message OpenClosed { + + /** + * The state definitions. + */ + enum OpenClosedState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * Open state. + */ + OPEN = 200; + + /** + * Closed state. + */ + CLOSED = 300; + } + + /* + * The open or closed tilted state. + */ + required OpenClosedState state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/states/OpenClosedTilted.proto b/proto/sandbox/rst/homeautomation/states/OpenClosedTilted.proto new file mode 100644 index 0000000..6b44106 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/OpenClosedTilted.proto @@ -0,0 +1,45 @@ +package rst.homeautomation.states; + +option java_outer_classname = "OpenClosedTiltedType"; + + +/** + * Basic sensor or object state. + * Used by objects like windows or by sensors like the handle sensor. + * + * @author Tamino Huxohl + */ +message OpenClosedTilted { + + /** + * The state definitions. + */ + enum OpenClosedTiltedState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * Open state. + */ + OPEN = 200; + + /** + * Closed state. + */ + CLOSED = 300; + + /** + * Tilted state. + */ + TILTED = 400; + } + + /** + * The open, closed or tilted state. + */ + required OpenClosedTiltedState state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/states/Power.proto b/proto/sandbox/rst/homeautomation/states/Power.proto new file mode 100644 index 0000000..7f4fe50 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Power.proto @@ -0,0 +1,38 @@ +package rst.homeautomation.states; + +option java_outer_classname = "PowerType"; + +/** + * Basic object state used by power + * consuming objects like lamps. + * + * @author Tamino Huxohl + */ +message Power { + + /** + * The state definitions. + */ + enum PowerState { + + /** + * Unknwon state. + */ + UNKNOWN = 1; + + /** + * On state. + */ + ON = 2; + + /** + * Off state. + */ + OFF = 3; + } + + /** + * The power state. + */ + required PowerState state = 1; +} diff --git a/proto/sandbox/rst/homeautomation/states/Shutter.proto b/proto/sandbox/rst/homeautomation/states/Shutter.proto new file mode 100644 index 0000000..f0eca7e --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Shutter.proto @@ -0,0 +1,45 @@ +package rst.homeautomation.states; + +option java_outer_classname = "ShutterType"; + + +/** + * Basic sensor or object state. + * Used by objects like rollershutters. + * + * @author Tamino Huxohl + */ +message Shutter { + + /** + * The state definitions. + */ + enum ShutterState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * Up state. + */ + UP = 200; + + /** + * Down state. + */ + DOWN = 300; + + /** + * Stop state. + */ + STOP = 400; + } + + /** + * The shutter state. + */ + required ShutterState state = 100; +} + diff --git a/proto/sandbox/rst/homeautomation/states/Tamper.proto b/proto/sandbox/rst/homeautomation/states/Tamper.proto new file mode 100644 index 0000000..2292f89 --- /dev/null +++ b/proto/sandbox/rst/homeautomation/states/Tamper.proto @@ -0,0 +1,47 @@ +package rst.homeautomation.states; + +import "rst/timing/Timestamp.proto"; + +option java_outer_classname = "TamperType"; + + +/** + * Basic sensor or object state. + * Used by devices that have a tamper function. + * + * @author Tamino Huxohl + */ +message Tamper { + + /** + * The state definitions. + */ + enum TamperState { + + /** + * Unknown state. + */ + UNKNOWN = 100; + + /** + * No tamper-proof. + */ + NO_TAMPER = 200; + + /** + * Tamper-proof. + */ + TAMPER = 300; + } + + /** + * The tamper state. + */ + required TamperState state = 100; + + /** + * Last movement timestamp. + */ + optional .rst.timing.Timestamp lastMovement = 200; +} + diff --git a/proto/sandbox/rst/vision/HSVColor.proto b/proto/sandbox/rst/vision/HSVColor.proto new file mode 100644 index 0000000..6c340de --- /dev/null +++ b/proto/sandbox/rst/vision/HSVColor.proto @@ -0,0 +1,28 @@ +package rst.vision; + +option java_outer_classname = "HSVColorType"; + + +/** + * Basic object state used by lights to describe their color. + * + * @author Marian Pohling + */ +message HSVColor { + + /** + * The hue value in the HSV color space. Range: [0..360]. + */ + optional double hue = 200; + + /** + * The saturation in the HSV color space. Range: [0..100]. + */ + optional double saturation = 300; + + /** + * The value in the HSV color space. Range: [0..100]. + */ + optional double value = 400; +} + -- 1.8.5.1