188 lines
5.8 KiB
ReStructuredText
188 lines
5.8 KiB
ReStructuredText
.. |yes| image:: ../../../images/yes.png
|
|
.. |no| image:: ../../../images/no.png
|
|
|
|
.. role:: underline
|
|
:class: underline
|
|
|
|
TCM 218943
|
|
==========
|
|
|
|
.. versionadded:: 8.0
|
|
|
|
+------------------+-------------+
|
|
| **Feature** | **Support** |
|
|
+------------------+-------------+
|
|
| Sending | |no| |
|
|
+------------------+-------------+
|
|
| Receiving | |yes| |
|
|
+------------------+-------------+
|
|
| Config | |yes| |
|
|
+------------------+-------------+
|
|
|
|
.. rubric:: Supported Brands
|
|
|
|
+-------------+----------------+
|
|
| **Brand** | **Protocol** |
|
|
+-------------+----------------+
|
|
| TCM 218943 | tcm |
|
|
+-------------+----------------+
|
|
|
|
.. rubric:: Sender Arguments
|
|
|
|
*None*
|
|
|
|
.. rubric:: Config
|
|
|
|
.. code-block:: json
|
|
:linenos:
|
|
|
|
{
|
|
"devices": {
|
|
"weather": {
|
|
"protocol": [ "tcm" ],
|
|
"id": [{
|
|
"id": 104,
|
|
}],
|
|
"temperature": 22.70,
|
|
"humidity": 50.00,
|
|
"battery": 1
|
|
}
|
|
},
|
|
"gui": {
|
|
"weather": {
|
|
"name": "Weather Station",
|
|
"group": [ "Outside" ],
|
|
"media": [ "all" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
+------------------+-----------------+
|
|
| **Option** | **Value** |
|
|
+------------------+-----------------+
|
|
| id | 0 - 255 |
|
|
+------------------+-----------------+
|
|
| temperature | -39.9 - 59.9 |
|
|
+------------------+-----------------+
|
|
| humidity | 0 - 99 |
|
|
+------------------+-----------------+
|
|
| battery | 0 - 1 |
|
|
+------------------+-----------------+
|
|
|
|
.. rubric:: Optional Settings
|
|
|
|
:underline:`Device Settings`
|
|
|
|
+--------------------+-------------+------------+---------------------------+
|
|
| **Setting** | **Default** | **Format** | **Description** |
|
|
+--------------------+-------------+------------+---------------------------+
|
|
| temperature-offset | 0 | number | Correct temperature value |
|
|
+--------------------+-------------+------------+---------------------------+
|
|
| humidity-offset | 0 | number | Correct humidity value |
|
|
+--------------------+-------------+------------+---------------------------+
|
|
|
|
:underline:`GUI Settings`
|
|
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| **Setting** | **Default** | **Format** | **Description** |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| temperature-decimals | 2 | number | How many decimals the GUIs should display for temperature |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| humidity-decimals | 2 | number | How many decimals the GUIs should display for humidity |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| show-temperature | 1 | 1 or 0 | Don't display the temperature value |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| show-humidity | 1 | 1 or 0 | Don't display the humidity value |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
| show-battery | 1 | 1 or 0 | Don't display the battery value |
|
|
+----------------------+-------------+------------+-----------------------------------------------------------+
|
|
|
|
.. rubric:: Protocol
|
|
|
|
The tcm protocol sends 74 pulses like
|
|
|
|
.. code-block:: guess
|
|
|
|
194 1035 194 1994 194 1994 194 1035 194 1994 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1035 194 1994 194 1994 194 1035 194 1035 194 1994 194 1035 194 1035 194 1035 194 1035 194 1035 194 1994 194 1994 194 1994 194 1035 194 1035 194 1035 194 1994 194 1994 194 8037
|
|
|
|
The next step is to transform this output into groups of 2 pulses.
|
|
|
|
.. code-block:: guess
|
|
|
|
194 1035
|
|
194 1994
|
|
194 1994
|
|
194 1035
|
|
194 1994
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1994
|
|
194 1994
|
|
194 1035
|
|
194 1035
|
|
194 1994
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1994
|
|
194 1994
|
|
194 1994
|
|
194 1035
|
|
194 1035
|
|
194 1035
|
|
194 1994
|
|
194 1994
|
|
194 8037
|
|
|
|
If we now look at carefully at these groups you can distinguish two types of groups:
|
|
|
|
#. ``194 1035``
|
|
#. ``194 1994``
|
|
|
|
So the first group is defined by a low 2nd, the second group has a high 2nd 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
|
|
|
|
011010000000000000110010000011100011
|
|
|
|
Each (group) of numbers has a specific meaning:
|
|
|
|
- ID: 1 till 8
|
|
- Battery: 9
|
|
- Button: 12
|
|
- Humidity: 17 till 24
|
|
- Temperature: 25 till 36
|
|
|
|
.. code-block:: guess
|
|
|
|
ID : 01101000 | Bat : 0 | But : 0 | Hum : 00110010 | Temp : 000011100011
|
|
|
|
- The ID is defined as a binary number.
|
|
- The Battery indicates low battery with 1.
|
|
- The Button is 1, if the button on the sensor is pressed.
|
|
- The Temperature is a 12 bits wide 2's complement signed binary number represents the actual temperature value in 0.1 °C units. DEC(AAAAAAAAAAAA)/10
|
|
- The Humidity is defined as a binary number.
|
|
|
|
.. code-block:: guess
|
|
|
|
ID : 104 | Bat : OK | But : not pressed | Hum : 50% | Temp : 22.7°C
|
|
|
|
This protocol was created for pilight with the help of this thread: http://forum.arduino.cc/index.php?topic=136836.0 (german)
|
|
|
|
.. rubric:: Comments
|
|
|
|
Please be aware that the ID of a sensor changes after you replace the batteries.
|