<?xml version="1.0"?>
<rss version="2.0"><channel><title>Aktualizacja 5.210 Latest Topics</title><link>https://forum.fibaro.com/forum/1736-aktualizacja-5210/</link><description>Aktualizacja 5.210 Latest Topics</description><language>en</language><item><title>Podlewanie ogrodu</title><link>https://forum.fibaro.com/topic/80137-podlewanie-ogrodu/</link><description><![CDATA[<p>
	W najnowszej wersji Przy próbie rozwinięcia planu podlewania, dezaktywuje się cały harmońogram. Trzeba ponownie aktywować ręcznie 
</p>
]]></description><guid isPermaLink="false">80137</guid><pubDate>Sun, 24 May 2026 18:48:33 +0000</pubDate></item><item><title>Niestandardowe komendy KNX</title><link>https://forum.fibaro.com/topic/80131-niestandardowe-komendy-knx/</link><description><![CDATA[<p>
	<span>Aby rozszerzyć funkcjonalność integracji KNX, dodaliśmy możliwość wysyłania niestandardowych komend do sieci KNX oraz rejestrowania własnych nasłuchiwaczy do obsługi raportów z urządzeń. Pozwala to sterować urządzeniami, które mogą nie być w pełni obsługiwane przez domyślną integrację KNX, lub wdrażać specyficzne zachowania unikalne dla Twojej instalacji. Najłatwiejszym sposobem obsługi tego mechanizmu jest użycie QuickApp. Pamiętaj, że ta funkcjonalność znajduje się na etapie testowym. Może nie być jeszcze w pełni stabilna, a API może ulec zmianie w przyszłości.</span>
</p>

<div>
	 
</div>

<h2>
	<strong>Wysyłanie niestandardowych komend</strong>
</h2>

<p>
	<span>Możesz wysyłać niestandardowe komendy do sieci KNX, wywołując akcję <strong>sendCommand</strong> na urządzeniu integracji KNX (ID 9). Akcja ta przyjmuje trzy parametry:</span>
</p>

<ul>
	<li>
		<p>
			<span><strong>Adres grupowy</strong>, do którego chcesz wysłać komendę (np. „0/2/0”).</span>
		</p>
	</li>
	<li>
		<p>
			<span><strong>DPT</strong> wartości, którą chcesz wysłać (np. „5.001” dla DPT_Scaling).</span>
		</p>
	</li>
	<li>
		<p>
			<span><strong>Wartość</strong>, którą chcesz wysłać. Kodowanie zależy od używanego DPT.</span>
		</p>
	</li>
</ul>

<p>
	 
</p>

<p>
	<span>Poniżej kilka prostych przykładów wysyłania różnych DPT:</span>
</p>

<p>
	 
</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_631471" 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_276667" 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_704814" 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">
	Ponieważ używamy akcji urządzenia do wysyłania komend KNX, możesz wysyłać je w dowolny sposób. Możesz korzystać z QuickApps, ale także ze scen lub bezpośrednich wywołań REST API  <br>
	(POST /api/devices/9/action/sendCommand).
</p>

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

<p>
	Możesz odbierać aktualizacje z adresów grupowych i obsługiwać je w swoim QuickApp. Jest to przydatne do monitorowania stanów urządzeń lub reagowania na konkretne zdarzenia.
</p>

<p>
	Na ten moment nie ma możliwości rejestracji dla konkretnego adresu grupowego, więc będziesz otrzymywać wszystkie aktualizacje z sieci KNX.<br>
	Możesz je następnie filtrować w swoim kodzie, aby reagować tylko na te istotne.
</p>

<p>
	 
</p>

<p>
	Callback rejestruje się poprzez wywołanie akcji registerListener na urządzeniu integracji KNX (ID 9). Akcja ta przyjmuje jeden argument:
</p>

<ul style="background-color:#ffffff; color:#172b4d; font-size:14px; text-align:start">
	<li>
		<span><strong>URL callbacku</strong> (akcja w Twoim QuickApp), który zostanie wywołany przy każdej aktualizacji z sieci KNX. URL powinien mieć format:</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>
	<span>Przekazany callback zostanie wywołany z <strong>adresem grupowym</strong> oraz <strong>wartością aktualizacji</strong> za każdym razem, gdy pojawi się nowy komunikat w sieci KNX.</span>
</p>

<p>
	<span>Poniżej przykład obsługi tego w QuickApp:</span>
</p>

<p style="background-color:#ffffff; color:#172b4d; font-size:14px; padding:0px; text-align:start">
	 
</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_357820" 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>
	Możesz zmienić poziom logowania integracji KNX na „debug” lub „trace”, aby zobaczyć więcej informacji dotyczących samej komunikacji KNX oraz komunikacji wymienianej między integracją KNX a Twoim QuickApp. Aby to zrobić, przejdź do ustawień KNX w interfejsie webowym i zmień poziom logów systemowych w sekcji dotyczącej komunikacji sieciowej.
</p>
]]></description><guid isPermaLink="false">80131</guid><pubDate>Wed, 20 May 2026 14:20:50 +0000</pubDate></item><item><title>Migracja silnika Z-Wave wersja 2.0 do 3.0. Zmiany w API</title><link>https://forum.fibaro.com/topic/80119-migracja-silnika-z-wave-wersja-20-do-30-zmiany-w-api/</link><description><![CDATA[<div id="m#msg-a:r4707954159478521322" style="color:#000000; font-size:12.8px; text-align:start">
	<div>
		 
	</div>

	<div>
		<div>
			<div dir="auto">
				# API Migration: Z-Wave 2 -&gt; Z-Wave 3 
				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Planned release window:
				</div>

				<div dir="auto">
					- beta: `5.203`
				</div>

				<div dir="auto">
					- GA: `5.210`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					The Z-Wave 2 -&gt; Z-Wave 3 migration is available in the system.
				</div>

				<div dir="auto">
					This document is intended primarily for integrators and explains how the API changes and how to safely update integrations.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 1. What changes the most
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					- This document focuses on API differences that matter for external integrations (partner systems, middleware, custom applications).
				</div>

				<div dir="auto">
					- **Most device actions retain backward compatibility** — the majority of actions previously available through `/api/devices/{deviceID}/<wbr>action/{actionName}` 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 [Appendix A](#appendix-a-supported-<wbr>legacy-device-actions) for the full list of supported actions.
				</wbr></wbr></div>

				<div dir="auto">
					- In ZW3, Z-Wave **infrastructure and management operations** are exposed as dedicated REST resources under `/api/zwave/...`. This includes: configuration parameters, associations, wake-up settings, user codes, firmware update, network management (inclusion/exclusion), and node diagnostics.
				</div>

				<div dir="auto">
					  - The full OpenAPI specification for the new REST API is available via the built-in Swagger UI at `/swagger/` — select the **"ZwaveEngine Api"** section, or navigate directly to `/swagger/?urls.primaryName=<wbr>ZwaveEngine+Api`.
				</wbr></div>

				<div dir="auto">
					  - **New integrations should use the `/api/zwave/...` REST API wherever possible**, as it provides richer functionality, structured responses, and better async operation support.
				</div>

				<div dir="auto">
					- In ZW3, asynchronous operations are explicit: process endpoints (`/api/zwave/nm/...`, `/api/zwave/fw_update_<wbr>processes/...`) and mailbox endpoints (`/api/zwave/mailbox/...`).
				</wbr></div>

				<div dir="auto">
					- Device firmware update is available via two mechanisms in ZW3:
				</div>

				<div dir="auto">
					  - `/api/update-service/...` — monitors the Fibaro/Nice update server for available official firmware updates.
				</div>

				<div dir="auto">
					  - `/api/zwave/fw_update/...` — **new in ZW3**, allows uploading a firmware file directly to a device (CC Firmware Update Meta Data).
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					&gt; **Important:** 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 (`/swagger/`) for the authoritative reference of all available endpoints, request/response schemas, and error codes.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 2. How to detect the active engine
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Use the endpoint:
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					`GET /api/service/getZwaveEngine`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Example response:
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					```json
				</div>

				<div dir="auto">
					{
				</div>

				<div dir="auto">
					  "version": "3.0",
				</div>

				<div dir="auto">
					  "status": "set"
				</div>

				<div dir="auto">
					}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Recommendation:
				</div>

				<div dir="auto">
					- if the engine is ZW2 -&gt; use legacy paths,
				</div>

				<div dir="auto">
					- if the engine is ZW3 -&gt; use `/api/zwave/...`.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3. Key functional differences
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.1 Network management (adding/removing devices)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Most commonly handled through device actions, for example: `startAddingDevices`, `stopAddingDevices`, `startRemovingDevices`, `stopRemovingDevices`.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- Inclusion:
				</div>

				<div dir="auto">
					  - `POST /api/zwave/nm/inclusions`
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nm/inclusions/{id}`
				</div>

				<div dir="auto">
					  - `POST /api/zwave/nm/inclusions/{id}/<wbr>cancel`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nm/inclusions/{id}/<wbr>grant_keys`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nm/inclusions/{id}/<wbr>accept_dsk`
				</wbr></div>

				<div dir="auto">
					- Exclusion:
				</div>

				<div dir="auto">
					  - `POST /api/zwave/nm/exclusions`
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nm/exclusions/{id}`
				</div>

				<div dir="auto">
					  - `POST /api/zwave/nm/exclusions/{id}/<wbr>cancel`
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Important:
				</div>

				<div dir="auto">
					- in ZW3 this is a process model (start -&gt; poll status -&gt; completion).
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.2 Node operations (diagnostics, topology, interview)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Commonly action-based, for example: `requestNodeNeighborUpdate`, `sendNodeInfo`, `wakeUpDeadDevice`.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- Nodes and details:
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nodes`
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nodes/{node_id}`
				</div>

				<div dir="auto">
					- Interview:
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nodes/{node_id}/<wbr>interview`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nodes/{node_id}/<wbr>interview`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nodes/{node_id}/<wbr>interview/cancellation`
				</wbr></div>

				<div dir="auto">
					- Topology and connectivity:
				</div>

				<div dir="auto">
					  - `POST /api/zwave/nodes/{node_id}/<wbr>ping`
				</wbr></div>

				<div dir="auto">
					  - `GET /api/zwave/nodes/{node_id}/<wbr>neighbors`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nodes/{node_id}/<wbr>neighbors/update`
				</wbr></div>

				<div dir="auto">
					  - `GET /api/zwave/nodes/{node_id}/<wbr>last_working_route`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/nodes/{node_id}/<wbr>reachability`
				</wbr></div>

				<div dir="auto">
					- Diagnostics:
				</div>

				<div dir="auto">
					  - `GET /api/zwave/nodes/diagnostics/<wbr>transmissions`
				</wbr></div>

				<div dir="auto">
					  - `DELETE /api/zwave/nodes/diagnostics`
				</div>

				<div dir="auto">
					  - `DELETE /api/zwave/nodes/diagnostics/{<wbr>node_id}`
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.3 Configuration parameters
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Parameter read/write is usually handled through device actions and device properties.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- `GET /api/zwave/configuration_<wbr>parameters/{addr}`
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/configuration_<wbr>parameters/{addr}/{number}`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/configuration_<wbr>parameters/{addr}/{number}/<wbr>value`
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/configuration_<wbr>parameters/{addr}/{number}/<wbr>default`
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/configuration_<wbr>parameters/{addr}/default`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/<wbr>configuration_parameters/{<wbr>addr}/{number}`
				</wbr></wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.4 Associations
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Associations are managed through legacy plugin endpoints under `/api/apps/com.fibaro.zwave/..<wbr>.`, for example:
				</wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/<wbr>associationGroupInfo`
				</wbr></wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/endpoints/{<wbr>endpointId}/<wbr>associationGroupInfo`
				</wbr></wbr></wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/associations`
				</wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/endpoints/{<wbr>endpointId}/associations`
				</wbr></wbr></div>

				<div dir="auto">
					  - `POST /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/actions` (set/add/remove/clear association operations)
				</wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/actions`
				</wbr></div>

				<div dir="auto">
					  - `GET /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/actions/{<wbr>actionId}`
				</wbr></wbr></div>

				<div dir="auto">
					  - `DELETE /api/apps/com.fibaro.zwave/<wbr>nodes/{nodeId}/actions/{<wbr>actionId}`
				</wbr></wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- `GET /api/zwave/associations`
				</div>

				<div dir="auto">
					- `DELETE /api/zwave/associations/{id}`
				</div>

				<div dir="auto">
					- `GET /api/zwave/association_groups/<wbr>{node_id}`
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/association_groups/<wbr>{addr}`
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/association_groups/<wbr>{addr}/{group_id}`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/association_groups/<wbr>{addr}/{group_id}/<wbr>associations`
				</wbr></wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.5 Wake-up (battery devices)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Most commonly handled through device actions.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- `GET /api/zwave/wake_ups/{node_id}`
				</div>

				<div dir="auto">
					- `PUT /api/zwave/wake_ups/{node_id}/<wbr>configuration`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/wake_ups/{<wbr>node_id}`
				</wbr></div>

				<div dir="auto">
					- mailbox:
				</div>

				<div dir="auto">
					  - `GET /api/zwave/mailbox/{node_id}/<wbr>wake_ups`
				</wbr></div>

				<div dir="auto">
					  - `POST /api/zwave/mailbox/{node_id}/<wbr>wake_ups/clear`
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.6 User codes (door locks)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW2
				</div>

				<div dir="auto">
					- Handled through actions such as `setUserCode`, `setUserName`, `synchronizeUserCodes`.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### ZW3
				</div>

				<div dir="auto">
					- `POST /api/zwave/user_codes/{addr}/<wbr>synchronize`
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/user_codes/{addr}`
				</div>

				<div dir="auto">
					- `GET /api/zwave/user_codes/{addr}/<wbr>codes`
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/user_codes/{addr}/<wbr>codes/{user_identifier}`
				</wbr></div>

				<div dir="auto">
					- `PUT /api/zwave/user_codes/{addr}/<wbr>codes/{user_identifier}`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/user_codes/{addr}/<wbr>codes/{user_identifier}/clear`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/user_codes/{addr}/<wbr>clear_all_codes`
				</wbr></div>

				<div dir="auto">
					- `PUT /api/zwave/user_codes/{addr}/<wbr>master_code`
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/user_codes/{addr}/<wbr>keypad_mode`
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.7 Device firmware update
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					In ZW3 there are **two independent mechanisms** for updating device firmware:
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### 3.7.1 Update Service (`/api/update-service/...`)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					The Update Service is a background process that monitors the Fibaro/Nice update server for available firmware updates for supported devices.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					**How it works:**
				</div>

				<div dir="auto">
					1. The service periodically checks for available firmware — or on demand via `POST /api/update-service/updates`.
				</div>

				<div dir="auto">
					2. Devices with available updates are listed via `GET /api/update-service/devices/`.
				</div>

				<div dir="auto">
					3. To start an update, create a process via `POST /api/update-service/processes` (with `{"deviceId": ...}`).
				</div>

				<div dir="auto">
					4. Poll the process status via `GET /api/update-service/processes/<wbr>{deviceId}` — statuses include `Downloading`, `Queued`, `WaitingForWakeUp`, `InProgress` (with progress stages), `Completed`, `Failed`, `Stopped`.
				</wbr></div>

				<div dir="auto">
					5. To stop an update, call `POST /api/update-service/processes/<wbr>{deviceId}/stop`.
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Endpoints:
				</div>

				<div dir="auto">
					- `GET /api/update-service/devices/` — list devices with available firmware updates
				</div>

				<div dir="auto">
					- `GET /api/update-service/devices/{<wbr>deviceId}` — get update info for a specific device
				</wbr></div>

				<div dir="auto">
					- `GET /api/update-service/devices_<wbr>count` — number of devices ready to update
				</wbr></div>

				<div dir="auto">
					- `POST /api/update-service/updates` — force check for available updates from server
				</div>

				<div dir="auto">
					- `GET /api/update-service/processes` — list all update processes
				</div>

				<div dir="auto">
					- `POST /api/update-service/processes` — start new update process
				</div>

				<div dir="auto">
					- `GET /api/update-service/processes/<wbr>{deviceId}` — get update process status
				</wbr></div>

				<div dir="auto">
					- `POST /api/update-service/processes/<wbr>{deviceId}/stop` — stop update process
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					&gt; The full specification is available via built-in Swagger UI at `/swagger/` — select the **"UpdateService Api"** section.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### 3.7.2 Firmware Update from file (`/api/zwave/fw_update/...`) — new in ZW3
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW3 introduces the ability to upload a firmware file directly and apply it to a device. This is an implementation of the Z-Wave **CC Firmware Update Meta Data** command class.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					**How it works:**
				</div>

				<div dir="auto">
					1. Query supported firmware targets via `GET /api/zwave/fw_update/{addr}` — returns the list of updatable firmware targets and their IDs.
				</div>

				<div dir="auto">
					2. Upload a firmware file via `POST /api/zwave/fw_update/{addr}/{<wbr>target}/request` (multipart/form-data with `manufacturerId`, `firmwareId`, and the firmware binary).
				</wbr></div>

				<div dir="auto">
					3. Monitor the process via `GET /api/zwave/fw_update_<wbr>processes` or `GET /api/zwave/fw_update_<wbr>processes/{id}`.
				</wbr></wbr></div>

				<div dir="auto">
					4. If activation is required, trigger it via `POST /api/zwave/fw_update_<wbr>processes/{id}/activate`.
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					Endpoints:
				</div>

				<div dir="auto">
					- `GET /api/zwave/fw_update/{addr}` — get firmware update info (targets, hardware version, activation support)
				</div>

				<div dir="auto">
					- `POST /api/zwave/fw_update/{addr}/{<wbr>target}/request` — upload firmware file and start update
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/fw_update_<wbr>processes` — list all firmware update processes
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/fw_update_<wbr>processes/{id}` — get process status
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/fw_update_<wbr>processes/{id}/cancel` — cancel firmware update
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/fw_update_<wbr>processes/{id}/activate` — activate new firmware
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/fw_update_<wbr>processes/{id}/activate` — get activation status
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.8 Mailbox (pending actions for battery devices)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					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 **mailbox** — a queue of pending actions that will be executed automatically when the device next wakes up.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					**How it works:**
				</div>

				<div dir="auto">
					1. Send a command to a sleeping device (e.g. `POST /api/zwave/configuration_<wbr>parameters/7.0/2/value`).
				</wbr></div>

				<div dir="auto">
					2. Instead of the usual `200 OK`, the API responds with **`202 Accepted`** and a JSON body containing the `actionId`:
				</div>

				<div dir="auto">
					   ```json
				</div>

				<div dir="auto">
					   {"actionId": 1}
				</div>

				<div dir="auto">
					   ```
				</div>

				<div dir="auto">
					3. The pending action is now queued. You can inspect it via the mailbox endpoints.
				</div>

				<div dir="auto">
					4. When the device wakes up, all queued actions are executed automatically.
				</div>

				<div dir="auto">
					5. After execution, the actions are removed from the mailbox.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					**Mailbox endpoints per resource type:**
				</div>

				<div dir="auto">
					- `GET /api/zwave/mailbox/{node_id}/<wbr>configuration_parameters` — pending configuration changes
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/mailbox/{node_id}/<wbr>configuration_parameters/<wbr>clear` — clear pending configuration changes
				</wbr></wbr></div>

				<div dir="auto">
					- `GET /api/zwave/mailbox/{node_id}/<wbr>associations` — pending association changes
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/mailbox/{node_id}/<wbr>associations/clear` — clear pending association changes
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/mailbox/{node_id}/<wbr>wake_ups` — pending wake-up configuration changes
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/mailbox/{node_id}/<wbr>wake_ups/clear` — clear pending wake-up changes
				</wbr></div>

				<div dir="auto">
					- `GET /api/zwave/mailbox/{node_id}/<wbr>user_codes` — pending user code changes
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/mailbox/{node_id}/<wbr>user_codes/clear` — clear pending user code changes
				</wbr></div>

				<div dir="auto">
					- `DELETE /api/zwave/pending_actions/{<wbr>action_id}` — remove a specific pending action by ID
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					The mailbox has a configurable capacity. If the mailbox is full, the API returns an error.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					&gt; **Key integration point:** Any endpoint that modifies device state may return `202` with an `actionId` for sleeping devices. Integrations should handle both `200` (executed immediately) and `202` (queued for wake-up) responses.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 3.9 Polling (on-demand device state refresh)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					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.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					All polling endpoints follow the pattern `POST /api/zwave/polling/{resource_<wbr>type}/{addr}/...` and return:
				</wbr></div>

				<div dir="auto">
					- **`200 OK`** (empty body) for mains-powered devices — the device was polled immediately.
				</div>

				<div dir="auto">
					- **`202 Accepted`** with `{"actionId": ...}` for sleeping devices — poll request added to the mailbox.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					**Available polling endpoints (selected):**
				</div>

				<div dir="auto">
					- `POST /api/zwave/polling/<wbr>configuration_parameters/{<wbr>addr}/{number}` — poll a configuration parameter
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/binary_<wbr>switches/{addr}` — poll binary switch state
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/multilevel_<wbr>sensors/{addr}/{sensor_type}` — poll sensor reading
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/door_locks/<wbr>{addr}` — poll door lock state
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/alarm_<wbr>sensors/{addr}/{sensor_type}` — poll alarm sensor
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/binary_<wbr>sensors/{addr}/{sensor_type}` — poll binary sensor
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/color_<wbr>switches/{addr}/{component_id}<wbr>` — poll color component
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/user_codes/<wbr>{addr}/codes/{user_identifier}<wbr>` — poll user code
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/wake_ups/{<wbr>node_id}` — poll wake-up configuration
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/<wbr>association_groups/{addr}/{<wbr>group_id}` — poll association group
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/protection/<wbr>{addr}` — poll protection state
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/sound_<wbr>switches/{addr}` — poll sound switch state
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/window_<wbr>covering/{addr}/parameters/{<wbr>parameter_id}` — poll window covering
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/central_<wbr>scenes/{addr}` — poll central scene configuration
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/schedule/{<wbr>addr}/{block_id}/{schedule_id}<wbr>` — poll schedule entry
				</wbr></wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/basic/{<wbr>addr}` — poll basic value
				</wbr></div>

				<div dir="auto">
					- `POST /api/zwave/polling/failed_<wbr>nodes` — poll failed nodes list
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					&gt; Refer to Swagger UI for the complete list of polling endpoints and their parameters.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 4. ZW3 asynchronous model (what this means for integrations)
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					In ZW3, some operations do not return final state immediately. Integrations should:
				</div>

				<div dir="auto">
					- store the process identifier,
				</div>

				<div dir="auto">
					- poll the status endpoint,
				</div>

				<div dir="auto">
					- handle mailbox queue responses (especially for battery-powered devices),
				</div>

				<div dir="auto">
					- treat the operation as complete only after final status is returned.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## 5. Before/after examples
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### A) Start inclusion
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW2:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/devices/{deviceID}/<wbr>action/startAddingDevices
				</wbr></div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW3:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/zwave/nm/inclusions
				</div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"networkWide": true, "allowS0": false, "allowS2": true}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### B) Set user code
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW2:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/devices/{deviceID}/<wbr>action/setUserCode
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"args": [1, "1234"]}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW3:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					PUT /api/zwave/user_codes/15.0/<wbr>codes/1
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"userCode": "1234", "userIdStatus": "AVAILABLE"}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### C) Set configuration parameter
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW2:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/devices/{deviceID}/<wbr>action/setConfiguration
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"args": [2, 1, 0]}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW3:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/zwave/configuration_<wbr>parameters/15.0/2/value
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"value": 0}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					For a sleeping (battery) device the response is `202 Accepted` with `{"actionId": 1}` — the action is queued in the mailbox and will be applied on the next wake-up.
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### D) Add association
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW2:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/devices/{deviceID}/<wbr>action/associationSet
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"args": [{"groupingId": 2, "singleChannel": [1]}]}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					ZW3:
				</div>

				<div dir="auto">
					```http
				</div>

				<div dir="auto">
					POST /api/zwave/association_groups/<wbr>15.0/2/associations
				</wbr></div>

				<div dir="auto">
					Content-Type: application/json
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					{"destinationNode": 1, "destinationEndpoint": 0}
				</div>

				<div dir="auto">
					```
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					## Appendix A: Supported legacy device actions
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					The following 101 device actions remain available in ZW3 via `/api/devices/{deviceID}/<wbr>action/{actionName}` for backward compatibility.
				</wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Switching &amp; level control
				</div>

				<div dir="auto">
					`turnOn`, `turnOff`, `open`, `close`, `startLevelIncrease`, `startLevelDecrease`, `stopLevelChange`, `stop`, `step`, `pause`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Brightness &amp; values
				</div>

				<div dir="auto">
					`setValue`, `setValue2`, `setBrightness`, `setVolume`, `poll`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Color control
				</div>

				<div dir="auto">
					`setColor`, `setColorComponents`, `setR`, `setG`, `setB`, `setW`, `startColorEnhancement`, `startColorFade`, `stopColorChange`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Thermostat
				</div>

				<div dir="auto">
					`setThermostatMode`, `setThermostatFanMode`, `setHeatingThermostatSetpoint`<wbr>, `setCoolingThermostatSetpoint`<wbr>, `setFurnaceThermostatSetpoint`<wbr>, `setDryAirThermostatSetpoint`, `<wbr>setMoistAirThermostatSetpoint`<wbr>, `<wbr>setAutoChangeoverThermostatSet<wbr>point`, `<wbr>setEnergySaveHeatingThermostat<wbr>Setpoint`, `<wbr>setEnergySaveCoolingThermostat<wbr>Setpoint`, `<wbr>setAwayHeatingThermostatSetpoi<wbr>nt`, `<wbr>setAwayCoolingThermostatSetpoi<wbr>nt`, `<wbr>setFullPowerThermostatSetpoint<wbr>`
				</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Door lock
				</div>

				<div dir="auto">
					`secure`, `unsecure`, `unsecureWithTimeout`, `unsecureInside`, `unsecureInsideWithTimeout`, `unsecureOutside`, `unsecureOutsideWithTimeout`, `setDoorLockMode`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### User codes
				</div>

				<div dir="auto">
					`setUserCode`, `setUserCodeDec`, `setUserName`, `deleteUserCode`, `getUserCode`, `getMaxUsers`, `synchronizeUserCodes`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Scheduling
				</div>

				<div dir="auto">
					`setSchedule`, `setAllSchedules`, `removeSchedule`, `setOverrideSchedule`, `removeOverrideSchedule`, `setScheduleState`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Node management
				</div>

				<div dir="auto">
					`removeFailedNode`, `requestNodeNeighborUpdate`, `getNeighborList`, `getLastWorkingRoute`, `markDead`, `wakeUpDeadDevice`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Protection
				</div>

				<div dir="auto">
					`setProtection`, `setExclusiveControl`, `setTimeout`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### All Switch mode
				</div>

				<div dir="auto">
					`switchAllOn`, `switchAllOff`, `switchAllGet`, `switchAllSetMode`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Indicator
				</div>

				<div dir="auto">
					`identify`, `indicatorGet`, `setIndicatorValue`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Metering
				</div>

				<div dir="auto">
					`reset`, `resetMeter`, `clearEnergyData`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Configuration
				</div>

				<div dir="auto">
					`setConfiguration`, `readWholeConfiguration`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### AV control
				</div>

				<div dir="auto">
					`getSupportedCommands`, `sendAVControl`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Window covering
				</div>

				<div dir="auto">
					`setSlatsAngle`, `setFavoritePosition`, `configureFavoritePositions`, `startCalibration`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Barrier operator
				</div>

				<div dir="auto">
					`setAllSubsystems`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Black box
				</div>

				<div dir="auto">
					`getRecords`, `removeRecords`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Sound switch
				</div>

				<div dir="auto">
					`setTone`, `setDefaultTone`, `setArmed`, `setSequence`, `removeSequence`
				</div>

				<div dir="auto">
					 
				</div>

				<div dir="auto">
					### Device-specific
				</div>

				<div dir="auto">
					`setDefaultPartyTime`, `startProgram`, `setRingsLightMode`, `setTamperMode`, `setAutoFanMode`, `setUnlockSequence`, `setLockKey`, `setIdleTimeout`, `configure`
				</div>

				<div dir="auto">
					 
				</div>
			</div>
		</div>
	</div>

	<div>
		 
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">80119</guid><pubDate>Mon, 18 May 2026 12:25:56 +0000</pubDate></item><item><title>FIBARO System Aktualizacja 5.210 dla Home Center 3/Yubii Home Pro</title><link>https://forum.fibaro.com/topic/80111-fibaro-system-aktualizacja-5210-dla-home-center-3yubii-home-pro/</link><description><![CDATA[<p>
	Dziękujemy za korzystanie z naszej centrali! Zaktualizuj oprogramowanie do najnowszej wersji, aby cieszyć się nowymi funkcjonalnościami i usprawnieniami.
</p>

<p>
	 
</p>

<p>
	Najważniejsze funkcjonalności:
</p>

<p>
	 
</p>

<p>
	Integracja KNX
</p>

<p>
	Od teraz Twój system KNX może działać jeszcze inteligentniej dzięki integracji z naszymi centralami Yubii Home Pro oraz Home Center 3. Zyskaj pełną kontrolę nad oświetleniem, przełącznikami, kontrolerami RGBW, roletami i czujnikami w jednym spójnym ekosystemie.
</p>

<p>
	 
</p>

<p>
	Migracja silnika Z-Wave z wersji 2.0 do 3.0 (BETA)
</p>

<p>
	W tej wersji oprogramowania możliwe jest przeprowadzenie migracji silnika Z-Wave do wersji 3.0. Migracja pozwoli Ci skorzystać ze wszystkich nowych funkcji silnika Z-Wave, w tym korzystanie ze Smart Start, lepszej generycznej obsługi urządzeń Z-Wave Plus i dostępności Security S2, który można uznać za pierwszą w pełni bezpieczną metodę komunikacji dla Inteligentnego Domu.
</p>

<p>
	 
</p>

<p>
	Smart Start
</p>

<p>
	Od teraz można korzystać w funkcji Smart Start wykorzystującej Skaner QR w aplikacji Yubii. Funkcja ta umożliwi jeszcze szybsze dodanie urządzeń do systemu przy użyciu procesu parowania w aplikacji mobilnej.***
</p>

<p>
	 
</p>

<p>
	Co nowego:    
</p>

<p>
	 
</p>

<p>
	Elero
</p>

<p>
	    Integracja z odbiornikami oświetleniowymi ELERO: TTDTW-E (Combio-868 LI W), TTDRGBW-E (Combio-868 LI RGBW),  TTDW-E (Combio-868 LI PW).
</p>

<p>
	 
</p>

<p>
	Łączenie central
</p>

<p>
	    Gdy centrala podrzędna zostaje wyłączona lub nie ma z nią połączenia, dodane do niej urządzenia są widoczne jako nieaktywne (martwe) w centrali nadrzędnej.<br>
	    Włączenie Dostępu dla Supportu i Dostępu Zdalnego na centrali Master powoduje włączenie dostępu również na centralach podrzędnych.
</p>

<p>
	 
</p>

<p>
	Nice*
</p>

<p>
	    Zaktualizowano oprogramowanie chipa NICE do najnowszej wersji.<br>
	    Dodano możliwość wyłączenia wpływu słońca (ustawienie wartości 0 lux w parametrze 10) dla urządzenia Domi WSC wersji 3.9.0.<br>
	    Zmieniono domyślne wartości parametrów 1, 3 i 10 dla wszystkich wersji urządzeń DOMI WSC.
</p>

<p>
	 
</p>

<p>
	Panel energii
</p>

<p>
	     Integracja z monitorem Tibber w celu umożliwienia automatycznej aktualizacji stawek w Panelu Energii (dostępne tylko dla adresów w Niemczech, Norwegii, Szwecji lub Holandii).
</p>

<p>
	 
</p>

<p>
	Pozostałe
</p>

<p>
	    Dodano informacje o strefie, w której wystąpił alarm.<br>
	    Weryfikacja sumy kontrolnej przy pobraniu pliku aktualizacji na początku procesu zamiast na końcu.<br>
	    Usunięto z systemu plugin PKO Ubezpieczenia w związku z oficjalnym zakończeniem współpracy.
</p>

<p>
	 
</p>

<p>
	Sceny
</p>

<p>
	    Dodano nowy bloczek aktywacji / dezaktywacji sceny jako akcja w scenach blokowych.<br>
	    Dodano możliwość włączania/wyłączania lokalnej i zdalnej ochrony urządzeń za pomocą scen i profili.
</p>

<p>
	 
</p>

<p>
	Urządzenia
</p>

<p>
	    Ulepszono wyświetlanie rodzin urządzeń na liście urządzeń, tak aby urządzenia podrzędne zawsze znajdowały się pod urządzeniami nadrzędnymi.<br>
	    Dodano wskaźnik stanu działania dla połączonych termostatów.<br>
	    Dodano bezpośredni dostęp do komunikacji KNX (zarówno wysyłanie, jak i odbieranie pakietów) z poziomu API.
</p>

<p>
	 
</p>

<p>
	Z-Wave
</p>

<p>
	    Dostosowano szablony parametrów czujników w celu zmniejszenia liczby raportów dla różnych urządzeń.<br>
	    Poprawiono ustawianie wartości parametru 5 dla urządzenia MCO Home MH7H-EH.<br>
	    Ulepszono procedurę resetowania sieci Z-Wave.<br>
	    Możliwość dodawania ręcznie parametrów na każdym endpoincie.<br>
	    Zwiększona odporność silnika Z-Wave3 na problemy z komunikacją w Security S0.**<br>
	    Wsparcie dla silnika Z-wave 3.0 w aplikacji Instalator.**
</p>

<p>
	 
</p>

<p>
	Poprawione błędy:
</p>

<p>
	 
</p>

<p>
	Aktualizacja
</p>

<p>
	    Przeniesiono ustawienie dotyczące informacji o wersji systemu z końcowego etapu uruchamiania na najwcześniejszy możliwy moment w celu zredukowania błędnych danych o wersji w trybie recovery.<br>
	    Zmieniono kolejność uruchamiania serwisów w czasie inicjalizacji w celu uniknięcia problemów przy aktualizacji.<br>
	    Poprawiono zachowanie paska postępu przy anulowaniu akcji pobrania aktualizacji, pasek postępu zostaje ukryty.
</p>

<p>
	 
</p>

<p>
	Backup
</p>

<p>
	    Naprawiono problem, w wyniku którego przyciski „Aktualizuj i przywróć” dla kopii zapasowych z wyższymi wersjami oprogramowania były nieaktywne.
</p>

<p>
	 
</p>

<p>
	Elero
</p>

<p>
	    Poprawiono wartości komponentów kolorów dla urządzenia Elero Lighting RGBW.<br>
	    Poprawiono wygląd i zachowanie ikony urządzenia Elero Lighting RGBW w interfejsie użytkownika.<br>
	    Poprawiono nieprawidłowe ustawienia temperatury barwowej w profilach dla urządzenia Elero Lighting RGBW.<br>
	    Nie można sterować oświetleniem Elero Lighting RGBW po sparowaniu z systemem, jeśli wyjście LED jest wyłączone w trakcie kończenia procesu parowania.
</p>

<p>
	 
</p>

<p>
	Klimat
</p>

<p>
	    Naprawiono problem, w wyniku którego harmonogram nie był usuwany z kontrolera ogrzewania Heat-Control/Fibaro Heat Controller po usunięciu go ze strefy klimatu.<br>
	    Poprawiono problem, w którym dodany czujnik temperatury był usuwany z panelu klimatu przy edycji innych ustawień tego panelu.<br>
	    Poprawiono błąd występujący po usunięciu urządzenia z harmonogramu klimatu.<br>
	    Poprawiono problem z zapisywaniem stref klimatycznych, który występował w niektórych przypadkach.<br>
	    Głowice termostatyczne FGT nie są zsynchronizowane z harmonogramem.
</p>

<p>
	 
</p>

<p>
	KNX
</p>

<p>
	    Poprawiono błąd połączenia KNX po ponownym nawiązaniu połączenia po dłuższym czasie.<br>
	    Poprawiono problem z ponownym połączeniem KNX Bridge po wykonaniu operacji „wyczyść konfigurację”.
</p>

<p>
	 
</p>

<p>
	Łączenie central
</p>

<p>
	    Poprawiono błędy oraz nieprawidłowe wyświetlanie opcji w ustawieniach asocjacji.<br>
	    Poprawiono walidację adresu IP w zakładce Łączenia Central.<br>
	    Nieprawidłowy typ kopii zapasowej podczas aktualizacji oprogramowania central podrzędnych.<br>
	    Urządzenia z różnych sieci fizycznych są wymienione jako miejsca docelowe w asocjacjach.
</p>

<p>
	 
</p>

<p>
	Nice*
</p>

<p>
	    Naprawiono ustawienie ulubionej pozycji dla rolet, które nie obsługują tej funkcji natywnie.<br>
	    Poprawiono obsługę keep-alive dla urządzenia Domi WSR/WS, co powodowało pokazywanie urządzenia jako odłączone w systemie.<br>
	    Poprawiono problemy związane z silnikami Nice PLN2+ sterowanymi jako grupa za pomocą funkcji Połączone urządzenia.<br>
	    Poprawiono działanie akcji grupowych powodujące m.in. błędne działanie w scenach.<br>
	    Poprawiono problem z usuwaniem urządzenia Domi WSR w przypadku gdy urządzenie jest nieaktywne.
</p>

<p>
	 
</p>

<p>
	Pozostałe
</p>

<p>
	    Usunięto niedziałającą opcję (checkbox) wysyłania powiadomień na liście urządzeń mobilnych.<br>
	    Poprawiono widoczność nazwy urządzenia przy dodawaniu urządzeń Z-wave w aplikacji mobilnej.<br>
	    Poprawiono pozycjonowanie tooltipów w interfejsie.<br>
	    Poprawiono ekran komunikatów wyświetlających się po użyciu opcji przywrócenia ustawień fabrycznych w trybie Recovery.<br>
	    Poprawiono obsługę zdarzeń z pluginu kamera NICE, gdy urządzenia są dodane przez NVR.<br>
	    Poprawiono ikony dla pluginów Sonos i XBMC.<br>
	    Poprawiono błędy wyświetlające się w zakładce Z-wave centrali Master przy korzystaniu z interfejsu przez Dostęp Zdalny."<br>
	    Poprawiono walidator pola wpisywanych danych dla zmiennych.<br>
	    Poprawiono niedziałające akcje grupowe w profilach.<br>
	    Dodano odświeżanie na bieżąco wpisów w historii dla zdarzeń Z-Wave central scene oraz zdarzeń dotyczących scen.<br>
	    Poprawiono błąd, przez który ponowne uruchomienie systemu czasami nie działało poprawnie.<br>
	    Drobne poprawki UI/UX.<br>
	 
</p>

<p>
	Profile
</p>

<p>
	    Poprawiono problem z wyzwalaniem zmian za pomocą profili.
</p>

<p>
	 
</p>

<p>
	Quick Apps
</p>

<p>
	    Zezwolono na dodatkowe parametry do funkcji hub.alert w QuickApp, aby zachować kompatybilność wsteczną ze starym kodem.<br>
	    Limit znaków w polu edycji zmiennej został zwiększony z 1024 do 2048.<br>
	    Dodano obsługę funkcji kontroli stref klimatu w QuickApps.<br>
	    Poprawiono restart procesu Quick App przy jego edycji.<br>
	    Poprawiono Heat Activator, który przestawał działać w rzadkich przypadkach.<br>
	    Poprawiono problem z zapisywaniem widoku Quick Apps do pliku przy użyciu szyfrowania (dotyczy QA eksportowanych od wersji 5.191).<br>
	    Poprawiono błąd, w wyniku którego odpowiedzi HTTP inne niż 2xx (300 i wyższe) nie zwracały treści odpowiedzi.<br>
	    Poprawiono błąd w walidacji nazw zmiennych uniemożliwiający ich późniejszą edycję.<br>
	    Poprawiono błąd związany z wyświetlaniem ikon użytkownika dla pilotów w Quick Apps.<br>
	 
</p>

<p>
	Sceny
</p>

<p>
	    Poprawiono problem nie wyświetlających się ikon innych niż domyślne przy wyborze profili w scenariuszach.<br>
	    Poprawiono odświeżanie przełącznika aktywności sceny w interfejsie przy wywołaniu akcji aktywacji / dezaktywacji z poziomu sceny.<br>
	    Poprawiono nieaktywny suwak temperatury barwowej urządzenia Elero Lighting TW w scenariuszach tworzonych w aplikacji mobilnej.<br>
	    Poprawiono błąd, w wyniku którego net.HTTPClient usuwał parametry z ciągu zapytania dla scen LUA.<br>
	    Poprawiono działanie suwaków w scenach blokowych dla akcji setColor, suwaki działają teraz indywidualnie.<br>
	    Poprawiono błąd, który powodował, że sceny blokowe nie działały dla ustawienia trybu ręcznego na „Do odwołania” w centralach HC3L/YH.<br>
	    Optymalizacja uruchamiania scen.<br>
	    Poprawiono problem z zapisem predefiniowanego scenariusza w przypadku wyboru niektórych urządzeń.
</p>

<p>
	 
</p>

<p>
	Urządzenia
</p>

<p>
	    Poprawiono problem z nieprawidłową aktualizacją widoku składowej koloru dla urządzeń RGB/RGBW.<br>
	    Poprawiono problem ze zmianą ikony dla kamer Dahua.<br>
	    Poprawiono wydajność Wizarda dodawania urządzenia DoubleDimmer-Control.<br>
	    Poprawiono błąd przy konfiguracji urządzeń KNX spowodowany brakiem obsługi znaków diaktrycznych w nazwach urządzeń.<br>
	    Poprawiono problem z ustawieniami funkcji dla urządzeń Z-Wave z pustym szablonem w procesie dodawania w aplikacji mobilnej.<br>
	    Poprawiono nieprawidłowy status połączenia Bridge KNX po zmianie IP.<br>
	    Przywrócono brakujące wykresy temperatury w urządzeniu FGT w wersji 4.10.<br>
	    Poprawiono wygląd okna dialogowego w interfejsie użytkownika dla urządzenia BiDi-Awning i AV Controller.<br>
	    Poprawiono wyświetlanie ikon svg w aplikacji mobilnej dla Zraszacza i Syren NICE.<br>
	    Poprawiono problem z pluginem CoolAutomation, dzięki czemu aplikacja mobilna otrzymuje teraz prawidłowe informacje zwrotne/status.<br>
	    Poprawiono interfejs użytkownika w ustawieniach zaawansowanych dotyczących sekwencji blokowania i odblokowywania urządzenia FGKF601 (Keyfob).<br>
	    Urządzenie RGBW nie obsługuje prawidłowo ustawień kolorów w określonej sekwencji czynności przy użyciu selektora.
</p>

<p>
	 
</p>

<p>
	Z-Wave
</p>

<p>
	    Naprawiono problem nadmiernego zatrzymywania się silnika Z-Wave3.**<br>
	    Poprawiono widoczność aktualizacji dla urządzeń Z-wave na obu wersjach silnika.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	* - nie dotyczy HC3L (Home Center 3 Lite)<br>
	** - dotyczy tylko silnika Z-Wave 3.0<br>
	*** - w pełni wsparty w nadchodzącej aplikacji Yubii wersji 2.5.3
</p>

<p>
	 
</p>

<p>
	Bezpieczeństwo:
</p>

<p>
	    Wykonano aktualizację dotyczącą luk w zabezpieczeniach Angular.<br>
	    Zaktualizowano wersję Rust toolchain.
</p>
]]></description><guid isPermaLink="false">80111</guid><pubDate>Wed, 13 May 2026 11:03:58 +0000</pubDate></item></channel></rss>
