Trying to add AcuRite 00986 Refrigerator/Freezer Sensors

165 views
Skip to first unread message

J.C. Wren

unread,
Oct 18, 2015, 8:08:12 PM10/18/15
to rtl_433
I'm trying to add support for the AcuRite 00986 Refrigerator/Freezer sensors (link), but I'm at a bit of a loss.

rtl_433 is seeing them with -a, but the long/short times are wrong, probably caused by the long-time checker using the preamble. I don't understand in the device decoder how to ignore that. I also don't know if I should be using OOK_FSK_D or OOK_FSK_P (both of which are marked as deprecated).

I've attached the -a -t file the capture, along with several Saleae logic analyzer captures. The last two digits in the filename is the temperature when it transmitted. These were captured directly off the output pin from the processor to the 433MHz transmitter on sensor #1 (there are two sensors in the system, so the #2 should have a bit set somewhere indicating that). If we can get it decoding this one, I'll capture rtl_433 data from the second one, and if necessary, crack it open for a logic analyzer trace.

I'm hoping someone can help with this. I'd like to build a 433MHz receiver coupled to an ESP8266 (or similar) to push 'fridge temps into the home control system via MQTT.

Thanks!
Acurite_TX_51.data
Acurite_TX_54.logicdata
Acurite_TX_58.logicdata
Acurite_TX_74.logicdata

Robert Terzi

unread,
Oct 24, 2015, 2:29:50 PM10/24/15
to J.C. Wren, rtl_433
Sorry, I didn't get a chance to look at this until now.

You only provided one I/Q recording, but looking at that with -A,
the newer analyzer from @vestom, the signal characteristics are
pretty clear.

Test mode active. Reading samples from file: Acurite_TX_51.data
Detected OOK package
Analyzing pulses...
Total number of pulses: 92
Pulse width distribution:
[ 0] mean: 50 [49;52], count: 84
[ 1] mean: 402 [401;403], count: 8
Gap width distribution:
[ 0] mean: 71 [71;72], count: 4
[ 1] mean: 380 [346;393], count: 8
[ 2] mean: 231 [223;241], count: 31
[ 3] mean: 137 [131;148], count: 48
Pulse period distribution:
[ 0] mean: 121 [120;124], count: 4
[ 1] mean: 782 [748;795], count: 8
[ 2] mean: 281 [273;291], count: 31
[ 3] mean: 188 [181;200], count: 48
Guessing modulation: No clue...


You can verify this by importing that file into Audacity or similar
as raw data, 8 bit unsigned, 2 channels.

There are 4 long start/sync pulses approximately 400 samples long
which confuse the analyzers attempt to automatically demodulate
that signal.

In ACURITE_TX_51.data it looks like there
are two packets back-to-back which are separated only by the
long start/sync pulses. There isn't a long enough gap which will
confuse some of the demodulators but that can be worked around.

The encoding looks to be pulse position (or pulse distance) based
as the 84 data pulses are all an average of 50 samples long.

Short gaps/periods are 137/188 samples (avg)
Long gaps/periods are 231/281 samples (avg)

Unfortunately, I don't think a good demodulator for this signal
is currently implemented in rtl_433, but it shouldn't be too
hard to implement.

I'd look at PWM precise and PWM ternary as a model to use for
implementing a PPM version of those. The part of those that
you want to copy is the recognition of the start/sync pulses
to start a new data row in the bitbuffer. You should get
a bit buffer with 4 empty rows in between the two rows that
contain your data. The sync pulses will be pulled out giving
you hopefully a clean easy signal to work with.

Please add a few recordings to merbanan/rtl_433_tests repo.

Hope this helps,
--Rob






On 10/18/2015 8:08 PM, J.C. Wren wrote:
> I'm trying to add support for the AcuRite 00986 Refrigerator/Freezer
> sensors (link
> <http://www.acurite.com/kitchen-gadgets/cooking-thermometers/digital-freezer-refrigerator-thermometer-with-temperature-alarms-00986.html>),
Reply all
Reply to author
Forward
0 new messages