<?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>eval &#8211; SmartHomeNG | smarthome knx homematic mqtt hue 1wire home automation</title>
	<atom:link href="https://www.smarthomeng.de/tag/eval/feed" rel="self" type="application/rss+xml" />
	<link>https://www.smarthomeng.de</link>
	<description>Die Device Integrations-Plattform für Dein Smart Home</description>
	<lastBuildDate>Sat, 19 Dec 2020 17:51:14 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.5</generator>

<image>
	<url>https://www.smarthomeng.de/wp-content/uploads/global/logo_small_152x152-150x150.png</url>
	<title>eval &#8211; SmartHomeNG | smarthome knx homematic mqtt hue 1wire home automation</title>
	<link>https://www.smarthomeng.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Nutzung von Szenen in SmartHomeNG</title>
		<link>https://www.smarthomeng.de/nutzung-von-szenen-in-smarthomeng</link>
					<comments>https://www.smarthomeng.de/nutzung-von-szenen-in-smarthomeng#comments</comments>
		
		<dc:creator><![CDATA[Martin Sinn]]></dc:creator>
		<pubDate>Mon, 25 May 2020 13:51:44 +0000</pubDate>
				<category><![CDATA[Beispiel-Implementierungen]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[HUE]]></category>
		<category><![CDATA[hue2]]></category>
		<category><![CDATA[Items]]></category>
		<category><![CDATA[Szenen]]></category>
		<guid isPermaLink="false">https://www.smarthomeng.de/?p=2574</guid>

					<description><![CDATA[Die Implementierung von Szenen in SmartHomeNG orientiert sich an der Art wie Szenen in KNX implementiert sind. Da nicht jeder Nutzer von SmartHomeNG mit KNX-Szenen vertraut ist, fasse ich im Folgenden die Funktionsweise von KNX-Szenen kurz zusammen. Wer mit KNX-Szenen bereits vertraut ist, kann diesen Abschnitt überspringen und sich gleich<a class="moretag" href="https://www.smarthomeng.de/nutzung-von-szenen-in-smarthomeng"> Weiterlesen&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>Die Implementierung von Szenen in SmartHomeNG orientiert sich an der Art wie Szenen in KNX implementiert sind. Da nicht jeder Nutzer von SmartHomeNG mit KNX-Szenen vertraut ist, fasse ich im Folgenden die Funktionsweise von KNX-Szenen kurz zusammen. Wer mit KNX-Szenen bereits vertraut ist, kann diesen Abschnitt überspringen und sich gleich die Beispiel-Implementierung anschauen.</p>
<h3>Funktionsweise von KNX-Szenen</h3>
<p>Um Szenen in KNX nutzen zu können, müssen Aktoren verwendet werden, die Szenen unterstützen. Diese Aktoren verfügen über ein Kommunikationsobjekt, über welches Szenen angesteuert werden können. Szenen werden ausgelöst, indem auf die Gruppenadresse (GA) die mit diesem Kommunikationsobjekt verbunden ist, ein numerischer 8-Bit Wert gesendet wird. Gültige Werte sind hierfür 0 bis 63. Über eine Szene können also nur Aktoren angesteuert werden, die mit der selben Gruppenadresse verbunden sind.</p>
<p>Auf welche Werte (Szenennummern) der jeweilige Aktor reagiert, muss mit der ETS konfiguriert werden. In der ETS wird auch festgelegt, welchen Zustand der Aktor einnehmen soll, wenn über die Gruppenadresse eine Szene angesteuert wird.</p>
<p>Optional kann in der ETS eingestellt werden, dass Aktoren die Zustände die zu einer Szene gehören lernen kann. Das geschieht folgendermaßen: Die Aktoren werden manuell in den Zustand gebracht, den sie für eine Szene einnehmen sollen. Anschließend wird auf die Guppenadresse der Wert Szenennummer+128 (also 128 bis 191) gesendet. Dadurch werden die Aktoren, bei denen das &#8222;Lernen&#8220; aktiviert ist veranlasst, sich den aktuellen Zustand als Zustand für die entsprechende Szene zu merken.</p>
<h3>Ansteuerung von KNX-Szenen aus SmartHomeNG</h3>
<p>Um KNX-Szenen aus SmartHomeNG anzusteuern, muss ein numerisches Item angelegt werden und es muss den Wert auf die Gruppenadresse senden, die zur Szenensteuerung verwendet wird:</p>
<pre><code class="language-yaml">meine_items:
    knx_szenen:
        name: Beispiel für KNX-Szenen
        type: num
        enforce_updates: True
        knx_dpt: 5
        knx_send: 0/0/3
</code></pre>
<p><strong>enforce_updates</strong> muss auf True gesetzt werden, damit wenn mehrfach hintereinander die selbe Szene angesteuert werden soll, der Wert auch auf den KNX Bus geschrieben wird.<br />
Der <strong>knx_dpt</strong> Wert 5 (8 Bit 0-255) ist die ursprüngliche Art Szenen in KNX Anzusteuern. Hier werden die Szenen über Werte von 0 bis 63 angesteuert.</p>
<p>Es gibt inzwischen in KNX eigene DPT Werte um Szene anzusteuern (DPT 17 und 18). Bei diesen DPTs werden die Szenen von 1 bis 64 nummeriert. Es ist zu beachten, dass ganz alte KNX Aktoren diese DPTs eventuell nicht kennen (weshalb ich mir angewöhnt habe immer DPT 5 zu verwenden).</p>
<h3>Szenen in SmartHomeNG</h3>
<p>Szenen in SmartHomeNG funktionieren nach dem gleichen Prinzip wie KNX-Szenen. Damit SmartHomeNG erkennt, dass ein Item die Ansteuerung einer Szene bewirken soll, muss der Item-Type <strong>scene</strong> gewählt werden. Ein Szenen Item für SmartHomeNG Szenen sieht somit folgendermaßen aus:</p>
<pre><code class="language-yaml">meine_items:
    szenen:
        name: Beispiel für SmartHomeNG-Szenen
        type: scene
        enforce_updates: True
</code></pre>
<p>Die Festlegungen, welche Items auf die Szene reagieren sollen und welchen Zustand sie einnehmen sollen (was bei KNX in der ETS festgelegt wird), erfolgt im Verzeichnis <strong>../scenes</strong> in einer YAML Datei, die den Namen des Szenen-Items trägt. Im obigen Beispiel also <strong>meine_items.szenen.yaml</strong>. Detals zum Aufbau dieser Datei sind in der Anwender Dokumentation in der Beschreibung der <a href="http://www.smarthomeng.de/dev/user/konfiguration/konfigurationsdateien/scenes.html">Konfigurationsdateien</a> zu finiden.</p>
<p>Die Ansteuerung der Szenen erfolgt analog zur Ansteuerung von KNX-Szenen durch Zuweisung eines Wertes zwischen 0 und 63 zum Abruf (und 128 bis 191 zum speichern) von Szenen.</p>
<h3>Gemischte Szenen in SmartHomeNG und KNX</h3>
<p>Es ist auch möglich, Szenen zwischen SmartHomeNG und KNX zu mischen, ohne die Items der KNX Aktoren in die SmartHome Szenen Definition im <strong>../scenes</strong> Verzeichnis aufnehmen zu müssen. Es kann dabei auf die KNX Funktionalität zurück gegriffen werden. Dazu muss das Szenen Item einer SmartHomeNG Szene nur um die KNX Attribute erweitert werden:</p>
<pre><code class="language-yaml">meine_items:
    szenen:
        name: Beispiel für gemischte Szenen
        type: num
        enforce_updates: True
        knx_dpt: 5
        knx_send: 0/0/3
</code></pre>
<p>Wenn die Szenen Ansteuerung auch aus dem KNX Bus heraus erfolgen soll, also z.B. über einen Tastsensor der Szenen abruft oder speichert, muss das Beispiel nur noch um den KNX Listen-Befehl auf die Szenen-GA erweitert werden:</p>
<pre><code class="language-yaml">meine_items:
    szenen:
        name: Beispiel für gemischte Szenen
        type: num
        enforce_updates: True
        knx_dpt: 5
        knx_send: 0/0/3
        knx_listen: 0/0/3
</code></pre>
<p>Nun bewirkt ein Szenen Abruf durch einen KNX Taster, dass auch die Items der SmartHomeNG Szene mit angesteuert werden.</p>
<h3>Beispiel Implementierung</h3>
<p>Im folgenden wird die Implementierung der Lichtsteuerung gezeigt, bei der fast alle Leuchten über KNX-Szenen gesteuert werden. Allerdings soll eine Philips HUE Leuchte mit angesteuert werden, welche aus SmartHomeNG heraus mit dem hue Plugin gesteuert wird.</p>
<p>Das Szenen Item wird azu folgendermaßen definiert:</p>
<pre><code class="language-yaml">wohnung:
    buero:
        szenen_knx:
            comment: 0=aus, 1=Ambiente, 2=hell, 3=Putzen, 4=Party
            name: Beleuchtungsszenen Büro
            type: scene
            enforce_updates: 'on'
            knx_dpt: 5
            knx_send: 1/0/16
            knx_listen: 1/0/16
</code></pre>
<p>Die KNX Aktoren (Dimmer) sind entsprechend konfiguriert, dass sie auf der GA 1/0/16 auf die Szenennummern 0 bis 4 (gemäß KNX Definition Szenen 1 bis 5) reagieren und dass sie für die Szenennummern 1 und 2 das lernen zulassen.</p>
<p>Die SmartHomeNG Szene ist im Verzeichnis <strong>../scenes</strong> in der Datei <strong>wohnung.buero.szenen_knx.yaml</strong> folgendermaßen definiert:</p>
<pre><code class="language-yaml">
0:
    name: Aus
    # Leuchte Dreieckschrank ausschalten, falls die Schreibtischleuchte nicht eingeschaltet ist, sonst level 126 setzen
    actions:
        - {item: wohnung.buero.dreieckschrank.level, value: 0 if (sh.wohnung.buero.schreibtischleuchte.status() &lt; 2) else 126}
        - {item: wohnung.buero.dreieckschrank.ct, value: 345, learn: false}
        - {item: wohnung.buero.dreieckschrank.onoff, value: False if (sh.wohnung.buero.schreibtischleuchte.status() &lt; 2) else True}

1:
    name: Ambiente
    actions:
        - {item: wohnung.buero.dreieckschrank.level, value: sh...dreieckschrank.ambiente_level()+3, learn: false}
        - {item: wohnung.buero.dreieckschrank.ct, value: 345, learn: true}
        - {item: wohnung.buero.dreieckschrank.onoff, value: True, learn: true}

2:
    name: Hell
    actions:
        - {item: wohnung.buero.dreieckschrank.level, value: 126, learn: true}
        - {item: wohnung.buero.dreieckschrank.ct, value: 345, learn: true}

3:
    name: Putzen
    actions:
        - {item: wohnung.buero.dreieckschrank.onoff, value: True, learn: false}
        - {item: wohnung.buero.dreieckschrank.level, value: 255, learn: false}
        - {item: wohnung.buero.dreieckschrank.ct, value: 345, learn: false}

4:
    name: Party
    actions:
        - {item: wohnung.buero.dreieckschrank.level, value: 200, learn: false}
        - {item: wohnung.buero.dreieckschrank.hue, value: 59635, learn: false}
        - {item: wohnung.buero.dreieckschrank.sat, value: 230, learn: false}
        - {item: wohnung.buero.dreieckschrank.onoff, value: True, learn: false}
</code></pre>
<p>Zur Ansteuerung der Hue Leuchte über die Szene werden 3 Items gesteuert, welche die Leuchte ein- und ausschalten, den Dimmwert und die Farbe setzen.</p>
<p>Für jede der Szenen (0 bis 4) wird über <strong>value</strong> für diese Werte ein Wert gesetzt (der bei Abruf der Szene eingestellt werden soll) und über <strong>learn</strong> wird festgelegt, ob andere Werte gelernt werden können/dürfen. Für <strong>value</strong> können dabei nicht nur konstante Werte festgelegt werden, sondern auch <strong>eval Ausdrücke</strong>. Wenn ein eval Ausdruck angegeben wird, ist <strong>learn</strong> zwangsweise false. In diesem Fall können also keine Szenen Zustände gelernt werden.</p>
<p>Ein Beispiel für die Nutzung von eval Ausdrücken in Szenen ist bei Szene Nummer <strong>0</strong> zu finden, welche die Beleuchtung ausschalten soll. Falls im Büro die Schreibtisch Leuchte (die nicht Teil der Szenen ist) eingeschaltet ist, wird die HUE Leuchte jedoch nicht ausgeschaltet, sondern als Hintergrund Beleuchtung in einem gedimmten warmen Weiss eingeschaltet.</p>
<p>Bei Szene Nummer <strong>1</strong> wird eine andere eval Nutzung mit Anwendung relativer Item Adressierung gezeigt. Hier wird der Wert auf den Wert eines anderen Items plus 3 gesetzt. Hier kann nur der Weisston und Ein/Aus über die Szene gelernt werden.</p>
<p>Bei Szene Nummer <strong>4</strong> wird eine vorgewählte Farbe und Helligkeit der HUE Leuchte eingestellt, die bewusst nicht durch &#8222;Lernen&#8220; geändert werden kann.</p>
<h3>Ansteuerung der Szenen über smartVISU</h3>
<p>Die Ansteuerung der Szenen kann am besten über Buttons in der smartVISU erfolgen. Für das obige Beispiel wird die folgende Definition für die Autogenerierung verwendet:</p>
<p>&nbsp;</p>
<pre><code class="language-yaml">wohnung:
    buero:
        sv_page: room
        name: Büro
        sv_img: scene_office.svg

        visu:
            szenen_beleuchtung:
                name: Szenen Beleuchtung

                sv_widget: 'Szenen abrufen:
                    &lt;span data-role="controlgroup" data-type="horizontal"&gt;
                    {{ basic.button(''szenen_buero0'', ''wohnung.buero.szenen_knx'', ''Aus'', icon0~"control_standby.svg", ''0'', ''midi'') }}
                    {{ basic.button(''szenen_buero1'', ''wohnung.buero.szenen_knx'', ''Ambiente'', icon0~"light_light_dim_00.svg", ''1'', ''midi'') }}
                    {{ basic.button(''szenen_buero2'', ''wohnung.buero.szenen_knx'', ''Hell'', icon0~"light_ceiling_light.svg", ''2'', ''midi'') }}
                    {{ basic.button(''szenen_buero3'', ''wohnung.buero.szenen_knx'', ''Putzen'', icon0~"scene_cleaning.svg", ''3'', ''midi'') }}
                    {{ basic.button(''szenen_buero6'', ''wohnung.buero.szenen_knx'', ''Party'', icon0~"light_party.svg", ''4'', ''midi'') }}
                    &lt;/span&gt;&lt;br&gt;
                    &lt;div style="line-height: 30%;"&gt;
                         &lt;br&gt;br&gt;
                    &lt;/div&gt;
                    &lt;div&gt;Szenen speichern:&lt;br&gt;
                    &lt;span data-role="controlgroup" data-type="horizontal"&gt;
                    {{ basic.button(''szenen_bueroS0'', ''wohnung.buero.szenen_knx'', ''Aus'', icon0~''control_standby.svg'', ''128'', ''midi'', ''#4176a9'') }} 
                    {{ basic.button(''szenen_bueroS1'', ''wohnung.buero.szenen_knx'', ''Ambiente'', icon0~"light_light_dim_00.svg", ''129'', ''midi'', ''#4176a9'') }} 
                    {{ basic.button(''szenen_bueroS2'', ''wohnung.buero.szenen_knx'', ''Hell'', icon0~''light_ceiling_light.svg'', ''130'', ''midi'', ''#4176a9'') }} 
                    {{ basic.button(''szenen_bueroS3'', ''wohnung.buero.szenen_knx'', ''Putzen'', icon0~''scene_cleaning.svg'', ''131'', ''midi'', ''#4176a9'') }} 
                    {{ basic.button(''szenen_bueroS6'', ''wohnung.buero.szenen_knx'', ''Party'', icon0~''light_party.svg'', ''132'', ''midi'', ''#4176a9'') }} 
                    &lt;/span&gt;&lt;/div&gt;
</code></pre>
<p>Das erzeugt in der Visu:</p>
<ul>
<li>eine Seite &#8222;Büro&#8220; in der normalen Raum-Navigation.</li>
<li>auf dieser Seite einen Block mit dem Namen &#8218;Szenen Beleuchtung&#8216;</li>
<li>in diesem Block erzeuge ich zwei Button Reihen zur Szenen Steuerung: Der obere Block zum Abruf der Szenen, der untere Block zum Speichern von Szenen</li>
</ul>
<p>Das sieht dann so aus:</p>
<p><img fetchpriority="high" decoding="async" src="https://www.smarthomeng.de/wp-content/uploads/2020/05/smartVISU-Szenen-300x280.jpg" alt="" width="300" height="280" class="alignnone size-medium wp-image-2591" srcset="https://www.smarthomeng.de/wp-content/uploads/2020/05/smartVISU-Szenen-300x280.jpg 300w, https://www.smarthomeng.de/wp-content/uploads/2020/05/smartVISU-Szenen.jpg 398w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthomeng.de/nutzung-von-szenen-in-smarthomeng/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Extremwerte des Tages speichern</title>
		<link>https://www.smarthomeng.de/__trashed</link>
					<comments>https://www.smarthomeng.de/__trashed#comments</comments>
		
		<dc:creator><![CDATA[kex]]></dc:creator>
		<pubDate>Sun, 24 May 2020 19:59:01 +0000</pubDate>
				<category><![CDATA[Beispiel-Implementierungen]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[Items]]></category>
		<guid isPermaLink="false">https://www.smarthomeng.de/?p=2546</guid>

					<description><![CDATA[Meine Aufgabenstellung war die folgende: Speichern des höchsten gemessenen Temperaturwertes eines Tages und diesen einmal pro Tag zurücksetzten. Das ursprüngliche Item dessen Maximalwert ich speichern hat folgenden Aufbau. Wetterstation: Temperatur: type: num visu_acl: ro Um jetzt zusätzlich zum aktuellen Messwert den maximalen Messwert zu speichern habe ich das Item etwas<a class="moretag" href="https://www.smarthomeng.de/__trashed"> Weiterlesen&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>Meine Aufgabenstellung war die folgende: Speichern des höchsten gemessenen Temperaturwertes eines Tages und diesen einmal pro Tag zurücksetzten.</p>
<p>Das ursprüngliche Item dessen Maximalwert ich speichern hat folgenden Aufbau.</p>
<pre class="line-numbers"><code class="language-yaml">
Wetterstation:
    Temperatur:
        type: num
        visu_acl: ro
</code></pre>
<p>Um jetzt zusätzlich zum aktuellen Messwert den maximalen Messwert zu speichern habe ich das Item etwas angepasst:</p>
<pre class="line-numbers"><code class="language-yaml">
Wetterstation:
    Temperatur:
        Aktuell:
            type: num
            visu_acl: ro
        Maximum_Heute:
            type: num
            visu_acl: ro
</code></pre>
<p>Für Wetterstation.Tempertatur.Maximum_Heute müssen jetzt noch folgende Dinge hinzufefügt werden:</p>
<ul>
<li><a href="#d1">Überprüfen auf Änderungen</a><br />
Immer wenn sich der Wert von <strong>Wetterstation.Temperatur.Aktuell</strong> ändert, soll überprüft werden, ob <strong>Wetterstation.Temperatur.Maximum_Heute</strong> aktualisiert werden muss.</li>
<li><a href="#d2">Aktualisieren des Wertes</a><br />
Wenn bei dieser Überprüfung der aktuelle Wert höher ist als der bisher in <strong>Wetterstation.Temperatur.Maxiumum_Heute</strong> gespeicherte Wert, soll der Wert aktualisiert werden.</li>
<li><a href="#d3">Zurücksetzen des Wertes</a><br />
Einmal am Tag muss <strong>Wetterstation.Temperatur.Maximum_Heute</strong> zurückgesetzt werden.</li>
</ul>
<h3 id="d1">Überprüfen auf Änderungen</h3>
<p>Das überprüfen, ob sich die aktuelle Temperatur ändert, geht ganz einfach indem man <strong>Wetterstation.Temperatur.Maximum_Heute</strong> einen eval_trigger auf das Item <strong>Wetterstation.Temperatur.Aktuell</strong> hinzufügt. Seit SmartHomeNG kann man das Item auch relativ angeben: ..Aktuell.<br />
es entsteht also folgender <strong>eval_trigger</strong>:</p>
<pre><code class="language-yaml">eval_trigger: ..Aktuell</code></pre>
<h3 id="d2">Aktualisieren des Wertes</h3>
<p>Wenn bei der Überprüfung der aktuelle Wert höher ist als der bisher in Wetterstation.Temperatur.Maxiumum_Heute gespeicherte Wert, soll der Wert aktualisiert werden.<br />
Das geht über ein <strong>eval</strong>:</p>
<pre><code class="language-yaml">eval: sh...Aktuell() if float(sh..self()) &gt; sh...Aktuell() else sh..self.property.value</code></pre>
<h3 id="d3">Zurücksetzen des Wertes</h3>
<p>Der Wert soll einmal pro Tag und bei einem Neustart zurückgesetzt werden. Das wird über ein <strong>crontab </strong>und ein <em>Magic Value</em> (99.9) erledigt. Es wird davon ausgegangen, dass ein Temperaturwert von 99.9 nie vorkommt und deshalb zum Zurücksetzen verwendet werden kann.</p>
<p>Verzögerung bei der Initialisierung: Meine Wetterstation liefert nur alle 5 Minuten (alle 300 Sekunden) einen neuen Temperaturwert. Das heisst nach einem Neustart von SmartHomeNG steht also für maximal 5 Minuten kein aktueller Messwert in <strong>Wetterstation.Temperatur.Aktuell</strong> sondern 0.0. Deshalb wird nach 5 Minuten und 10 Sekunden <strong>Wetterstation.Temperatur.Maximum_Heute</strong> auf die aktuelle Temperatur zurückgesetzt.</p>
<pre><code class="language-yaml">crontab:
 -init+310 = 99.9
 -0 0 * *  = 99.9
</code></pre>
<p>Auch der <strong>eval</strong> Ausdruck muss für das Zurücksetzen erweitert werden:</p>
<pre><code class="language-yaml">eval: sh...Aktuell() if <strong>value == 99.9 or</strong> float(sh..self()) &gt; sh...Aktuell() else sh..self.property.value
</code></pre>
<p>Natürlich kann dieses Prinzip Minimal-Werte angewendet werden. Dafür muss nur der Vergleich im <strong>eval</strong> Ausdruck angepasst werden.</p>
<p>Das endgültige Item sieht dann so aus:</p>
<pre class="line-numbers"><code class="language-yaml">
Wetterstation:
    Temperatur:
        Aktuell:
            type: num
            visu_acl: ro
        Maximum_Heute:
            type: num
            visu_acl: ro
            eval: sh...Aktuell() if value == 99.9 or float(sh..self()) &lt; sh...Aktuell() else sh..self.property.value
            eval_trigger: ..Aktuell
            # Reset am Ende des Tages durch "MagicValue" 99.9. Es wird angenommen, 
            # dass dieser Temperaturwert in der Praxis niemals auftritt. 
            crontab: 
             - 0 3 * * = 99.9
             # +310 weil die Wetterstation mindestens alle 300 Sekunden einen aktualisierten Temperatur Wert sendet
             # dadurch wird sichergestellt, dass nach einem Neustart von SmartHomeNG in ..Aktuell auf jeden Fall ein gültiger Wert steht. 
             - init+310 = 99.9
</code></pre>
<p>Wenn etwas anderes als Temperaturwerte gespeichert werden sollen, kann es auch sein, dass als <em>Magic Value</em> eine andere Zahl verwendet werden muss.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smarthomeng.de/__trashed/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
