#
# Copyright 2015 The Android Open Source Project
#
# 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.
#

# OAuth 2.0 client id.
# client_id=

# OAuth 2.0 client secret.
# client_secret=

# OAuth 2.0 API key.
# api_key=

# Human readable name of the device.
name=LED Flasher

# Human readable description of the device.
# Defaults to empty string"
description=Controls on-board LEDs

# Location of the device.
# location=

# Manufacturer of the device.
oem_name=Google, Inc.

# Model of the device.
# Defaults to Brillo.
model_name=Brillo Starter Board

# Five character code assigned by the cloud registry of device models.
# Defaults to "AAAAA" (Unregistered model).
model_id=AAw7x

# Maximum role for local anonymous user.
local_anonymous_access_role=user

# If true, allows local pairing using Privet API.
# local_pairing_enabled=true

# If true, allows local discovery using mDns.
# local_discovery_enabled=true

# GCD service polling interval in milliseconds.
# polling_period_ms=7000

# GCD service backup polling interval in milliseconds.
# backup_polling_period_ms=1800000

# Automatic mode causes buffet to automatically bring up a SoftAP for
# bootstrapping when it looses network connectivity for long enough,
# and on first boot.
# wifi_auto_setup_enabled=true

# List of pairing modes supported by device.
# Values can be one of: pinCode, embeddedCode.
# Defaults to pinCode if embedded_code_path is empty, or embeddedCode otherwise.
pairing_modes=embeddedCode

# Absolute path to file specifying an embedded pairing code. The file at
# embedded_code_path should be a file in key value format, with a key
# embedded_code.
# Defaults to empty path.
embedded_code_path=/etc/weaved/weaved.conf

# Embedded code.
embedded_code=hello

# Allows to register to non-prod server.
allow_endpoints_override=true
