diff --git a/apack.json b/apack.json
index 5f765833ef..30505b1279 100644
--- a/apack.json
+++ b/apack.json
@@ -4,7 +4,7 @@
"description": "Graphical configuration tool for application and libraries based on Zigbee Cluster Library.",
"path": [".", "node_modules/.bin/", "ZAP.app/Contents/MacOS"],
"requiredFeatureLevel": "apack.core:9",
- "featureLevel": 104,
+ "featureLevel": 105,
"uc.triggerExtension": "zap",
"executable": {
"zap:win32.x86_64": {
diff --git a/docs/api.md b/docs/api.md
index 72adca6605..364030a459 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -11266,6 +11266,7 @@ This module contains the API for templating. For more detailed instructions, rea
* [~replace_string(mainString, replaceString, replaceWithString)](#module_Templating API_ toplevel utility helpers..replace_string) ⇒
* [~add_prefix_to_all_strings(str, prefixStr)](#module_Templating API_ toplevel utility helpers..add_prefix_to_all_strings) ⇒
* [~multiply()](#module_Templating API_ toplevel utility helpers..multiply) ⇒
+ * [~is_power_of_two(val)](#module_Templating API_ toplevel utility helpers..is_power_of_two) ⇒
* [~is_string_underscored(val)](#module_Templating API_ toplevel utility helpers..is_string_underscored) ⇒
* [~as_uppercase(val)](#module_Templating API_ toplevel utility helpers..as_uppercase) ⇒
@@ -11587,6 +11588,18 @@ Returns a concatenated string with spaces between each string
### Templating API: toplevel utility helpers~multiply() ⇒
**Kind**: inner method of [Templating API: toplevel utility helpers
](#module_Templating API_ toplevel utility helpers)
**Returns**: A number which is result of multiplying all the arguments given
+
+
+### Templating API: toplevel utility helpers~is\_power\_of\_two(val) ⇒
+Returns a boolean based on whether a given value is a power or 2 or not.
+
+**Kind**: inner method of [Templating API: toplevel utility helpers
](#module_Templating API_ toplevel utility helpers)
+**Returns**: boolean
+
+| Param | Type |
+| --- | --- |
+| val | \*
|
+
### Templating API: toplevel utility helpers~is\_string\_underscored(val) ⇒
diff --git a/docs/helpers.md b/docs/helpers.md
index edd407d2b4..8b0eec8b8e 100644
--- a/docs/helpers.md
+++ b/docs/helpers.md
@@ -2945,6 +2945,7 @@ This module contains the API for templating. For more detailed instructions, rea
* [~replace_string(mainString, replaceString, replaceWithString)](#module_Templating API_ toplevel utility helpers..replace_string) ⇒
* [~add_prefix_to_all_strings(str, prefixStr)](#module_Templating API_ toplevel utility helpers..add_prefix_to_all_strings) ⇒
* [~multiply()](#module_Templating API_ toplevel utility helpers..multiply) ⇒
+ * [~is_power_of_two(val)](#module_Templating API_ toplevel utility helpers..is_power_of_two) ⇒
* [~is_string_underscored(val)](#module_Templating API_ toplevel utility helpers..is_string_underscored) ⇒
* [~as_uppercase(val)](#module_Templating API_ toplevel utility helpers..as_uppercase) ⇒
@@ -3266,6 +3267,18 @@ Returns a concatenated string with spaces between each string
### Templating API: toplevel utility helpers~multiply() ⇒
**Kind**: inner method of [Templating API: toplevel utility helpers
](#module_Templating API_ toplevel utility helpers)
**Returns**: A number which is result of multiplying all the arguments given
+
+
+### Templating API: toplevel utility helpers~is\_power\_of\_two(val) ⇒
+Returns a boolean based on whether a given value is a power or 2 or not.
+
+**Kind**: inner method of [Templating API: toplevel utility helpers
](#module_Templating API_ toplevel utility helpers)
+**Returns**: boolean
+
+| Param | Type |
+| --- | --- |
+| val | \*
|
+
### Templating API: toplevel utility helpers~is\_string\_underscored(val) ⇒
diff --git a/docs/zap-schema.svg b/docs/zap-schema.svg
index 1eaae61cfa..390b1a43ad 100644
--- a/docs/zap-schema.svg
+++ b/docs/zap-schema.svg
@@ -4,3055 +4,3110 @@
-