<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send &amp;#39;on&amp;#39; command?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112617/nrf-connect-2-6-1-zigbee---binding-onoff-cluster-via-home-assistant---how-to-send-on-command</link><description>Setup: 
 
 windows 11 
 VS studio code 
 Toolchain and SDK v2.6.1 
 hardware: nRF52840DK / PCA10056 (bought June 2024) 
 Using sdk/zigbee-Template as the base for the project. 
 
 Goal: 
 
 Mains powered Zigbee controller with multiple switches to turn</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Jul 2024 22:37:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112617/nrf-connect-2-6-1-zigbee---binding-onoff-cluster-via-home-assistant---how-to-send-on-command" /><item><title>RE: NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send 'on' command?</title><link>https://devzone.nordicsemi.com/thread/492549?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 22:37:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6017129-431f-4da4-a372-83dddc274a85</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am sorry, but I am not able to decrypt your trace without the network key.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I see that there are some packets from 0x2727 to destination 0x0000 later, such as 288, but I am not able to tell what it is (without decrypting).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You may not want to upload your network key in a public ticket. I suggest that you create a private ticket, where you can link to this ticket, where you upload your trace and your network key, so that we can have a look.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send 'on' command?</title><link>https://devzone.nordicsemi.com/thread/492541?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 20:58:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad690a60-a4cc-4fa6-bedd-7f8896e9f540</guid><dc:creator>Joeri_</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;br /&gt;&lt;br /&gt;I assumed that the sniffers showed every message send over the network.&lt;br /&gt;I just tried again:&lt;br /&gt;&lt;br /&gt;Use Zigbee2mqtt in HomeAssistant I first bound endpoint 11 with OnOff attribute to the co&amp;ouml;rdinator. After that I bound it to a light bulb. You can see the wireshark log when binding to the co&amp;ouml;rdinator.&lt;br /&gt;&lt;br /&gt;those messages I see. My device is &amp;#39;0x2727&amp;#39;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Further there are no messages from or to my device regarding the onOff attribute.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1720213106997v3.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send 'on' command?</title><link>https://devzone.nordicsemi.com/thread/492537?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 20:31:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d92cc55-6591-4a93-9a4f-087ca4e8e207</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user="Joeri_"]Here is the snippet I used to set the attribute, and also the rest of the code. My zigbee sniffer shows no signal after setting the attribute.[/quote]
&lt;p&gt;Did you bind the attribute to your coordinator before capturing the sniffer trace? If not, then the device has nowhere to send the update, so in that case, I don&amp;#39;t think you will see it in a sniffer trace.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send 'on' command?</title><link>https://devzone.nordicsemi.com/thread/492200?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 09:23:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:466e5f3f-4c89-4144-88e2-1e85172efb31</guid><dc:creator>Joeri_</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;Thank you for the reply. I find it awesome that I got a notification that &amp;quot;an engineer had been assigned&amp;quot;.&lt;br /&gt;&lt;br /&gt;Unfortunatelu I have not found out how to make your suggestion work.&lt;br /&gt;&lt;br /&gt;Here is the snippet I used to set the attribute, and also the rest of the code. My zigbee sniffer shows no signal after setting the attribute.&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void light_switch_send_on_off(int onOff)
{
	if(onOff){LOG_INF(&amp;quot;Send on command:&amp;quot;);}
	else{LOG_INF(&amp;quot;send off command:&amp;quot;);}
	

	ZB_ZCL_SET_ATTRIBUTE(
		ON_OFF_SWITCH_ENDPOINT,
		ZB_ZCL_CLUSTER_ID_ON_OFF,
		ZB_ZCL_CLUSTER_ANY_ROLE,
		ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID,
		onOff,
		false);
}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/*
 * Copyright (c) 2021 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
 */

/** @file
 *
 * @brief Zigbee application template.
 */

#include &amp;lt;zephyr/kernel.h&amp;gt;
#include &amp;lt;zephyr/logging/log.h&amp;gt;
#include &amp;lt;dk_buttons_and_leds.h&amp;gt;

#include &amp;lt;zboss_api.h&amp;gt;
#include &amp;lt;zboss_api_addons.h&amp;gt;
#include &amp;lt;zigbee/zigbee_error_handler.h&amp;gt;
#include &amp;lt;zigbee/zigbee_app_utils.h&amp;gt;
#include &amp;lt;zigbee/zigbee_zcl_scenes.h&amp;gt;
#include &amp;lt;zb_nrf_platform.h&amp;gt;
#include &amp;quot;zb_range_extender.h&amp;quot;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;zboss_api_aps.h&amp;gt;
#include &amp;lt;zb_zcl_common.h&amp;gt;

/* Device endpoint, used to receive ZCL commands. */
#define APP_TEMPLATE_ENDPOINT 10

/* Device endpoint, used for on/off switch. */
#define ON_OFF_SWITCH_ENDPOINT 11

/* Version of the application software (1 byte). */
#define REMOTE_INIT_BASIC_APP_VERSION 01

/* Version of the implementation of the Zigbee stack (1 byte). */
#define REMOTE_INIT_BASIC_STACK_VERSION 10

/* Version of the hardware of the device (1 byte). */
#define REMOTE_INIT_BASIC_HW_VERSION 11

/* Manufacturer name (32 bytes). */
#define REMOTE_INIT_BASIC_MANUF_NAME &amp;quot;DIY&amp;quot;

/* Model number assigned by manufacturer (32-bytes long string). */
#define REMOTE_INIT_BASIC_MODEL_ID &amp;quot;Light_Controller_v0.2&amp;quot;

/* First 8 bytes specify the date of manufacturer of the device
 * in ISO 8601 format (YYYYMMDD). The rest (8 bytes) are manufacturer specific.
 */
#define REMOTE_INIT_BASIC_DATE_CODE &amp;quot;20240629&amp;quot;

/* Type of power sources available for the device.
 * For possible values see section 3.2.2.2.8 of ZCL specification.
 */
#define REMOTE_INIT_BASIC_POWER_SOURCE ZB_ZCL_BASIC_POWER_SOURCE_DC_SOURCE

/* Describes the physical location of the device (16 bytes).
 * May be modified during commissioning process.
 */
#define REMOTE_INIT_BASIC_LOCATION_DESC &amp;quot;general&amp;quot;

/* Describes the type of physical environment.
 * For possible values see section 3.2.2.2.10 of ZCL specification.
 */
#define REMOTE_INIT_BASIC_PH_ENV ZB_ZCL_BASIC_ENV_UNSPECIFIED

/* LED indicating that device successfully joined Zigbee network. */
#define ZIGBEE_NETWORK_STATE_LED DK_LED3

/* LED used for device identification. */
#define IDENTIFY_LED DK_LED4

/* Button used to enter the Identify mode. */
#define IDENTIFY_MODE_BUTTON DK_BTN4_MSK

/* Button to start Factory Reset */
#define FACTORY_RESET_BUTTON IDENTIFY_MODE_BUTTON

LOG_MODULE_REGISTER(app, LOG_LEVEL_INF);

/* Main application customizable context.
 * Stores all settings and static values.
 */
struct zb_device_ctx
{
	zb_zcl_basic_attrs_ext_t basic_attr;   // Should always be there
	zb_zcl_identify_attrs_t identify_attr; // Should always be there
	zb_uint8_t on_off_switch_type_attr;	   // for this device
	zb_uint8_t on_off_switch_actions_attr; // for this device
};

/* Zigbee device application context storage. */
static struct zb_device_ctx dev_ctx;

ZB_ZCL_DECLARE_IDENTIFY_ATTRIB_LIST(
	identify_attr_list,
	&amp;amp;dev_ctx.identify_attr.identify_time);

ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST_EXT(
	basic_attr_list,
	&amp;amp;dev_ctx.basic_attr.zcl_version,
	&amp;amp;dev_ctx.basic_attr.app_version,
	&amp;amp;dev_ctx.basic_attr.stack_version,
	&amp;amp;dev_ctx.basic_attr.hw_version,
	dev_ctx.basic_attr.mf_name,
	dev_ctx.basic_attr.model_id,
	dev_ctx.basic_attr.date_code,
	&amp;amp;dev_ctx.basic_attr.power_source,
	dev_ctx.basic_attr.location_id,
	&amp;amp;dev_ctx.basic_attr.ph_env,
	dev_ctx.basic_attr.sw_ver);

ZB_ZCL_DECLARE_ON_OFF_SWITCH_CONFIGURATION_ATTRIB_LIST(
	on_off_switch_attr_list,
	&amp;amp;dev_ctx.on_off_switch_type_attr,
	&amp;amp;dev_ctx.on_off_switch_actions_attr);

ZB_HA_DECLARE_ON_OFF_SWITCH_CLUSTER_LIST(
	on_off_switch_clusters,
	on_off_switch_attr_list,
	basic_attr_list,
	identify_attr_list);

ZB_HA_DECLARE_ON_OFF_SWITCH_EP(
	on_off_switch_ep,
	ON_OFF_SWITCH_ENDPOINT,
	on_off_switch_clusters);

ZB_DECLARE_RANGE_EXTENDER_CLUSTER_LIST(
	app_template_clusters,
	basic_attr_list,
	identify_attr_list);

ZB_DECLARE_RANGE_EXTENDER_EP(
	app_template_ep,
	APP_TEMPLATE_ENDPOINT,
	app_template_clusters);

ZBOSS_DECLARE_DEVICE_CTX_2_EP( // This is a macro to declare 2 endpoints
	app_template_ctx,
	on_off_switch_ep,
	app_template_ep);

/**@brief Function for initializing all clusters attributes. */
static void app_clusters_attr_init(void)
{
	/* Basic cluster attributes data */
	dev_ctx.basic_attr.zcl_version = ZB_ZCL_VERSION;
	dev_ctx.basic_attr.app_version = REMOTE_INIT_BASIC_APP_VERSION;
	dev_ctx.basic_attr.stack_version = REMOTE_INIT_BASIC_STACK_VERSION;
	dev_ctx.basic_attr.hw_version = REMOTE_INIT_BASIC_HW_VERSION;

	/* Use ZB_ZCL_SET_STRING_VAL to set strings, because the first byte
	 * should contain string length without trailing zero.
	 *
	 * For example &amp;quot;test&amp;quot; string will be encoded as:
	 *   [(0x4), &amp;#39;t&amp;#39;, &amp;#39;e&amp;#39;, &amp;#39;s&amp;#39;, &amp;#39;t&amp;#39;]
	 */
	ZB_ZCL_SET_STRING_VAL(
		dev_ctx.basic_attr.mf_name,
		REMOTE_INIT_BASIC_MANUF_NAME,
		ZB_ZCL_STRING_CONST_SIZE(REMOTE_INIT_BASIC_MANUF_NAME));

	ZB_ZCL_SET_STRING_VAL(
		dev_ctx.basic_attr.model_id,
		REMOTE_INIT_BASIC_MODEL_ID,
		ZB_ZCL_STRING_CONST_SIZE(REMOTE_INIT_BASIC_MODEL_ID));

	ZB_ZCL_SET_STRING_VAL(
		dev_ctx.basic_attr.date_code,
		REMOTE_INIT_BASIC_DATE_CODE,
		ZB_ZCL_STRING_CONST_SIZE(REMOTE_INIT_BASIC_DATE_CODE));

	dev_ctx.basic_attr.power_source = REMOTE_INIT_BASIC_POWER_SOURCE;

	ZB_ZCL_SET_STRING_VAL(
		dev_ctx.basic_attr.location_id,
		REMOTE_INIT_BASIC_LOCATION_DESC,
		ZB_ZCL_STRING_CONST_SIZE(REMOTE_INIT_BASIC_LOCATION_DESC));

	dev_ctx.basic_attr.ph_env = REMOTE_INIT_BASIC_PH_ENV;

	/* Identify cluster attributes data. */
	dev_ctx.identify_attr.identify_time =
		ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE;
}

/**@brief Function for sending ON/OFF requests to the binded light bulb.
 *
 * 
 */
void light_switch_send_on_off()
{
	LOG_INF(&amp;quot;Send OFF command:&amp;quot;);

	ZB_ZCL_SET_ATTRIBUTE(
		ON_OFF_SWITCH_ENDPOINT,
		ZB_ZCL_CLUSTER_ID_ON_OFF,
		ZB_ZCL_CLUSTER_ANY_ROLE,
		ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID,
		ZB_ZCL_ON_OFF_IS_OFF,
		true);

			ZB_ZCL_SET_ATTRIBUTE(
		ON_OFF_SWITCH_ENDPOINT,
		ZB_ZCL_CLUSTER_ID_ON_OFF,
		ZB_ZCL_CLUSTER_ANY_ROLE,
		ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID,
		ZB_ZCL_ON_OFF_IS_ON,
		true);
}


/**@brief Function to toggle the identify LED
 *
 * @param  bufid  Unused parameter, required by ZBOSS scheduler API.
 */
static void toggle_identify_led(zb_bufid_t bufid)
{
	static int blink_status;

	dk_set_led(IDENTIFY_LED, (++blink_status) % 2);
	ZB_SCHEDULE_APP_ALARM(toggle_identify_led, bufid, ZB_MILLISECONDS_TO_BEACON_INTERVAL(100));
	
}

/**@brief Function to handle identify notification events on the first endpoint.
 *
 * @param  bufid  Unused parameter, required by ZBOSS scheduler API.
 */
static void identify_cb(zb_bufid_t bufid)
{
	zb_ret_t zb_err_code;

	if (bufid)
	{
		/* Schedule a self-scheduling function that will toggle the LED */
		ZB_SCHEDULE_APP_CALLBACK(toggle_identify_led, bufid);
	}
	else
	{
		/* Cancel the toggling function alarm and turn off LED */
		zb_err_code = ZB_SCHEDULE_APP_ALARM_CANCEL(toggle_identify_led, ZB_ALARM_ANY_PARAM);
		ZVUNUSED(zb_err_code);

		dk_set_led(IDENTIFY_LED, 0);
	}
}

/**@brief Starts identifying the device.
 *
 * @param  bufid  Unused parameter, required by ZBOSS scheduler API.
 */
static void start_identifying(zb_bufid_t bufid)
{
	ZVUNUSED(bufid);

	if (ZB_JOINED())
	{
		/* Check if endpoint is in identifying mode,
		 * if not put desired endpoint in identifying mode.
		 */
		if (dev_ctx.identify_attr.identify_time ==
			ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE)
		{

			zb_ret_t zb_err_code = zb_bdb_finding_binding_target(
				APP_TEMPLATE_ENDPOINT);

			if (zb_err_code == RET_OK)
			{
				LOG_INF(&amp;quot;Enter identify mode&amp;quot;);
			}
			else if (zb_err_code == RET_INVALID_STATE)
			{
				LOG_WRN(&amp;quot;RET_INVALID_STATE - Cannot enter identify mode&amp;quot;);
			}
			else
			{
				ZB_ERROR_CHECK(zb_err_code);
			}
		}
		else
		{
			LOG_INF(&amp;quot;Cancel identify mode&amp;quot;);
			zb_bdb_finding_binding_target_cancel();
		}
	}
	else
	{
		LOG_WRN(&amp;quot;Device not in a network - cannot enter identify mode&amp;quot;);
	}
}

/**@brief Callback for button events.
 *
 * @param[in]   button_state  Bitmask containing buttons state.
 * @param[in]   has_changed   Bitmask containing buttons
 *                            that have changed their state.
 */
static void button_changed(uint32_t button_state, uint32_t has_changed)
{
	if (IDENTIFY_MODE_BUTTON &amp;amp; has_changed)
	{
		light_switch_send_on_off();
		if (IDENTIFY_MODE_BUTTON &amp;amp; button_state)
		{
			/* Button changed its state to pressed */
		}
		else
		{
			/* Button changed its state to released */
			if (was_factory_reset_done())
			{
				/* The long press was for Factory Reset */
				LOG_DBG(&amp;quot;After Factory Reset - ignore button release&amp;quot;);
			}
			else
			{
				/* Button released before Factory Reset */

				/* Start identification mode */
				ZB_SCHEDULE_APP_CALLBACK(start_identifying, 0);
			}
		}
	}

	check_factory_reset_button(button_state, has_changed);
}

/**@brief Function for initializing LEDs and Buttons. */
static void configure_gpio(void)
{
	int err;

	err = dk_buttons_init(button_changed);
	if (err)
	{
		LOG_ERR(&amp;quot;Cannot init buttons (err: %d)&amp;quot;, err);
	}

	err = dk_leds_init();
	if (err)
	{
		LOG_ERR(&amp;quot;Cannot init LEDs (err: %d)&amp;quot;, err);
	}
}

/**@brief Zigbee stack event handler.
 *
 * @param[in]   bufid   Reference to the Zigbee stack buffer
 *                      used to pass signal.
 */
void zboss_signal_handler(zb_bufid_t bufid)
{
	/* Update network status LED. */
	zigbee_led_status_update(bufid, ZIGBEE_NETWORK_STATE_LED);

	/* No application-specific behavior is required.
	 * Call default signal handler.
	 */
	ZB_ERROR_CHECK(zigbee_default_signal_handler(bufid));

	/* All callbacks should either reuse or free passed buffers.
	 * If bufid == 0, the buffer is invalid (not passed).
	 */
	if (bufid)
	{
		zb_buf_free(bufid);
	}
}

void print_ieee_addr(zb_ieee_addr_t addr)
{
	for (int i = 0; i &amp;lt; 8; i++)
	{
		printf(&amp;quot;%02X&amp;quot;, addr[i]);
		if (i &amp;lt; 7)
			printf(&amp;quot;:&amp;quot;);
	}
}

static void GetBindingTable(void)
{ // hierdoor crasht alles. dus nog niet de oplossing
	// So far this seems to be needed to controll a device that is binded through Home Assistant.
	// But outside a shell command this function seems unavailabe.
	// ZB_NVRAM_APS_BINDING_DATA Binding data wordt opgeslagen in de zb_nvram

	zb_zdo_binding_table_record_t buffer;
	// zb_nvram_read_data(1, ZB_NVRAM_APS_BINDING_DATA, buffer,1000 );
	zb_ret_t ret;
	ret = zb_nvram_read_data(1, ZB_NVRAM_APS_BINDING_DATA, (zb_uint8_t *)&amp;amp;buffer, 200);

	if (ret == 0)
	{ // Assuming 0 is success
		printf(&amp;quot;Source Address: &amp;quot;);
		print_ieee_addr(buffer.src_address);
		printf(&amp;quot;\n&amp;quot;);

		printf(&amp;quot;Source Endpoint: %d\n&amp;quot;, buffer.src_endp);
		printf(&amp;quot;Cluster ID: 0x%04X\n&amp;quot;, buffer.cluster_id);
		printf(&amp;quot;Destination Address Mode: %d\n&amp;quot;, buffer.dst_addr_mode);

		printf(&amp;quot;Destination Address: &amp;quot;);
		if (buffer.dst_addr_mode == 2)
		{ // Assuming 2 means IEEE address
			print_ieee_addr(buffer.dst_address.addr_long);
		}
		else
		{
			printf(&amp;quot;0x%04X&amp;quot;, buffer.dst_address.addr_short);
		}
		printf(&amp;quot;\n&amp;quot;);

		if (buffer.dst_addr_mode == 2)
		{ // Only if 64-bit extended address
			printf(&amp;quot;Destination Endpoint: %d\n&amp;quot;, buffer.dst_endp);
		}
	}
	else
	{
		printf(&amp;quot;Failed to read data from NVRAM\n&amp;quot;);
	}
}



int main(void)
{
	LOG_INF(&amp;quot;Starting Zigbee application template example&amp;quot;);

	/* Initialize */
	configure_gpio();
	register_factory_reset_button(FACTORY_RESET_BUTTON);

	/* Register device context (endpoints). */
	ZB_AF_REGISTER_DEVICE_CTX(&amp;amp;app_template_ctx);

	app_clusters_attr_init();

	/* Register handlers to identify notifications */
	ZB_AF_SET_IDENTIFY_NOTIFICATION_HANDLER(APP_TEMPLATE_ENDPOINT, identify_cb);

	/* Start Zigbee default thread */
	zigbee_enable();

	LOG_INF(&amp;quot;Zigbee application template started&amp;quot;);


	

	return 0;
}
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF connect: 2.6.1 zigbee - Binding OnOff cluster via Home assistant - how to send 'on' command?</title><link>https://devzone.nordicsemi.com/thread/492087?ContentTypeID=1</link><pubDate>Wed, 03 Jul 2024 13:42:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e789ec78-2d73-4fb3-8515-cba53daaa992</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry for the late reply.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please see this ticket:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42327/trying-to-send-from-a-switch-to-a-coordinator"&gt;Trying to send from a switch to a coordinator&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Try using&amp;nbsp;&lt;span&gt;ZB_ZCL_SET_ATTRIBUTE&amp;nbsp;instead of ZB_ZCL_ON_OFF_SEND_REQ(). Then you can bind the cluster to the coordinator (from the coordinator side), and I believe that is it. Give it a go and let me know if it works.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Edvin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>