<?xml version="1.0"?>
<rss version="2.0"><channel><title>Update 5.210 Latest Topics</title><link>https://forum.fibaro.com/forum/1734-update-5210/</link><description>Update 5.210 Latest Topics</description><language>en</language><item><title>Z-Wave engine 2.0 -3.0 Migration. Changes in API.</title><link>https://forum.fibaro.com/topic/80117-z-wave-engine-20-30-migration-changes-in-api/</link><description><![CDATA[<div style="color:#000000;font-size:12.8px;">
	<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>

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

<p>
	 
</p>

<p>
	Main features:
</p>

<p>
	 
</p>

<p>
	KNX integration
</p>

<p>
	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.
</p>

<p>
	 
</p>

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

<p>
	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. 
</p>

<p>
	 
</p>

<p>
	Smart Start
</p>

<p>
	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.***
</p>

<p>
	 
</p>

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

<p>
	 
</p>

<p>
	Devices
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Elero
</p>

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

<p>
	 
</p>

<p>
	Energy Panel
</p>

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

<p>
	 
</p>

<p>
	Gateway connection
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Nice*
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Other
</p>

<p>
	    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.<br>
	 
</p>

<p>
	Scenes
</p>

<p>
	    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>
	  
</p>

<p>
	Z-Wave
</p>

<p>
	    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.**
</p>

<p>
	 
</p>

<p>
	Bug Fixes:
</p>

<p>
	 
</p>

<p>
	Backups
</p>

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

<p>
	 
</p>

<p>
	Climate
</p>

<p>
	    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. 
</p>

<p>
	 
</p>

<p>
	Devices
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Elero
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Gateway connection
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	KNX
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Nice*
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Other
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Profiles
</p>

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

<p>
	 
</p>

<p>
	Quick Apps
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Scenes
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Update
</p>

<p>
	    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.
</p>

<p>
	 
</p>

<p>
	Z-Wave
</p>

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

<p>
	 
</p>

<p>
	* - 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
</p>

<p>
	 
</p>

<p>
	Security:
</p>

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