<?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=Biopio</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=Biopio"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Biopio"/>
	<updated>2026-04-14T18:44:32Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37052</id>
		<title>Silvercrest SWS A1 Wifi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37052"/>
		<updated>2022-01-08T17:09:56Z</updated>

		<summary type="html">&lt;p&gt;Biopio: /* Search device */ Corrected search_response and added information about broadcasting the command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- @Jörg: schau mal, dass Du im Forum einen eigenen Thread in einem sinnvolleren Bereich aufmachst,&lt;br /&gt;
  das dürfte die Beschreibung vereinfachen und die Verwaltung des Moduls übersichtlicher machen --&amp;gt;&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=Silvercrest_SWS_A1_Wifi&lt;br /&gt;
|ModPurpose=Schalten der SilverCrest SWS-A1 Steckdose&lt;br /&gt;
|ModType=x&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=Silvercrest_SWS_A1_Wifi -- nicht erforderlich, da Modultyp x --&amp;gt;&lt;br /&gt;
|ModFTopic=38112&lt;br /&gt;
|ModForumArea=Off-Topic&lt;br /&gt;
|ModTechName=53_Silvercrest_SWS_A1_Wifi.pm&lt;br /&gt;
|ModOwner=JoergOstertag ({{Link2FU|18727|Forum}}/[[Benutzer Diskussion:JoergOstertag|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SilverCrest SWS-A1 per WiFi schaltbare Steckdose ==&lt;br /&gt;
Die per WiFi schaltbare Steckdose von der LIDL Hausmarke SilverCrest ist nach Erstkonfiguration per UDP steuerbar.&lt;br /&gt;
&lt;br /&gt;
Im [http://forum.fhem.de/index.php?topic=38112.0 Forums Thread] ist einiges an interessanten Hinweisen zu der technischen Umsetzung der Steckdose aufgeführt.&lt;br /&gt;
&lt;br /&gt;
Exemplarisch ist in dem Perl Modul 53_Silvercrest_SWS_A1_Wifi.pm  das Ein-/Aus-schalten der Steckdose implementiert.&lt;br /&gt;
&lt;br /&gt;
===Modul 53_Silvercrest_SWS_A1_Wifi.pm===&lt;br /&gt;
====Installation====&lt;br /&gt;
aptitude install libcrypt-rijndael-perl&lt;br /&gt;
&lt;br /&gt;
Das Modul {{Link2Forum|Topic=38112|Message=379733|LinkText=hier herunterladen}} und in das FHEM Verzeichnis (meist /opt/fhem/FHEM/) kopieren.&lt;br /&gt;
&lt;br /&gt;
====Verwendung====&lt;br /&gt;
Danach kann das Modul SWS-A1 (und evtl. Softwaregleiche) Steckdosen schalten und deren Zustand erfassen. Voraussetzung ist, dass die Steckdosen und FHEM im selben Netzwerksegment sind und die UDP-Broadcasts der Steckdose von FHEM empfangen werden können.&lt;br /&gt;
&lt;br /&gt;
Das Modul sendet Pakete per UDP an die konfigurierte IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
====Konfiguration====&lt;br /&gt;
Bsp Eintrag für die Dose&lt;br /&gt;
&lt;br /&gt;
fhem/fhem.cfg:&lt;br /&gt;
   define DoseDeckenFluter Silvercrest_SWS_A1_Wifi AC:CF:23:34:12:12 192.168.168.101&lt;br /&gt;
&lt;br /&gt;
====Autocreate====&lt;br /&gt;
Sobald irgendein define mit diesem Modul getätigt wird, macht das Modul einen Listening Socket auf dem UDP-Port 8530 auf. Die über diesen UDP-Socket empfangenen Pakete werden entweder einer bereits bestehenden Definition zugeordnet und der aktuelle Zustand aktualisiert. Oder ein entsprechend neuer Eintrag wird mittels autocreate angelegt.&lt;br /&gt;
&lt;br /&gt;
Somit kann auch ein leerer (keineIP/MAC) Eintrag verwendet werden, um das Modul in den AutoCreate Modus zu bringen.&lt;br /&gt;
  define autoCreateDosen Silvercrest_SWS_A1_Wifi&lt;br /&gt;
&lt;br /&gt;
Dieser define wird zwar (evtl.) mit einer Fehlermeldung quittiert, da dies ja keine Echte Definition einer Dose ist. Es hat aber den Vorteil, dass sobald ein Request über den UDP Port 8530 empfangen wird und autocreate aktiviert ist, automatisch ein neuer Eintrag für die empfangene Dose in die /opt/fhem/fhem.cfg geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stromverbrauch===&lt;br /&gt;
Laut Forum:&lt;br /&gt;
Verbrauch  ca. 0,3 Watt.&lt;br /&gt;
Bei angezogenem Relais schwankt es zwischen 0,4 und 1 Watt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web GUI===&lt;br /&gt;
&lt;br /&gt;
Wenn sich die Steckdose im WLAN angemeldet hat, kann man mit dem Browser auf das WebGUI zugreifen. Die Zugangsdaten sind:&lt;br /&gt;
&lt;br /&gt;
  Login: admin &lt;br /&gt;
  Passwort: admin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PHP Example Code with crypt===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function decodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mdecrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function encodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mcrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$msg = &#039;4CF75F5A28A181574AC1B563CD51A78D&#039;; // to switch &#039;on&#039;&lt;br /&gt;
echo &amp;quot;Original message: $msg\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$decryptedPacket = decodePacket(hex2bin($msg));&lt;br /&gt;
echo &#039;Decrypted packet: &#039; . bin2hex($decryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$reencryptedPacket = encodePacket($decryptedPacket);&lt;br /&gt;
echo &#039;Re-encoded packet: &#039; . bin2hex($reencryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sniffing-Erkenntnisse===&lt;br /&gt;
&lt;br /&gt;
Aus dem Forum von Markus und den Captures von ext23:&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich laeuft die Kommunikation wohl so:&lt;br /&gt;
Das Smartphone kommuniziert direkt mit der Steckdose sofern im LAN angebunden. Das Hinwort vom Smartphone muss von der Steckdose korrekt bestätigt werden, ansonsten wird wiederholt. Danach Broadcastet die Steckdose den Status im eigenen Subnetz und meldet wohl danach den Status an den Server im Internet.&lt;br /&gt;
&lt;br /&gt;
Wenn die Taste an der Steckdose gedrückt wird:&lt;br /&gt;
Die Steckdose broadcastet zweimal ihre Information, dann wird die Info an den Webserver geschickt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenwert 25Bytes UDP&lt;br /&gt;
&lt;br /&gt;
#	Framenummer im Trace&lt;br /&gt;
Hin	Vom Smartphone zur Steckdose&lt;br /&gt;
Rueck	Von Steckdose zum Smartphone&lt;br /&gt;
BC	Broadcast von der Steckdose ins lokale Subnetz&lt;br /&gt;
UPL	Von der Steckdose zum Server im Internet&lt;br /&gt;
Antwort	Vom Server im Internet zur Steckdose&lt;br /&gt;
1	Indikator App/Steckdose oder Hin/Rueck?&lt;br /&gt;
2	MAC Adresse d. Steckdose&lt;br /&gt;
3	immer gleich. Evtl nur ein Toggle Befehl?&lt;br /&gt;
4	Unklarer Payload&lt;br /&gt;
??	Unklar warum gesendet wurde. Evtl Statusupdate?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		|-1--|-------2---------|3-|------------------------4---------------------|&lt;br /&gt;
&lt;br /&gt;
4??	Upload	01:40:ac:cf:23:2a:9f:94:10:fc:ba:26:9d:c2:ad:75:be:68:32:43:b9:99:9d:5b:c2&lt;br /&gt;
5??	Antwort ACK&lt;br /&gt;
6??	Antwort	01:42:ac:cf:23:2a:9f:94:10:29:0b:c8:f9:51:c0:ef:53:88:45:6d:67:a6:8e:ec:d6&lt;br /&gt;
7??	Upload	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8An	Hin 	01:40:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
9An	Rueck	01:42:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
10An Broadcast1	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
11An Broadcast2	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
12An	Upload	01:42:ac:cf:23:2a:9f:94:10:c1:b2:c8:9c:b2:8b:0c:9b:ef:58:7e:63:b7:a3:96:8f&lt;br /&gt;
13An	Antwort	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14Aus	Hin	01:40:ac:cf:23:2a:9f:94:10:cc:52:dc:6b:9f:0d:14:14:5d:5d:69:17:43:13:0c:c9&lt;br /&gt;
15Aus	Rueck	01:42:ac:cf:23:2a:9f:94:10:2f:ea:1b:ed:aa:fe:16:d4:ac:41:39:b0:ce:4c:02:02	&amp;lt;&amp;lt; Antwort nicht identisch Hinwort&lt;br /&gt;
16WDH?	Hin	01:40:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d&lt;br /&gt;
17WDH?	Rueck	01:42:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d	&lt;br /&gt;
18Aus	BC1	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
19Aus	BC2	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
20Aus	UPL	01:42:ac:cf:23:2a:9f:94:10:19:dd:b9:18:bb:2e:54:00:5b:54:86:18:94:ef:f1:58&lt;br /&gt;
21Aus	Antw	ACK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
-Daten verschlüsselt mit &amp;quot;AES/CBC/NoPadding&amp;quot; mit Schlüssel &amp;quot;0123456789abcdef&amp;quot;&lt;br /&gt;
 Enthält folgendes entschlüsselt:&lt;br /&gt;
00 00 29 C1 11 71 50 01 00 00 FF FF 04 04 04 04&lt;br /&gt;
[…]&lt;br /&gt;
Hinweise zu den Paketnummern:&lt;br /&gt;
Die Range ist von 00 00 bis FF FF, also 65535. Danach wird der Zähler von der Dose zurückgesetzt.&lt;br /&gt;
Die Dose akzeptiert keine Befehle mit Paketnummern kleiner als der interne Zähler.&lt;br /&gt;
Man kann aber immer FF FF benutzen, um sicher zu gehen, dass der Befehl akzeptiert wird. (Sofern man auf das Zählen der Pakete verzichten kann)&lt;br /&gt;
Auch wenn die Dose einen Befehl identisch als Quittung zurücksendet wird der Paketzähler in der Dose erhöht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Abfragen===&lt;br /&gt;
&lt;br /&gt;
Die App sendet jedenfalls zur Abfrage ein UDP-Paket&lt;br /&gt;
  0140 + mac(6B) + 10 + enc(16B)&lt;br /&gt;
&lt;br /&gt;
wobei der kodierte Befehl (enc) so aussieht:&lt;br /&gt;
  00 0000 c1 11 7150 23 + mac + 0202&lt;br /&gt;
&lt;br /&gt;
Beim 2. und 3. Byte wie üblich mit der Paketnummer aufpassen. Und bei der MAC müsste auch 6 mal FF als Broadcast an alle Geräte funktionieren; kommt zumindest in der App vor, habe ich aber noch nicht ausprobiert]&lt;br /&gt;
&lt;br /&gt;
Die Dose antwortet dann mit einem UDP-Paket.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Protokoll===&lt;br /&gt;
====Data structure====&lt;br /&gt;
The data packet is divided into 2 parts:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01:40:ac:cf:23:37:32:96:10&lt;br /&gt;
| 26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
|-&lt;br /&gt;
| Non-crypted data&lt;br /&gt;
| Crypted data&lt;br /&gt;
|-&lt;br /&gt;
| 9 bytes&lt;br /&gt;
| bytes depend on command&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Non-crypted data:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01&lt;br /&gt;
| 40&lt;br /&gt;
| AC:CF:23:37:32:96&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| lock status&lt;br /&gt;
| MAC address&lt;br /&gt;
| length of encrypted data&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| 40=open&amp;lt;br/&amp;gt;&lt;br /&gt;
44=locked&amp;lt;br/&amp;gt;&lt;br /&gt;
42=response/receipt&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 6 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
Encrypted data:&amp;lt;br/&amp;gt;&lt;br /&gt;
The second part of the data packet is encrypted with &#039;&#039;&#039;&amp;quot;AES/CBC/NoPadding&amp;quot;&#039;&#039;&#039; with key &#039;&#039;&#039;&amp;quot;0123456789abcdef&amp;quot;&#039;&#039;&#039; and the same initialization vector (iv).&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00&lt;br /&gt;
| 00:29&lt;br /&gt;
| c1&lt;br /&gt;
| 11&lt;br /&gt;
| 71:50&lt;br /&gt;
| 01:00:00:FF FF:04:04:04:04&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| packet number**&lt;br /&gt;
| company code&lt;br /&gt;
| device type&lt;br /&gt;
| authentication code&lt;br /&gt;
| command&lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| depends on the command&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;packet number: The plug has an internal packet counter. It does not accept commands with lower packet numbers. A response/receipt has the same packet number as the sent command, but the counter is increased.&lt;br /&gt;
&lt;br /&gt;
====Commands====&lt;br /&gt;
=====Switching=====&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_event&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| switch:&lt;br /&gt;
| 01:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 01:00:00:00:FF:04:04:04:04&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| switch_receipt:&lt;br /&gt;
| a copy of the command&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
| switch_event:&lt;br /&gt;
| 06:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is switched on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 06:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is switched off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch state&#039;&#039;&#039;&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| get_state&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| state&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| get_state:&lt;br /&gt;
| 02:00:00:00:00:04:04:04:04&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| state:&lt;br /&gt;
| 02:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 02:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Search device=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt;- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| search:&lt;br /&gt;
| 23:MACADDRESS*:02:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| search_response:&lt;br /&gt;
| 23:IP**:MACADDRESS:10:30:31:32:33:34:35:36:37:38:39:61:62:63:64:65:66:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; MAC address of the plug (6 bytes), can be set to FF:FF:FF:FF:FF:FF.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; IP address of the plug (4 bytes).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;search device&#039;&#039;&#039; command can be broadcasted to IP &#039;&#039;&#039;255.255.255.255&#039;&#039;&#039; with MAC address &#039;&#039;&#039;FF:FF:FF:FF:FF:FF&#039;&#039;&#039; to receive the MAC addresses and IPs of all connected plugs.&lt;br /&gt;
&lt;br /&gt;
=====Heartbeat=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| heartbeat:&lt;br /&gt;
| 61 55 93 26 54 04 04 04 04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| heartbeat_response:&lt;br /&gt;
| 61 00 1E 06 06 06 06 06 06&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Timer functions=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_timer:&lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:FF:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:00:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| set_timer_receipt:&lt;br /&gt;
| 03:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| Timer number QQ is set&lt;br /&gt;
|}&lt;br /&gt;
set_timer details:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 03:00&lt;br /&gt;
| QQ&lt;br /&gt;
| XX&lt;br /&gt;
| YY&lt;br /&gt;
| ZZ&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| 0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
|-&lt;br /&gt;
| Cmd&lt;br /&gt;
| Timer number&lt;br /&gt;
| Repeater&lt;br /&gt;
| hour&lt;br /&gt;
| minute&lt;br /&gt;
| ON&lt;br /&gt;
|  style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| OFF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. Timers will be overwritten, not added. &amp;lt;br/&amp;gt;Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| delete_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| delete_timer_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| delete_timer:&lt;br /&gt;
| 05:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| delete timer number QQ&lt;br /&gt;
|-&lt;br /&gt;
| delete_timer_receipt:&lt;br /&gt;
| a copy of the command&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query timers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_timer:&lt;br /&gt;
| 04:00:00:06:06:06:06:06:06&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_timer_response:&lt;br /&gt;
| 04:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
01:00:FF:00:00:00:00:FF:02:00:FF:00:00:00:00:FF:03:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
04:00:FF:00:00:00:00:FF:05:00:FF:00:00:00:00:FF:06:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
07:00:FF:00:00:00:00:FF:08:00:FF:00:00:00:00:FF:09:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
0A:00:FF:00:00:00:00:FF:0B:00:00:00:00:00:00:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| (Timer1)01:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
(Timer2)02:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
…&amp;lt;br/&amp;gt;&lt;br /&gt;
(TimerX)QQ:XX:YY:ZZ:RR:RR:RR:RR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. &#039;&#039;0B is the countdown.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hour (YY)&amp;lt;br/&amp;gt;&lt;br /&gt;
Minute (ZZ)&amp;lt;br/&amp;gt; &lt;br /&gt;
Switching function (RR:RR:RR:RR):&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====Countdown=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Set timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Delete timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Query timers.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Antithief=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_antithief:&lt;br /&gt;
| 09:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| XX=80=set, XX=00=delete&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_antithief:&lt;br /&gt;
| 0A:08:08:08:08:08:08:08:08&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_antithief_response:&lt;br /&gt;
| 0A:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| XX=80=active,&amp;lt;br/&amp;gt;&lt;br /&gt;
XX=00=inactive&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=38112.0|LinkText=Forenthread}}&lt;br /&gt;
* {{Link2Forum|Topic=38112|Message=379733|LinkText=Download Modul}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;/div&gt;</summary>
		<author><name>Biopio</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37051</id>
		<title>Silvercrest SWS A1 Wifi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37051"/>
		<updated>2022-01-08T16:15:05Z</updated>

		<summary type="html">&lt;p&gt;Biopio: /* Timer functions */ Delete timer: Ergänzt um delete_timer_receipt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- @Jörg: schau mal, dass Du im Forum einen eigenen Thread in einem sinnvolleren Bereich aufmachst,&lt;br /&gt;
  das dürfte die Beschreibung vereinfachen und die Verwaltung des Moduls übersichtlicher machen --&amp;gt;&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=Silvercrest_SWS_A1_Wifi&lt;br /&gt;
|ModPurpose=Schalten der SilverCrest SWS-A1 Steckdose&lt;br /&gt;
|ModType=x&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=Silvercrest_SWS_A1_Wifi -- nicht erforderlich, da Modultyp x --&amp;gt;&lt;br /&gt;
|ModFTopic=38112&lt;br /&gt;
|ModForumArea=Off-Topic&lt;br /&gt;
|ModTechName=53_Silvercrest_SWS_A1_Wifi.pm&lt;br /&gt;
|ModOwner=JoergOstertag ({{Link2FU|18727|Forum}}/[[Benutzer Diskussion:JoergOstertag|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SilverCrest SWS-A1 per WiFi schaltbare Steckdose ==&lt;br /&gt;
Die per WiFi schaltbare Steckdose von der LIDL Hausmarke SilverCrest ist nach Erstkonfiguration per UDP steuerbar.&lt;br /&gt;
&lt;br /&gt;
Im [http://forum.fhem.de/index.php?topic=38112.0 Forums Thread] ist einiges an interessanten Hinweisen zu der technischen Umsetzung der Steckdose aufgeführt.&lt;br /&gt;
&lt;br /&gt;
Exemplarisch ist in dem Perl Modul 53_Silvercrest_SWS_A1_Wifi.pm  das Ein-/Aus-schalten der Steckdose implementiert.&lt;br /&gt;
&lt;br /&gt;
===Modul 53_Silvercrest_SWS_A1_Wifi.pm===&lt;br /&gt;
====Installation====&lt;br /&gt;
aptitude install libcrypt-rijndael-perl&lt;br /&gt;
&lt;br /&gt;
Das Modul {{Link2Forum|Topic=38112|Message=379733|LinkText=hier herunterladen}} und in das FHEM Verzeichnis (meist /opt/fhem/FHEM/) kopieren.&lt;br /&gt;
&lt;br /&gt;
====Verwendung====&lt;br /&gt;
Danach kann das Modul SWS-A1 (und evtl. Softwaregleiche) Steckdosen schalten und deren Zustand erfassen. Voraussetzung ist, dass die Steckdosen und FHEM im selben Netzwerksegment sind und die UDP-Broadcasts der Steckdose von FHEM empfangen werden können.&lt;br /&gt;
&lt;br /&gt;
Das Modul sendet Pakete per UDP an die konfigurierte IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
====Konfiguration====&lt;br /&gt;
Bsp Eintrag für die Dose&lt;br /&gt;
&lt;br /&gt;
fhem/fhem.cfg:&lt;br /&gt;
   define DoseDeckenFluter Silvercrest_SWS_A1_Wifi AC:CF:23:34:12:12 192.168.168.101&lt;br /&gt;
&lt;br /&gt;
====Autocreate====&lt;br /&gt;
Sobald irgendein define mit diesem Modul getätigt wird, macht das Modul einen Listening Socket auf dem UDP-Port 8530 auf. Die über diesen UDP-Socket empfangenen Pakete werden entweder einer bereits bestehenden Definition zugeordnet und der aktuelle Zustand aktualisiert. Oder ein entsprechend neuer Eintrag wird mittels autocreate angelegt.&lt;br /&gt;
&lt;br /&gt;
Somit kann auch ein leerer (keineIP/MAC) Eintrag verwendet werden, um das Modul in den AutoCreate Modus zu bringen.&lt;br /&gt;
  define autoCreateDosen Silvercrest_SWS_A1_Wifi&lt;br /&gt;
&lt;br /&gt;
Dieser define wird zwar (evtl.) mit einer Fehlermeldung quittiert, da dies ja keine Echte Definition einer Dose ist. Es hat aber den Vorteil, dass sobald ein Request über den UDP Port 8530 empfangen wird und autocreate aktiviert ist, automatisch ein neuer Eintrag für die empfangene Dose in die /opt/fhem/fhem.cfg geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stromverbrauch===&lt;br /&gt;
Laut Forum:&lt;br /&gt;
Verbrauch  ca. 0,3 Watt.&lt;br /&gt;
Bei angezogenem Relais schwankt es zwischen 0,4 und 1 Watt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web GUI===&lt;br /&gt;
&lt;br /&gt;
Wenn sich die Steckdose im WLAN angemeldet hat, kann man mit dem Browser auf das WebGUI zugreifen. Die Zugangsdaten sind:&lt;br /&gt;
&lt;br /&gt;
  Login: admin &lt;br /&gt;
  Passwort: admin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PHP Example Code with crypt===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function decodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mdecrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function encodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mcrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$msg = &#039;4CF75F5A28A181574AC1B563CD51A78D&#039;; // to switch &#039;on&#039;&lt;br /&gt;
echo &amp;quot;Original message: $msg\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$decryptedPacket = decodePacket(hex2bin($msg));&lt;br /&gt;
echo &#039;Decrypted packet: &#039; . bin2hex($decryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$reencryptedPacket = encodePacket($decryptedPacket);&lt;br /&gt;
echo &#039;Re-encoded packet: &#039; . bin2hex($reencryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sniffing-Erkenntnisse===&lt;br /&gt;
&lt;br /&gt;
Aus dem Forum von Markus und den Captures von ext23:&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich laeuft die Kommunikation wohl so:&lt;br /&gt;
Das Smartphone kommuniziert direkt mit der Steckdose sofern im LAN angebunden. Das Hinwort vom Smartphone muss von der Steckdose korrekt bestätigt werden, ansonsten wird wiederholt. Danach Broadcastet die Steckdose den Status im eigenen Subnetz und meldet wohl danach den Status an den Server im Internet.&lt;br /&gt;
&lt;br /&gt;
Wenn die Taste an der Steckdose gedrückt wird:&lt;br /&gt;
Die Steckdose broadcastet zweimal ihre Information, dann wird die Info an den Webserver geschickt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenwert 25Bytes UDP&lt;br /&gt;
&lt;br /&gt;
#	Framenummer im Trace&lt;br /&gt;
Hin	Vom Smartphone zur Steckdose&lt;br /&gt;
Rueck	Von Steckdose zum Smartphone&lt;br /&gt;
BC	Broadcast von der Steckdose ins lokale Subnetz&lt;br /&gt;
UPL	Von der Steckdose zum Server im Internet&lt;br /&gt;
Antwort	Vom Server im Internet zur Steckdose&lt;br /&gt;
1	Indikator App/Steckdose oder Hin/Rueck?&lt;br /&gt;
2	MAC Adresse d. Steckdose&lt;br /&gt;
3	immer gleich. Evtl nur ein Toggle Befehl?&lt;br /&gt;
4	Unklarer Payload&lt;br /&gt;
??	Unklar warum gesendet wurde. Evtl Statusupdate?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		|-1--|-------2---------|3-|------------------------4---------------------|&lt;br /&gt;
&lt;br /&gt;
4??	Upload	01:40:ac:cf:23:2a:9f:94:10:fc:ba:26:9d:c2:ad:75:be:68:32:43:b9:99:9d:5b:c2&lt;br /&gt;
5??	Antwort ACK&lt;br /&gt;
6??	Antwort	01:42:ac:cf:23:2a:9f:94:10:29:0b:c8:f9:51:c0:ef:53:88:45:6d:67:a6:8e:ec:d6&lt;br /&gt;
7??	Upload	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8An	Hin 	01:40:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
9An	Rueck	01:42:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
10An Broadcast1	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
11An Broadcast2	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
12An	Upload	01:42:ac:cf:23:2a:9f:94:10:c1:b2:c8:9c:b2:8b:0c:9b:ef:58:7e:63:b7:a3:96:8f&lt;br /&gt;
13An	Antwort	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14Aus	Hin	01:40:ac:cf:23:2a:9f:94:10:cc:52:dc:6b:9f:0d:14:14:5d:5d:69:17:43:13:0c:c9&lt;br /&gt;
15Aus	Rueck	01:42:ac:cf:23:2a:9f:94:10:2f:ea:1b:ed:aa:fe:16:d4:ac:41:39:b0:ce:4c:02:02	&amp;lt;&amp;lt; Antwort nicht identisch Hinwort&lt;br /&gt;
16WDH?	Hin	01:40:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d&lt;br /&gt;
17WDH?	Rueck	01:42:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d	&lt;br /&gt;
18Aus	BC1	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
19Aus	BC2	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
20Aus	UPL	01:42:ac:cf:23:2a:9f:94:10:19:dd:b9:18:bb:2e:54:00:5b:54:86:18:94:ef:f1:58&lt;br /&gt;
21Aus	Antw	ACK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
-Daten verschlüsselt mit &amp;quot;AES/CBC/NoPadding&amp;quot; mit Schlüssel &amp;quot;0123456789abcdef&amp;quot;&lt;br /&gt;
 Enthält folgendes entschlüsselt:&lt;br /&gt;
00 00 29 C1 11 71 50 01 00 00 FF FF 04 04 04 04&lt;br /&gt;
[…]&lt;br /&gt;
Hinweise zu den Paketnummern:&lt;br /&gt;
Die Range ist von 00 00 bis FF FF, also 65535. Danach wird der Zähler von der Dose zurückgesetzt.&lt;br /&gt;
Die Dose akzeptiert keine Befehle mit Paketnummern kleiner als der interne Zähler.&lt;br /&gt;
Man kann aber immer FF FF benutzen, um sicher zu gehen, dass der Befehl akzeptiert wird. (Sofern man auf das Zählen der Pakete verzichten kann)&lt;br /&gt;
Auch wenn die Dose einen Befehl identisch als Quittung zurücksendet wird der Paketzähler in der Dose erhöht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Abfragen===&lt;br /&gt;
&lt;br /&gt;
Die App sendet jedenfalls zur Abfrage ein UDP-Paket&lt;br /&gt;
  0140 + mac(6B) + 10 + enc(16B)&lt;br /&gt;
&lt;br /&gt;
wobei der kodierte Befehl (enc) so aussieht:&lt;br /&gt;
  00 0000 c1 11 7150 23 + mac + 0202&lt;br /&gt;
&lt;br /&gt;
Beim 2. und 3. Byte wie üblich mit der Paketnummer aufpassen. Und bei der MAC müsste auch 6 mal FF als Broadcast an alle Geräte funktionieren; kommt zumindest in der App vor, habe ich aber noch nicht ausprobiert]&lt;br /&gt;
&lt;br /&gt;
Die Dose antwortet dann mit einem UDP-Paket.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Protokoll===&lt;br /&gt;
====Data structure====&lt;br /&gt;
The data packet is divided into 2 parts:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01:40:ac:cf:23:37:32:96:10&lt;br /&gt;
| 26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
|-&lt;br /&gt;
| Non-crypted data&lt;br /&gt;
| Crypted data&lt;br /&gt;
|-&lt;br /&gt;
| 9 bytes&lt;br /&gt;
| bytes depend on command&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Non-crypted data:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01&lt;br /&gt;
| 40&lt;br /&gt;
| AC:CF:23:37:32:96&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| lock status&lt;br /&gt;
| MAC address&lt;br /&gt;
| length of encrypted data&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| 40=open&amp;lt;br/&amp;gt;&lt;br /&gt;
44=locked&amp;lt;br/&amp;gt;&lt;br /&gt;
42=response/receipt&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 6 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
Encrypted data:&amp;lt;br/&amp;gt;&lt;br /&gt;
The second part of the data packet is encrypted with &#039;&#039;&#039;&amp;quot;AES/CBC/NoPadding&amp;quot;&#039;&#039;&#039; with key &#039;&#039;&#039;&amp;quot;0123456789abcdef&amp;quot;&#039;&#039;&#039; and the same initialization vector (iv).&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00&lt;br /&gt;
| 00:29&lt;br /&gt;
| c1&lt;br /&gt;
| 11&lt;br /&gt;
| 71:50&lt;br /&gt;
| 01:00:00:FF FF:04:04:04:04&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| packet number**&lt;br /&gt;
| company code&lt;br /&gt;
| device type&lt;br /&gt;
| authentication code&lt;br /&gt;
| command&lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| depends on the command&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;packet number: The plug has an internal packet counter. It does not accept commands with lower packet numbers. A response/receipt has the same packet number as the sent command, but the counter is increased.&lt;br /&gt;
&lt;br /&gt;
====Commands====&lt;br /&gt;
=====Switching=====&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_event&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| switch:&lt;br /&gt;
| 01:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 01:00:00:00:FF:04:04:04:04&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| switch_receipt:&lt;br /&gt;
| a copy of the command&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
| switch_event:&lt;br /&gt;
| 06:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is switched on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 06:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is switched off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch state&#039;&#039;&#039;&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| get_state&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| state&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| get_state:&lt;br /&gt;
| 02:00:00:00:00:04:04:04:04&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| state:&lt;br /&gt;
| 02:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 02:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Search device=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt;- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| search:&lt;br /&gt;
| 23:MACADDRESS:02:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| search_response:&lt;br /&gt;
| 23:C0:A8:17:MACADDRESS:10:30:31:32:33:34:35:36:37:38:39:61:62:63:64:65:66:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Heartbeat=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| heartbeat:&lt;br /&gt;
| 61 55 93 26 54 04 04 04 04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| heartbeat_response:&lt;br /&gt;
| 61 00 1E 06 06 06 06 06 06&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Timer functions=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_timer:&lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:FF:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:00:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| set_timer_receipt:&lt;br /&gt;
| 03:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| Timer number QQ is set&lt;br /&gt;
|}&lt;br /&gt;
set_timer details:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 03:00&lt;br /&gt;
| QQ&lt;br /&gt;
| XX&lt;br /&gt;
| YY&lt;br /&gt;
| ZZ&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| 0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
|-&lt;br /&gt;
| Cmd&lt;br /&gt;
| Timer number&lt;br /&gt;
| Repeater&lt;br /&gt;
| hour&lt;br /&gt;
| minute&lt;br /&gt;
| ON&lt;br /&gt;
|  style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| OFF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. Timers will be overwritten, not added. &amp;lt;br/&amp;gt;Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| delete_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| delete_timer_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| delete_timer:&lt;br /&gt;
| 05:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| delete timer number QQ&lt;br /&gt;
|-&lt;br /&gt;
| delete_timer_receipt:&lt;br /&gt;
| a copy of the command&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query timers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_timer:&lt;br /&gt;
| 04:00:00:06:06:06:06:06:06&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_timer_response:&lt;br /&gt;
| 04:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
01:00:FF:00:00:00:00:FF:02:00:FF:00:00:00:00:FF:03:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
04:00:FF:00:00:00:00:FF:05:00:FF:00:00:00:00:FF:06:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
07:00:FF:00:00:00:00:FF:08:00:FF:00:00:00:00:FF:09:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
0A:00:FF:00:00:00:00:FF:0B:00:00:00:00:00:00:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| (Timer1)01:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
(Timer2)02:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
…&amp;lt;br/&amp;gt;&lt;br /&gt;
(TimerX)QQ:XX:YY:ZZ:RR:RR:RR:RR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. &#039;&#039;0B is the countdown.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hour (YY)&amp;lt;br/&amp;gt;&lt;br /&gt;
Minute (ZZ)&amp;lt;br/&amp;gt; &lt;br /&gt;
Switching function (RR:RR:RR:RR):&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====Countdown=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Set timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Delete timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Query timers.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Antithief=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_antithief:&lt;br /&gt;
| 09:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| XX=80=set, XX=00=delete&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_antithief:&lt;br /&gt;
| 0A:08:08:08:08:08:08:08:08&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_antithief_response:&lt;br /&gt;
| 0A:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| XX=80=active,&amp;lt;br/&amp;gt;&lt;br /&gt;
XX=00=inactive&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=38112.0|LinkText=Forenthread}}&lt;br /&gt;
* {{Link2Forum|Topic=38112|Message=379733|LinkText=Download Modul}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;/div&gt;</summary>
		<author><name>Biopio</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37050</id>
		<title>Silvercrest SWS A1 Wifi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Silvercrest_SWS_A1_Wifi&amp;diff=37050"/>
		<updated>2022-01-08T15:38:36Z</updated>

		<summary type="html">&lt;p&gt;Biopio: /* Data structure */  Verschlüsselung: Initialisierungsvektor hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- @Jörg: schau mal, dass Du im Forum einen eigenen Thread in einem sinnvolleren Bereich aufmachst,&lt;br /&gt;
  das dürfte die Beschreibung vereinfachen und die Verwaltung des Moduls übersichtlicher machen --&amp;gt;&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=Silvercrest_SWS_A1_Wifi&lt;br /&gt;
|ModPurpose=Schalten der SilverCrest SWS-A1 Steckdose&lt;br /&gt;
|ModType=x&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=Silvercrest_SWS_A1_Wifi -- nicht erforderlich, da Modultyp x --&amp;gt;&lt;br /&gt;
|ModFTopic=38112&lt;br /&gt;
|ModForumArea=Off-Topic&lt;br /&gt;
|ModTechName=53_Silvercrest_SWS_A1_Wifi.pm&lt;br /&gt;
|ModOwner=JoergOstertag ({{Link2FU|18727|Forum}}/[[Benutzer Diskussion:JoergOstertag|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SilverCrest SWS-A1 per WiFi schaltbare Steckdose ==&lt;br /&gt;
Die per WiFi schaltbare Steckdose von der LIDL Hausmarke SilverCrest ist nach Erstkonfiguration per UDP steuerbar.&lt;br /&gt;
&lt;br /&gt;
Im [http://forum.fhem.de/index.php?topic=38112.0 Forums Thread] ist einiges an interessanten Hinweisen zu der technischen Umsetzung der Steckdose aufgeführt.&lt;br /&gt;
&lt;br /&gt;
Exemplarisch ist in dem Perl Modul 53_Silvercrest_SWS_A1_Wifi.pm  das Ein-/Aus-schalten der Steckdose implementiert.&lt;br /&gt;
&lt;br /&gt;
===Modul 53_Silvercrest_SWS_A1_Wifi.pm===&lt;br /&gt;
====Installation====&lt;br /&gt;
aptitude install libcrypt-rijndael-perl&lt;br /&gt;
&lt;br /&gt;
Das Modul {{Link2Forum|Topic=38112|Message=379733|LinkText=hier herunterladen}} und in das FHEM Verzeichnis (meist /opt/fhem/FHEM/) kopieren.&lt;br /&gt;
&lt;br /&gt;
====Verwendung====&lt;br /&gt;
Danach kann das Modul SWS-A1 (und evtl. Softwaregleiche) Steckdosen schalten und deren Zustand erfassen. Voraussetzung ist, dass die Steckdosen und FHEM im selben Netzwerksegment sind und die UDP-Broadcasts der Steckdose von FHEM empfangen werden können.&lt;br /&gt;
&lt;br /&gt;
Das Modul sendet Pakete per UDP an die konfigurierte IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
====Konfiguration====&lt;br /&gt;
Bsp Eintrag für die Dose&lt;br /&gt;
&lt;br /&gt;
fhem/fhem.cfg:&lt;br /&gt;
   define DoseDeckenFluter Silvercrest_SWS_A1_Wifi AC:CF:23:34:12:12 192.168.168.101&lt;br /&gt;
&lt;br /&gt;
====Autocreate====&lt;br /&gt;
Sobald irgendein define mit diesem Modul getätigt wird, macht das Modul einen Listening Socket auf dem UDP-Port 8530 auf. Die über diesen UDP-Socket empfangenen Pakete werden entweder einer bereits bestehenden Definition zugeordnet und der aktuelle Zustand aktualisiert. Oder ein entsprechend neuer Eintrag wird mittels autocreate angelegt.&lt;br /&gt;
&lt;br /&gt;
Somit kann auch ein leerer (keineIP/MAC) Eintrag verwendet werden, um das Modul in den AutoCreate Modus zu bringen.&lt;br /&gt;
  define autoCreateDosen Silvercrest_SWS_A1_Wifi&lt;br /&gt;
&lt;br /&gt;
Dieser define wird zwar (evtl.) mit einer Fehlermeldung quittiert, da dies ja keine Echte Definition einer Dose ist. Es hat aber den Vorteil, dass sobald ein Request über den UDP Port 8530 empfangen wird und autocreate aktiviert ist, automatisch ein neuer Eintrag für die empfangene Dose in die /opt/fhem/fhem.cfg geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stromverbrauch===&lt;br /&gt;
Laut Forum:&lt;br /&gt;
Verbrauch  ca. 0,3 Watt.&lt;br /&gt;
Bei angezogenem Relais schwankt es zwischen 0,4 und 1 Watt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web GUI===&lt;br /&gt;
&lt;br /&gt;
Wenn sich die Steckdose im WLAN angemeldet hat, kann man mit dem Browser auf das WebGUI zugreifen. Die Zugangsdaten sind:&lt;br /&gt;
&lt;br /&gt;
  Login: admin &lt;br /&gt;
  Passwort: admin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PHP Example Code with crypt===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function decodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mdecrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function encodePacket($packet) {&lt;br /&gt;
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#039;&#039;, MCRYPT_MODE_CBC, &#039;&#039;);&lt;br /&gt;
    $key = &#039;0123456789abcdef&#039;;&lt;br /&gt;
    mcrypt_generic_init($td, $key, $key);&lt;br /&gt;
    $result = mcrypt_generic($td, $packet);&lt;br /&gt;
    mcrypt_generic_deinit($td);&lt;br /&gt;
    mcrypt_module_close($td);&lt;br /&gt;
    return $result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$msg = &#039;4CF75F5A28A181574AC1B563CD51A78D&#039;; // to switch &#039;on&#039;&lt;br /&gt;
echo &amp;quot;Original message: $msg\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$decryptedPacket = decodePacket(hex2bin($msg));&lt;br /&gt;
echo &#039;Decrypted packet: &#039; . bin2hex($decryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$reencryptedPacket = encodePacket($decryptedPacket);&lt;br /&gt;
echo &#039;Re-encoded packet: &#039; . bin2hex($reencryptedPacket) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sniffing-Erkenntnisse===&lt;br /&gt;
&lt;br /&gt;
Aus dem Forum von Markus und den Captures von ext23:&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich laeuft die Kommunikation wohl so:&lt;br /&gt;
Das Smartphone kommuniziert direkt mit der Steckdose sofern im LAN angebunden. Das Hinwort vom Smartphone muss von der Steckdose korrekt bestätigt werden, ansonsten wird wiederholt. Danach Broadcastet die Steckdose den Status im eigenen Subnetz und meldet wohl danach den Status an den Server im Internet.&lt;br /&gt;
&lt;br /&gt;
Wenn die Taste an der Steckdose gedrückt wird:&lt;br /&gt;
Die Steckdose broadcastet zweimal ihre Information, dann wird die Info an den Webserver geschickt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenwert 25Bytes UDP&lt;br /&gt;
&lt;br /&gt;
#	Framenummer im Trace&lt;br /&gt;
Hin	Vom Smartphone zur Steckdose&lt;br /&gt;
Rueck	Von Steckdose zum Smartphone&lt;br /&gt;
BC	Broadcast von der Steckdose ins lokale Subnetz&lt;br /&gt;
UPL	Von der Steckdose zum Server im Internet&lt;br /&gt;
Antwort	Vom Server im Internet zur Steckdose&lt;br /&gt;
1	Indikator App/Steckdose oder Hin/Rueck?&lt;br /&gt;
2	MAC Adresse d. Steckdose&lt;br /&gt;
3	immer gleich. Evtl nur ein Toggle Befehl?&lt;br /&gt;
4	Unklarer Payload&lt;br /&gt;
??	Unklar warum gesendet wurde. Evtl Statusupdate?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		|-1--|-------2---------|3-|------------------------4---------------------|&lt;br /&gt;
&lt;br /&gt;
4??	Upload	01:40:ac:cf:23:2a:9f:94:10:fc:ba:26:9d:c2:ad:75:be:68:32:43:b9:99:9d:5b:c2&lt;br /&gt;
5??	Antwort ACK&lt;br /&gt;
6??	Antwort	01:42:ac:cf:23:2a:9f:94:10:29:0b:c8:f9:51:c0:ef:53:88:45:6d:67:a6:8e:ec:d6&lt;br /&gt;
7??	Upload	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8An	Hin 	01:40:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
9An	Rueck	01:42:ac:cf:23:2a:9f:94:10:c8:59:a5:71:10:99:5d:e8:fd:b0:81:ce:08:9f:ac:b1&lt;br /&gt;
10An Broadcast1	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
11An Broadcast2	01:42:ac:cf:23:2a:9f:94:10:ee:f5:78:f1:e5:0a:93:9f:f6:a6:3d:e8:32:1c:53:c4&lt;br /&gt;
12An	Upload	01:42:ac:cf:23:2a:9f:94:10:c1:b2:c8:9c:b2:8b:0c:9b:ef:58:7e:63:b7:a3:96:8f&lt;br /&gt;
13An	Antwort	ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14Aus	Hin	01:40:ac:cf:23:2a:9f:94:10:cc:52:dc:6b:9f:0d:14:14:5d:5d:69:17:43:13:0c:c9&lt;br /&gt;
15Aus	Rueck	01:42:ac:cf:23:2a:9f:94:10:2f:ea:1b:ed:aa:fe:16:d4:ac:41:39:b0:ce:4c:02:02	&amp;lt;&amp;lt; Antwort nicht identisch Hinwort&lt;br /&gt;
16WDH?	Hin	01:40:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d&lt;br /&gt;
17WDH?	Rueck	01:42:ac:cf:23:2a:9f:94:10:07:d6:a4:53:b0:eb:fc:20:7c:8c:86:11:50:40:2b:1d	&lt;br /&gt;
18Aus	BC1	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
19Aus	BC2	01:42:ac:cf:23:2a:9f:94:10:67:78:ff:35:3a:1b:43:c4:3a:04:10:3d:fa:80:88:3a&lt;br /&gt;
20Aus	UPL	01:42:ac:cf:23:2a:9f:94:10:19:dd:b9:18:bb:2e:54:00:5b:54:86:18:94:ef:f1:58&lt;br /&gt;
21Aus	Antw	ACK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
-Daten verschlüsselt mit &amp;quot;AES/CBC/NoPadding&amp;quot; mit Schlüssel &amp;quot;0123456789abcdef&amp;quot;&lt;br /&gt;
 Enthält folgendes entschlüsselt:&lt;br /&gt;
00 00 29 C1 11 71 50 01 00 00 FF FF 04 04 04 04&lt;br /&gt;
[…]&lt;br /&gt;
Hinweise zu den Paketnummern:&lt;br /&gt;
Die Range ist von 00 00 bis FF FF, also 65535. Danach wird der Zähler von der Dose zurückgesetzt.&lt;br /&gt;
Die Dose akzeptiert keine Befehle mit Paketnummern kleiner als der interne Zähler.&lt;br /&gt;
Man kann aber immer FF FF benutzen, um sicher zu gehen, dass der Befehl akzeptiert wird. (Sofern man auf das Zählen der Pakete verzichten kann)&lt;br /&gt;
Auch wenn die Dose einen Befehl identisch als Quittung zurücksendet wird der Paketzähler in der Dose erhöht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Abfragen===&lt;br /&gt;
&lt;br /&gt;
Die App sendet jedenfalls zur Abfrage ein UDP-Paket&lt;br /&gt;
  0140 + mac(6B) + 10 + enc(16B)&lt;br /&gt;
&lt;br /&gt;
wobei der kodierte Befehl (enc) so aussieht:&lt;br /&gt;
  00 0000 c1 11 7150 23 + mac + 0202&lt;br /&gt;
&lt;br /&gt;
Beim 2. und 3. Byte wie üblich mit der Paketnummer aufpassen. Und bei der MAC müsste auch 6 mal FF als Broadcast an alle Geräte funktionieren; kommt zumindest in der App vor, habe ich aber noch nicht ausprobiert]&lt;br /&gt;
&lt;br /&gt;
Die Dose antwortet dann mit einem UDP-Paket.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Protokoll===&lt;br /&gt;
====Data structure====&lt;br /&gt;
The data packet is divided into 2 parts:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01:40:ac:cf:23:37:32:96:10&lt;br /&gt;
| 26:f1:a2:10:6c:aa:fd:94:2f:eb:5f:2e:16:5b:77:0d&lt;br /&gt;
|-&lt;br /&gt;
| Non-crypted data&lt;br /&gt;
| Crypted data&lt;br /&gt;
|-&lt;br /&gt;
| 9 bytes&lt;br /&gt;
| bytes depend on command&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Non-crypted data:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 01&lt;br /&gt;
| 40&lt;br /&gt;
| AC:CF:23:37:32:96&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| lock status&lt;br /&gt;
| MAC address&lt;br /&gt;
| length of encrypted data&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| 40=open&amp;lt;br/&amp;gt;&lt;br /&gt;
44=locked&amp;lt;br/&amp;gt;&lt;br /&gt;
42=response/receipt&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 6 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
Encrypted data:&amp;lt;br/&amp;gt;&lt;br /&gt;
The second part of the data packet is encrypted with &#039;&#039;&#039;&amp;quot;AES/CBC/NoPadding&amp;quot;&#039;&#039;&#039; with key &#039;&#039;&#039;&amp;quot;0123456789abcdef&amp;quot;&#039;&#039;&#039; and the same initialization vector (iv).&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00&lt;br /&gt;
| 00:29&lt;br /&gt;
| c1&lt;br /&gt;
| 11&lt;br /&gt;
| 71:50&lt;br /&gt;
| 01:00:00:FF FF:04:04:04:04&lt;br /&gt;
|-&lt;br /&gt;
| prefix&lt;br /&gt;
| packet number**&lt;br /&gt;
| company code&lt;br /&gt;
| device type&lt;br /&gt;
| authentication code&lt;br /&gt;
| command&lt;br /&gt;
|-&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 1 byte&lt;br /&gt;
| 2 bytes&lt;br /&gt;
| depends on the command&lt;br /&gt;
|-&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; constant&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;packet number: The plug has an internal packet counter. It does not accept commands with lower packet numbers. A response/receipt has the same packet number as the sent command, but the counter is increased.&lt;br /&gt;
&lt;br /&gt;
====Commands====&lt;br /&gt;
=====Switching=====&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| switch_event&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| switch:&lt;br /&gt;
| 01:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 01:00:00:00:FF:04:04:04:04&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| switch_receipt:&lt;br /&gt;
| a copy of the command&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
| switch_event:&lt;br /&gt;
| 06:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is switched on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 06:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is switched off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch state&#039;&#039;&#039;&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| get_state&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| state&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| get_state:&lt;br /&gt;
| 02:00:00:00:00:04:04:04:04&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| state:&lt;br /&gt;
| 02:00:00:FF:FF:04:04:04:04&lt;br /&gt;
| is on&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 02:00:00:00:FF:04:04:04:04&lt;br /&gt;
| is off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Search device=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Broadcastdomain&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt;- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| search_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| search:&lt;br /&gt;
| 23:MACADDRESS:02:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| search_response:&lt;br /&gt;
| 23:C0:A8:17:MACADDRESS:10:30:31:32:33:34:35:36:37:38:39:61:62:63:64:65:66:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D:0D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Heartbeat=====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| heartbeat_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| heartbeat:&lt;br /&gt;
| 61 55 93 26 54 04 04 04 04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| heartbeat_response:&lt;br /&gt;
| 61 00 1E 06 06 06 06 06 06&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Timer functions=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_timer_receipt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_timer:&lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:FF:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 03:00:QQ:XX:YY:ZZ:00:00:00:FF:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| OFF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| set_timer_receipt:&lt;br /&gt;
| 03:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| Timer number QQ is set&lt;br /&gt;
|}&lt;br /&gt;
set_timer details:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 03:00&lt;br /&gt;
| QQ&lt;br /&gt;
| XX&lt;br /&gt;
| YY&lt;br /&gt;
| ZZ&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| 0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
|-&lt;br /&gt;
| Cmd&lt;br /&gt;
| Timer number&lt;br /&gt;
| Repeater&lt;br /&gt;
| hour&lt;br /&gt;
| minute&lt;br /&gt;
| ON&lt;br /&gt;
|  style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| OFF&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. Timers will be overwritten, not added. &amp;lt;br/&amp;gt;Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete timer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| delete_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| delete_timer:&lt;br /&gt;
| 05:00:QQ:06:06:06:06:06:06&lt;br /&gt;
| delete timer number QQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query timers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_timer_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_timer:&lt;br /&gt;
| 04:00:00:06:06:06:06:06:06&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_timer_response:&lt;br /&gt;
| 04:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
01:00:FF:00:00:00:00:FF:02:00:FF:00:00:00:00:FF:03:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
04:00:FF:00:00:00:00:FF:05:00:FF:00:00:00:00:FF:06:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
07:00:FF:00:00:00:00:FF:08:00:FF:00:00:00:00:FF:09:00:FF:00:00:00:00:FF:&amp;lt;br/&amp;gt;&lt;br /&gt;
0A:00:FF:00:00:00:00:FF:0B:00:00:00:00:00:00:00:&amp;lt;br/&amp;gt;&lt;br /&gt;
0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F:0F&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| (Timer1)01:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
(Timer2)02:00:FF:00:00:00:00:FF&amp;lt;br/&amp;gt;&lt;br /&gt;
…&amp;lt;br/&amp;gt;&lt;br /&gt;
(TimerX)QQ:XX:YY:ZZ:RR:RR:RR:RR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Timer number (QQ): The plug can store 10 different timers: 01...0A. &#039;&#039;0B is the countdown.&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Repeater (XX): Repeat on weekdays:&lt;br /&gt;
{|  border=&amp;quot;1&amp;quot;&lt;br /&gt;
| byte&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;| bits&lt;br /&gt;
| repeat&lt;br /&gt;
|-&lt;br /&gt;
| XX&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| Su&lt;br /&gt;
| Sa&lt;br /&gt;
| Fr&lt;br /&gt;
| Th&lt;br /&gt;
| We&lt;br /&gt;
| Tu&lt;br /&gt;
| Mo&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| 80&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| once&lt;br /&gt;
|-&lt;br /&gt;
| 81&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| Monday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| 82&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Monday+Tuesday&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| FF&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| daily&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hour (YY)&amp;lt;br/&amp;gt;&lt;br /&gt;
Minute (ZZ)&amp;lt;br/&amp;gt; &lt;br /&gt;
Switching function (RR:RR:RR:RR):&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| 00:00:FF:FF&lt;br /&gt;
| ON&lt;br /&gt;
|-&lt;br /&gt;
| 00:00:00:FF&lt;br /&gt;
| OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Countdown=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Set timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Delete timer.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query countdown&#039;&#039;&#039;&lt;br /&gt;
[[#Timer functions|see Query timers.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Antithief=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| set_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| set_antithief:&lt;br /&gt;
| 09:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| XX=80=set, XX=00=delete&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Query Antithief&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:App&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |:Plug&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief&amp;lt;br/&amp;gt;&lt;br /&gt;
- - - - - - - - - - - - - - &amp;gt;&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| query_antithief_response&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt; - - - - - - - - - - - - - -&lt;br /&gt;
| style=&amp;quot;background: #E0E0E0;&amp;quot; |&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| query_antithief:&lt;br /&gt;
| 0A:08:08:08:08:08:08:08:08&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0px;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
| query_antithief_response:&lt;br /&gt;
| 0A:XX:YY:YY:YY:YY:ZZ:ZZ:ZZ:ZZ:1E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E:0E&lt;br /&gt;
| XX=80=active,&amp;lt;br/&amp;gt;&lt;br /&gt;
XX=00=inactive&amp;lt;br/&amp;gt;&lt;br /&gt;
YY:YY:YY:YY=Start (Unixtime),&amp;lt;br/&amp;gt;&lt;br /&gt;
ZZ:ZZ:ZZ:ZZ=Stop (Unixtime)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=38112.0|LinkText=Forenthread}}&lt;br /&gt;
* {{Link2Forum|Topic=38112|Message=379733|LinkText=Download Modul}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;/div&gt;</summary>
		<author><name>Biopio</name></author>
	</entry>
</feed>