<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DarkT</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DarkT"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/DarkT"/>
	<updated>2026-04-12T15:59:24Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Alarm_und_FTUI&amp;diff=25615</id>
		<title>Alarm und FTUI</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Alarm_und_FTUI&amp;diff=25615"/>
		<updated>2018-03-01T15:44:11Z</updated>

		<summary type="html">&lt;p&gt;DarkT: /* Anlegen eines Dummy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Ziel und Voraussetzungen==&lt;br /&gt;
Auf dieser Seite wird erläutert, wie man das [[Modul_Alarm|Modul Alarm]] mit Hilfe eines Keypads aus dem FTUI heraus  steuert.&lt;br /&gt;
&lt;br /&gt;
Ziel ist, das TabletUI mit einem Keypad zu schützen während der Alarm aktiv ist und darüber hinaus über Eingabe des korrekten Pins die Alarmanlage zu entschärfen.&lt;br /&gt;
&lt;br /&gt;
* Das [[Modul_Alarm|Modul Alarm]] muss installiert sein, das Alarmdevice wird im Folgenden &#039;&#039;&#039;AAA&#039;&#039;&#039; genannt (ansonsten muss der entsprechende Name in den nachfolgenden Beispielen geändert werden)&lt;br /&gt;
* Es muss eine laufende TabletUI-Instanz vorhanden sein&lt;br /&gt;
&lt;br /&gt;
==Anlegen eines Dummy==&lt;br /&gt;
Im ersten Schritt muss ein Dummy angelegt werden, welcher den Status der Alarmanlage ebenso wie Daten aus dem Keypad erhält:&lt;br /&gt;
 defmod AAA.key dummy&lt;br /&gt;
 attr AAA.key alarmDevice Sensor&lt;br /&gt;
 attr AAA.key alarmSettings alarm&amp;lt;alarmlevel&amp;gt;,|AAA.key:.unlocked|unlocked|off   # wird durch das Modul Alarm angelegt&lt;br /&gt;
 attr AAA.key event-on-change-reading state,inputPin&lt;br /&gt;
 attr AAA.key event-on-update-reading key&lt;br /&gt;
 attr AAA.key readingList key,inputPin,fails,unlockPin&lt;br /&gt;
 attr AAA.key room Alarm&lt;br /&gt;
 attr AAA.key setList unlockPin&lt;br /&gt;
 attr AAA.key userReadings inputPin:key:.[0-9] { return ReadingsVal($NAME, &amp;quot;inputPin&amp;quot;, &amp;quot;*&amp;quot;) . ReadingsVal($NAME, &amp;quot;key&amp;quot;, &amp;quot;0&amp;quot;);; }, fails:key:.# { if (ReadingsVal($NAME, &amp;quot;inputPin&amp;quot;, &amp;quot;0&amp;quot;) ne ReadingsVal($NAME, &amp;quot;unlockPin&amp;quot;, &amp;quot;0&amp;quot;)) { return ReadingsVal($NAME, &amp;quot;fails&amp;quot;, 0)+1;; } else { return 0;; } }, state:key:.# { if (ReadingsVal($NAME, &amp;quot;inputPin&amp;quot;, &amp;quot;0&amp;quot;) ne ReadingsVal($NAME, &amp;quot;unlockPin&amp;quot;, &amp;quot;0&amp;quot;)) { return &amp;quot;locked&amp;quot;;; } else { return &amp;quot;unlocked&amp;quot;;; } }, inputPin:key:.[\&amp;lt;] { my $inputVal = ReadingsVal($NAME, &amp;quot;inputPin&amp;quot;, &amp;quot;0&amp;quot;);; chop($inputVal);; return $inputVal;; },  inputPin:key:.# { return &amp;quot;&amp;quot;;; }&lt;br /&gt;
&lt;br /&gt;
Darin muss natürlich &#039;&#039;&amp;lt;alarmlevel&amp;gt;&#039;&#039; durch den gewünschten Level ersetzt werden (die Änderung dieses Attributes erfolgt automatisch durch das Alarm-Modul, bitte &#039;&#039;&#039;nicht&#039;&#039;&#039; manuell eingeben).&lt;br /&gt;
&lt;br /&gt;
In diesem Dummy kann über den Befehl&lt;br /&gt;
 set unlockPin &amp;lt;Wert&amp;gt;&lt;br /&gt;
der gültige Pincode gesetzt werden&lt;br /&gt;
&lt;br /&gt;
Die userReadings füllen (je nach Änderung des Readings key) die folgenden Readings:&lt;br /&gt;
*fails (Anzahl ungültiger Versuche)&lt;br /&gt;
*inputPin (Eingabe Pin, als Aneinanderreihung der einzelnen Keys)&lt;br /&gt;
*state (locked/unlocked)&lt;br /&gt;
&lt;br /&gt;
==Anlegen eines Notify==&lt;br /&gt;
Wenn der richtige Code eingegeben wurde, soll die Alarmanlage unscharf geschaltet werden:&lt;br /&gt;
 defmod AAA.disarmed.N notify AAA.key:unlocked set AAA disarmed &amp;lt;alarmlevel&amp;gt;&lt;br /&gt;
 attr AAA.disarmed.N room Alarm&lt;br /&gt;
&lt;br /&gt;
==Einbinden des Keypads in das FTUI==&lt;br /&gt;
Dazu muss in die anzuzeigende Seite der folgende Code eingetragen werden:&lt;br /&gt;
 &amp;amp;lt;!-- Alarmanlage Keypad --&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;div data-type=&amp;quot;popup&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-get-on=&amp;quot;locked&amp;quot; data-get-off=&amp;quot;unlocked&amp;quot; data-width=&amp;quot;400px&amp;quot; data-height=&amp;quot;500px&amp;quot; class=&amp;quot;interlock&amp;quot;&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;div class=&amp;quot;red bold top-space-2x&amp;quot;/&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;div class=&amp;quot;dialog&amp;quot;&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;header&amp;amp;gt;Alarm deaktivieren&amp;amp;lt;/header&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div data-type=&amp;quot;label&amp;quot; class=&amp;quot;cell big top-space-2x wider&amp;quot;&amp;amp;gt;PIN-Code&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;inline big top-space&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;1&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;1&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;4&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;4&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;7&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;7&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;fa-long-arrow-left&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;&amp;amp;amp;lt;&amp;quot; onclick=&amp;quot;&amp;quot;/&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;inline big&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;2&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;2&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;5&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;5&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;8&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;8&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;0&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;0&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;inline big&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;3&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;3&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;6&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;6&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-icon=&amp;quot;&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;9&amp;quot; onclick=&amp;quot;&amp;quot;&amp;amp;gt;9&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;push&amp;quot; data-off-color=&amp;quot;green&amp;quot; data-icon=&amp;quot;fa-unlock&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-set=&amp;quot;key&amp;quot; data-set-on=&amp;quot;#&amp;quot; onclick=&amp;quot;&amp;quot;/&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;bg-lightgray border-white top-space centered&amp;quot; style=&amp;quot;width:280px; height:50px;&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;AAA.key&amp;quot; data-get=&amp;quot;inputPin&amp;quot; class=&amp;quot;tall&amp;quot;/&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
Dieser Code sorgt dafür, dass ein Keypad auf der TabletUI Seite immer dann angezeigt wird, wenn der State von &#039;&#039;&#039;AAA.key&#039;&#039;&#039; auf &#039;&#039;locked&#039;&#039; steht. Darüber hinaus wird bei jedem Klick auf einen der Buttons das key-Reading des Devices AAA.key gesetzt.&lt;br /&gt;
&lt;br /&gt;
==Optional: Aktivieren der Alarmanlage durch das Tablet-UI==&lt;br /&gt;
Eine Aktivierung der Alarmanlage kann dadurch erfolgen, dass ein entsprechender Switch in die FTUI-Seite eingebaut wird:&lt;br /&gt;
 &amp;amp;lt;!-- Alarm --&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;li data-row=&amp;quot;2&amp;quot; data-col=&amp;quot;8&amp;quot; data-sizey=&amp;quot;1&amp;quot; data-sizex=&amp;quot;1&amp;quot;&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;header&amp;amp;gt;Alarmanlage&amp;amp;lt;/header&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;div data-type=&amp;quot;switch&amp;quot;&lt;br /&gt;
        data-states=&#039;[&amp;quot;armed&amp;quot;,&amp;quot;armwait&amp;quot;,&amp;quot;disarmed&amp;quot;]&#039;&lt;br /&gt;
        data-icons=&#039;[&amp;quot;fa-lock&amp;quot;,&amp;quot;fa-unlock&amp;quot;,&amp;quot;fa-unlock&amp;quot;]&#039;&lt;br /&gt;
        data-background-colors=&#039;[&amp;quot;red&amp;quot;,&amp;quot;red&amp;quot;,&amp;quot;green&amp;quot;]&#039;&lt;br /&gt;
        data-device=&amp;quot;AAA&amp;quot;&lt;br /&gt;
        data-get=&amp;quot;level0&amp;quot;&lt;br /&gt;
        data-get-on=&#039;[&amp;quot;armed&amp;quot;,&amp;quot;armwait&amp;quot;]&#039;&lt;br /&gt;
        data-get-off=&amp;quot;disarmed&amp;quot;&lt;br /&gt;
        data-set-on=&amp;quot;armed 0&amp;quot;&lt;br /&gt;
        data-on-background-color=&amp;quot;red&amp;quot;&lt;br /&gt;
        data-off-background-color=&amp;quot;green&amp;quot;&lt;br /&gt;
        style=&amp;quot;padding-top:20px&amp;quot;&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
[[Kategorie:FHEM Tablet UI]]&lt;br /&gt;
[[Kategorie:Examples]]&lt;/div&gt;</summary>
		<author><name>DarkT</name></author>
	</entry>
</feed>