Packages
grizzly
0.15.4
9.1.4
9.1.2
9.1.1
9.1.0
9.0.0
8.15.3
8.15.2
8.15.1
8.15.0
8.14.0
8.13.0
8.12.0
8.11.3
8.11.2
8.11.1
8.11.0
8.10.0
8.9.0
8.8.1
8.8.0
8.7.1
8.7.0
8.6.12
8.6.11
8.6.10
8.6.9
8.6.8
8.6.7
retired
8.6.6
8.6.5
8.6.4
8.6.3
8.6.2
8.6.1
8.6.0
8.5.3
8.5.2
8.5.1
8.5.0
8.4.0
8.3.0
8.2.3
8.2.2
8.2.1
8.2.0
8.1.0
8.0.1
8.0.0
7.4.3
7.4.2
7.4.1
7.4.0
7.3.0
7.2.0
7.1.4
7.1.3
7.1.2
7.1.1
7.1.0
7.0.4
7.0.3
7.0.2
7.0.1
7.0.0
6.8.8
6.8.7
6.8.6
6.8.5
6.8.4
6.8.3
6.8.2
6.8.1
6.8.0
6.7.1
6.7.0
6.6.1
6.6.0
6.5.1
6.5.0
6.4.0
6.3.0
6.2.0
6.1.1
6.1.0
6.0.1
6.0.0
5.4.1
5.4.0
5.3.0
5.2.8
5.2.7
5.2.6
5.2.5
5.2.4
5.2.3
5.2.2
5.2.1
5.2.0
5.1.2
5.1.1
5.1.0
5.0.2
5.0.1
5.0.0
4.0.1
4.0.0
3.0.0
2.1.0
2.0.0
1.0.1
1.0.0
0.22.7
0.22.6
0.22.5
0.22.4
0.22.3
0.22.2
0.22.1
0.22.0
0.21.1
0.21.0
0.20.2
0.20.1
0.20.0
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.7
0.17.6
0.17.5
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.2
0.16.1
0.16.0
0.15.11
0.15.10
0.15.9
0.15.8
0.15.7
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.9.0-rc.4
0.9.0-rc.3
0.9.0-rc.2
0.9.0-rc.1
0.9.0-rc.0
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.3
0.4.2
Elixir Z-Wave library
Current section
Files
Jump to
Current section
Files
lib/grizzly/zwave/command_classes/sensor_binary.ex
defmodule Grizzly.ZWave.CommandClasses.SensorBinary do
@moduledoc """
Deprecated command class for triggered/not triggered sensors.
"""
@behaviour Grizzly.ZWave.CommandClass
alias Grizzly.ZWave.DecodeError
@type sensor_type ::
:general_purpose
| :smoke
| :co
| :co2
| :heat
| :water
| :freeze
| :tamper
| :aux
| :door_window
| :tilt
| :motion
| :glass_break
@impl true
def byte(), do: 0x30
@impl true
def name(), do: :sensor_binary
def encode_type(:general_purpose), do: 0x01
def encode_type(:smoke), do: 0x02
def encode_type(:co), do: 0x03
def encode_type(:co2), do: 0x04
def encode_type(:heat), do: 0x05
def encode_type(:water), do: 0x06
def encode_type(:freeze), do: 0x07
def encode_type(:tamper), do: 0x08
def encode_type(:aux), do: 0x09
def encode_type(:door_window), do: 0x0A
def encode_type(:tilt), do: 0x0B
def encode_type(:motion), do: 0x0C
def encode_type(:glass_break), do: 0x0D
def decode_type(0x01), do: {:ok, :general_purpose}
def decode_type(0x02), do: {:ok, :smoke}
def decode_type(0x03), do: {:ok, :co}
def decode_type(0x04), do: {:ok, :co2}
def decode_type(0x05), do: {:ok, :heat}
def decode_type(0x06), do: {:ok, :water}
def decode_type(0x07), do: {:ok, :freeze}
def decode_type(0x08), do: {:ok, :tamper}
def decode_type(0x09), do: {:ok, :aux}
def decode_type(0x0A), do: {:ok, :door_window}
def decode_type(0x0B), do: {:ok, :tilt}
def decode_type(0x0C), do: {:ok, :glass_break}
def decode_type(0x0D), do: {:ok, :glass_break}
def decode_type(byte),
do: {:error, %DecodeError{value: byte, param: :sensor_type, command: :sensor_binary}}
end