-
Notifications
You must be signed in to change notification settings - Fork 195
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #391 from cxxcoder/development
Added manual page for secudo protocol
- Loading branch information
Showing
1 changed file
with
115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
.. |yes| image:: ../../../images/yes.png | ||
.. |no| image:: ../../../images/no.png | ||
|
||
.. role:: underline | ||
:class: underline | ||
|
||
Secudo | ||
====== | ||
|
||
+------------------+-------------+ | ||
| **Feature** | **Support** | | ||
+------------------+-------------+ | ||
| Sending | |no| | | ||
+------------------+-------------+ | ||
| Receiving | |yes| | | ||
+------------------+-------------+ | ||
| Config | |yes| | | ||
+------------------+-------------+ | ||
|
||
.. rubric:: Supported Brands | ||
|
||
+-----------------------+----------------+ | ||
| **Brand** | **Protocol** | | ||
+-----------------------+----------------+ | ||
| Secudo | secudo | | ||
+-----------------------+----------------+ | ||
| FlammEx | secudo | | ||
+-----------------------+----------------+ | ||
|
||
.. rubric:: Sender Arguments | ||
|
||
*None* | ||
|
||
.. rubric:: Config | ||
|
||
.. code-block:: json | ||
:linenos: | ||
{ | ||
"devices": { | ||
"alarm": { | ||
"protocol": [ "secudo" ], | ||
"id": [{ | ||
"id": 493 | ||
}], | ||
"state": "alarm" | ||
} | ||
} | ||
} | ||
+------------------+-----------------+ | ||
| **Option** | **Value** | | ||
+------------------+-----------------+ | ||
| id | 0 - 1023 | | ||
+------------------+-----------------+ | ||
| state | alarm | | ||
+------------------+-----------------+ | ||
|
||
.. rubric:: Optional Settings | ||
|
||
*None* | ||
|
||
.. rubric:: Protocol | ||
|
||
This protocol sends 26 pulses like this: | ||
|
||
.. code-block:: console | ||
314 314 628 628 314 314 628 314 628 628 314 314 628 314 628 314 628 314 628 628 314 628 314 314 628 10676 | ||
The first pulse is the ``header`` and the last pulse is the ``footer``. | ||
These are meant to identify the pulses as genuine. | ||
We don't use them for further processing. | ||
The next step is to transform the remaining pulses into 12 groups of two pulses (and thereby dropping the ``header`` and ``footer`` pulses): | ||
|
||
.. code-block:: guess | ||
314 628 | ||
628 314 | ||
314 628 | ||
314 628 | ||
628 314 | ||
314 628 | ||
314 628 | ||
314 628 | ||
314 628 | ||
628 314 | ||
628 314 | ||
314 628 | ||
If we now look carefully at these groups you can distinguish two types of groups: | ||
|
||
#. 314 628 | ||
#. 628 314 | ||
|
||
So the first group is defined by a high 2nd and the second group by a high 1st pulse. | ||
So we take either of these two pulses to define a 0 or a 1. | ||
In this case we say a high 2nd pulse means a 1 and a low 2nd pulse means a 0. | ||
We then get the following output: | ||
|
||
.. code-block:: guess | ||
101101111001 | ||
The first 10 bits correspond to the setting of the ten dip switches inside the smoke sensor. | ||
If a dip switch is ON, this corresponds to 1 and 0 otherwise. | ||
The meaning of the two last bits is unknown. | ||
When reversing the first 10 bits because the first bits are least signifant we get the smoke sensors ID as binary number | ||
|
||
.. code-block:: guess | ||
0111101101 | ||
which is 493 as decimal number. | ||
This means that the 2nd, 5th and 10th dip switch is OFF and all others are ON. |