Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Geevon TX16-3 outdoor sensor #2910

Merged
merged 1 commit into from
Jul 14, 2024
Merged

Conversation

zuckschwerdt
Copy link
Collaborator

See merbanan/rtl_433_tests#444

Cleaned up and added CRC checksum.

@FalconFour, @mrjones-plip please test.

@zuckschwerdt
Copy link
Collaborator Author

Is the battery state correct? The uploaded samples show low battery?

@mrjones-plip
Copy link

mrjones-plip commented Apr 22, 2024

@zuckschwerdt awesome - thanks so much for the work to pull in the code from @FalconFour's repo into the main repo here!

My devices I ordered should arrive this week, and I'm happy to test when I get them.

Until then, can you confirm these steps are correct to test?

  1. clone this repo
  2. check out this branch feat-GeevonTX163
  3. follow build steps to create a binary with Geevon support
  4. test

I know that @FalconFour had a concern about how to reproduce the build and if the code was production ready:

...I completely forgot about how I built it ...once every few weeks [I] get a mis-read among untold thousands of reads...

For step # 4 test above, I'm happy to run the branch build for a number of days (and upload the data if needed) to see if I can reproduce the miss-reads.

@zuckschwerdt
Copy link
Collaborator Author

Thanks! Those steps look good. In particular, no need to install just running ./build/src/rtl_433 is fine.
The concerns were about activating the source in the build system and the rtl_433 module structure. That's included with this PR.

@mrjones-plip
Copy link

My hardware shipment has arrived! I'll dive into compiling from the branch and running some tests this weekend. Stay tuned!

@mrjones-plip
Copy link

Ok - tl;dr - I think this works great. I'd love a second set of eyes on the data to make sure y'all agree! As well, I'm happy to run any more tests


Below is a CSV file and chart and sample outputs from a Geevon TX16-3 and a Fineoffset-WH2. I tested these two with this branch's build on Ubuntu 22:

$ ./rtl_433$ build/src/rtl_433 -V
rtl_433 version 23.11-113-gff7afd78 branch feat-GeevonTX163 at 202404221917 inputs file rtl_tcp RTL-SDR with TLS


$ uname -a
Linux MACHINE-NAME-HERE 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

When I run /src/rtl_433 -f 433820000 -C customary watch it for IDs 57 (Fine) and 119 (Geeon) I see this output. I do note the Geevon reports itself as Nexus-TH and not Geevon-TX16-3:

time      : 2024-04-28 14:10:16                                                                                                                                                                    
model     : Nexus-TH     House Code: 119                                                                                                                                                           
Channel   : 1            Battery   : 0             Temperature: 82.40 F      Humidity  : 29 %        

time      : 2024-04-28 14:10:20                                                                                                                                                                    
model     : Fineoffset-WH2                         ID        : 57                                                                                                                                  
Temperature: 81.5 F      Humidity  : 28 %          Integrity : CRC  

The two sensors were 1foot / 0.3 meters apart and 10feet / 3meter away from the antenna on a Nooelec NESDR Mini R820T SDR & DVB-T USB device.

There were just over 1000 samples (CSV) taken over an 8 hour period. I started it off by breathing on the Geevon device to spike it's humidity sensor to ensure I was measuring the device in front of me.

Here's a graph of the CSV file above:

image

I did note that changing the little switch on the back from 1 to 3 caused the USB SDR to stop detecting measurements. I had to pop the batteries out and back in and then it showed up again. The Channel changed correctly and the ID changed as well (which I've seen with the Fine sensors as well)

@123MT
Copy link

123MT commented Jul 14, 2024

FYI: I bought the Geevon w/ 3 sensors [amazonDOTcom/dp/B09R1TP7HF ] and it works with the standard rtl_433 install and each sensor identifies as Nexus-TH (without using or compiling feat-GeevonTX163 discussed here) and it seems to be working correctly (all 3 sensors values reported by rtl_433 match what is on the display that comes with the unit).

2024-07-13 20:23:57,,,Nexus-TH,,245,2,1,24.700,,,55,,,,,,
2024-07-13 20:24:18,,,Nexus-TH,,68,1,1,16.900,,,78,,,,,,,,
2024-07-13 20:24:19,,,Nexus-TH,,105,3,1,25.500,,,44,,,,,,,

rtl_433 version 23.11-131-ge67969a2 branch master at 202406100043

@zuckschwerdt
Copy link
Collaborator Author

Thanks! It seems we don't have any sensors actually using the "Geevon TX16-3" protocol? The Nexus protocol is similar but the temperature value is not in the same place.

Can you grab some raw codes from your sensors with e.g. rtl_433 -R 19:v and post here?

Nexus codes look like {36}b510bef47 but Geevon codes should look like {72}f4002ac039aa55aa11

@zuckschwerdt zuckschwerdt force-pushed the feat-GeevonTX163 branch 2 times, most recently from 80f69b3 to 709c6c7 Compare July 14, 2024 13:26
Co-authored-by: Matt Falcon <FalconFour@users.noreply.github.com>
@zuckschwerdt
Copy link
Collaborator Author

Merging as this is a clean and simple decoder and does work for merbanan/rtl_433_tests#444

The battery low bit might be wrong as comment and code did not match originally.

@zuckschwerdt zuckschwerdt merged commit 696a008 into master Jul 14, 2024
16 checks passed
@zuckschwerdt zuckschwerdt deleted the feat-GeevonTX163 branch July 14, 2024 13:35
@123MT
Copy link

123MT commented Jul 15, 2024

Okay, here you go. Again the temp and humidity values reported are matching the display.

$ rtl_433 -R 19:v
rtl_433 version 23.11-131-ge67969a2 branch master at 202406100043 inputs file rtl_tcp RTL-SDR
Found Fitipower FC0012 tuner
[SDR] Using device 0: Realtek, RTL2838UHIDIR, SN: 00000001, "Generic RTL2832U OEM"
Exact sample rate is: 250000.000414 Hz
Allocating 15 zero-copy buffers


time : 2024-07-15 13:19:03
model : Nexus-TH House Code: 68
Channel : 1 Battery : 1 Temperature: 19.20 C Humidity : 67 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}4480c0f43, {36}4480c0f43, {36}4480c0f43, {36}4480c0f43, {36}4480c0f43, {36}4480c0f43, {95}448000000040000000000000


time : 2024-07-15 13:19:28
model : Nexus-TH House Code: 245
Channel : 2 Battery : 1 Temperature: 19.40 C Humidity : 57 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {35}f590c2f38


time : 2024-07-15 13:19:51
model : Nexus-TH House Code: 105
Channel : 3 Battery : 1 Temperature: 22.70 C Humidity : 50 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {35}69a0e3f32


time : 2024-07-15 13:20:00
model : Nexus-TH House Code: 68
Channel : 1 Battery : 1 Temperature: 19.20 C Humidity : 65 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {36}4480c0f41, {35}4480c0f40


time : 2024-07-15 13:20:35
model : Nexus-TH House Code: 245
Channel : 2 Battery : 1 Temperature: 19.40 C Humidity : 57 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {35}f590c2f38


time : 2024-07-15 13:20:57
model : Nexus-TH House Code: 68
Channel : 1 Battery : 1 Temperature: 19.10 C Humidity : 66 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {36}4480bff42, {35}4480bff42


time : 2024-07-15 13:21:10
model : Nexus-TH House Code: 105
Channel : 3 Battery : 1 Temperature: 22.70 C Humidity : 50 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {35}69a0e3f32


time : 2024-07-15 13:21:42
model : Nexus-TH House Code: 245
Channel : 2 Battery : 1 Temperature: 19.40 C Humidity : 57 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {36}f590c2f39, {35}f590c2f38


time : 2024-07-15 13:21:54
model : Nexus-TH House Code: 68
Channel : 1 Battery : 1 Temperature: 19.10 C Humidity : 65 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {36}4480bff41, {35}4480bff40


time : 2024-07-15 13:22:29
model : Nexus-TH House Code: 105
Channel : 3 Battery : 1 Temperature: 22.70 C Humidity : 50 %
[pulse_slicer_ppm] Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor
codes : {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {36}69a0e3f32, {35}69a0e3f32
^CSignal caught, exiting!
$

@zuckschwerdt
Copy link
Collaborator Author

Great! Thanks. That's plainly the Nexus protocol.
A little strange that newer Geevon units seemingly use the Nexus protocol, but good to hear that it works anyway :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants