# `Grizzly.Options`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/options.ex#L1)

Grizzly config options.

# `t`

```elixir
@type t() :: %Grizzly.Options{
  associations_file: Path.t(),
  background_rssi_monitor: term(),
  database_file: Path.t() | nil,
  extra_config: String.t() | nil,
  firmware_update_handler: Grizzly.handler() | nil,
  hardware_version: byte() | nil,
  inclusion_adapter: module(),
  inclusion_handler: Grizzly.handler() | nil,
  indicator_handler: (Grizzly.Indicator.event() -&gt; :ok),
  lan_ip: :inet.ip_address(),
  manufacturer_id: non_neg_integer() | nil,
  max_associations_per_group: non_neg_integer(),
  pan_ip: :inet.ip_address(),
  power_level:
    {Grizzly.Supervisor.tx_power(), Grizzly.Supervisor.measured_power()} | nil,
  product_id: byte() | nil,
  product_type: byte() | nil,
  rf_region: Grizzly.Supervisor.rf_region() | nil,
  run_zipgateway: boolean(),
  serial_log: Path.t() | nil,
  serial_port: String.t(),
  storage_adapter: {module(), term()},
  storage_options: PropertyTable.options(),
  trace_options: [Grizzly.Trace.trace_opt()],
  transport: module(),
  tun_script: Path.t(),
  unsolicited_destination: {:inet.ip_address(), :inet.port_number()},
  zipgateway_binary: Path.t(),
  zipgateway_config_path: Path.t(),
  zipgateway_port: :inet.port_number(),
  zw_programmer_path: Path.t(),
  zwave_firmware: zwave_firmware_options()
}
```

See Grizzly.Supervisor

# `zwave_firmware_options`

```elixir
@type zwave_firmware_options() :: %{
  enabled: boolean(),
  specs: [Grizzly.FirmwareUpdates.OTW.UpdateSpec.t()],
  module_reset_fun: (-&gt; :ok) | nil
}
```

Options for configuring Z-Wave module firmware upgrades.

* `enabled` - whether firmware upgrades should run automatically after Grizzly
  starts (with a delay of 1 minute). Defaults to `false`.
* `specs` - a list of firmware upgrade specifications. If multiple specs match,
  the first will be applied. See `Grizzly.FirmwareUpdates.OTW.UpdateSpec`.
* `module_reset_fun` - a 0-arity function that performs a hard rest of the Z-Wave module.
  Used to detect whether the module is stuck at the bootloader due to a previous
  failed upgrade.

# `new`

```elixir
@spec new([Grizzly.Supervisor.arg()]) :: t()
```

# `to_zipgateway_config`

```elixir
@spec to_zipgateway_config(t()) :: Grizzly.ZIPGateway.Config.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
