Feature | Support |
Sending | |
Receiving | |
Config |
Supported Brands
Brand | Protocol |
Dostmann TFA 30.3208.02 (09/2017) | tfa2017 |
Sender Arguments
None
Config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | {
"devices": {
"weather": {
"protocol": [ "tfa2017" ],
"id": [{
"id": 2
}],
"temperature": 18.90,
"humidity": 41.00
}
},
"gui": {
"weather": {
"name": "Weather Station",
"group": [ "Outside" ],
"media": [ "all" ]
}
}
}
|
Option | Value |
id | 1 - 8 |
temperature | -39.9 - 59.9 |
humidity | 0 - 99 |
Optional Settings
Device Settings
Setting | Default | Format | Description |
temperature-offset | 0 | number | Correct temperature value |
humidity-offset | 0 | number | Correct humidity value |
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 |
Protocol
The protocol is similar to the F007TH as described in this document starting at page 13. The protocol seems to be used in the TFA Dostmann sensors from revision 09/2017 (thus the name) and also in an identical sensor distributed by wetterladen.de.
The protocol sends a message of 48 bits length in Manchester encoding. The clock is about 500, so everything below 750 is considered a short pulse. The message is always sent three consecutive times. The most reliable way to find at least the second and the third message is to look for sequence of 20 short pulses and the skip the next two long pulses and then start decoding the machester encoding until you have 48 bits. The current implementation does not use the checksum to validate the message but simply checks whether there are two identical messages in the pulse train which are then considered valid. The structure of an example message can be seen below:
01000101 10011110 0 001 010001000110 00110101 10001110
Channel: 001 | Temp: 010001000110 | Hum: 00110101
Channel
is defined as a binary number (zero based), in the output it is 1 based.Temperature
is defined as a binary number and represents the temperature in Fahrenheit, with an offset of 40°F. Assuming that the Temp binary value is T, the formula to calculate the temperature value in °C is(DEC(T)/10 - 40 - 32) * (5/9)
The Humidity
is defined as a binary number in percent. So the values above correspond to the following output:
Channel: 2 | Temp: 20.8°C | Hum: 53%