Feature | Support |
Sending | |
Receiving | |
Config |
Supported Brands
Brand | Protocol |
Fanju | fanju |
Sender Arguments
None
Config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | {
"devices": {
"weather": {
"protocol": [ "fanju" ],
"id": [{
"id": 136,
"channel": 1
}],
"temperature": 15.0,
"humidity": 99.00,
"battery": 1
}
},
"gui": {
"weather": {
"name": "Weather Station",
"group": [ "Outside" ],
"media": [ "all" ]
}
}
}
|
Option | Value |
id | 0 - 9 |
channel | 0 - 3 |
temperature | -20 - 50 |
humidity | 20 - 99 |
battery | 0 - 1 |
Optional Settings
Device Settings
Setting | Default | Format | Description |
humidity-offset | 0 | number | Adjust humidity value |
temperature-offset | 0 | number | Adjust temperature value |
GUI Settings
Setting | Default | Format | Description |
temperature-decimals | 1 | number | How many decimals the GUIs should display for temperature |
humidity-decimals | 1 | number | How many decimals the GUIs should display for humidity |
show-temperature | 1 | 1 or 0 | ‘1’ display the temperature value |
show-humidity | 1 | 1 or 0 | ‘1’ display the humidity value |
show-battery | 1 | 1 or 0 | ‘1’ display the battery value |
Comments
This weather station is available at AliExpress. Description for the device could be: “Fanju Wireless Digital Temperature Humidity Wireless Sensor meter In/Outdoor used with Weather Station”, and “Match 3378/74/79C/65/89 Indoor Receiver”. The sensor can be identified by the option to choose from three different channels.
Humidity and Battery are assumed to be supported by this protocol, but might not be. The temperature value may be a half to one degree off and the humidity value seems to vary regularly. Note that the ID of the sensor is a rolling-code, i.e. it changes every time the device is powered off (c.q. batteries are changed).
Protocol
This protocol has similarities with the auriol protocol.
The message comprises 10 nibbles, resulting in a total length of 40 bits. The bits have the following specific meaning:
1 1 2 2 2 3 3
0 4 8 2 6 0 4 8 2 6
0010 0001 1000 1100 0110 0101 1000 0011 0101 0010 2 1 8 12 6 5 8 3 5 2 AAAA AAAA BBBB xyzz CCCC CCCC CCCC DDDD DDDD EEFF
A - rolling-code B - checksum B - x 0=scheduled, 1=requested transmission
- y 0=ok, 1=battery low
- zz <unknown>
C - temperature in Fahrenheit (binary) D - humidity (BCD) E - <unknown> F - channel
Checksum
The checksum is a Linear Feedback Shift Register (LFSR) Hash. Starting with a checksum value of 0x0 and mask value 0xC, for each ‘1’ bit, starting with bit position 0, the mask is shifted right one bit and the checksum is XORed with this mask value. If the shifted right bit was ‘1’, the checksum value is additionally XORed with 0x9. Note that the end nibble is put in place of the checksum nibble, prior to the hashnumber calculation.
This protocol was created for pilight with the help of pilight-debug.