0001-push-all-new-types.patch

M. Pohling, 12/19/2014 03:22 PM

Download (56.8 KB)

View differences:

.gitignore
1
/build*
1
/build*
2
*~
3
*.swp
proto/sandbox/rst/devices/energenie/EN_PowerManager.proto
1
package rst.devices.energenie;
2

  
3
import "rst/homeautomation/PowerPlug.proto";
4

  
5
option java_outer_classname = "EN_PowerManagerType";
6

  
7

  
8
/**
9
 * Description of the energenie power manager.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message EN_PowerManager {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    required string id = 100;
19

  
20
    /**
21
     * The first power plug.
22
     */
23
    optional .rst.homeautomation.PowerPlug power_plug_1 = 200;
24

  
25
    /**
26
     * The second power plug.
27
     */
28
    optional .rst.homeautomation.PowerPlug power_plug_2 = 300;
29

  
30
    /**
31
     * The third power plug.
32
     */
33
    optional .rst.homeautomation.PowerPlug power_plug_3 = 400;
34

  
35
    /**
36
     * The fourth power plug.
37
     */
38
    optional .rst.homeautomation.PowerPlug power_plug_4 = 500;
39
}
40

  
proto/sandbox/rst/devices/fibaro/F_MotionSensor.proto
1
package rst.devices.fibaro;
2

  
3
import "rst/homeautomation/Battery.proto";
4
import "rst/homeautomation/MotionSensor.proto";
5
import "rst/homeautomation/TemperatureSensor.proto";
6
import "rst/homeautomation/TamperSwitch.proto";
7
import "rst/homeautomation/BrightnessSensor.proto";
8

  
9
option java_outer_classname = "F_MotionSensorType";
10

  
11

  
12
/**
13
 * Description of the wireless fibaro motion sensor.
14
 *
15
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
16
 */
17
message F_MotionSensor {
18

  
19
    /**
20
     * A unique object identifier.
21
     */
22
    required string id = 100;
23

  
24
    /**
25
     * The battery.
26
     */
27
    optional .rst.homeautomation.Battery battery = 200;
28

  
29
    /**
30
     * The motion sensor.
31
     */
32
    optional .rst.homeautomation.MotionSensor motionSensor = 300;
33

  
34
    /**
35
     * The temperature sensor.
36
     */
37
    optional .rst.homeautomation.TemperatureSensor temperatureSensor = 400;
38

  
39
    /**
40
     * The tamper switch.
41
     */
42
    optional .rst.homeautomation.TamperSwitch tamperSwitch = 500;
43

  
44
    /**
45
     * The brightness sensor.
46
     */
47
    optional .rst.homeautomation.BrightnessSensor brightnessSensor = 600;
48
}
49

  
proto/sandbox/rst/devices/gira/GI_5133.proto
1
package rst.devices.gira;
2

  
3
import "rst/homeautomation/Button.proto";
4

  
5
option java_outer_classname = "GI_5133Type";
6

  
7

  
8
/**
9
 * Description of the gira device containg six buttons.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message GI_5133 {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    required string id = 100;
19

  
20
    /**
21
     * The first button.
22
     */
23
    optional .rst.homeautomation.Button button_0 = 200;
24

  
25
    /**
26
     * The second button.
27
     */
28
    optional .rst.homeautomation.Button button_1 = 300;
29

  
30
    /**
31
     * The third button.
32
     */
33
    optional .rst.homeautomation.Button button_2 = 400;
34

  
35
    /**
36
     * The fourth button.
37
     */
38
    optional .rst.homeautomation.Button button_3 = 500;
39

  
40
    /**
41
     * The fifth button.
42
     */
43
    optional .rst.homeautomation.Button button_4 = 600;
44

  
45
    /**
46
     * The sixth button.
47
     */
48
    optional .rst.homeautomation.Button button_5 = 700;
49

  
50
}
51

  
proto/sandbox/rst/devices/gira/GI_5142.proto
1
package rst.devices.gira;
2

  
3
import "rst/homeautomation/Button.proto";
4
import "rst/homeautomation/TemperatureSensor.proto";
5
import "rst/homeautomation/TemperatureController.proto";
6

  
7
option java_outer_classname = "GI_5142Type";
8

  
9

  
10
/**
11
 * Description of the gira device containg four buttons,
12
 * a temperature sensor and a temperature controller.
13
 *
14
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
15
 */
16
message GI_5142 {
17

  
18
    /**
19
     * A unique object identifier.
20
     */
21
    required string id = 100;
22

  
23
    /**
24
     * The temperature sensor.
25
     */
26
    optional .rst.homeautomation.TemperatureSensor temperature_sensor = 200;
27

  
28
    /**
29
     * The temperature controller.
30
     */
31
    optional .rst.homeautomation.TemperatureController temperature_controller = 250;
32

  
33
    /**
34
     * The first button.
35
     */
36
    optional .rst.homeautomation.Button button_0 = 300;
37

  
38
    /**
39
     * The second button.
40
     */
41
    optional .rst.homeautomation.Button button_1 = 400;
42

  
43
    /**
44
     * The third button.
45
     */
46
    optional .rst.homeautomation.Button button_2 = 500;
47

  
48
    /**
49
     * The fourth button.
50
     */
51
    optional .rst.homeautomation.Button button_3 = 600;
52

  
53
}
54

  
proto/sandbox/rst/devices/hager/HA_TE330.proto
1
package rst.devices.hager;
2

  
3
import "rst/homeautomation/PowerConsumptionSensor.proto";
4

  
5
option java_outer_classname = "HA_TE330Type";
6

  
7

  
8
/**
9
 * Description of the Hager transducer.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message HA_TE330 {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    required string id = 100;
19

  
20
    /**
21
     * The first power consumption sensor.
22
     */
23
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_0 = 200;
24

  
25
    /**
26
     * The second power consumption sensor.
27
     */
28
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_1 = 300;
29

  
30
    /**
31
     * The third power consumption sensor.
32
     */
33
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_2 = 400;
34

  
35
}
36

  
proto/sandbox/rst/devices/hager/HA_TYA606E.proto
1
package rst.devices.hager;
2

  
3
import "rst/homeautomation/PowerPlug.proto";
4
import "rst/homeautomation/PowerConsumptionSensor.proto";
5

  
6
option java_outer_classname = "HA_TYA606EType";
7

  
8

  
9
/**
10
 * Description of the Hager power plug actuator.
11
 *
12
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
13
 */
14
message HA_TYA606E {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The fisrt power plug.
23
     */
24
    optional .rst.homeautomation.PowerPlug power_plug_0 = 200;
25

  
26
    /**
27
     * The first power consumption sensor.
28
     */
29
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_0 = 250;
30

  
31
    /**
32
     * The second power plug.
33
     */
34
    optional .rst.homeautomation.PowerPlug power_plug_1 = 300;
35

  
36
    /**
37
     * The second power consumption sensor.
38
     */
39
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_1 = 350;
40

  
41
    /**
42
     * The third power plug.
43
     */
44
    optional .rst.homeautomation.PowerPlug power_plug_2 = 400;
45

  
46
    /**
47
     * The third power consumption sensor.
48
     */
49
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_2 = 450;
50

  
51
    /**
52
     * The fourth power plug.
53
     */
54
    optional .rst.homeautomation.PowerPlug power_plug_3 = 500;
55

  
56
    /**
57
     * The fourth power consumption sensor.
58
     */
59
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_3 = 550;
60

  
61
    /**
62
     * The fifth power plug.
63
     */
64
    optional .rst.homeautomation.PowerPlug power_plug_4 = 600;
65

  
66
    /**
67
     * The fifth power consumption sensor.
68
     */
69
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_4 = 650;
70

  
71

  
72
    /**
73
     * The sixth power plug.
74
     */
75
    optional .rst.homeautomation.PowerPlug power_plug_5 = 700;
76

  
77
    /**
78
     * The sixth power consumption sensor.
79
     */
80
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption_sensor_5 = 750;
81

  
82
}
83

  
proto/sandbox/rst/devices/hager/HA_TYA628C.proto
1
package rst.devices.hager;
2

  
3
import "rst/homeautomation/Rollershutter.proto";
4

  
5
option java_outer_classname = "HA_TYA628CType";
6

  
7

  
8
/**
9
 * Description of the Hager rollershutter actuator.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message HA_TYA628C {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    required string id = 100;
19

  
20
    /**
21
     * The fisrt rollershutter.
22
     */
23
    optional .rst.homeautomation.Rollershutter rollershutter_0 = 200;
24

  
25
    /**
26
     * The second rollershutter.
27
     */
28
    optional .rst.homeautomation.Rollershutter rollershutter_1 = 300;
29

  
30
    /**
31
     * The third rollershutter.
32
     */
33
    optional .rst.homeautomation.Rollershutter rollershutter_2 = 400;
34

  
35
    /**
36
     * The fourth rollershutter.
37
     */
38
    optional .rst.homeautomation.Rollershutter rollershutter_3 = 500;
39

  
40
    /**
41
     * The fifth rollershutter.
42
     */
43
    optional .rst.homeautomation.Rollershutter rollershutter_4 = 600;
44

  
45
    /**
46
     * The sixth rollershutter.
47
     */
48
    optional .rst.homeautomation.Rollershutter rollershutter_5 = 700;
49

  
50
    /**
51
     * The seventh rollershutter.
52
     */
53
    optional .rst.homeautomation.Rollershutter rollershutter_6 = 800;
54

  
55
    /**
56
     * The eighth rollershutter.
57
     */
58
    optional .rst.homeautomation.Rollershutter rollershutter_7 = 900;
59

  
60
}
61

  
proto/sandbox/rst/devices/hager/HA_TYA663A.proto
1
package rst.devices.hager;
2

  
3
import "rst/homeautomation/Dimmer.proto";
4

  
5
option java_outer_classname = "HA_TYA663AType";
6

  
7

  
8
/**
9
 * Description of the Hager dimmer actuator.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message HA_TYA663A {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    required string id = 100;
19

  
20
    /**
21
     * The first dimmer.
22
     */
23
    optional .rst.homeautomation.Dimmer dimmer_0 = 200;
24

  
25
    /**
26
     * The second dimmer.
27
     */
28
    optional .rst.homeautomation.Dimmer dimmer_1 = 300;
29

  
30
    /**
31
     * The third dimmer.
32
     */
33
    optional .rst.homeautomation.Dimmer dimmer_2 = 400;
34

  
35
}
36

  
proto/sandbox/rst/devices/homematic/HM_ReedSwitch.proto
1
package rst.devices.homematic;
2

  
3
import "rst/homeautomation/Battery.proto";
4
import "rst/homeautomation/ReedSwitch.proto";
5

  
6
option java_outer_classname = "HM_ReedSwitchType";
7

  
8

  
9
/**
10
 * Description of the wireless homematic reed contact sensor.
11
 *
12
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
13
 */
14
message HM_ReedSwitch {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The battery.
23
     */
24
    optional .rst.homeautomation.Battery battery = 200;
25

  
26
    /**
27
     * The contact sensor.
28
     */
29
    optional .rst.homeautomation.ReedSwitch reed_switch = 300;
30
}
31

  
proto/sandbox/rst/devices/homematic/HM_RotaryHandleSensor.proto
1
package rst.devices.homematic;
2

  
3
import "rst/homeautomation/Battery.proto";
4
import "rst/homeautomation/HandleSensor.proto";
5

  
6
option java_outer_classname = "HM_RotaryHandleSensorType";
7

  
8

  
9
/**
10
 * Descritpion of the wireless homematic rotary handle sensor.
11
 *
12
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
13
 */
14
message HM_RotaryHandleSensor {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The battery.
23
     */
24
    optional .rst.homeautomation.Battery battery = 200;
25

  
26
    /**
27
     * The handle sensor.
28
     */
29
    optional .rst.homeautomation.HandleSensor handleSensor = 300;
30
}
31

  
proto/sandbox/rst/devices/philips/PH_Hue_E27.proto
1
package rst.devices.philips;
2

  
3
import "rst/homeautomation/AmbientLight.proto";
4

  
5
option java_outer_classname = "PH_Hue_E27Type";
6

  
7

  
8
/**
9
 * Description of the wireless philips ambient light bulb type E27.
10
 *
11
 * @author Marian Pohling <mpohling@techfak.uni-bielefeld.de>
12
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
13
 */
14
message PH_Hue_E27 {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The ambient light control unit.
23
     */
24
    optional .rst.homeautomation.AmbientLight ambientLight = 200;
25
}
26

  
proto/sandbox/rst/devices/philips/PH_Hue_GU10.proto
1
package rst.devices.philips;
2

  
3
import "rst/homeautomation/AmbientLight.proto";
4

  
5
option java_outer_classname = "PH_Hue_GU10Type";
6

  
7

  
8
/**
9
 * Description of the philips hue ambient light bulb type GU10.
10
 *
11
 * @author Marian Pohling <mpohling@techfak.uni-bielefeld.de>
12
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
13
 */
14
message PH_Hue_GU10 {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The ambient light control unit.
23
     */
24
    optional .rst.homeautomation.AmbientLight ambientLight = 200;
25
}
26

  
proto/sandbox/rst/devices/plugwise/PW_PowerPlug.proto
1
package rst.devices.plugwise;
2

  
3
import "rst/homeautomation/PowerPlug.proto";
4
import "rst/homeautomation/PowerConsumptionSensor.proto";
5

  
6
option java_outer_classname = "PW_PowerPlugType";
7

  
8

  
9
/**
10
 * Description of the wireless plugwise power plug.
11
 *
12
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
13
 */
14
message PW_PowerPlug {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    required string id = 100;
20

  
21
    /**
22
     * The power plug.
23
     */
24
    optional .rst.homeautomation.PowerPlug power_plug = 200;
25

  
26
    /**
27
     * The power consumption sensor.
28
     */
29
    optional .rst.homeautomation.PowerConsumptionSensor power_consumption = 300;
30

  
31
}
32

  
proto/sandbox/rst/devices/sensfloor/FloorModuleState.proto
1
package rst.devices.sensfloor;
2

  
3
option java_outer_classname = "FloorModuleStateType";
4

  
5
/**
6
 * Holds information about the state of one Future-Shape SensFloor Module.
7
 *
8
 * @author Hendrik Oestreich <hoestreich@techfak.uni-bielefeld.de>
9
 */
10

  
11
message FloorModuleState {
12

  
13
    message FloorSegmentState {
14

  
15
        /**
16
         * The capacity values for each of the eight segments in a module.
17
         */
18
        required int32 capacity_segment = 1;
19

  
20
        /**
21
         * The activation values for each of the eight segments in a module.
22
         */
23
        required bool activation_segment = 2;
24

  
25
    }
26

  
27
    /**
28
     * The activation and capacity combined in one message
29
     * Each module consists of 8 segments, so normally this field should be
30
     * repeated 8 times.
31
     */
32
    repeated FloorSegmentState segment = 1;
33

  
34
    /**
35
     * The Position of the module in the room (from the transciever).
36
     */
37
    required int32 position_col = 2;
38
    required int32 position_row = 3;
39

  
40
}
proto/sandbox/rst/devices/sensfloor/FloorState.proto
1
package rst.devices.sensfloor;
2

  
3
import "rst/devices/sensfloor/FloorModuleState.proto";
4

  
5
option java_outer_classname = "FloorStateType";
6

  
7
/**
8
 * Holds information about a collection of many Future-Shape SensFloor Modules.
9
 *
10
 * @author Hendrik Oestreich <hoestreich@techfak.uni-bielefeld.de>
11
 */
12

  
13
message FloorState {
14

  
15
    /**
16
     * The label describes the location where the modules are installed.
17
     */
18
    required string label = 1;
19

  
20
    /**
21
     * The repeated Field contains RST FloorModuleState Types which
22
     * encode the detail information about the state of each module
23
     */
24
    repeated .rst.devices.sensfloor.FloorModuleState floormodulestate = 2;
25

  
26
}
proto/sandbox/rst/homeautomation/AmbientLight.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Power.proto";
4
import "rst/vision/HSVColor.proto";
5

  
6
option java_outer_classname = "AmbientLightType";
7

  
8

  
9
/**
10
 * Generic description of an ambient light.
11
 *
12
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
13
 */
14
message AmbientLight {
15

  
16
    /**
17
     * A unique object identifier.
18
     */
19
    optional string id = 100;
20

  
21
    /**
22
     * Field which repesents the color of the ambient light.
23
     */
24
    optional .rst.vision.HSVColor color = 200;
25

  
26
    /**
27
     * Field which repesents the power state of the ambient light.
28
     */
29
    optional .rst.homeautomation.states.Power state = 300;
30

  
31
    /**
32
     * Label of the ambient light. Used to build the scope.
33
     */
34
    optional string label = 400;
35

  
36
}
37

  
proto/sandbox/rst/homeautomation/Battery.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Energy.proto";
4

  
5
option java_outer_classname = "BatteryType";
6

  
7

  
8
/**
9
 * Generic description of a battery.
10
 *
11
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
12
 */
13
message Battery {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the energy of the battery.
22
     */
23
    optional .rst.homeautomation.states.Energy state = 200;
24

  
25
    /**
26
     * Label of the battery. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/BrightnessSensor.proto
1
package rst.homeautomation;
2

  
3
option java_outer_classname = "BrightnessSensorType";
4

  
5

  
6
/**
7
 * Generic Description of a brightness sensor.
8
 *
9
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
10
 */
11
message BrightnessSensor {
12

  
13
    /**
14
     * A unique object identifier.
15
     */
16
    optional string id = 100;
17

  
18
    /**
19
     * The value for the brightness.
20
     */
21
    optional float brightness = 200;
22

  
23
    /**
24
     * Label of the brightness sensor. Used to build the scope.
25
     */
26
    optional string label = 300;
27
}
28

  
proto/sandbox/rst/homeautomation/Button.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Click.proto";
4

  
5
option java_outer_classname = "ButtonType";
6

  
7

  
8
/**
9
 * Generic description of a button.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message Button {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the state of the button.
22
     */
23
    optional .rst.homeautomation.states.Click state = 200;
24

  
25
    /**
26
     * Label of the button. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/Dimmer.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Power.proto";
4

  
5
option java_outer_classname = "DimmerType";
6

  
7

  
8
/**
9
 * Generic description of a dimmer.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message Dimmer {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the power state of the dimmer.
22
     */
23
    optional .rst.homeautomation.states.Power state = 200;
24

  
25
    /**
26
     * The value describing the dimming. Range [0..100]
27
     */
28
    optional double value = 300;
29

  
30
    /**
31
     * Label of the dimmer. Used to build the scope.
32
     */
33
    optional string label = 400;
34
}
35

  
proto/sandbox/rst/homeautomation/HandleSensor.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/OpenClosedTilted.proto";
4

  
5
option java_outer_classname = "HandleSensorType";
6

  
7

  
8
/**
9
 * Description of a generic handle sensor.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message HandleSensor {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the state of the handle sensor.
22
     */
23
    optional .rst.homeautomation.states.OpenClosedTilted state = 200;
24

  
25
    /**
26
     * Label of the handle sensor. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/MotionSensor.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Motion.proto";
4

  
5
option java_outer_classname = "MotionSensorType";
6

  
7

  
8
/**
9
 * Generic description of a motion sensor.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message MotionSensor {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the state of the motion.
22
     */
23
    optional .rst.homeautomation.states.Motion state = 200;
24

  
25
    /**
26
     * Label of the motion sensor. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/PowerConsumptionSensor.proto
1
package rst.homeautomation;
2

  
3
option java_outer_classname = "PowerConsumptionSensorType";
4

  
5

  
6
/**
7
 * Generic description of a power consumption sensor.
8
 *
9
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
10
 */
11
message PowerConsumptionSensor {
12

  
13
    /**
14
     * A unique object identifier.
15
     */
16
    optional string id = 100;
17

  
18
    /**
19
     * The value for the power consumption.
20
     */
21
    optional float consumption = 200;
22

  
23
    /**
24
     * Label of the power consumption sensor. Used to build the scope.
25
     */
26
    optional string label = 300;
27
}
28

  
proto/sandbox/rst/homeautomation/PowerPlug.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Power.proto";
4

  
5
option java_outer_classname = "PowerPlugType";
6

  
7

  
8
/**
9
 * Generic description of a power plug.
10
 *
11
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
12
 */
13
message PowerPlug {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the state of the power plug.
22
     */
23
    optional .rst.homeautomation.states.Power state = 200;
24

  
25
    /**
26
     * Label of the power plug. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/ReedSwitch.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/OpenClosed.proto";
4

  
5
option java_outer_classname = "ReedSwitchType";
6

  
7

  
8
/**
9
 * Generic description of a reed switch.
10
 *
11
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
12
 */
13
message ReedSwitch {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the contact state of the reed switch.
22
     */
23
    optional .rst.homeautomation.states.OpenClosed state = 200;
24

  
25
    /**
26
     * Label of the reed switch. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/Rollershutter.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Shutter.proto";
4

  
5
option java_outer_classname = "RollershutterType";
6

  
7

  
8
/**
9
 * Generic description of a rollershutter.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message Rollershutter {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the shutter state of the rollershutter.
22
     */
23
    optional .rst.homeautomation.states.Shutter shutter_state = 200;
24

  
25
    /**
26
     * The value which represents the height of the rollershutter in percent. Range [0..100].
27
     * If this value is 100 the rollershutter is at the very top.
28
     */
29
    optional double opening_ratio = 300;
30

  
31
    /**
32
     * Label of the rollershutter. Used to build the scope.
33
     */
34
    optional string label = 400;
35
}
36

  
proto/sandbox/rst/homeautomation/TamperSwitch.proto
1
package rst.homeautomation;
2

  
3
import "rst/homeautomation/states/Tamper.proto";
4

  
5
option java_outer_classname = "TamperSwitchType";
6

  
7

  
8
/**
9
 * Generic description of a tamper switch.
10
 *
11
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
12
 */
13
message TamperSwitch {
14

  
15
    /**
16
     * A unique object identifier.
17
     */
18
    optional string id = 100;
19

  
20
    /**
21
     * Field which represents the state of the tamper switch.
22
     */
23
    optional .rst.homeautomation.states.Tamper state = 200;
24

  
25
    /**
26
     * Label of the tamper switch. Used to build the scope.
27
     */
28
    optional string label = 300;
29
}
30

  
proto/sandbox/rst/homeautomation/TemperatureController.proto
1
package rst.homeautomation;
2

  
3
option java_outer_classname = "TemperatureControllerType";
4

  
5

  
6
/**
7
 * Generic description of a temperature controller.
8
 *
9
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
10
 */
11
message TemperatureController {
12

  
13
    /**
14
     * A unique object identifier.
15
     */
16
    optional string id = 100;
17

  
18
    /**
19
     * The value which represents the temperature.
20
     */
21
    optional float temperature = 200;
22

  
23
    /**
24
     * Label of the temperature controller. Used to build the scope.
25
     */
26
    optional string label = 300;
27
}
28

  
proto/sandbox/rst/homeautomation/TemperatureSensor.proto
1
package rst.homeautomation;
2

  
3
option java_outer_classname = "TemperatureSensorType";
4

  
5

  
6
/**
7
 * Generic description of a temperature sensor.
8
 *
9
 * @author Marian Pohling <mpohling@cit-ec.uni-bielefeld.de>
10
 */
11
message TemperatureSensor {
12

  
13
    /**
14
     * A unique object identifier.
15
     */
16
    optional string id = 100;
17

  
18
    /**
19
     * The value which represents temperature.
20
     */
21
    optional float temperature = 200;
22

  
23
    /**
24
     * Label of the temperature sensor. Used to build the scope.
25
     */
26
    optional string label = 300;
27
}
28

  
proto/sandbox/rst/homeautomation/openhab/DALBinding.proto
1
package rst.homeautomation.openhab;
2

  
3
option java_outer_classname = "DALBindingType";
4

  
5
import "rst/homeautomation/states/ActiveDeactive.proto";
6

  
7
/**
8
 * Type to show if the dal connection is active.
9
 *
10
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
11
 */
12
message DALBinding {
13

  
14
    /*
15
     * The acitvation state.
16
     */
17
    optional .rst.homeautomation.states.ActiveDeactive state = 100;
18
}
19

  
proto/sandbox/rst/homeautomation/openhab/HSB.proto
1
package rst.homeautomation.openhab;
2

  
3
option java_outer_classname = "HSBType";
4

  
5

  
6
/**
7
 * Basic HSB type used by openhab.
8
 * Used by objects like LEDs.
9
 *
10
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
11
 */
12
message HSB {
13

  
14
    /**
15
     * The hue value in the HSB color space. Range: [0..360].
16
     */
17
    optional double hue = 100;
18

  
19
    /**
20
     * The saturation in the HSB color space. Range: [0..100].
21
     */
22
    optional double saturation = 200;
23

  
24
    /**
25
     * The brightness in the HSB color space. Range: [0..100].
26
     */
27
    optional double brightness = 300;
28

  
29
}
30

  
proto/sandbox/rst/homeautomation/openhab/IncreaseDecreaseHolder.proto
1
package rst.homeautomation.openhab;
2

  
3
option java_outer_classname = "IncreaseDecreaseHolderType";
4

  
5

  
6
/**
7
 * Basic increase and decrease type used by openhab.
8
 * Used by objects like dimmers.
9
 *
10
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
11
 */
12
message IncreaseDecreaseHolder {
13

  
14
    /**
15
     * The state definitions.
16
     */
17
    enum IncreaseDecrease {
18

  
19
        /**
20
         * Increase option.
21
         */
22
        INCREASE = 100;
23

  
24
        /**
25
         * Decrease option.
26
         */
27
        DECREASE = 200;
28
    }
29

  
30
    /**
31
     * The increase or decrease state.
32
     */
33
    required IncreaseDecrease state = 100;
34
}
35

  
proto/sandbox/rst/homeautomation/openhab/OnOffHolder.proto
1
package rst.homeautomation.openhab;
2

  
3
option java_outer_classname = "OnOffHolderType";
4

  
5

  
6
/**
7
 * Basic OnOff type used by openhab.
8
 * Used by objects like power plugs.
9
 *
10
 * @author Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de>
11
 */
12
message OnOffHolder {
13

  
14
    /**
15
     * The state definitions.
16
     */
17
    enum OnOff {
18

  
19
        /**
20
         * On state.
21
         */
22
        ON = 100;
23

  
24
        /**
25
         * Off state.
26
         */
27
        OFF = 200;
28
    }
29

  
30
    /**
31
     * The on or off state.
32
     */
33
    required OnOff state = 100;
34

  
35
}
36

  
proto/sandbox/rst/homeautomation/openhab/OpenClosedHolder.proto
1
package rst.homeautomation.openhab;
2

  
3
option java_outer_classname = "OpenClosedHolderType";
4

  
5

  
6
/**
7
 * Basic OpenClosed type used by openhab.
8
 * Used by objects like handle sensors.
... This diff was truncated because it exceeds the maximum size that can be displayed.