TFA
Brand | Protocol |
---|---|
Dostmann TFA 30.3200 | tfa |
TFA | tfa |
Conrad | conrad_weather |
None
"device": { "weather": { "protocol": [ "tfa" ], "id": [{ "id": 108, "channel": 3 }], "temperature": 18.90, "humidity": 41.00, "battery": 1 } }, "gui": { "weather": { "name": "Weather Station", "group": [ "Outside" ], "media": [ "all" ] } }
Device Settings
Setting | Default | Format | Description |
---|---|---|---|
humidity-offset | 0 | number | Correct humidity value |
temperature-offset | 0 | number | Correct temperature value |
GUI Settings
Setting | Default | Format | Description |
---|---|---|---|
decimals | 2 | number | How many decimals should the GUIs display |
show-humidity | 1 | 1 or 0 | Don't display the humidity value |
show-temperature | 1 | 1 or 0 | Don't display the temperature value |
show-battery | 1 | 1 or 0 | Don't display the battery value |
The protocol sends 86 pulses like:
498 1992 498 1992 498 1992 498 1992 498 1992 498 4233 498 4233 498 1992 498 1992 498 2241 498 1992 498 1992 498 2241 498 2241 498 1992 498 1992 498 4233 498 2241 498 2241 498 1992 498 1992 498 4482 498 1992 498 4233 498 4233 498 2241 498 4482 498 1992 498 1992 498 4233 498 1992 498 1992 498 4233 498 4233 498 1992 498 1992 498 1992 498 2241 498 2241 498 1992 498 4233 498 2241 498 8466
The next step is to transform this output into groups of 2 pulses.
498 1992 498 1992 498 1992 498 1992 498 1992 498 4233 498 4233 498 1992 498 1992 498 2241 498 1992 498 1992 498 2241 498 2241 498 1992 498 1992 498 4233 498 2241 498 2241 498 1992 498 1992 498 4482 498 1992 498 4233 498 4233 498 2241 498 4482 498 1992 498 1992 498 4233 498 1992 498 1992 498 4233 498 4233 498 1992 498 1992 498 1992 498 2241 498 2241 498 1992 498 4233 498 2241 498 8466
If we now look at carefully at these groups you can distinguish two types of groups:
498 1992
498 4233
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:
000001100000000010000101101001001100000010
Each (group) of numbers has a specific meaning:
ID : 00011000 | Channel : 00 | Temp : 011000010010 | Hum : 00111001 | Bat : 00
ID
is defined as a binary number Channel
is defined as a binary number and specifies which channel the sensor usesTemperature
is defined as a binary number and represents the temperature (value is given in fahrenheit strating at -90°F). Assuming that the Temp binary value is AAAABBBBCCCC, the formula to calculate the temperature value in °C is (((DEC(CCCC)*256) + (DEC(BBBB)*16) + (DEC(AAAA))/10) - 90 - 32) * (5/9)
Humidity
is defined as a binary number. Assuming that the Hum binary value is AAAABBBB, the formula to calculate the humidity percentage is DEC(BBBB)*16 + DEC(AAAA)Battery
identifies the state of the batteryID : 24 | Channel : 1 | Temp : 18.56°C | Hum : 57% | Bat : OK
This protocol was created for pilight with the help of this thread: http://forum.pilight.org/Thread-New-Protocol-Wireless-Indoor-Outdoor-Weather-Station-with-3-Sensors
This weather station or just the sensor is available from several (mostly Chinese) suppliers on eBay or Alibaba. Description for device is usually like: “Digital Wireless Indoor/Outdoor Weather Station with 3 Remote Sensors”. The sensor can be identified by the option to choose from 3 different channels.
Humidity and battery are supported by this protocol. The battery function is not tested 100%. Please be aware that the ID of a sensor changes after you replace the batteries. Conrad sensor only provide temperature (no humidity).