Bitwise OR: bitwise_or
The bitwise_or template function performs a bitwise OR operation on two integer values. Each bit in the result is set to 1 if at least one of the corresponding bits in the input values is 1.
This is useful when you need to combine multiple status flags into a single value or set specific bits in a bitmask. For example, if different sensorsSensors return information about a thing, for instance the level of water in a tank. [Learn more] each report a single flag bit and you want to combine them into a single status register, bitwise_or lets you merge them together.
Usage
Here’s how to use this template function. Copy any example and adjust it to your setup.
{{ bitwise_or(5, 3) }}
7
Function signature
The signature is a technical summary of this template function. It shows the name of the function, the values (called parameters) it accepts, and what type of data each parameter expects (for example, a piece of text or a number).
Function parameters that have a = with a value after them are optional. If you leave them out, the default value shown is used automatically. Function parameters without a default are required.
bitwise_or(
first_value: Any,
second_value: Any,
) -> int
Function parameters
The following parameters can be provided to this function.
Good to know
- Both inputs must be integers. Convert state strings with
intfirst. - Binary literals like
0b0010work and can make bit flags more readable.
Try it yourself
Ready to test this? Open Developer tools > Template, paste the example into the Template editor, and watch the result update on the right. Edit the values to see how the function adapts to your own entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more].
More examples
Real scenarios where this function comes up in automations and templates. Copy any example and adapt it to your setup.
Combining status flags
Combine two flag values into a single bitmask.
{% set flag_a = 0b0010 %}
{% set flag_b = 0b0100 %}
{{ bitwise_or(flag_a, flag_b) }}
6
Still stuck?
The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with your template and expected result, or share on our subreddit /r/homeassistant.
AI assistants like ChatGPT or Claude can also explain or fix templates when you describe what you want in plain language.
Related template functions
These functions work well alongside this one:
-
Bitwise AND: bitwise_and - Performs a bitwise AND operation on two values.
-
Bitwise XOR: bitwise_xor - Performs a bitwise XOR (exclusive OR) operation on two values.