-
Notifications
You must be signed in to change notification settings - Fork 323
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
|
||
# Cotech 36-7959 weatherstation | ||
|
||
## Measured values | ||
|
||
File,Temp (celcius),Humidity,Gust,Wind,Direction,Rain,Dew point,Feels like | ||
g001_433.92M_1000k.cu8,"22,8",34,"0,0","0,0",S,"0,9","6,2","22,8" | ||
g002_433.92M_1000k.cu8,"22,8",34,"0,0","0,0",S,"0,9","6,2","22,8" | ||
g005_433.92M_1000k.cu8,"22,8",34,"0,0","0,0",N,"0,9","6,2","22,8" | ||
g007_433.92M_1000k.cu8,"22,8",34,"0,0","0,0",W,"0,9","6,2","22,8" | ||
g009_433.92M_1000k.cu8,"22,8",34,"0,0","0,0",E,"0,9","6,2","22,8" | ||
g013_433.92M_1000k.cu8,"22,8",34,"2,0","0,6",S,"0,9","6,2","22,8" | ||
g015_433.92M_1000k.cu8,"22,8",34,"1,7","1,1",S,"0,9","6,2","22,8" | ||
g020_433.92M_1000k.cu8,"22,9",34,"0,0","0,0",SW,0,"6,2","22,9" | ||
g022_433.92M_1000k.cu8,"22,9",34,"0,0","0,0",NW,0,"6,2","22,9" | ||
g024_433.92M_1000k.cu8,"22,9",34,"0,0","0,0",NE,0,"6,2","22,9" | ||
g026_433.92M_1000k.cu8,"22,9",34,"0,0","0,0",SE,0,"6,2","22,9" | ||
g029_433.92M_1000k.cu8,"22,9",34,"0,7","0,1",S,"4,8","6,2","22,9" |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
1000000 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Cotech 36-7959 weatherstation | ||
|
||
Believe the weatherstation is a branded version of [UNIT CONNECTION TECHNOLOGY's model _FT020](http://www.uctechnologyltd.com/prod_view.aspx?TypeId=29&Id=265&FId=t3:29:3). | ||
|
||
Flexcoder | ||
``` | ||
rtl_433 -X n=cotech-36-7959,m=OOK_MC_ZEROBIT,s=488,r=1200,preamble={12}014 | ||
``` | ||
|
||
Running _reveng_ to reverse engineer the CRC calculation | ||
``` | ||
reveng -w 8 -s [samples from flexcoder] | ||
Result: width=8 poly=0x31 init=0xc0 refin=false refout=false xorout=0x00 check=0x0d residue=0x00 name=(none) | ||
``` | ||
|
||
## Data mappings | ||
|
||
- 4 bits = Never changes | ||
- 8 bits = Changes when replacing batteries or when resetting device, probably an id | ||
- **1 bit** = 0 = Ok battery, 1 = Low battery | ||
- **1 bit** = Wind direction is defined by a byte later on in the sequence. When degrees are over 255 (byte max value) this value is set to 1 and the wind direction starts from 1 again. So when this is = 1 it basically means "wind direction value + 255" | ||
- **1 bit** = Wind and gust are also defined by a byte later on in the sequence. Specification states it can show wind strength up to 50m/s. Guessing this bit works same as previous bit for wind direction i.e. if this is set to 1 wind (or gust) is equal to (wind value + 255) / 10 | ||
- **1 bit** = same as above. Don't know which is which... need to bring out the compressor and manually create some strong wind. | ||
- **8 bits** = Wind, decimal value / 10 to get m/s | ||
- **8 bits** = Gust, decimal value / 10 to get m/s | ||
- **8 bits** = Wind direction, decimal value for degrees | ||
- **4 bits** = Always the same, 4 zeros, no clue... might belong to the following rain value | ||
- **_12 bits_** = Rain value / 10 => mm. Don't know if this is actually 12 bits, if it cycles or how it works. So far I have only seen this value increasing (exept for when device was reset). Might also contain the previous 4 bits | ||
- 4 bits = Always the same, 1000, no clue | ||
- **12 bits** = Temperature. This value is given in fahrenheit with the formula: (value - 400) / 10 | ||
- **8 bits** = Humidity, decimal value giving the percentage | ||
- 24 bits = Always the same, crc-padding? | ||
- **8 bits** = CRC8 Checksum (width=8 poly=0x31 init=0xc0 refin=false refout=false xorout=0x00 check=0x0d residue=0x00) |