<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://consumerrights.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DreamingCodes</id>
	<title>Consumer Rights Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://consumerrights.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DreamingCodes"/>
	<link rel="alternate" type="text/html" href="https://consumerrights.wiki/w/Special:Contributions/DreamingCodes"/>
	<updated>2026-04-29T13:34:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://consumerrights.wiki/index.php?title=Netatmo_Zigbee_devices_refuse_to_connect_to_third-party_gateways&amp;diff=22580</id>
		<title>Netatmo Zigbee devices refuse to connect to third-party gateways</title>
		<link rel="alternate" type="text/html" href="https://consumerrights.wiki/index.php?title=Netatmo_Zigbee_devices_refuse_to_connect_to_third-party_gateways&amp;diff=22580"/>
		<updated>2025-08-28T07:51:22Z</updated>

		<summary type="html">&lt;p&gt;DreamingCodes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IncidentCargo&lt;br /&gt;
|Company=Legrand, BTicino, Netatmo&lt;br /&gt;
|Status=Active&lt;br /&gt;
|ProductLine=BTicino/Legrand/Netatmo zigbee devices&lt;br /&gt;
|ArticleType=Product&lt;br /&gt;
|Type=Anticompetitive Behavior&lt;br /&gt;
|Description=Devices from Legrand and its subsidiaries refuse to connect unless they receive a special code during pairing to confirm it&#039;s a Legrand gateway&lt;br /&gt;
}}Legrand and its child companies (such as BTicino with their Living Now series) manufacture Zigbee-based smart devices. While these devices use the Zigbee protocol, they are intentionally restricted to work only with Legrand’s own gateways.&lt;br /&gt;
&lt;br /&gt;
==[Incident]==&lt;br /&gt;
During the pairing process, Legrand devices send a &#039;&#039;&#039;non-standard Zigbee command&#039;&#039;&#039; and expect a specific reply from the coordinator. If the expected response is not received, the device will refuse to complete the pairing process.This effectively blocks the use of Legrand devices with third-party Zigbee gateways such as Zigbee2MQTT, Home Assistant’s ZHA, or other open-source coordinators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When a Legrand device is powered on and attempts to join a network, it sends a &#039;&#039;&#039;read frame&#039;&#039;&#039; to every device on the network. The payload includes the number of seconds since the device was powered.&lt;br /&gt;
&lt;br /&gt;
*If the coordinator responds with a valid value (e.g., 23 seconds), the device continues pairing.&lt;br /&gt;
*If the response is missing or the value is too high (e.g., 200), the device leaves the network and refuses to pair.&lt;br /&gt;
&lt;br /&gt;
This mechanism acts as a vendor lock-in, ensuring that only Legrand’s own gateways can provide the expected response.&lt;br /&gt;
&lt;br /&gt;
===Zigbee2MQTT Workaround===&lt;br /&gt;
The [http://zigbee2mqtt.io/ Zigbee2MQTT] project implevemented a workaround to support Legrand dices by simulating the expected response during pairing. Below is their current implementation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// support Legrand security protocol&lt;br /&gt;
// when pairing, a powered device will send a read frame to every device on the network&lt;br /&gt;
// it expects at least one answer. The payload contains the number of seconds&lt;br /&gt;
// since when the device is powered. If the value is too high, it will leave &amp;amp; not pair&lt;br /&gt;
// 23 works, 200 doesn&#039;t&lt;br /&gt;
if (device.manufacturerID === Zcl.ManufacturerCode.LEGRAND_GROUP &amp;amp;&amp;amp; !device.customReadResponse) {&lt;br /&gt;
    device.customReadResponse = (frame, endpoint) =&amp;gt; {&lt;br /&gt;
        if (frame.isCluster(&amp;quot;genBasic&amp;quot;) &amp;amp;&amp;amp; frame.payload.find((i: {attrId: number}) =&amp;gt; i.attrId === 61440)) {&lt;br /&gt;
            const options = {manufacturerCode: Zcl.ManufacturerCode.LEGRAND_GROUP, disableDefaultResponse: true};&lt;br /&gt;
            const payload = {61440: {value: 23, type: 35}};&lt;br /&gt;
&lt;br /&gt;
            endpoint.readResponse(&amp;quot;genBasic&amp;quot;, frame.header.transactionSequenceNumber, payload, options).catch((e) =&amp;gt; {&lt;br /&gt;
                logger.warning(`Legrand security read response failed: ${e}`, NS);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return false;&lt;br /&gt;
    };&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/index.ts#L638-L658&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>DreamingCodes</name></author>
	</entry>
	<entry>
		<id>https://consumerrights.wiki/index.php?title=Netatmo_Zigbee_devices_refuse_to_connect_to_third-party_gateways&amp;diff=22579</id>
		<title>Netatmo Zigbee devices refuse to connect to third-party gateways</title>
		<link rel="alternate" type="text/html" href="https://consumerrights.wiki/index.php?title=Netatmo_Zigbee_devices_refuse_to_connect_to_third-party_gateways&amp;diff=22579"/>
		<updated>2025-08-28T07:33:13Z</updated>

		<summary type="html">&lt;p&gt;DreamingCodes: Created page with &amp;quot;{{IncidentCargo |Company=Legrand, BTicino, Netatmo |Status=Active |ProductLine=BTicino/Legrand/Netatmo zigbee devices |ArticleType=Product |Type=Anticompetitive Behavior |Description=Devices from Legrand and its subsidiaries refuse to connect unless they receive a special code during pairing to confirm it&amp;#039;s a Legrand gateway }} {{Ph-I-Int}}  ==Background==  {{Ph-I-B}}    ==[Incident]==  {{Ph-I-I}}    ===[Company]&amp;#039;s response===  {{Ph-I-ComR}}      ==Lawsuit==  {{Ph-I-L}}...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IncidentCargo&lt;br /&gt;
|Company=Legrand, BTicino, Netatmo&lt;br /&gt;
|Status=Active&lt;br /&gt;
|ProductLine=BTicino/Legrand/Netatmo zigbee devices&lt;br /&gt;
|ArticleType=Product&lt;br /&gt;
|Type=Anticompetitive Behavior&lt;br /&gt;
|Description=Devices from Legrand and its subsidiaries refuse to connect unless they receive a special code during pairing to confirm it&#039;s a Legrand gateway&lt;br /&gt;
}}&lt;br /&gt;
{{Ph-I-Int}}&lt;br /&gt;
==Background==&lt;br /&gt;
{{Ph-I-B}}&lt;br /&gt;
&lt;br /&gt;
==[Incident]==&lt;br /&gt;
{{Ph-I-I}}&lt;br /&gt;
&lt;br /&gt;
===[Company]&#039;s response===&lt;br /&gt;
{{Ph-I-ComR}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lawsuit==&lt;br /&gt;
{{Ph-I-L}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Consumer response==&lt;br /&gt;
{{Ph-I-ConR}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Ph-I-C}}&lt;/div&gt;</summary>
		<author><name>DreamingCodes</name></author>
	</entry>
</feed>