<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Integration &#8211; SMARTHOME Appstore</title>
	<atom:link href="https://www.smarthome-appstore.de/produkt-schlagwort/integration/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smarthome-appstore.de</link>
	<description>Erweiterungen, Videos und Onlinekurse für den Gira X1 und den Gira HomeServer</description>
	<lastBuildDate>Thu, 19 Feb 2026 17:04:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.smarthome-appstore.de/wp-content/uploads/2024/02/cropped-icon-32x32.png</url>
	<title>Integration &#8211; SMARTHOME Appstore</title>
	<link>https://www.smarthome-appstore.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SCRIPTING for HomeServer/FacilityServer</title>
		<link>https://www.smarthome-appstore.de/produkt/scripting-for-homeserver-facilityserver/</link>
					<comments>https://www.smarthome-appstore.de/produkt/scripting-for-homeserver-facilityserver/#respond</comments>
		
		<dc:creator><![CDATA[Roel Broersma]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 16:44:38 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=45450</guid>

					<description><![CDATA[<b>Introducing the SCRIPTING Building Block for the Gira HomeServer and FacilityServer</b>

With the SCRIPTING Logic Node you can combine calculations, text processing and custom logic into a single powerful block, replacing multiple formula, formatter and parser modules at once. Save yourself all those other blocks, wiring and complex logic! Keep it simple and organized in 1 block!]]></description>
										<content:encoded><![CDATA[<p>Build compact logic flows, reduce wiring complexity and create advanced automations with just a few <b>lines of code</b>. From smart data handling to dynamic text generation and complex conditions: everything runs inside one fast, flexible node.</p>
<p>Finally, real JavaScript scripting inside your logic project!​<br />
This building block crushes the <b>Formelberechnung</b>​, <b>Textformatierer</b>, <b>JSON-Parser</b> and many other building blocks with it&#8217;s easy, flexible and lightweight use.</p>
<p><b>One block. Endless possibilities.</b></p>
<p>All examples and a code editor can be found here: <a href="https://www.roelbroersma.nl/scripting" target="_blank" rel="nofollow noopener"><b>https://www.roelbroersma.nl/scripting</b></a> (see there for the very handy code editor which makes your scripts 1-liners)</p>
<p>The logic node has an Auto Update Check (just connect it to a List Archive so it says: &#8222;There is an update of Building Block Scripting&#8220;, that saves you browsing on the web montly looking for updates)</p>
<p>Tip: Ask AI for a script (see below!)</p>
<p>This building block is also available for the Gira X1/L1 as a Logic Node, so you can exchange scripts between X1/L1 and the Homeserver!</p>
<p>&nbsp;</p>
<p><u><b>How it works:</b></u></p>
<p>Sending any value to the Trigger port (bool/number, even false or zero) will execute the script.</p>
<p>Output ports will always be set if you trigger the script. If the script doesn’t have a value for it, it will be 0.</p>
<p><u><b>Some examples:</b></u></p>
<p><b>Numbers</b><br />
<code><br />
OUT1 = IN1 * 1.19;						// Multiply with Mwst.</p>
<p>OUT1 = IN1 + IN2 + IN3 + (IN4+2) // Set Output sum.</p>
<p>OUT1 = IN1 + IN2; OUT2 = IN1 - IN2; // Set multiple outputs in one time</p>
<p>OUT1 = (IN1 / 255) * 100; // Devide and use ( and )</p>
<p>OUT1 = Math.round(IN1 * 100) / 100; // Math.round will always round on whole number, to have two decimals, device by 100.</p>
<p>OUT1 = Math.min(Math.max(IN1, 0), 100); // Limit the Input between 0 and 100</p>
<p>OUT1 = Math.abs(IN1); // Inverse: -5 -&gt; 5</p>
<p>OUT1 = -IN1; // Also 5 -&gt; -5</p>
<p>OUT1 = Math.pow(IN1, 2); // (power of 2): IN1²</p>
<p>OUT1 = Math.sqrt(IN1); // (taking the root): √IN1<br />
</code></p>
<p><b>Strings (text)</b><br />
<code><br />
OUT11 = "Hello there!";			// Set a simple text to Output1</p>
<p>OUT11 = "Value is: " + IN1;      // Set combined text+value. Example: "Value is: 10"</p>
<p>OUT11 = "My " + IN11 + " has " + IN1 + " homes";   // Concatenate Strings. Example: "My Son has 2 homes"</p>
<p>OUT11 = IN11.toString().substring(0, 5);    // Take the first 5 characters (start at character 0)</p>
<p>OUT11 = IN11.toString().substring(0, 5);    // Trim spaces</p>
<p>if (IN11.length &gt; 10) OUT11 = IN11.substring(0, 10) + "..."; // Shorten text to 10 characters + "..."<br />
else OUT11 = IN11;</p>
<p>OUT11 = IN11.toString().substring(0, 5);    // Take the first 5 characters (start at character 0)</p>
<p>OUT11 = IN11.replace(/,/g,"."); // Replace all commas by dots.</p>
<p>OUT11 = IN11.slice(-3); // Remove last 3 characters<br />
</code></p>
<p><b>Logic</b><br />
<code><br />
if (IN1=1) OUT1=1				// Use If to set output if IN1=1, otherwise OUT1 will be default/0.</p>
<p>var temp = IN1; // Declare a variable and use it or<br />
OUT1 = tempt;</p>
<p>i=1;<br />
OUT1 = this["IN"+1] // Computed variabe: OUT1=IN1</p>
<p>if (IN1 &gt;= 50) OUT1 = 1; // Use if else<br />
else OUT1 = 0;</p>
<p>if (IN1==1) OUT1 = 1; // Use if, elseif, else<br />
else if (IN2==1) OUT1 = 2;<br />
else if (IN3==1) OUT1 = 3;<br />
else OUT1 = 0;</p>
<p>if (OUT1==1 &amp;&amp; IN2==0) OUT2 = 123; // Read the value of OUT1</p>
<p>switch(IN1) { // Switch Logic (easier than if/elseif/else)<br />
&nbsp;&nbsp;&nbsp;case 0: OUT11 = "OFF"; break;<br />
&nbsp;&nbsp;&nbsp;case 1: OUT11 = "AUTO"; break;<br />
&nbsp;&nbsp;&nbsp;case 2: OUT11 = "MANUAL"; break;<br />
&nbsp;&nbsp;&nbsp;default: OUT11 = "UNKNOWN";<br />
}</p>
<p>for (var i = 1; i &lt;= 5; i++) { // A FOR Loop<br />
&nbsp;&nbsp;&nbsp;if (this["IN" + i] == true) { // The computed variable IN1...IN5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OUT1 = i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;}<br />
}<br />
</code></p>
<p><b>JSON (extract data easily!)</b><br />
Let&#8217;s assume the following sample JSON:<br />
<code><br />
{<br />
&nbsp;&nbsp;&nbsp;"device": {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"name": "LivingRoomController",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"status": "online",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"metrics": {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"temperature": 21.6,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"humidity": 48,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"power": 312.4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"modes": [<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 1, "name": "Auto", "active": true },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 2, "name": "Eco", "active": false },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 3, "name": "Boost", "active": false }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br />
}<br />
</code></p>
<p>We can do the following:</p>
<p><code><br />
var obj = JSON.parse(IN11);						// Read Input1 as JSON</p>
<p>OUT11 = obj.device.name; // "LivingRoomController"</p>
<p>OUT12 = obj.device.metrics.temperature; // 21.6</p>
<p>OUT13 = obj.device.modes[0].name; // "Auto"</p>
<p>OUT14 = obj.device.modes[2].active; // false</p>
<p>OUT15 = obj.device.modes.length; // 3</p>
<p>OUT16 = obj.device.status + " / " + obj.device.metrics.power + "W";</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/scripting-for-homeserver-facilityserver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SCRIPTING for X1/L1</title>
		<link>https://www.smarthome-appstore.de/produkt/scripting-for-x1-li/</link>
					<comments>https://www.smarthome-appstore.de/produkt/scripting-for-x1-li/#respond</comments>
		
		<dc:creator><![CDATA[Roel Broersma]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 16:18:02 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=45444</guid>

					<description><![CDATA[<b>Introducing the SCRIPTING Logic Node for Gira X1 and L1</b>

With the SCRIPTING Logic Node you can combine calculations, text processing and custom logic into a single powerful block, replacing multiple formula, formatter and parser modules at once. Save yourself all those other blocks, wiring and using many datapoints! Keep it simple and organized in 1 block!]]></description>
										<content:encoded><![CDATA[<p>Build compact logic flows, reduce wiring complexity and create advanced automations with just a few <b>lines of code</b>. From smart data handling to dynamic text generation and complex conditions: everything runs inside one fast, flexible node.</p>
<p>Finally, real JavaScript scripting inside your logic project!​<br />
This logic node crushes the <b>Formelberechnung</b>​, <b>Textformatierer</b>, <b>JSON-Parser</b> and many other logic nodes with it&#8217;s easy, flexible and lightweight use.</p>
<p><b>One block. Endless possibilities.</b></p>
<p>All examples and a code editor can be found here: <a href="https://www.roelbroersma.nl/scripting" target="_blank" rel="nofollow noopener"><b>https://www.roelbroersma.nl/scripting</b></a> (see there for the very handy code editor which makes your scripts 1-liners)</p>
<p>The logic node has an Auto Update Check (during validation in the GPA) and during operation on the X1/L1 so you will get notified of updates!</p>
<p>Tip: Ask AI for a script (see below!)</p>
<p>This logic node is also available for the Gira Homeserver as a Baustein, so you can exchange scripts between X1/L1 and the Homeserver!</p>
<p>&nbsp;</p>
<p><u><b>How it works:</b></u></p>
<p>Sending any value to the Trigger port (bool/number/text, even false or zero) will execute the script.</p>
<p>Output ports will always be set if you trigger the script. If the script doesn’t have a value for it, it will be 0.</p>
<p><u><b>Some examples:</b></u></p>
<p><b>Numbers</b><br />
<code><br />
OUT1 = IN1 * 1.19;						// Multiply with Mwst.</p>
<p>OUT1 = IN1 + IN2 + IN3 + (IN4+2) // Set Output sum.</p>
<p>OUT1 = IN1 + IN2; OUT2 = IN1 - IN2; // Set multiple outputs in one time</p>
<p>OUT1 = (IN1 / 255) * 100; // Devide and use ( and )</p>
<p>OUT1 = Math.round(IN1 * 100) / 100; // Math.round will always round on whole number, to have two decimals, device by 100.</p>
<p>OUT1 = Math.min(Math.max(IN1, 0), 100); // Limit the Input between 0 and 100</p>
<p>OUT1 = Math.abs(IN1); // Inverse: -5 -&gt; 5</p>
<p>OUT1 = -IN1; // Also 5 -&gt; -5</p>
<p>OUT1 = Math.pow(IN1, 2); // (power of 2): IN1²</p>
<p>OUT1 = Math.sqrt(IN1); // (taking the root): √IN1<br />
</code></p>
<p><b>Strings (text)</b><br />
<code><br />
OUT1 = "Hello there!";			// Set a simple text to Output1</p>
<p>OUT1 = "Value is: " + IN1;      // Set combined text+value. Example: "Value is: 10"</p>
<p>OUT1 = "My " + IN1 + " has " + IN2 + " homes";   // Concatenate Strings. Example: "My Son has 2 homes"</p>
<p>OUT1 = IN1.toString().substring(0, 5);    // Take the first 5 characters (start at character 0)</p>
<p>OUT1 = IN1.toString().substring(0, 5);    // Trim spaces</p>
<p>if (IN1.length &gt; 10) OUT1 = IN1.substring(0, 10) + "..."; // Shorten text to 10 characters + "..."<br />
else OUT1 = IN1;</p>
<p>OUT1 = IN1.toString().substring(0, 5);    // Take the first 5 characters (start at character 0)</p>
<p>OUT1 = IN1.replace(/,/g,"."); // Replace all commas by dots.</p>
<p>OUT1 = IN1.slice(-3); // Remove last 3 characters<br />
</code></p>
<p><b>Logic</b><br />
<code><br />
if (IN1=1) OUT1=1				// Use If to set output if IN1=1, otherwise OUT1 will be default/0.</p>
<p>var temp = IN1; // Declare a variable and use it or<br />
OUT1 = tempt;</p>
<p>i=1;<br />
OUT1 = this["IN"+1] // Computed variabe: OUT1=IN1</p>
<p>if (IN1 &gt;= 50) OUT1 = 1; // Use if else<br />
else OUT1 = 0;</p>
<p>if (IN1==1) OUT1 = 1; // Use if, elseif, else<br />
else if (IN2==1) OUT1 = 2;<br />
else if (IN3==1) OUT1 = 3;<br />
else OUT1 = 0;</p>
<p>if (OUT1==1 &amp;&amp; IN2==0) OUT2 = 123; // Read the value of OUT1</p>
<p>switch(IN1) { // Switch Logic (easier than if/elseif/else)<br />
&nbsp;&nbsp;&nbsp;case 0: OUT1 = "OFF"; break;<br />
&nbsp;&nbsp;&nbsp;case 1: OUT1 = "AUTO"; break;<br />
&nbsp;&nbsp;&nbsp;case 2: OUT1 = "MANUAL"; break;<br />
&nbsp;&nbsp;&nbsp;default: OUT1 = "UNKNOWN";<br />
}</p>
<p>for (var i = 1; i &lt;= 5; i++) { // A FOR Loop<br />
&nbsp;&nbsp;&nbsp;if (this["IN" + i] == true) { // The computed variable IN1...IN5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OUT1 = i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;}<br />
}<br />
</code></p>
<p><b>JSON (extract data easily!)</b><br />
Let&#8217;s assume the following sample JSON:<br />
<code><br />
{<br />
&nbsp;&nbsp;&nbsp;"device": {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"name": "LivingRoomController",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"status": "online",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"metrics": {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"temperature": 21.6,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"humidity": 48,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"power": 312.4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"modes": [<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 1, "name": "Auto", "active": true },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 2, "name": "Eco", "active": false },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ "id": 3, "name": "Boost", "active": false }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br />
&nbsp;&nbsp;&nbsp;}<br />
</code></p>
<p>We can do the following:</p>
<p><code><br />
var obj = JSON.parse(IN1);						// Read Input1 as JSON</p>
<p>OUT1 = obj.device.name; // "LivingRoomController"</p>
<p>OUT2 = obj.device.metrics.temperature; // 21.6</p>
<p>OUT3 = obj.device.modes[0].name; // "Auto"</p>
<p>OUT4 = obj.device.modes[2].active; // false</p>
<p>OUT5 = obj.device.modes.length; // 3</p>
<p>OUT6 = obj.device.status + " / " + obj.device.metrics.power + "W";</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/scripting-for-x1-li/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Audiosteuerung für sonoro Musiksysteme &#8211; Plugin und Logikbaustein für den Gira HomeServer</title>
		<link>https://www.smarthome-appstore.de/produkt/sonoro-homeserver/</link>
					<comments>https://www.smarthome-appstore.de/produkt/sonoro-homeserver/#respond</comments>
		
		<dc:creator><![CDATA[christian.unterfeld]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 12:30:45 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=42368</guid>

					<description><![CDATA[<h4><strong>Folgende Musiksysteme werden unterstützt:</strong></h4>
<ul>
 	<li>sonoro MAESTRO Quantum</li>
 	<li>sonoro MEISTERSTÜCK (Gen.2)</li>
 	<li>sonoro AVATON</li>
</ul>
Weitere Infos zu den Produkten unter: <em><strong><a href="https://sonoro.com/">www.sonoro.com</a></strong></em>]]></description>
										<content:encoded><![CDATA[<p><strong>Integrieren Sie ausgewählte sonoro Musiksysteme* mühelos mit dem sonoro Plugin und Logikbaustein für den Gira HomeServer.</strong></p>
<p>Egal, ob Sie den Gira HomeServer oder den Gira FacilityServer nutzen – mit dem Logikbaustein wird die komfortable Steuerung Ihrer Audioinhalte über KNX-Taster und andere Sensoren problemlos möglich.</p>
<p>Dank der Integration des sonoro Plugins haben Sie alle relevanten Informationen Ihrer Audiosysteme, wie beispielsweise das Cover Ihrer Songs, direkt auf der benutzerfreundlichen Visualisierung des Quad Clients zur Verfügung.</p>
<p><strong>Folgende Steuerung ist möglich:</strong></p>
<ul>
<li>Musikquellenauswahl (CD, Radio, Streaming, etc.)</li>
<li>Steuerung von Start, Pause, Stopp</li>
<li>Navigation zwischen Titeln (Vor / Zurück)</li>
<li>Wiederholung oder zufällige Wiedergabe einer Playlist</li>
<li>Steuerung der Lautstärke</li>
<li>Ton einschalten / ausschalten (Stummschaltung)</li>
<li>Powerfunktion (Standby)</li>
<li>99 Favoriten (abrufen und speichern über KNX und den QuadClient)</li>
<li>Abrufen von KNX-Szenen über die neue IR-Fernbedienung</li>
</ul>
<p>&nbsp;</p>
<p><strong><span style="color: #ff9900">HINWEISE:</span> </strong></p>
<ul>
<li>Plugin und Logikbaustein für den Gira HomeServer wird ab „Experte Version 4.12.0&#8243; oder höher unterstützt!</li>
<li>Das sonoro Musiksystem muss mindestens auf der Softwareversion: 1.4.0 oder höher sein.</li>
<li>Letztes verfügbares Update des Logikbausteins: <strong>23.10.2025</strong></li>
<li>Letztes verfügbares Updates des Plugins: <strong>23.10.2025</strong></li>
<li><em>Der Gira G1 Generation 2 wird derzeit nicht unterstützt.</em></li>
</ul>
<p>Im Download ist eine Zip-Datei, welche entpackt werden muss. In der Zip-Datei sind folgende Dateien vorhanden:</p>
<ul>
<li>Readme-Datei</li>
<li>Der sonoro Logikbaustein zum Import in den Gira Experten 4.12 oder höher</li>
<li>Das sonoro Plugin zum Import in den Gira Experten 4.12 oder höher</li>
<li>Dokumentation zum Logikbaustein und Plugin</li>
</ul>
<p><span style="color: #ff9900"><strong>RECHTLICHER  HINWEIS:</strong></span></p>
<p>Bei Änderungen, neuen Funktionen, Produkten oder technischen Erweiterungen muss der Logikbaustein sowie das Plugin entsprechend aktualisiert werden. Der Download dieses Logikbausteins und Plugins begründen keinerlei Anspruch auf die dauerhafte oder uneingeschränkte Verfügbarkeit von Smart-Home-Steuerungsfunktionen. Die Bereitstellung kann durch Drittanbieter jederzeit ganz oder teilweise eingestellt, verändert oder durch neue Funktionen und Systeme ersetzt werden. Es wird keine Haftung für die Verfügbarkeit, Funktionalität oder Kompatibilität solcher Drittanbieter-Dienste übernommen. Technische oder funktionale Anpassungen können dazu führen, dass einzelne Funktionen vorübergehend oder dauerhaft nicht verfügbar sind. Auch in diesen Fällen bestehen keinerlei Ansprüche. Aufgrund gesetzlicher Vorgaben kann es erforderlich sein, bestimmte Funktionen oder Anwendungen dieses Geräts zeitweise oder dauerhaft einzuschränken oder zu deaktivieren. Ein Software-Update des Geräts kann die Notwendigkeit mit sich bringen, dass ein unterstütztes Smart-Home-System ebenfalls aktualisiert werden muss. Etwaige hierdurch entstehende Kosten, einschließlich solcher für Drittanbieter-Software oder Dienstleistungen trägt ausschließlich der Nutzer. Es gibt keine Gewährleistung, Kostenübernahme oder Garantie für Softwareänderungen, die eine Nutzung mit einem Smart-Home-System einschränken oder ein Update erforderlich machen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/sonoro-homeserver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beschattung Pro</title>
		<link>https://www.smarthome-appstore.de/produkt/beschattung-pro/</link>
					<comments>https://www.smarthome-appstore.de/produkt/beschattung-pro/#respond</comments>
		
		<dc:creator><![CDATA[Alexander Kirpal]]></dc:creator>
		<pubDate>Thu, 24 Jul 2025 11:49:29 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=40795</guid>

					<description><![CDATA[<p data-start="240" data-end="489">Die intelligenteste Beschattung, die es je gab. Reagiert dynamisch auf Nutzerverhalten, Wetter und Sonnenstand – passt sich automatisch an oder setzt sich gezielt außer Betrieb.</p>
<strong>Beschattung. Neu gedacht. Für Dich gemacht. </strong>]]></description>
										<content:encoded><![CDATA[<p data-start="240" data-end="489">Die intelligenteste Beschattung, die es je gab. Reagiert dynamisch auf Nutzerverhalten, Wetter und Sonnenstand – passt sich automatisch an oder setzt sich gezielt außer Betrieb.</p>
<p data-start="240" data-end="489">Mit zahlreichen Optionen konfigurierst Du die Beschattung genau nach Deinen Bedürfnissen – einfach, sicher und smart.</p>
<p data-start="491" data-end="693">Ob Jalousien, Rollläden oder Markisen: Alles läuft vollautomatisch, z. B. beim Verlassen des Hauses oder nach einem Windalarm – inklusive Rückstellung auf die aktuelle Position. Alles greift ineinander.</p>
<p data-start="695" data-end="926">Besonders das optimierte Neustartverhalten sorgt dafür, dass nach Stromausfällen oder Programmieränderungen keine unerwünschten Fahrten stattfinden. Entwickelt auf Basis realer Projekterfahrungen – für maximale Zuverlässigkeit.</p>
<p data-start="695" data-end="926">
<p>&nbsp;</p>
<div style="text-align: center;margin-top: 20px"><a style="padding: 10px 20px;font-size: 16px;font-family: Arial, sans-serif;background-color: #28a745;color: white;text-align: center;text-decoration: none;border-radius: 5px;border: 2px solid #28a745;margin: auto" href="https://www.knet.bayern/produkte-shop/logikmodule-x1/x1-beschattung-pro/"> Mehr Infos und zum Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/beschattung-pro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Info</title>
		<link>https://www.smarthome-appstore.de/produkt/info/</link>
					<comments>https://www.smarthome-appstore.de/produkt/info/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Steidle]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 21:49:20 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=36752</guid>

					<description><![CDATA[Inhalt des Pakets ist ein einfacher Logikbaustein, für das Anzeigen von Infos zum X1.

<strong>Zusatzhinweis:</strong>
<ul>
 	<li>Weitere Hinweise und Anleitungen unter <a href="https://smart-system-solutions.de/">Smart System Solutions</a>.</li>
 	<li>Supportanfragen mit dazugehörigem Log und detaillierter Beschreibung an: <a href="mailto:smarthome@smart-system-solutions.de">smarthome@smart-system-solutions.de </a></li>
</ul>]]></description>
										<content:encoded><![CDATA[<h2><strong>Info (Info)</strong></h2>
<div class="elementor-element elementor-element-747ba8ee elementor-widget elementor-widget-heading" data-id="747ba8ee" data-element_type="widget" data-widget_type="heading.default">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/info/">Info &#8211; Smart-System-Solutions</a></li>
</ul>
<h5 class="elementor-widget-container"><strong>Kurzbeschreibung</strong></h5>
</div>
<div class="elementor-element elementor-element-2bd369d elementor-widget elementor-widget-text-editor" data-id="2bd369d" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Die Baustein <strong>Info</strong> überwacht und verwaltet zeitgesteuerte Aktionen in einem Gira X1-System. Sie bietet eine flexible Steuerung von Prozessen über eine Aktivierung und eine einstellbare Verzögerung. Zusätzlich zeichnet sie wichtige Systeminformationen wie Neustarts und Telegramm-Zeitstempel auf. Der Baustein prüft auch, ob eine SD-Karte im System vorhanden ist.</p>
</div>
</div>
<div class="elementor-element elementor-element-94087d5 elementor-widget elementor-widget-heading" data-id="94087d5" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2689bf45 elementor-widget elementor-widget-text-editor" data-id="2689bf45" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Flexible Zeitsteuerung:</strong><br />
Die Klasse bietet eine zeitgesteuerte Aktivierung, die über die Eingabe „Delay“ angepasst werden kann. Das Intervall beträgt standardmäßig 30 Sekunden und kann auf mindestens 5 Sekunden festgelegt werden.</li>
<li><strong>Automatischer Zeitplan:<br />
</strong>Bei Aktivierung wird ein Zeitplan initiiert, der periodisch aktualisiert wird. Wird die Aktivierung deaktiviert, stoppt der Zeitplan automatisch.</li>
<li><strong>Fehlerbehandlung:<br />
</strong>Die Klasse verfügt über integrierte Try-Catch-Blöcke zur Erfassung und Protokollierung von Fehlern während der Ausführung und Planung.</li>
<li><strong>Protokollierung:</strong><br />
Änderungen und Ereignisse werden in den Ausgängen „LogExecute“ und „LogSchedule“ gespeichert, die als Textausgaben verfügbar sind.</li>
</ul>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/info/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Message (Nachricht)</title>
		<link>https://www.smarthome-appstore.de/produkt/message-nachircht/</link>
					<comments>https://www.smarthome-appstore.de/produkt/message-nachircht/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Steidle]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 21:46:06 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=36748</guid>

					<description><![CDATA[Inhalt des Pakets ist ein einfacher Logikbaustein, für das versenden von Nachrichten.

<strong>Zusatzhinweis:</strong>
<ul>
 	<li>Weitere Hinweise und Anleitungen unter <a href="https://smart-system-solutions.de/">Smart System Solutions</a>.</li>
 	<li>Supportanfragen mit dazugehörigem Log und detaillierter Beschreibung an: <a href="mailto:smarthome@smart-system-solutions.de">smarthome@smart-system-solutions.de </a></li>
</ul>]]></description>
										<content:encoded><![CDATA[<h2><strong>MessageManagement (Nachrichtenverwaltung)</strong></h2>
<div class="elementor-element elementor-element-747ba8ee elementor-widget elementor-widget-heading" data-id="747ba8ee" data-element_type="widget" data-widget_type="heading.default">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/messagemanagement/">MessageManagement &#8211; Smart-System-Solutions</a></li>
</ul>
<h5 class="elementor-widget-container"><strong>Kurzbeschreibung</strong></h5>
</div>
<div class="elementor-element elementor-element-2bd369d elementor-widget elementor-widget-text-editor" data-id="2bd369d" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Die <code>MessageManagement</code>-Logik verwaltet ein Nachrichtenprotokollierungs- und Steuerungssystem, das mit aktivierbaren Bedingungen arbeitet, um Nachrichten anzuzeigen oder zurückzusetzen. Es nutzt Eingangsparameter, um festzulegen, wann eine Nachricht aktiviert, zurückgesetzt oder bedingt zurückgesetzt wird, und protokolliert alle Schritte zur Überwachung des Prozesses.</p>
</div>
</div>
<div class="elementor-element elementor-element-94087d5 elementor-widget elementor-widget-heading" data-id="94087d5" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2689bf45 elementor-widget elementor-widget-text-editor" data-id="2689bf45" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Aktivierungs- und Steuerungsschalter:</strong><br />
Die Methode erlaubt es, Nachrichten basierend auf verschiedenen Schaltbedingungen zu setzen oder zurückzusetzen.</li>
<li><strong>Detaillierte Protokollierung:<br />
</strong>Jede relevante Aktion, einschließlich Fehler, wird mit einem Zeitstempel in einem Log-String protokolliert, um die Durchführung und Fehlerverfolgung zu erleichtern.</li>
<li><strong>Bedingungsabhängige Rücksetzung:<br />
</strong>Nachrichten können auf Grundlage einer Bedingung zurückgesetzt werden, falls diese Bedingung deaktiviert wird.</li>
<li><strong>Fehlerbehandlung:</strong><br />
Fängt alle Ausnahmen im Ausführungsprozess ab und protokolliert diese, um die Stabilität zu erhöhen und potenzielle Fehler zu erfassen.</li>
</ul>
</div>
</div>
<div class="elementor-element elementor-element-2be2b744 elementor-widget elementor-widget-text-editor" data-id="2be2b744" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container"></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/message-nachircht/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convert (Konvertieren)</title>
		<link>https://www.smarthome-appstore.de/produkt/convert-konvertieren/</link>
					<comments>https://www.smarthome-appstore.de/produkt/convert-konvertieren/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Steidle]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 21:40:50 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=36743</guid>

					<description><![CDATA[Inhalt des Pakets sind einfache Logikbausteine, welche Eingangssignale konvertieren können.

<strong>Zusatzhinweis:</strong>
<ul>
 	<li>Weitere Hinweise und Anleitungen unter <a href="https://smart-system-solutions.de/">Smart System Solutions</a>.</li>
 	<li>Supportanfragen mit dazugehörigem Log und detaillierter Beschreibung an: <a href="mailto:smarthome@smart-system-solutions.de">smarthome@smart-system-solutions.de </a></li>
</ul>]]></description>
										<content:encoded><![CDATA[<h2><strong>ConvertStringToDateTime (Konvertiere String zu DateTime)</strong></h2>
<div class="elementor-element elementor-element-747ba8ee elementor-widget elementor-widget-heading" data-id="747ba8ee" data-element_type="widget" data-widget_type="heading.default">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/convertstringtodatetime/">ConvertStringToDateTime &#8211; Smart-System-Solutions</a></li>
</ul>
<h5 class="elementor-widget-container"><strong>Kurzbeschreibung</strong></h5>
</div>
<div class="elementor-element elementor-element-2bd369d elementor-widget elementor-widget-text-editor" data-id="2bd369d" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Diese Methode konvertiert ein Datum und eine Uhrzeit, die als Text im Format <code>"yyyy-MM-dd HH:mm"</code> vorliegen, in UTC- und lokal angepasste Zeitwerte. Bei Bedarf kann die Methode das aktuelle Jahr automatisch hinzufügen, falls nur Tag und Monat angegeben wurden. Fehlerhafte Eingaben oder Ausnahmen werden protokolliert und als Text im Ausgabeprotokoll (<code>LogExecute</code>) hinterlegt.</p>
</div>
</div>
<div class="elementor-element elementor-element-94087d5 elementor-widget elementor-widget-heading" data-id="94087d5" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2689bf45 elementor-widget elementor-widget-text-editor" data-id="2689bf45" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Flexibilität bei der Datumsverarbeitung:</strong><br />
Die Methode bietet eine flexible Eingabe von Datumsangaben sowohl mit als auch ohne Jahr. Wenn der <code>StringWithoutYear</code>-Parameter aktiviert ist, wird das aktuelle Jahr automatisch hinzugefügt.</li>
<li><strong>Zeitumwandlung in UTC und Lokalzeit:</strong><br />
Die Methode konvertiert eine Datums- und Uhrzeitangabe im Textformat in UTC und lokal angepasste Zeit.</li>
<li><strong>Fehlerbehandlung und Logging:</strong><br />
Wenn ein Formatfehler oder eine Ausnahme auftritt, wird eine Fehlernachricht in das Log (<code>LogExecute</code>) geschrieben, um das Problem zu dokumentieren.</li>
</ul>
</div>
</div>
<h2>ConvertIntToBits (Konvertiere Int zu Bits)</h2>
<div class="elementor-element elementor-element-3fbadc02 elementor-widget elementor-widget-heading" data-id="3fbadc02" data-element_type="widget" data-widget_type="heading.default">
<div class="elementor-widget-container">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/convertinttobits/">ConvertIntToBits &#8211; Smart-System-Solutions</a></li>
</ul>
<h5>Kurzbeschreibung</h5>
</div>
</div>
<div class="elementor-element elementor-element-60b9c241 elementor-widget elementor-widget-text-editor" data-id="60b9c241" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Diese Methode wandelt eine Ganzzahl in ein Binärformat um und gibt die Binärstellen als Liste von Wahrheitswerten (boolsche Werte) aus. Die Anzahl der ausgegebenen Bits kann dabei zwischen 16 und 32 festgelegt werden. Im Falle eines Fehlers wird dieser protokolliert und angezeigt.</p>
</div>
</div>
<div class="elementor-element elementor-element-5e9a2c15 elementor-widget elementor-widget-heading" data-id="5e9a2c15" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2be2b744 elementor-widget elementor-widget-text-editor" data-id="2be2b744" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Dynamische Anpassung der Ausgänge:</strong><br />
Die Anzahl der Ausgänge (Bits) kann flexibel zwischen 16 und 32 eingestellt werden.</li>
<li><strong>Fehlerbehandlung:</strong><br />
Die Methode fängt potenzielle Fehler durch einen Try-Catch-Block ab und protokolliert Fehler, falls die Umwandlung fehlschlägt.</li>
<li><strong>Grenzen und Validierungen:</strong><br />
Die Anzahl der Ausgänge (Bits) ist auf minimal 16 und maximal 32 begrenzt. Das bedeutet, dass der Benutzer die Ausgabegröße nur innerhalb dieses Bereichs festlegen kann.</li>
<li><strong>Protokollierung:</strong><br />
Die Methode speichert und zeigt eventuelle Fehler durch die Variable <code>LogExecute</code> an.</li>
</ul>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/convert-konvertieren/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Take (Nimm)</title>
		<link>https://www.smarthome-appstore.de/produkt/take-nimm/</link>
					<comments>https://www.smarthome-appstore.de/produkt/take-nimm/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Steidle]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 21:18:55 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=36735</guid>

					<description><![CDATA[Inhalt des Pakets sind einfache Logikbausteine, welche aufgrund unterschiedlicher Eingangssignale einen bestimmten Ausgangswert setzen.

<strong>Zusatzhinweis:</strong>
<ul>
 	<li>Weitere Hinweise und Anleitungen unter <a href="https://smart-system-solutions.de/">Smart System Solutions</a>.</li>
 	<li>Supportanfragen mit dazugehörigem Log und detaillierter Beschreibung an: <a href="mailto:smarthome@smart-system-solutions.de">smarthome@smart-system-solutions.de </a></li>
</ul>]]></description>
										<content:encoded><![CDATA[<h2><strong>TakeHighestValue (Höchster Wert)</strong></h2>
<div class="elementor-element elementor-element-747ba8ee elementor-widget elementor-widget-heading" data-id="747ba8ee" data-element_type="widget" data-widget_type="heading.default">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/takehighestvalue/">TakeHighestValue &#8211; Smart-System-Solutions</a></li>
</ul>
<h5 class="elementor-widget-container"><strong>Kurzbeschreibung</strong></h5>
</div>
<div class="elementor-element elementor-element-2bd369d elementor-widget elementor-widget-text-editor" data-id="2bd369d" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Diese Methode findet den höchsten Wert aus einer Liste von Eingabewerten. Die Berechnung wird nur durchgeführt, wenn die Methode aktiviert ist, und alle Eingabewerte gültig sind. Der höchste Wert wird anschließend als Ergebnis ausgegeben, und der Prozess sowie eventuelle Fehler werden protokolliert.</p>
</div>
</div>
<div class="elementor-element elementor-element-94087d5 elementor-widget elementor-widget-heading" data-id="94087d5" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2689bf45 elementor-widget elementor-widget-text-editor" data-id="2689bf45" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Dynamische Anpassung der Eingänge:</strong><br />
Die Anzahl der Eingangsgrößen kann flexibel zwischen 2 und 50 festgelegt werden, um mit unterschiedlichen Anzahlen von Werten zu arbeiten.</li>
<li><strong>Datentypwahl:<br />
</strong>Der Typ der Eingabewerte (z.B. <code>int</code>, <code>float</code>, <code>double</code>) kann über den Eingang <code>Type</code> spezifiziert werden, sodass die Methode vielseitig auf verschiedene Zahlenformate angepasst werden kann.</li>
<li><strong>Aktivierungssteuerung:<br />
</strong>Der Prozess wird nur ausgeführt, wenn der Eingang <code>Activate</code> aktiviert ist, was eine präzise Steuerung der Berechnung ermöglicht.</li>
<li><strong>Fehlerprotokollierung:</strong><br />
Fehlende Werte bei den Eingängen werden im Log erfasst, und Fehler in der Berechnung werden ebenfalls im Log festgehalten.</li>
<li><strong>Grenzen und Validierungen:</strong><br />
Es sind mindestens 2 und maximal 50 Eingabewerte erforderlich. Zudem müssen alle Eingaben gültige Werte aufweisen, damit die Berechnung durchgeführt wird.</li>
</ul>
</div>
</div>
<h2>TakeLowestValue (Niedrigster Wert)</h2>
<div class="elementor-element elementor-element-3fbadc02 elementor-widget elementor-widget-heading" data-id="3fbadc02" data-element_type="widget" data-widget_type="heading.default">
<div class="elementor-widget-container">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/takelowestvalue/">TakeLowestValue &#8211; Smart-System-Solutions</a></li>
</ul>
<h5>Kurzbeschreibung</h5>
</div>
</div>
<div class="elementor-element elementor-element-60b9c241 elementor-widget elementor-widget-text-editor" data-id="60b9c241" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Die <code>TakeLowestValue</code>-Methode vergleicht mehrere Eingabewerte und gibt den niedrigsten Wert als Ausgabe zurück. Der Prozess ist aktiviert, wenn der Aktivierungsschalter eingeschaltet ist. Die Methode ist anpassbar, um mit verschiedenen Datentypen zu arbeiten, und zeichnet die Ausführung sowie mögliche Fehler im Logbuch auf. Nur wenn alle Eingangswerte vorhanden sind, erfolgt die Berechnung und Ausgabe des niedrigsten Werts.</p>
</div>
</div>
<div class="elementor-element elementor-element-5e9a2c15 elementor-widget elementor-widget-heading" data-id="5e9a2c15" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2be2b744 elementor-widget elementor-widget-text-editor" data-id="2be2b744" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Dynamische Eingabesteuerung:</strong><br />
Die Anzahl der Eingänge kann flexibel zwischen 2 und 50 Eingabewerten eingestellt werden.</li>
<li><strong>Eingabetyp:<br />
</strong>Der Datentyp der Eingänge kann dynamisch zwischen verschiedenen numerischen Typen (z. B. <code>int</code>, <code>float</code>, <code>double</code>) eingestellt werden.</li>
<li><strong>Aktivierung:<br />
</strong>Die Methode kann durch einen Aktivierungsschalter (<code>Activate</code>) gesteuert werden und ist nur aktiv, wenn dieser Schalter eingeschaltet ist.</li>
<li><strong>Grenzwertprüfung:</strong><br />
Jeder Eingangswert wird auf das Vorhandensein überprüft, um sicherzustellen, dass alle erforderlichen Werte verfügbar sind.</li>
<li><strong>Fehlerbehandlung und Logging:</strong><br />
Es wird ein umfangreiches Log geführt, das Initialisierungs- und Laufzeitinformationen sowie Fehlerausgaben protokolliert.</li>
</ul>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/take-nimm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Decision (Entscheidung)</title>
		<link>https://www.smarthome-appstore.de/produkt/decision-entscheidung/</link>
					<comments>https://www.smarthome-appstore.de/produkt/decision-entscheidung/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Steidle]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 12:14:34 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=36685</guid>

					<description><![CDATA[Inhalt des Pakets sind einfache Logikbausteine, welche aufgrund von boolschen Eingängen Entscheidungen treffen, welcher Ausgang geschalten wird.

<strong>Zusatzhinweis:</strong>
<ul>
 	<li>Weitere Hinweise und Anleitungen unter <a href="https://smart-system-solutions.de/">Smart System Solutions</a>.</li>
 	<li>Supportanfragen mit dazugehörigem Log und detaillierter Beschreibung an: <a href="mailto:smarthome@smart-system-solutions.de">smarthome@smart-system-solutions.de </a></li>
</ul>]]></description>
										<content:encoded><![CDATA[<h2><strong>Decision2Values (Entscheidung &#8211; 2 Werte)</strong></h2>
<div class="elementor-element elementor-element-747ba8ee elementor-widget elementor-widget-heading" data-id="747ba8ee" data-element_type="widget" data-widget_type="heading.default">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/decision2values/">Decision2Values &#8211; Smart-System-Solutions</a></li>
</ul>
<h5 class="elementor-widget-container"><strong>Kurzbeschreibung</strong></h5>
</div>
<div class="elementor-element elementor-element-2bd369d elementor-widget elementor-widget-text-editor" data-id="2bd369d" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Diese Methode entscheidet anhand der Eingänge <code>TakeFirstValue</code> und <code>Activate</code>, ob der erste oder der zweite Eingabewert (<code>Value1</code> oder <code>Value2</code>) als Ausgangswert verwendet wird. Nur wenn sich der Wert ändert und der <code>Activate</code>-Schalter aktiviert ist, wird der neue Wert am Ausgang <code>Output</code> ausgegeben. Zudem werden Fehler während der Ausführung protokolliert.</p>
</div>
</div>
<div class="elementor-element elementor-element-94087d5 elementor-widget elementor-widget-heading" data-id="94087d5" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2689bf45 elementor-widget elementor-widget-text-editor" data-id="2689bf45" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Flexible Wertewahl:</strong><br />
Die Methode ermöglicht es, zwischen zwei möglichen Eingabewerten (Value1 und Value2) zu wählen. Dieser Wert wird dann in den Ausgang <code>Output</code> übertragen.</li>
<li><strong>Steuerbarkeit über Aktivierung:<br />
</strong>Die Funktion wird nur ausgeführt, wenn der <code>Activate</code>-Eingang auf „True“ gesetzt ist. Ohne diese Aktivierung erfolgt keine weitere Verarbeitung.</li>
<li><strong>Optimierte Ausgabeaktualisierung:<br />
</strong>Der Ausgangswert <code>Output</code> wird nur aktualisiert, wenn sich der ausgewählte Wert ändert, was unnötige Aktualisierungen verhindert.</li>
<li><strong>Protokollierung:</strong><br />
Die Methode speichert und zeigt eventuelle Fehler durch die Variable <code>LogExecute</code> an.</li>
</ul>
</div>
</div>
<h2>Decision4Values (Entscheidung &#8211; 4 Werte)</h2>
<div class="elementor-element elementor-element-3fbadc02 elementor-widget elementor-widget-heading" data-id="3fbadc02" data-element_type="widget" data-widget_type="heading.default">
<div class="elementor-widget-container">
<h5>Anleitung:</h5>
<ul>
<li><a href="https://smart-system-solutions.de/decision4values/">Decision4Values &#8211; Smart-System-Solutions</a></li>
</ul>
<h5>Kurzbeschreibung</h5>
</div>
</div>
<div class="elementor-element elementor-element-60b9c241 elementor-widget elementor-widget-text-editor" data-id="60b9c241" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Die Methode <code>Decision4Values</code> dient dazu, basierend auf zwei logischen Entscheidungen einen der vier Eingabewerte als Ausgabe zu bestimmen. Diese Auswahl wird nur vorgenommen, wenn die Logik aktiviert ist. Fehler, die während der Ausführung auftreten, werden erfasst und im Protokoll ausgegeben.</p>
</div>
</div>
<div class="elementor-element elementor-element-5e9a2c15 elementor-widget elementor-widget-heading" data-id="5e9a2c15" data-element_type="widget" data-widget_type="heading.default">
<h5 class="elementor-widget-container">Besonderheit</h5>
</div>
<div class="elementor-element elementor-element-2be2b744 elementor-widget elementor-widget-text-editor" data-id="2be2b744" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li><strong>Flexibilität durch Benutzerentscheidungen:</strong><br />
Die Auswahl der Ausgabe erfolgt basierend auf zwei Entscheidungsvariablen, die verschiedene Werte als Ausgabe festlegen.</li>
<li><strong>Aktivierungskontrolle:<br />
</strong>Die Logik wird nur ausgeführt, wenn die Aktivierungsvariable gesetzt ist.</li>
<li><strong>Optimierte Ausgabeaktualisierung:<br />
</strong>Die Ausgabe wird nur aktualisiert, wenn sich der ausgewählte Wert geändert hat, was unnötige Aktualisierungen reduziert.</li>
<li><strong>Protokollierung:</strong><br />
Die Methode speichert und zeigt eventuelle Fehler durch die Variable <code>LogExecute</code> an.</li>
</ul>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/decision-entscheidung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Datenspeicher</title>
		<link>https://www.smarthome-appstore.de/produkt/datenspeicher/</link>
					<comments>https://www.smarthome-appstore.de/produkt/datenspeicher/#respond</comments>
		
		<dc:creator><![CDATA[Alexander Kirpal]]></dc:creator>
		<pubDate>Fri, 20 Sep 2024 14:33:50 +0000</pubDate>
				<guid isPermaLink="false">https://www.smarthome-appstore.de/?post_type=product&#038;p=31245</guid>

					<description><![CDATA[Mit dem Datenspeicher kannst Du beliebige Werte speichern und diese völlig <strong>automatisch</strong> nach einem <strong>Neustart</strong> und/oder mit einem Trigger aus dem Speicher <strong>abrufen</strong> und auf den KNX Bus ausgeben. Der Baustein erkennt automatisch, wann ein Neustart ausgelöst wurde.

Besonders nützlich ist das in Logikblättern, wo Du Dir einen Wert merken musst. Aber auch Datenpunkte die bei einem Neustart des X1 auf den KNX Bus gesendet werden sollen, um einen Zustand zu setzen oder wieder herzustellen, kannst Du damit einfach umsetzen.

Wenn Du die Gruppenadresse auf eine X1 Variable legst, kann diese auch von anderen Teilnehmern oder dem X1 selbst, zuverlässig abgerufen werden und hat immer den korrekten Wert.

Der Datenspeicher sorgt also dafür, dass die Zustände nach einem Stromausfall sofort wieder korrekt gesetzt werde]]></description>
										<content:encoded><![CDATA[<p>Mit dem Datenspeicher kannst Du beliebige Werte speichern und diese völlig <strong>automatisch</strong> nach einem <strong>Neustart</strong> und/oder mit einem Trigger aus dem Speicher <strong>abrufen</strong> und auf den KNX Bus ausgeben. Der Baustein erkennt automatisch, wann ein Neustart ausgelöst wurde.</p>
<p>Besonders nützlich ist das in Logikblättern, wo Du Dir einen Wert merken musst. Aber auch Datenpunkte die bei einem Neustart des X1 auf den KNX Bus gesendet werden sollen, um einen Zustand zu setzen oder wieder herzustellen, kannst Du damit einfach umsetzen.</p>
<p>Wenn Du die Gruppenadresse auf eine X1 Variable legst, kann diese auch von anderen Teilnehmern oder dem X1 selbst, zuverlässig abgerufen werden und hat immer den korrekten Wert.</p>
<p>Der Datenspeicher sorgt also dafür, dass die Zustände nach einem Stromausfall sofort wieder korrekt gesetzt werde</p>
<h1>Funktionen</h1>
<ul>
<li>Daten speichern
<ul>
<li>Eingangstelegramme, egal welcher Datentyp, wird im Baustein gespeichert.</li>
</ul>
</li>
<li>bei Neustart senden
<ul>
<li>Wird ein Neustart des X1 erkannt, durch Stromausfall oder Programmierung beispielsweise, werden die gespeicherten Daten automatisch auf den Ausgang ausgegeben.</li>
</ul>
</li>
<li>Mit Trigger senden
<ul>
<li>Du kannst den Inhalt des Speicher mit einem Trigger abrufen. Steht ein neueres Signal am Eingang an, wird natürlich dies ausgegeben.</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div style="text-align: center;margin-top: 20px"><a style="padding: 10px 20px;font-size: 16px;font-family: Arial, sans-serif;background-color: #28a745;color: white;text-align: center;text-decoration: none;border-radius: 5px;border: 2px solid #28a745;margin: auto" href="https://www.knet.bayern/produkte-shop/logikmodule-x1/x1-datenspeicher/"> probiere es in Deiner Simulation aus &#8211; zum Download </a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthome-appstore.de/produkt/datenspeicher/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
