User Tools

Site Tools


impuls_v6_0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

impuls_v6_0 [2015/11/27 22:09] (current)
Line 1: Line 1:
 +**Impuls**
  
 +^Feature^Support^
 +|Sending|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +|Receiving|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +|Config|{{http://​wiki.pilight.org/​lib/​images/​supported.gif}}|
 +
 +==== Supported Brands ====
 +^Brand^Protocol^
 +|Impuls|impuls|
 +
 +==== Sender Arguments ====
 +<​code>​
 +-s --systemcode=systemcode ​   control a device with this systemcode
 +-u --programcode=programcode ​ control a device with this programcode
 +-t --on                       send an on signal
 +-f --off                      send an off signal
 +</​code> ​
 +
 +==== Config ====
 +<​code>​
 +"​devices":​ {
 + "​Lamp":​ {
 + "​protocol":​ [ "​impuls"​ ],
 + "​id":​ [{
 + "​systemcode":​ 8,
 + "​programcode":​ 12
 + }],
 + "​state":​ "​off"​
 + }
 +}
 +"​gui":​ {
 + "​Lamp":​ {
 + "​name":​ "TV Backlit",​
 + "​group":​ [ "​Lamps"​ ],
 + "​media":​ [ "​all"​ ]
 + }
 +}
 +</​code>​
 +
 +==== Optional Settings ====
 +
 +GUI Settings
 +
 +^Setting^Default^Format^Description^
 +|readonly|0|1 or 0|Disable controlling this device from the GUIs|
 +
 +==== Notes ====
 +
 +The default settings for a set of Impuls switches are SystemCode: 11111 and ProgramCode:​ 10000 (A), ProgramCode:​ 01000 (B) and ProgramCode:​ 00100 (C). This translates into the following pilight ''​systemcode''​ and ''​unitcode'':​
 +A) systemcode: 31, programcode:​ 1
 +B) systemcode: 31, programcode:​ 2
 +C) systemcode: 31, programcode:​ 4
 +
 +==== Protocol ====
 +
 +This protocol sends 50 pulses like this
 +<​code>​
 +885 295 885 295
 +885 295 885 295
 +885 295 885 295
 +295 885 885 295
 +295 885 885 295
 +295 885 295 885
 +295 885 885 295
 +295 885 295 885
 +295 885 885 295
 +295 885 885 295
 +295 885 885 295
 +295 885 295 885
 +295 9735
 +</​code>​
 +
 +It has no ''​header''​ and the last 2 pulses are the ''​footer''​. These are meant to identify the pulses as genuine, and the protocol also has some bit checks to filter false positives. We don't use them for further processing. The next step is to transform this output into 12 groups of 4 pulses (and thereby dropping the ''​footer''​ pulses).
 +
 +<​code>​
 +885 295 885 295
 +885 295 885 295
 +885 295 885 295
 +295 885 885 295
 +295 885 885 295
 +
 +295 885 295 885
 +295 885 885 295
 +295 885 295 885
 +295 885 885 295
 +295 885 885 295
 +
 +295 885 885 295
 +295 885 295 885
 +
 +295 9735
 +</​code>​
 +
 +If we now look at carefully at these groups you can distinguish three types of groups:
 +  - ''​295 885 295 885''​
 +  - ''​885 295 885 295''​
 +  - ''​295 885 885 295''​
 +
 +  - The first group is defined by a low 1th and low 3rd pulse pulse, hence we call it low.
 +  - The second group has a high 1st and 3rd pulse, hence we call it med. 
 +  - The final group has a low 1st and high 3rd pulse, hence we call it high.
 +
 +We then get the following output:
 +
 +<​code>​
 +MMMHH LHLHH H L
 +</​code>​
 +
 +All M's and H's can be translated to 1. All L's can be translated to 0.
 +
 +Each (group) of numbers has a specific meaning:
 +  * Unit: 0 till 5
 +  * ID: 6 till 10
 +  * Check: 11 (inverse state)
 +  * State: 12 (state)
 +
 +<​code>​
 +11100 10100 1 0
 +</​code>​
 +
 +  * The ''​SystemCode''​ is defined as a binary number
 +  * The ''​ProgramCode''​ is defined as a binary number
 +  * The ''​Check''​ is always inverse state
 +  * The ''​State''​ defines whether a devices needs to be turned On or Off
 +
 +So this code represents:
 +
 +  * SystemCode: 7
 +  * ProgramCode:​ 5
 +  * Check: Inverse state
 +  * State: Off
 +
 +Another example:
 +
 +  * Unit: 0
 +  * ID: 4
 +  * Fixed: Inverse state
 +  * State: On
 +
 +<​code>​
 +00000 00100 0 1
 +</​code>​
impuls_v6_0.txt ยท Last modified: 2015/11/27 22:09 (external edit)