User Tools

Site Tools


tfa_v5_0

TFA

FeatureSupport
Sending
Receiving
Config

Supported Brands

BrandProtocol
TFAtfa
Conradconrad_weather

Sender Arguments

None

Config

        "living": {
                "name": "Living",
                "weather": {
                        "name": "Weather",
                        "protocol": [ "tfa" ],
			"id": [{
				"id": 108,
				"channel": 3
			}],
                        "temperature": 189,
                        "humidity": 410,
                        "battery": 1
                }
        }

Optional Settings

SettingDefaultFormatDescription
device-decimals2numberHow many decimals does the weather information contain
device-humidity-offset0numberCorrect humidity value
device-temperature-offset0numberCorrect temperature value
gui-decimals2numberHow many decimals should the GUIs display
gui-show-humidity11 or 0Don't display the humidity value
gui-show-temperature11 or 0Don't display the temperature value
gui-show-battery11 or 0Don't display the battery value

Protocol

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:

  1. 498 1992
  2. 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: 2 till 9
  • Channel: 12 till 13
  • Temperature: 14 till 25
  • Humidity: 26 till 33
  • Battery: 34 till 35
ID : 00011000 | Channel : 00 | Temp : 011000010010 | Hum : 00111001 | Bat : 00 
  • The ID is defined as a binary number
  • The Channel is defined as a binary number and specifies which channel the sensor uses
  • The Temperature 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)
  • The 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)
  • The Battery identifies the state of the battery
ID : 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

Comments

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.

threechanwireless.jpg

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).

tfa_v5_0.txt · Last modified: 2015/11/27 22:09 (external edit)