Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / home / graph / v1 / device.proto
diff --git a/legacy-libs/google-proto-files/google/home/graph/v1/device.proto b/legacy-libs/google-proto-files/google/home/graph/v1/device.proto
new file mode 100644 (file)
index 0000000..2c95995
--- /dev/null
@@ -0,0 +1,89 @@
+// Copyright 2018 Google Inc.
+//
+// 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.
+
+syntax = "proto3";
+
+package google.home.graph.v1;
+
+import "google/protobuf/struct.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/home/graph/v1;graph";
+option java_outer_classname = "DeviceProto";
+option java_package = "com.google.home.graph.v1";
+
+// Third-party partner's device definition.
+message Device {
+  // Third-party partner's device ID.
+  string id = 1;
+
+  // Hardware type of the device (e.g. light, outlet, etc).
+  string type = 2;
+
+  // Traits supported by the device.
+  repeated string traits = 3;
+
+  // Name of the device given by the third party. This includes names given to
+  // the device via third party device manufacturer's app, model names for the
+  // device, etc.
+  DeviceNames name = 4;
+
+  // Indicates whether the state of this device is being reported to Google
+  // through ReportStateAndNotification call.
+  bool will_report_state = 5;
+
+  // If the third-party partner's cloud configuration includes placing devices
+  // in rooms, the name of the room can be provided here.
+  string room_hint = 6;
+
+  // As in roomHint, for structures that users set up in the partner's system.
+  string structure_hint = 7;
+
+  // Device manufacturer, model, hardware version, and software version.
+  DeviceInfo device_info = 8;
+
+  // Attributes for the traits supported by the device.
+  google.protobuf.Struct attributes = 9;
+
+  // Custom JSON data provided by the manufacturer and attached to QUERY and
+  // EXECUTE requests in AoG.
+  string custom_data = 10;
+}
+
+// Different names for the device.
+message DeviceNames {
+  // Primary name of the device, generally provided by the user.
+  string name = 1;
+
+  // Additional names provided by the user for the device.
+  repeated string nicknames = 2;
+
+  // List of names provided by the partner rather than the user, often
+  // manufacturer names, SKUs, etc.
+  repeated string default_names = 3;
+}
+
+// Device information.
+message DeviceInfo {
+  // Device manufacturer.
+  string manufacturer = 1;
+
+  // Device model.
+  string model = 2;
+
+  // Device hardware version.
+  string hw_version = 3;
+
+  // Device software version.
+  string sw_version = 4;
+}