<?xml version="1.0"?>
<rss version="2.0"><channel><title>Update 5.210 Latest Topics</title><link>https://forum.fibaro.com/forum/1733-update-5210/</link><description>Update 5.210 Latest Topics</description><language>en</language><item><title>HC3 Z-Wave Engine 3 migration issue with ID Lock 150</title><link>https://forum.fibaro.com/topic/80144-hc3-z-wave-engine-3-migration-issue-with-id-lock-150/</link><description><![CDATA[<p>
	<strong><span>Environment</span></strong>
</p>

<ul>
	<li>
		<span>Home Center 3</span>
	</li>
	<li>
		<span>Firmware: 5.210.12</span>
	</li>
	<li>
		<span>Previously running Z-Wave Engine 2</span>
	</li>
	<li>
		<span>Migrated to Z-Wave Engine 3</span>
	</li>
	<li>
		<span>Approximately 40 Z-Wave devices in the network</span>
	</li>
	<li>
		<span>All other Z-Wave devices continue to work normally after migration</span>
	</li>
</ul>

<p>
	<strong><span>Problem</span></strong>
</p>

<p>
	<span>An ID Lock 150 that was previously fully functional stopped working immediately after the migration from Z-Wave Engine 2 to Z-Wave Engine 3.</span>
</p>

<p>
	<span>The lock can no longer be controlled from HC3 and HC3 is unable to properly identify the device.</span>
</p>

<p>
	<strong><span>Current behavior</span></strong>
</p>

<p>
	<span>After inclusion, HC3 creates the lock device, but:</span>
</p>

<ul>
	<li>
		<span>Lock / Unlock commands do not work</span>
	</li>
	<li>
		<span>Device shows:</span>
		<ul>
			<li>
				<span>Z-Wave SDK version: 0.0</span>
			</li>
			<li>
				<span>Version: 0.0</span>
			</li>
			<li>
				<span>Security level: None</span>
			</li>
			<li>
				<span>Parameters template: No</span>
			</li>
		</ul>
	</li>
	<li>
		<span>Advanced / Parameters page generates API errors</span>
	</li>
	<li>
		<span>HC3 Diagnostics reports:</span>
		<ul>
			<li>
				<span>"No template"</span>
			</li>
		</ul>
	</li>
	<li>
		<span>Browser console shows:</span>
		<ul>
			<li>
				<span>GET /api/zwave/hc/configuration/</span><span> returns HTTP 404</span>
			</li>
		</ul>
	</li>
</ul>

<p>
	<span>Example:</span>
</p>

<p>
	<code dir="ltr"><span>GET /api/zwave/hc/configuration/70 -&gt; 404</span></code>
</p>

<p>
	<strong><span>Troubleshooting already performed</span></strong>
</p>

<ul>
	<li>
		<span>Excluded lock from HC3</span>
	</li>
	<li>
		<span>Factory reset of ID Lock 150</span>
	</li>
	<li>
		<span>Factory reset of Z-Wave module</span>
	</li>
	<li>
		<span>Re-included multiple times</span>
	</li>
	<li>
		<span>Reconfigure device</span>
	</li>
	<li>
		<span>Read configuration</span>
	</li>
	<li>
		<span>Included using S2</span>
	</li>
	<li>
		<span>Included using S0</span>
	</li>
	<li>
		<span>Included without security</span>
	</li>
	<li>
		<span>Included using Network Wide Inclusion</span>
	</li>
	<li>
		<span>Included without Network Wide Inclusion</span>
	</li>
	<li>
		<span>Firmware updated on ID Lock 150</span>
	</li>
</ul>

<p>
	<span>None of the above changes the behavior.</span>
</p>

<p>
	<strong><span>Important observation</span></strong>
</p>

<p>
	<span>The issue appeared immediately after migration from Z-Wave Engine 2 to Z-Wave Engine 3.</span>
</p>

<p>
	<span>The lock worked correctly before the migration.</span>
</p>

<p>
	<span>All other Z-Wave devices in the network continue to operate normally, including secure devices.</span>
</p>

<p>
	<span>Because the lock shows SDK version 0.0, Version 0.0, Security None and No Template regardless of inclusion method, it appears HC3 is unable to fully interview or identify the device after the Engine 3 migration.</span>
</p>

<p>
	<span>Could you please verify whether there are any known compatibility issues between HC3 Z-Wave Engine 3 and ID Lock 150, or if additional diagnostics can be collected to determine why the device interview fails?</span>
</p>
]]></description><guid isPermaLink="false">80144</guid><pubDate>Wed, 03 Jun 2026 05:07:40 +0000</pubDate></item><item><title>Update to ZW 3 gives Walli Switch Rings Upper / Bottom issues</title><link>https://forum.fibaro.com/topic/80142-update-to-zw-3-gives-walli-switch-rings-upper-bottom-issues/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	After update to ZW 3 the Walli Switch led rings don't work anymore.
</p>

<p>
	Have 2 walli switches but switching on the ring that worked before the update, stopped after update.
</p>

<p>
	hub.call(DevId, 'setRingsLightMode', "on", "upper", 0)
</p>

<p>
	 
</p>

<p>
	Update went oke, had only 1 older Fibaro Eye, to reconfigure, stopt communicating. After reconfiguration it worked as it should
</p>

<p>
	 
</p>

<p>
	is this a known issue??
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">80142</guid><pubDate>Mon, 01 Jun 2026 18:22:40 +0000</pubDate></item><item><title>HC3 QuickApp dropdown/select UI shows stale selections after updateView</title><link>https://forum.fibaro.com/topic/80143-hc3-quickapp-dropdownselect-ui-shows-stale-selections-after-updateview/</link><description><![CDATA[<p>
	Hi Fibaro R&amp;D team,
</p>

<p>
	I am seeing a consistent issue with QuickApp select/dropdown elements in the HC3 Device Preview UI.
</p>

<p>
	This is not a Lua state problem. The QuickApp state is correct, the debug logs show the correct values, and the save/action logic receives the correct data. The problem is that the rendered Device Preview UI can keep showing stale selected values after the QuickApp updates the dropdown programmatically.
</p>

<p>
	Context:
</p>

<p>
	I am building a configuration QuickApp where the user maps Logic Group Matrix buttons to different target systems such as Hue, Velux/Tahoma, and Sonos.
</p>

<p>
	The UI contains dynamic dropdowns/selects for:
</p>

<p>
	Destination type<br />
	Target device<br />
	Matrix device<br />
	Button mapping profile
</p>

<p>
	Typical flow:
</p>

<p>
	Select Hue<br />
	Select a Hue device<br />
	Select a Matrix device<br />
	Select button mappings<br />
	Save mapping<br />
	Switch destination type to Velux/Tahoma<br />
	Lua state is cleared correctly<br />
	Device Preview UI may still show old Hue/button selections, or otherwise stale dropdown state
</p>

<p>
	The internal state is correct. The visual UI is not always correct.
</p>

<p>
	 
</p>

<p>
	We tested multiple approaches:
</p>

<p>
	self:updateView("selectName", "selectedItems", {})<br />
	self:updateView("selectName", "values", {})
</p>

<p>
	For single-select elements we also tested:
</p>

<p>
	self:updateView("selectName", "selectedItem", "")<br />
	self:updateView("selectName", "value", "")
</p>

<p>
	We also tested clearing and republishing options:
</p>

<p>
	self:updateView("selectName", "options", {})<br />
	self:updateView("selectName", "selectedItems", {})<br />
	self:updateView("selectName", "values", {})
</p>

<p>
	fibaro.setTimeout(80, function()<br />
	  self:updateView("selectName", "options", options)<br />
	  self:updateView("selectName", "selectedItems", values)<br />
	  self:updateView("selectName", "values", values)<br />
	end)
</p>

<p>
	For multi-select we also tested clearing with:
</p>

<p>
	self:updateView("selectName", "selectedItems", { "" })
</p>

<p>
	 
</p>

<p>
	The behavior remains unreliable. Sometimes the UI updates correctly, sometimes it keeps showing an old selection. If the user switches away from the Preview tab, for example to Variables, and then back to Preview, the UI often corrects itself. That strongly suggests a Device Preview render/cache issue rather than a QuickApp logic issue.
</p>

<p>
	 
</p>

<p>
	This is problematic for configuration QuickApps because the visible UI can no longer be trusted. The user may see a selected item that is no longer selected in the QuickApp state.
</p>

<p>
	 
</p>

<p>
	Questions for Fibaro R&amp;D:
</p>

<p>
	What is the officially supported way to clear a QuickApp dropdown/select from Lua?
</p>

<p>
	Is there a difference between clearing single-select and multi-select elements?
</p>

<p>
	Which properties are officially supported and recommended: selectedItem, selectedItems, value, values, or a combination?
</p>

<p>
	Is the Device Preview cached in a way that can prevent immediate visual updates after updateView?
</p>

<p>
	Is there a supported way to force the Device Preview UI to re-render a select element?
</p>

<p>
	When options are updated dynamically, is the previous selection expected to be preserved, cleared, or validated against the new options?
</p>

<p>
	Is the behavior different between legacy viewLayout and the newer UI?
</p>

<p>
	Can Fibaro provide a minimal supported example showing how to:
</p>

<p>
	Create a select/dropdown<br />
	Select an item<br />
	Clear the selection programmatically<br />
	Replace the options dynamically<br />
	Handle both single-select and multi-select correctly
</p>

<p>
	 
</p>

<p>
	Expected behavior:
</p>

<p>
	When updateView changes or clears a select value, the visible Device Preview UI should immediately reflect the actual QuickApp state.
</p>

<p>
	 
</p>

<p>
	Actual behavior:
</p>

<p>
	The QuickApp state changes correctly, but the Device Preview UI can continue to show stale selected values until the Preview tab is reloaded or reopened.
</p>

<p>
	From a developer point of view, this looks like either an undocumented API detail or a Device Preview rendering/cache bug. A clear statement from Fibaro R&amp;D on the supported API and expected behavior would be very helpful.
</p>
]]></description><guid isPermaLink="false">80143</guid><pubDate>Mon, 01 Jun 2026 19:21:39 +0000</pubDate></item><item><title>Fakro Window blind issue after ZW3 migration</title><link>https://forum.fibaro.com/topic/80141-fakro-window-blind-issue-after-zw3-migration/</link><description><![CDATA[<p>
	I have completed the Migration from ZW2 to ZW3, which went relatively relatively smoothly, apart from having to reconfigure all the RGBW modules so they worked properly, but my main issue to getting my Fakro Window blinds to work with my scenes. They have worked flawlessly for 4 years.
</p>

<p>
	 
</p>

<p>
	I have 6 x Fakro Z Wave roof windows - These work fine after migration. (again after running reconfig)
</p>

<p>
	I have 6 x Fakro  Z Wave roller blinds for the said windows.
</p>

<p>
	 
</p>

<p>
	A couple of salient points first;
</p>

<p>
	 
</p>

<p>
	When the window is open there is no power to the blind 
</p>

<p>
	When the window is closed, power is restored to the blind and the blind should reconnect to the Z wave network to be operated.
</p>

<p>
	 
</p>

<p>
	In ZW2 I think (after 4 years) that the polling of the device was set at an interval as such that it reconnected relatively quickly even if it did not reconnect straight away. How I had my scenes set up for opening and closing etc based on outside temp, nightime bla blaa blaa this worked flawlessly.
</p>

<p>
	 
</p>

<p>
	With ZW3 the blinds simply don't reconnect to the network, unless I manually click reconnect in the app / interface. This means that no scenes work anymore when the windows close as the HC3 things they are offline. I notice that all the polling settings have been removed from ZW3. 
</p>

<p>
	 
</p>

<p>
	Any thoughts on how to get around this as its a bit boring that some quite expensive window blinds don't really work with automations.
</p>

<p>
	 
</p>

<p>
	Thx
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">80141</guid><pubDate>Fri, 29 May 2026 15:49:07 +0000</pubDate></item><item><title>Still no update for Hue Pro Bridge!</title><link>https://forum.fibaro.com/topic/80126-still-no-update-for-hue-pro-bridge/</link><description><![CDATA[<p>
	I wonder what‘s keeping Fibaro from implementing the new plugin … <span class="ipsEmoji">🤔</span>
</p>
]]></description><guid isPermaLink="false">80126</guid><pubDate>Tue, 19 May 2026 15:05:55 +0000</pubDate></item><item><title>Experience from this release</title><link>https://forum.fibaro.com/topic/80135-experience-from-this-release/</link><description><![CDATA[<p>
	Anyone who has installed this release and can share some experience? 
</p>
]]></description><guid isPermaLink="false">80135</guid><pubDate>Thu, 21 May 2026 17:34:56 +0000</pubDate></item><item><title><![CDATA[Device serial number & zwave engine 3]]></title><link>https://forum.fibaro.com/topic/80138-device-serial-number-zwave-engine-3/</link><description><![CDATA[<p>
	I changed the Z-Wave engine from version 2 to version 3. The migration went smoothly, or so it seemed. The whole system worked neither faster nor slower - from a user perspective, I did not notice any difference.
</p>

<p>
	 
</p>

<p>
	However, there is another change that has concerned me: after adding a device using Engine 3, the serialNumber field is empty. I checked this with an FGPB-101 button and a Motion Sensor. Both of these devices do have a unique serial number, but its value is populated into the serialNumber field only when the device is added to the system using Engine 2. I use this field extensively in DNSfD.
</p>

<p>
	 
</p>

<p>
	In short: Engine V3 has stopped mapping the serial number value to the serialNumber field in the HC3 API.
</p>

<p>
	My question to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.fibaro.com/profile/2226-mroszak/?do=hovercard" data-mentionid="2226" href="https://forum.fibaro.com/profile/2226-mroszak/" rel="">@m.roszak</a> is - why? And will this be fixed? This is very important for me and for my customers.
</p>
]]></description><guid isPermaLink="false">80138</guid><pubDate>Mon, 25 May 2026 16:50:32 +0000</pubDate></item><item><title>Since the update and the switch to Z-Wave 3, I've been getting a lot of errors</title><link>https://forum.fibaro.com/topic/80136-since-the-update-and-the-switch-to-z-wave-3-ive-been-getting-a-lot-of-errors/</link><description><![CDATA[<p>
	After updating to Z-Wave 3, I'm seeing errors in the log for my FIBARO Smart Implant devices! I have three of them, and all of them send this error several times a day. Can I ask what to do about this? One Implant controls the boiler heating system, where it monitors overflow from the solar panel and sends it to the boiler, where the temperature is measured and the valves are switched. So it’s a pretty critical issue; I didn’t have any errors before. Thank you for your comments, advice, etc.
</p>

<p><p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this attachment.</p> </p>]]></description><guid isPermaLink="false">80136</guid><pubDate>Sat, 23 May 2026 16:52:03 +0000</pubDate></item><item><title>KNX Custom Commands</title><link>https://forum.fibaro.com/topic/80128-knx-custom-commands/</link><description><![CDATA[<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	To extend the functionality of KNX integration, we added the ability to send custom commands to KNX network, and to register your own listener to handle reports from the devices. This allows you to control devices that may not be fully supported by the default KNX integration, or to implement specific behaviors that are unique to your setup. The easiest way to handle this is to do it with a QuickApp. Be aware that this functionality is at a testing stage. It may not be fully stable yet, and also the API may change in the future.
</p>

<h2 style="background-color:#ffffff; border-bottom-color:#ffffff; color:#172b4d; font-size:20px; padding:0px; text-align:start">
	Sending Custom Commands
</h2>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	You can send custom commands to the KNX network by calling the<span> </span><code>sendCommand</code><span> </span>action on the KNX integration device (ID<span> </span><code>9</code>). This action takes three parameters:
</p>

<ul style="background-color:#ffffff; color:#172b4d; font-size:14px; text-align:start">
	<li>
		The group address to which you want to send the command (e.g. "0/2/0").
	</li>
	<li>
		DPT of the value you want to send (e.g. "5.001" for DPT_Scaling).
	</li>
	<li>
		The value you want to send. The encoding depends on the DPT you are using.
	</li>
</ul>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	A few simple examples of how to send different DPTs:
</p>

<div data-hasbody="true" data-macro-name="code" style="background-color:#ffffff; border-radius:3px; border:1px solid #dfe1e5; color:#333333; font-size:14px; padding:0px; text-align:start">
	<div style="border-bottom-left-radius:3px; border-bottom-right-radius:3px; color:#333333; font-size:14px; padding:0px; text-align:left">
		<div style="padding:0px">
			<div id="highlighter_975861" style="background-color:#ffffff !important; font-size:1em; padding:0px">
				<table border="0" cellpadding="0" cellspacing="0" style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
					<tbody style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
						<tr style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
							<td style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 0px 15px; text-align:left; vertical-align:baseline">
								<div style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 15px 0em; text-align:left; vertical-align:baseline" title="Hint: double-click to select code">
									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- DPT<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">1.001</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">(DPT_Switch):</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:turnOn()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"sendCommand"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"0/2/0"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"\"1.001\""</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">true</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"binary switch turned on"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:updateProperty(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"value"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">true</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:turnOff()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"sendCommand"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"0/2/0"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"\"1.001\""</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">false</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"binary switch turned off"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:updateProperty(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"value"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">false</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</div>
</div>

<div data-hasbody="true" data-macro-name="code" style="background-color:#ffffff; border-radius:3px; border:1px solid #dfe1e5; color:#333333; font-size:14px; padding:0px; text-align:start">
	<div style="border-bottom-left-radius:3px; border-bottom-right-radius:3px; color:#333333; font-size:14px; padding:0px; text-align:left">
		<div style="padding:0px">
			<div id="highlighter_495883" style="background-color:#ffffff !important; font-size:1em; padding:0px">
				<table border="0" cellpadding="0" cellspacing="0" style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
					<tbody style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
						<tr style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
							<td style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 0px 15px; text-align:left; vertical-align:baseline">
								<div style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 15px 0em; text-align:left; vertical-align:baseline" title="Hint: double-click to select code">
									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- DPT<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">5.001</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">(DPT_Scaling):</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- Representation of open/close mapping to percentage may differ based on the device you're integrating.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:open()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"sendCommand"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"0/2/0"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"\"5.001\""</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">0</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"roller shutter opened"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:updateProperty(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"value"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">99</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:close()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"sendCommand"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"0/2/0"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"\"5.001\""</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">100</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"roller shutter closed"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:updateProperty(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"value"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">0</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</div>
</div>

<div data-hasbody="true" data-macro-name="code" style="background-color:#ffffff; border-radius:3px; border:1px solid #dfe1e5; color:#333333; font-size:14px; padding:0px; text-align:start">
	<div style="border-bottom-left-radius:3px; border-bottom-right-radius:3px; color:#333333; font-size:14px; padding:0px; text-align:left">
		<div style="padding:0px">
			<div id="highlighter_53561" style="background-color:#ffffff !important; font-size:1em; padding:0px">
				<table border="0" cellpadding="0" cellspacing="0" style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
					<tbody style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
						<tr style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
							<td style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 0px 15px; text-align:left; vertical-align:baseline">
								<div style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 15px 0em; text-align:left; vertical-align:baseline" title="Hint: double-click to select code">
									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">--<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">232.600</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">(Colour_RGB)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:setPresetColor()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">local r =<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">0</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">local g =<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">74</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">local b =<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">147</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code> 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">local payload = {r, g, b}</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"sendCommand"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"2/0/16"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"232.600"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">, payload)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code> 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:updateProperty(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"colorComponents"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">, {red=r, green=g, blue=b})   </code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</div>
</div>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	Since we're using device actions to send KNX commands, you can send them in whatever way you want. You can use QuickApps, but you can also use scenes, or direct REST API calls (POST<span> </span><code>/api/devices/9/action/sendCommand</code>).
</p>

<h2 style="background-color:#ffffff; border-bottom-color:#ffffff; color:#172b4d; font-size:20px; padding:0px; text-align:start">
	Listener registration
</h2>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	By registering a listener, you can receive updates from the group address and handle them in your QuickApp. This is useful for monitoring device states or reacting to specific events. For now there is no way to register to a specific group address, so you will receive all updates from the KNX network. You can then filter them in your code to react only to the relevant ones.
</p>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	A callback can be registered by calling the<span> </span><code>registerListener</code><span> </span>action on the KNX integration device (ID<span> </span><code>9</code>). This action takes one argument:
</p>

<ul style="background-color:#ffffff; color:#172b4d; font-size:14px; text-align:start">
	<li>
		The callback URL (an action in your QuickApp) that will be called when there is an update from the KNX network. The URL should be in the format<span> </span><code>/api/devices/&lt;quick app id&gt;/action/{callback name}</code><span> </span>e.g.<span> </span><code>/api/devices/123/action/myCallback</code>.
	</li>
</ul>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	The provided callback will be called with the group address and the value of the update whenever there is an update from the KNX network. Here is an example of how to handle this in a QuickApp:
</p>

<div data-hasbody="true" data-macro-name="code" style="background-color:#ffffff; border-radius:3px; border:1px solid #dfe1e5; color:#333333; font-size:14px; padding:0px; text-align:start">
	<div style="border-bottom-left-radius:3px; border-bottom-right-radius:3px; color:#333333; font-size:14px; padding:0px; text-align:left">
		<div style="padding:0px">
			<div id="highlighter_392447" style="background-color:#ffffff !important; font-size:1em; padding:0px">
				<table border="0" cellpadding="0" cellspacing="0" style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
					<tbody style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
						<tr style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">
							<td style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 0px 15px; text-align:left; vertical-align:baseline">
								<div style="border-radius:0px; border:0px; font-size:14px; padding:0px 0px 15px 0em; text-align:left; vertical-align:baseline" title="Hint: double-click to select code">
									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:onInit()</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- Register a listener<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">for</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">KNX updates.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- ID<span> </span></code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">is a device that represents the KNX integration. Don't change it.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">--<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"registerListener"</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">is the action to register a listener. Don't change it.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- 3rd parameter is the callback URL (an action), that will be called when there is an update from the KNX network. You can choose any action you want, just make sure to handle it in your QuickApp. In<span> </span></code><code style="border-radius:0px; border:0px; color:#336699 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">this</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">example we will call<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"myCallback"</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">action.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">local callbackURL=<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"/api/devices/"</code><span> </span><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">.. tostring(self.id) ..<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"/action/myCallback"</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"Register KNX callback:"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,  callbackURL)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">hub.call(</code><code style="border-radius:0px; border:0px; color:#009900 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">9</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"registerListener"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">, callbackURL)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"KNX QA started"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										 
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">-- Callback function to handle KNX updates. The address and value parameters will contain the group address and the value of the update.</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">function QuickApp:myCallback(address, value)</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">    </code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">self:debug(</code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"address:"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">, address,<span> </span></code><code style="border-radius:0px; border:0px; color:#003366 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">"value:"</code><code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">, json.encode(value))</code>
									</div>

									<div data-bidi-marker="true" style="border-radius:0px; border:0px; font-size:14px; padding:0px 1em 0px 0em; text-align:left; vertical-align:baseline">
										<code style="border-radius:0px; border:0px; color:#000000 !important; font-size:14px; padding:0px; text-align:left; vertical-align:baseline">end</code>
									</div>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</div>
</div>

<h2 style="background-color:#ffffff; border-bottom-color:#ffffff; color:#172b4d; font-size:20px; padding:0px; text-align:start">
	Debugging
</h2>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	You can change the log level of the KNX integration to "debug" or "trace" in order to see more information about the KNX communication itself and about the communication exchanged between the KNX integration and your QuickApp. To do so, just go to the KNX settings in the web interface, and change the system log level in the network communication section.
</p>
]]></description><guid isPermaLink="false">80128</guid><pubDate>Wed, 20 May 2026 14:17:30 +0000</pubDate></item><item><title>Z-Wave engine 2.0 -3.0 Migration. Changes in API.</title><link>https://forum.fibaro.com/topic/80116-z-wave-engine-20-30-migration-changes-in-api/</link><description><![CDATA[<div style="color:#000000;font-size:12.8px;">
	<div>
		 
	</div>

	<div>
		<div>
			<h1 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:2em;">
				API Migration: Z-Wave 2 -&gt; Z-Wave 3 
			</h1>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Planned release window:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					beta:<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">5.202</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					GA:<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">5.210</code>
				</li>
			</ul>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				The Z-Wave 2 -&gt; Z-Wave 3 migration is available in the system. This document is intended primarily for integrators and explains how the API changes and how to safely update integrations.
			</p>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				1. What changes the most
			</h2>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					This document focuses on API differences that matter for external integrations (partner systems, middleware, custom applications).
				</li>
				<li style="border:0px solid #e5e5e5;">
					<strong style="border:0px solid #e5e5e5;">Most device actions retain backward compatibility</strong><span> </span>— the majority of actions previously available through<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/devices/{deviceID}/action/{actionName}</code><span> </span>remain fully functional in ZW3. Integrations that rely on device actions for switching, dimming, thermostat control, color control, door locks, etc. will continue to work without changes. See<span> </span><p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this link.</p> <span> </span>for the full list of supported actions.
				</li>
				<li style="border:0px solid #e5e5e5;">
					In ZW3, Z-Wave<span> </span><strong style="border:0px solid #e5e5e5;">infrastructure and management operations</strong><span> </span>are exposed as dedicated REST resources under<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/...</code>. This includes: configuration parameters, associations, wake-up settings, user codes, firmware update, network management (inclusion/exclusion), and node diagnostics.   - The full OpenAPI specification for the new REST API is available via the built-in Swagger UI at<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/swagger/</code><span> </span>— select the<span> </span><strong style="border:0px solid #e5e5e5;">"ZwaveEngine Api"</strong><span> </span>section, or navigate directly to<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/swagger/?urls.primaryName=ZwaveEngine+Api</code>.   -<span> </span><strong style="border:0px solid #e5e5e5;">New integrations should use the<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/...</code><span> </span>REST API wherever possible</strong>, as it provides richer functionality, structured responses, and better async operation support.
				</li>
				<li style="border:0px solid #e5e5e5;">
					In ZW3, asynchronous operations are explicit: process endpoints (<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/nm/...</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/fw_update_processes/...</code>) and mailbox endpoints (<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/mailbox/...</code>).
				</li>
				<li style="border:0px solid #e5e5e5;">
					Device firmware update is available via two mechanisms in ZW3:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/update-service/...</code><span> </span>— monitors the Fibaro/Nice update server for available official firmware updates.   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/fw_update/...</code><span> </span>—<span> </span><strong style="border:0px solid #e5e5e5;">new in ZW3</strong>, allows uploading a firmware file directly to a device (CC Firmware Update Meta Data).
				</li>
			</ul>

			<blockquote style="background-color:#ffffff;border-color:#e5e5e5 #e5e5e5 #e5e5e5 #cccccc;border-style:solid;border-width:0px 0px 0px 4px;color:#666666;font-size:medium;">
				<p style="border:0px solid #e5e5e5;">
					<strong style="border:0px solid #e5e5e5;">Important:</strong><span> </span>After migrating from ZW2 to ZW3, all existing integrations should be reviewed for compatibility with the new API and re-tested. Refer to the comprehensive Swagger documentation (<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/swagger/</code>) for the authoritative reference of all available endpoints, request/response schemas, and error codes.
				</p>
			</blockquote>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				2. How to detect the active engine
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Use the endpoint:
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/service/getZwaveEngine</code>
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Example response:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Recommendation:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					if the engine is ZW2 -&gt; use legacy paths,
				</li>
				<li style="border:0px solid #e5e5e5;">
					if the engine is ZW3 -&gt; use<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/...</code>.
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3. Key functional differences
			</h2>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.1 Network management (adding/removing devices)
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Most commonly handled through device actions, for example:<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startAddingDevices</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">stopAddingDevices</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startRemovingDevices</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">stopRemovingDevices</code>.
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Inclusion:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/inclusions</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nm/inclusions/{id}</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/inclusions/{id}/cancel</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/inclusions/{id}/grant_keys</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/inclusions/{id}/accept_dsk</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					Exclusion:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/exclusions</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nm/exclusions/{id}</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nm/exclusions/{id}/cancel</code>
				</li>
			</ul>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Important:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					in ZW3 this is a process model (start -&gt; poll status -&gt; completion).
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.2 Node operations (diagnostics, topology, interview)
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Commonly action-based, for example:<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">requestNodeNeighborUpdate</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">sendNodeInfo</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">wakeUpDeadDevice</code>.
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Nodes and details:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes/{node_id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					Interview:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes/{node_id}/interview</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nodes/{node_id}/interview</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nodes/{node_id}/interview/cancellation</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					Topology and connectivity:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nodes/{node_id}/ping</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes/{node_id}/neighbors</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nodes/{node_id}/neighbors/update</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes/{node_id}/last_working_route</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/nodes/{node_id}/reachability</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					Diagnostics:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/nodes/diagnostics/transmissions</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">DELETE /api/zwave/nodes/diagnostics</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">DELETE /api/zwave/nodes/diagnostics/{node_id}</code>
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.3 Configuration parameters
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Parameter read/write is usually handled through device actions and device properties.
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/configuration_parameters/{addr}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/configuration_parameters/{addr}/{number}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/configuration_parameters/{addr}/{number}/value</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/configuration_parameters/{addr}/{number}/default</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/configuration_parameters/{addr}/default</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/configuration_parameters/{addr}/{number}</code>
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.4 Associations
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Associations are managed through legacy plugin endpoints under<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/apps/com.fibaro.zwave/...</code>, for example:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/associationGroupInfo</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/endpoints/{endpointId}/associationGroupInfo</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/associations</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/endpoints/{endpointId}/associations</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/apps/com.fibaro.zwave/nodes/{nodeId}/actions</code><span> </span>(set/add/remove/clear association operations)   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/actions</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/apps/com.fibaro.zwave/nodes/{nodeId}/actions/{actionId}</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">DELETE /api/apps/com.fibaro.zwave/nodes/{nodeId}/actions/{actionId}</code>
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/associations</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">DELETE /api/zwave/associations/{id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/association_groups/{node_id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/association_groups/{addr}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/association_groups/{addr}/{group_id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/association_groups/{addr}/{group_id}/associations</code>
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.5 Wake-up (battery devices)
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Most commonly handled through device actions.
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/wake_ups/{node_id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">PUT /api/zwave/wake_ups/{node_id}/configuration</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/wake_ups/{node_id}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					mailbox:   -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/mailbox/{node_id}/wake_ups</code><span> </span>  -<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/mailbox/{node_id}/wake_ups/clear</code>
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.6 User codes (door locks)
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW2
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Handled through actions such as<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUserCode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUserName</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">synchronizeUserCodes</code>.
				</li>
			</ul>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				ZW3
			</h3>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/user_codes/{addr}/synchronize</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/user_codes/{addr}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/user_codes/{addr}/codes</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/user_codes/{addr}/codes/{user_identifier}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">PUT /api/zwave/user_codes/{addr}/codes/{user_identifier}</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/user_codes/{addr}/codes/{user_identifier}/clear</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/user_codes/{addr}/clear_all_codes</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">PUT /api/zwave/user_codes/{addr}/master_code</code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/user_codes/{addr}/keypad_mode</code>
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.7 Device firmware update
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				In ZW3 there are<span> </span><strong style="border:0px solid #e5e5e5;">two independent mechanisms</strong><span> </span>for updating device firmware:
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				3.7.1 Update Service (<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/update-service/...</code>)
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				The Update Service is a background process that monitors the Fibaro/Nice update server for available firmware updates for supported devices.
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<strong style="border:0px solid #e5e5e5;">How it works:</strong>
			</p>

			<ol style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					The service periodically checks for available firmware — or on demand via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/updates</code>.
				</li>
				<li style="border:0px solid #e5e5e5;">
					Devices with available updates are listed via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/devices/</code>.
				</li>
				<li style="border:0px solid #e5e5e5;">
					To start an update, create a process via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/processes</code><span> </span>(with<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">{"deviceId": ...}</code>).
				</li>
				<li style="border:0px solid #e5e5e5;">
					Poll the process status via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/processes/{deviceId}</code><span> </span>— statuses include<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">Downloading</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">Queued</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">WaitingForWakeUp</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">InProgress</code><span> </span>(with progress stages),<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">Completed</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">Failed</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">Stopped</code>.
				</li>
				<li style="border:0px solid #e5e5e5;">
					To stop an update, call<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/processes/{deviceId}/stop</code>.
				</li>
			</ol>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Endpoints:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/devices/</code><span> </span>— list devices with available firmware updates
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/devices/{deviceId}</code><span> </span>— get update info for a specific device
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/devices_count</code><span> </span>— number of devices ready to update
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/updates</code><span> </span>— force check for available updates from server
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/processes</code><span> </span>— list all update processes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/processes</code><span> </span>— start new update process
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/update-service/processes/{deviceId}</code><span> </span>— get update process status
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/update-service/processes/{deviceId}/stop</code><span> </span>— stop update process
				</li>
			</ul>

			<blockquote style="background-color:#ffffff;border-color:#e5e5e5 #e5e5e5 #e5e5e5 #cccccc;border-style:solid;border-width:0px 0px 0px 4px;color:#666666;font-size:medium;">
				<p style="border:0px solid #e5e5e5;">
					The full specification is available via built-in Swagger UI at<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/swagger/</code><span> </span>— select the<span> </span><strong style="border:0px solid #e5e5e5;">"UpdateService Api"</strong><span> </span>section.
				</p>
			</blockquote>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				3.7.2 Firmware Update from file (<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/zwave/fw_update/...</code>) — new in ZW3
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW3 introduces the ability to upload a firmware file directly and apply it to a device. This is an implementation of the Z-Wave<span> </span><strong style="border:0px solid #e5e5e5;">CC Firmware Update Meta Data</strong><span> </span>command class.
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<strong style="border:0px solid #e5e5e5;">How it works:</strong>
			</p>

			<ol style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Query supported firmware targets via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update/{addr}</code><span> </span>— returns the list of updatable firmware targets and their IDs.
				</li>
				<li style="border:0px solid #e5e5e5;">
					Upload a firmware file via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/fw_update/{addr}/{target}/request</code><span> </span>(multipart/form-data with<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">manufacturerId</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">firmwareId</code>, and the firmware binary).
				</li>
				<li style="border:0px solid #e5e5e5;">
					Monitor the process via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update_processes</code><span> </span>or<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update_processes/{id}</code>.
				</li>
				<li style="border:0px solid #e5e5e5;">
					If activation is required, trigger it via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/fw_update_processes/{id}/activate</code>.
				</li>
			</ol>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Endpoints:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update/{addr}</code><span> </span>— get firmware update info (targets, hardware version, activation support)
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/fw_update/{addr}/{target}/request</code><span> </span>— upload firmware file and start update
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update_processes</code><span> </span>— list all firmware update processes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update_processes/{id}</code><span> </span>— get process status
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/fw_update_processes/{id}/cancel</code><span> </span>— cancel firmware update
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/fw_update_processes/{id}/activate</code><span> </span>— activate new firmware
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/fw_update_processes/{id}/activate</code><span> </span>— get activation status
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.8 Mailbox (pending actions for battery devices)
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Battery-powered Z-Wave devices spend most of their time asleep and cannot receive commands. When a command is sent to a sleeping device, ZW3 stores it in a<span> </span><strong style="border:0px solid #e5e5e5;">mailbox</strong><span> </span>— a queue of pending actions that will be executed automatically when the device next wakes up.
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<strong style="border:0px solid #e5e5e5;">How it works:</strong>
			</p>

			<ol style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					Send a command to a sleeping device (e.g.<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/configuration_parameters/7.0/2/value</code>).
				</li>
				<li style="border:0px solid #e5e5e5;">
					Instead of the usual<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">200 OK</code>, the API responds with<span> </span><strong style="border:0px solid #e5e5e5;"><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">202 Accepted</code></strong><span> </span>and a JSON body containing the<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">actionId</code>:    <code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">json    {"actionId": 1}    </code>
				</li>
				<li style="border:0px solid #e5e5e5;">
					The pending action is now queued. You can inspect it via the mailbox endpoints.
				</li>
				<li style="border:0px solid #e5e5e5;">
					When the device wakes up, all queued actions are executed automatically.
				</li>
				<li style="border:0px solid #e5e5e5;">
					After execution, the actions are removed from the mailbox.
				</li>
			</ol>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<strong style="border:0px solid #e5e5e5;">Mailbox endpoints per resource type:</strong>
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/mailbox/{node_id}/configuration_parameters</code><span> </span>— pending configuration changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/mailbox/{node_id}/configuration_parameters/clear</code><span> </span>— clear pending configuration changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/mailbox/{node_id}/associations</code><span> </span>— pending association changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/mailbox/{node_id}/associations/clear</code><span> </span>— clear pending association changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/mailbox/{node_id}/wake_ups</code><span> </span>— pending wake-up configuration changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/mailbox/{node_id}/wake_ups/clear</code><span> </span>— clear pending wake-up changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">GET /api/zwave/mailbox/{node_id}/user_codes</code><span> </span>— pending user code changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/mailbox/{node_id}/user_codes/clear</code><span> </span>— clear pending user code changes
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">DELETE /api/zwave/pending_actions/{action_id}</code><span> </span>— remove a specific pending action by ID
				</li>
			</ul>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				The mailbox has a configurable capacity. If the mailbox is full, the API returns an error.
			</p>

			<blockquote style="background-color:#ffffff;border-color:#e5e5e5 #e5e5e5 #e5e5e5 #cccccc;border-style:solid;border-width:0px 0px 0px 4px;color:#666666;font-size:medium;">
				<p style="border:0px solid #e5e5e5;">
					<strong style="border:0px solid #e5e5e5;">Key integration point:</strong><span> </span>Any endpoint that modifies device state may return<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">202</code><span> </span>with an<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">actionId</code><span> </span>for sleeping devices. Integrations should handle both<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">200</code><span> </span>(executed immediately) and<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">202</code><span> </span>(queued for wake-up) responses.
				</p>
			</blockquote>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				3.9 Polling (on-demand device state refresh)
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				Polling endpoints allow forcing an immediate state refresh from a device. This is useful when you need to ensure the locally cached state is up-to-date with the physical device.
			</p>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				All polling endpoints follow the pattern<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/{resource_type}/{addr}/...</code><span> </span>and return:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<strong style="border:0px solid #e5e5e5;"><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">200 OK</code></strong><span> </span>(empty body) for mains-powered devices — the device was polled immediately.
				</li>
				<li style="border:0px solid #e5e5e5;">
					<strong style="border:0px solid #e5e5e5;"><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">202 Accepted</code></strong><span> </span>with<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">{"actionId": ...}</code><span> </span>for sleeping devices — poll request added to the mailbox.
				</li>
			</ul>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<strong style="border:0px solid #e5e5e5;">Available polling endpoints (selected):</strong>
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/configuration_parameters/{addr}/{number}</code><span> </span>— poll a configuration parameter
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/binary_switches/{addr}</code><span> </span>— poll binary switch state
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/multilevel_sensors/{addr}/{sensor_type}</code><span> </span>— poll sensor reading
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/door_locks/{addr}</code><span> </span>— poll door lock state
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/alarm_sensors/{addr}/{sensor_type}</code><span> </span>— poll alarm sensor
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/binary_sensors/{addr}/{sensor_type}</code><span> </span>— poll binary sensor
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/color_switches/{addr}/{component_id}</code><span> </span>— poll color component
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/user_codes/{addr}/codes/{user_identifier}</code><span> </span>— poll user code
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/wake_ups/{node_id}</code><span> </span>— poll wake-up configuration
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/association_groups/{addr}/{group_id}</code><span> </span>— poll association group
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/protection/{addr}</code><span> </span>— poll protection state
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/sound_switches/{addr}</code><span> </span>— poll sound switch state
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/window_covering/{addr}/parameters/{parameter_id}</code><span> </span>— poll window covering
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/central_scenes/{addr}</code><span> </span>— poll central scene configuration
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/schedule/{addr}/{block_id}/{schedule_id}</code><span> </span>— poll schedule entry
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/basic/{addr}</code><span> </span>— poll basic value
				</li>
				<li style="border:0px solid #e5e5e5;">
					<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">POST /api/zwave/polling/failed_nodes</code><span> </span>— poll failed nodes list
				</li>
			</ul>

			<blockquote style="background-color:#ffffff;border-color:#e5e5e5 #e5e5e5 #e5e5e5 #cccccc;border-style:solid;border-width:0px 0px 0px 4px;color:#666666;font-size:medium;">
				<p style="border:0px solid #e5e5e5;">
					Refer to Swagger UI for the complete list of polling endpoints and their parameters.
				</p>
			</blockquote>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				4. ZW3 asynchronous model (what this means for integrations)
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				In ZW3, some operations do not return final state immediately. Integrations should:
			</p>

			<ul style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;padding:0px 0px 0px 2em;">
				<li style="border:0px solid #e5e5e5;">
					store the process identifier,
				</li>
				<li style="border:0px solid #e5e5e5;">
					poll the status endpoint,
				</li>
				<li style="border:0px solid #e5e5e5;">
					handle mailbox queue responses (especially for battery-powered devices),
				</li>
				<li style="border:0px solid #e5e5e5;">
					treat the operation as complete only after final status is returned.
				</li>
			</ul>

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				5. Before/after examples
			</h2>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				A) Start inclusion
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW2:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW3:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				B) Set user code
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW2:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW3:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				C) Set configuration parameter
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW2:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW3:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				For a sleeping (battery) device the response is<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">202 Accepted</code><span> </span>with<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">{"actionId": 1}</code><span> </span>— the action is queued in the mailbox and will be applied on the next wake-up.
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				D) Add association
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW2:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				ZW3:
			</p>

			<p class='ipsMessage ipsMessage_error cloak'>Please login or register to see this code.</p> 

			<h2 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.5em;">
				Appendix A: Supported legacy device actions
			</h2>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				The following 101 device actions remain available in ZW3 via<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">/api/devices/{deviceID}/action/{actionName}</code><span> </span>for backward compatibility.
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Switching &amp; level control
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">turnOn</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">turnOff</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">open</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">close</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startLevelIncrease</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startLevelDecrease</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">stopLevelChange</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">stop</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">step</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">pause</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Brightness &amp; values
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setValue</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setValue2</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setBrightness</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setVolume</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">poll</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Color control
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setColor</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setColorComponents</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setR</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setG</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setB</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setW</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startColorEnhancement</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startColorFade</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">stopColorChange</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Thermostat
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setThermostatMode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setThermostatFanMode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setHeatingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setCoolingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setFurnaceThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setDryAirThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setMoistAirThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAutoChangeoverThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setEnergySaveHeatingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setEnergySaveCoolingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAwayHeatingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAwayCoolingThermostatSetpoint</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setFullPowerThermostatSetpoint</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Door lock
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">secure</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecure</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecureWithTimeout</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecureInside</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecureInsideWithTimeout</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecureOutside</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">unsecureOutsideWithTimeout</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setDoorLockMode</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				User codes
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUserCode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUserCodeDec</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUserName</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">deleteUserCode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getUserCode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getMaxUsers</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">synchronizeUserCodes</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Scheduling
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setSchedule</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAllSchedules</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">removeSchedule</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setOverrideSchedule</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">removeOverrideSchedule</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setScheduleState</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Node management
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">removeFailedNode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">requestNodeNeighborUpdate</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getNeighborList</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getLastWorkingRoute</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">markDead</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">wakeUpDeadDevice</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Protection
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setProtection</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setExclusiveControl</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setTimeout</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				All Switch mode
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">switchAllOn</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">switchAllOff</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">switchAllGet</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">switchAllSetMode</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Indicator
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">identify</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">indicatorGet</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setIndicatorValue</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Metering
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">reset</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">resetMeter</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">clearEnergyData</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Configuration
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setConfiguration</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">readWholeConfiguration</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				AV control
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getSupportedCommands</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">sendAVControl</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Window covering
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setSlatsAngle</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setFavoritePosition</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">configureFavoritePositions</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startCalibration</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Barrier operator
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAllSubsystems</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Black box
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">getRecords</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">removeRecords</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Sound switch
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setTone</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setDefaultTone</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setArmed</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setSequence</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">removeSequence</code>
			</p>

			<h3 style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:1.17em;">
				Device-specific
			</h3>

			<p style="background-color:#ffffff;border:0px solid #e5e5e5;color:#0a0a0a;font-size:medium;">
				<code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setDefaultPartyTime</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">startProgram</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setRingsLightMode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setTamperMode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setAutoFanMode</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setUnlockSequence</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setLockKey</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">setIdleTimeout</code>,<span> </span><code style="background-color:#f4f4f4;border:0px solid #e5e5e5;font-size:1em;padding:0.2em 0.4em;">configure</code>
			</p>
		</div>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">80116</guid><pubDate>Mon, 18 May 2026 12:21:43 +0000</pubDate></item><item><title>FIBARO System Update 5.210 for Home Center 3/Yubii Home Pro</title><link>https://forum.fibaro.com/topic/80108-fibaro-system-update-5210-for-home-center-3yubii-home-pro/</link><description><![CDATA[<p>
	<span>Thank you for using our gateway! Be sure to update to the latest version to enjoy new features and improvements.</span>
</p>

<p>
	 
</p>

<p>
	<span>Main features:</span>
</p>

<p>
	 
</p>

<p>
	<span>KNX integration</span>
</p>

<p>
	<span>From now on, your KNX system can work even smarter thanks to integration with our Yubii Home Pro and Home Center 3 hubs. Gain full control over lighting, switches, RGBW controllers, blinds, shutters and sensors within one unified ecosystem.</span>
</p>

<p>
	 
</p>

<p>
	<span>Migration of Z-Wave engine from 2.0 to 3.0 version (BETA)</span>
</p>

<p>
	<span>In this version of the software, it is possible to migrate the Z-Wave engine to version 3.0. Migration will allow you to take advantage of all the features of the new Z-Wave engine, including using Smart Start, better generic support for Z-Wave Plus devices and the availability of Security S2, which can be considered the first fully secure communication method for the Smart Home. </span>
</p>

<p>
	 
</p>

<p>
	<span>Smart Start</span>
</p>

<p>
	<span>From now on, you can use the Smart Start function using QR Scanner in Yubii App. This function will allow you to add devices to the system even faster using binding process.***</span>
</p>

<p>
	 
</p>

<p>
	<span>What's new:</span>
</p>

<p>
	 
</p>

<p>
	<span>Devices</span>
</p>

<p>
	<span>    Improved display of device families on the device list so that child devices are always located under their parent device.<br>
	    Added Operating State indicator for Linked thermostats.<br>
	    Added direct access to KNX communication (both sending and recieving packets) from the API.</span>
</p>

<p>
	 
</p>

<p>
	<span>Elero</span>
</p>

<p>
	<span>    Integration with ELERO Lighting Receivers: TTDTW-E (Combio-868 LI W), TTDRGBW-E (Combio-868 LI RGBW),  TTDW-E (Combio-868 LI PW).</span>
</p>

<p>
	 
</p>

<p>
	<span>Energy Panel</span>
</p>

<p>
	<span>    Integration with Tibber monitor to allow automatic rates update for Energy Panel (Available only for addresses located in Germany, Norway, Sweden or the Netherlands).</span>
</p>

<p>
	 
</p>

<p>
	<span>Gateway connection</span>
</p>

<p>
	<span>    When the Slave hub is turned off or there is no connection, the devices added to it are visible as inactive (dead) in the Master hub.<br>
	    Enabling Support Access and Remote Access on the Master hub also enables access on slave hubs.</span>
</p>

<p>
	 
</p>

<p>
	<span>Nice*</span>
</p>

<p>
	<span>    Upgraded NICE chip firmware version to the newest one.<br>
	    Added the option to disable the sun impact (setting the value to 0 lux in parameter 10) for the Domi WSC device v3.9.0.<br>
	    The default values of parameters 1, 3, and 10 have been changed for all versions of DOMI WSC devices.</span>
</p>

<p>
	 
</p>

<p>
	<span>Other</span>
</p>

<p>
	<span>    Added the information about the zone where the alarm occurred.<br>
	    Verification of the checksum when downloading the update file at the beginning of the process instead of at the end.<br>
	    Removed PKO Assistance plugin from the system due to official termination of cooperation.</span><br>
	 
</p>

<p>
	<span>Scenes</span>
</p>

<p>
	<span>    Added a new scene activation/deactivation block as an action in block scenes.<br>
	    Added possibility to enable/disable local and remote device protection via scenes and profiles.<br>
	  </span>
</p>

<p>
	<span>Z-Wave</span>
</p>

<p>
	<span>    Adjusted parameters templates for sensors to reduce number of reports for various devices.<br>
	    Fixed setting of parameter 5 for the MCO Home MH7H-EH device.<br>
	    Improved clearing Z-Wave network reset procedure.<br>
	    The ability to manually add parameters at each endpoint.   <br>
	    Improved Z-wave3 engine resilience to communication issues in Security S0.**<br>
	    Support for Z-Wave 3.0 in Installer App.**</span>
</p>

<p>
	 
</p>

<p>
	<span>Bug Fixes:</span>
</p>

<p>
	 
</p>

<p>
	<span>Backups</span>
</p>

<p>
	<span>    Fixed an issue where the “Update and restore” buttons for backups with higher software versions were inactive.</span>
</p>

<p>
	 
</p>

<p>
	<span>Climate</span>
</p>

<p>
	<span>    Fixed an issue where the schedule was not cleared from the Heat-Control/Fibaro Heat Controller when it was removed from the climate zone.<br>
	    Fixed an issue where an added temperature sensor was removed from the climate panel when editing other settings in that panel.<br>
	    Fixes an error occurs after deleting a device in the climate schedule.<br>
	    Fixed issue with saving climate zones in some cases.<br>
	    The FGT thermostatic heads are not synchronised with the schedule. </span>
</p>

<p>
	 
</p>

<p>
	<span>Devices</span>
</p>

<p>
	<span>    Fixed an issue where the Color component view was not updating correctly.<br>
	    Fixed an issue with changing icon for Dahua cameras.<br>
	    Improved performance for the DoubleDimmer-Control binding Wizard.<br>
	    Fixed a problem with KNX device configuration caused by the lack of support for diacritical marks in device names.<br>
	    Fixed an issue with function settings for Z-Wave devices with an empty template during the binding process in the mobile application.<br>
	    Fixed incorrect KNX Bridge connection status after IP change.<br>
	    Restored missing temperature graphs on FGT device version 4.10.<br>
	    Fixed the appearance of the dialog in the user interface for BiDi-Awning and AV Controller.<br>
	    Fixed the display of svg icons in the mobile app for Sprinkler and NICE Siren devices.<br>
	    Fixed problem with CoolAutomation plugin to receive correct feedback/status in mobile application.<br>
	    Fixed UI for Advanced Configuration for the Keyfob lock button and unlock sequence.<br>
	    RGBW device doesn't control properly the color setting in specific actions sequence using the picker.</span>
</p>

<p>
	 
</p>

<p>
	<span>Elero</span>
</p>

<p>
	<span>    Fixed color component values for the Elero Lighting RGBW device.<br>
	    Fixed the appearance and behavior of the Elero Lighting RGBW device icon in the user interface.<br>
	    Fixed invalid settings for temperature color in profiles for the Elero Lighting RGBW device.<br>
	    It is not possible to control Elero Lighting RGBW after pairing it with the system if the LED output is turned off during finishing binding procedure.</span>
</p>

<p>
	 
</p>

<p>
	<span>Gateway connection</span>
</p>

<p>
	<span>    Fixed errors and incorrect display of options in association settings.<br>
	    Fixed IP address validation in the Gateway Connection tab.<br>
	    Wrong backup type while software update for slave hubs.<br>
	    Devices from different phisical networks are listed as a target destinations in associations.</span>
</p>

<p>
	 
</p>

<p>
	<span>KNX</span>
</p>

<p>
	<span>    Fixed a KNX connection error that occurred when reconnecting after a long period of time.<br>
	    Fixed problem with reconnecting the KNX bridge after performing a 'clear configuration' action.</span>
</p>

<p>
	 
</p>

<p>
	<span>Nice*</span>
</p>

<p>
	<span>    Fixed setting favorite position for the screen devices which does not support this natively.<br>
	    Fixed keep-alive support for Domi WSR/WS device, which caused the device to be shown as disconnected in the system.<br>
	    Fixed issues with Nice PLN2+ motors controlled as a group using Linked Device.<br>
	    Fixed the operation of some group actions causing i.a. malfunctions in scenes.<br>
	    Fixed an issue with removing device Domi WSR when the device is inactive.</span>
</p>

<p>
	 
</p>

<p>
	<span>Other</span>
</p>

<p>
	<span>    Removed a non-functional option (checkbox) for sending notifications on the list of mobile devices.<br>
	    Fixed visibility of device name when adding Z-wave devices in the mobile application.<br>
	    Fixed tooltips positioning in the interface.<br>
	    Fixed the message screen displayed after using the factory reset option in Recovery mode.<br>
	    Fixed handling of events from the NICE camera plugin when devices are added via NVR.<br>
	    Fixed icons for Sonos and XBMC plugins.<br>
	    Fixed errors displayed in the Z-wave tab of the Master hub when using the interface via Remote Access.<br>
	    Fixed the input validator for variables.<br>
	    Fixed non-functioning group actions in profiles.<br>
	    Added real-time refreshing of history entries for Z-Wave Central Scene events and scene-related events.<br>
	    Fixed an issue where the reboot sometimes didn't work properly.<br>
	    Minor UI/UX fixes.</span>
</p>

<p>
	 
</p>

<p>
	<span>Profiles</span>
</p>

<p>
	<span>    Fixed problem with triggering changes via profiles.</span>
</p>

<p>
	 
</p>

<p>
	<span>Quick Apps</span>
</p>

<p>
	<span>    Allowed additional parameters to hub.alert function in QuickApp to keep backward compatibility with old code.<br>
	    Variable edit box character limit has been increased from 1024 to 2048.<br>
	    Added support for climate zone control functions in QuickApps.<br>
	    Fixed restarting the Quick App process when editing it.<br>
	    Fixed Heat Activator which stopped working in rare cases.<br>
	    Fixed an issue with saving the Quick Apps view to a file when encrypting (applies to QA exported from version 5.191 or later).<br>
	    Fixed problem that HTTP responses other than 2xx (300 and higer) don't return response body.<br>
	    Corrected validation of variable names to allow editing of existing variable values.<br>
	    Fixed an issue with the display of custom icons for remote controllers in Quick Apps.</span>
</p>

<p>
	 
</p>

<p>
	<span>Scenes</span>
</p>

<p>
	<span>    Fixed an issue that icons other than the default ones are not displayed when selecting profiles in scenarios.<br>
	    Fixed refreshing of the scene activity switch in the interface when calling activation/deactivation action from the scene level.<br>
	    Fixed inactive color temperature slider for device Elero Lighting TW in scenarios created in the mobile app.<br>
	    Fixed problem that net.HTTPClient strips query string parameters in LUA scenes.<br>
	    Fixed the behavior of sliders in block scenes for the setColor action, sliders now function independently.<br>
	    Fixed an error that block scene with setting Manual mode to "Hold" does not work on HC3L/YH hubs.<br>
	    Optimization of scene running.<br>
	    Fixed an issue with saving a predefined scenario when some devices are selected.</span>
</p>

<p>
	 
</p>

<p>
	<span>Update</span>
</p>

<p>
	<span>    Moved the setting related to system version information from the final stage of startup to the earliest possible point in order to reduce incorrect version data in recovery mode.<br>
	    Changed the order in which services start during initialization to avoid issues during updates.<br>
	    Fixed the behavior of the progress bar when canceling an update download; the progress bar is now hidden.</span>
</p>

<p>
	 
</p>

<p>
	<span>Z-Wave</span>
</p>

<p>
	<span>    Fixed redundant stopping of Z-Wave3 engine.**<br>
	    Fixed the visibility of updates for Z-Wave devices on both engine versions.</span>
</p>

<p>
	 
</p>

<p>
	<span>* - Does not apply to HC3L (Home Center 3 Lite).<br>
	** - Applies only to Z-Wave 3.0 engine.<br>
	*** - Fully supported in the upcoming Yubii v2.5.3 application</span>
</p>

<p>
	 
</p>

<p>
	<span>Security:</span>
</p>

<p>
	<span>    Angular vulnerabilities update.<br>
	    Updated Rust toolchain version.</span>
</p>
]]></description><guid isPermaLink="false">80108</guid><pubDate>Wed, 13 May 2026 11:01:21 +0000</pubDate></item></channel></rss>
