Binary Sensor Map¶
binary_sensor_map sensor platform allows you to map multiple binary sensor
to an individual value. Depending on the state of each binary sensor, its associated configured parameters, and this sensor’s mapping type,
binary_sensor_map publishes a single numerical value.
Use this sensor to combine one or more binary sensors’
OFF states into a numerical value. Some possible use cases include
touch devices and determining Bayesian probabilities for an event.
This platform supports three measurement types:
You need to specify your desired mapping with the
type: configuration value.
When using the
BAYESIAN type, add your binary sensors as
observations to the binary sensor map.
If you use the
SUM type, add your binary sensors as
The maximum amount of observations/channels supported is 64.
BAYESIANThis type replicates Home Assistant’s Bayesian sensor. Based on the observation states, this sensor returns the Bayesian probability of a particular event occurring. The configured
prior:probability is the likelihood that the Bayesian event is true, ignoring all external influences. Every observation has its own
prob_given_true:value is the probability that the observation’s binary sensor is
ONwhen the Bayesian event is
prob_given_false:value is the probability that the observation’s binary sensor is
ONwhen the Bayesian event is
false. Use an Analog Threshold Binary Sensor to convert this sensor’s probability to a binary
OFFby setting an appropriate threshold.
# Example configuration entry sensor: - platform: binary_sensor_map id: bayesian_prob name: 'Bayesian Event Probability' type: bayesian prior: 0.4 observations: - binary_sensor: binary_sensor_0 prob_given_true: 0.9 prob_given_false: 0.2 - binary_sensor: binary_sensor_1 prob_given_true: 0.6 prob_given_false: 0.1 binary_sensor: # If the Bayesian probability is greater than 0.6, # then predict the event is occuring - platform: analog_threshold name: "Bayesian Event Predicted State" sensor_id: bayesian_prob threshold: 0.6 # ...
GROUPEach channel has its own
value. The sensor publishes the average value of all active binary sensors or
NANif no sensors are active.
# Example configuration entry sensor: - platform: binary_sensor_map id: group_0 name: 'Group Map 0' type: GROUP channels: - binary_sensor: touchkey0 value: 0 - binary_sensor: touchkey1 value: 10 - binary_sensor: touchkey2 value: 20 - binary_sensor: touchkey3 value: 30 # Example binary sensors using MPR121 component mpr121: id: mpr121_first address: 0x5A binary_sensor: - platform: mpr121 channel: 0 id: touchkey0 # ...
SUMEach channel has its own
value. The sensor publishes the sum of all the active binary sensors values or
0if no sensors are active.
# Example configuration entry sensor: - platform: binary_sensor_map id: group_0 name: 'Group Map 0' type: sum channels: - binary_sensor: bit0 value: 1 - binary_sensor: bit1 value: 2 - binary_sensor: bit2 value: 4 - binary_sensor: bit3 value: 8 binary_sensor: - platform: gpio pin: 4 id: bit0 - platform: gpio pin: 5 id: bit1 - platform: gpio pin: 6 id: bit2 - platform: gpio pin: 7 id: bit3 # ...
name (Required, string): The name of the sensor.
type (Required, string): The sensor type. Should be one of:
channels (Required for GROUP or SUM types): A list of channels that are mapped to certain values.
binary_sensor (Required): The id of the binary sensor to add as a channel for this sensor.
value (Required): The value this channel should report when its binary sensor is active.
prior (Required for BAYESIAN type, float between 0 and 1): The prior probability of the event.
observations (Required for BAYESIAN type): A list of observations that influence the Bayesian probability of the event.
binary_sensor (Required): The id of the binary sensor to add as an observation.
prob_given_true (Required, float between 0 and 1): Assuming the event is true, the probability this observation is on.
prob_given_false (Required, float between 0 and 1): Assuming the event is false, the probability this observation is on.
All other options from Sensor.