rtl_433_ESP
rtl_433_ESP copied to clipboard
Support for Honeywell Sensors
Hello! Thank you for this project! I was wondering if it is possible to implement the Honeywell decoder in this project? The source in rtl_433 is here https://github.com/merbanan/rtl_433/blob/master/src/devices/honeywell.c and it seems to use the OOK_PULSE_MANCHESTER_ZEROBIT modulation.
It would need some effort and access to a Honeywell device to test with. Also as the cc1101 is a bit deaf and the receiver is not that sensitive, will it work with your use case?
Thank you for the reply! My sensors are a few meters away from the cc1101 so I hope the signal will be strong enough. I noticed some references to the ook_pulse_manchester in your flex.c file but I'm not sure if there are more components needed.
Likely, I had removed a lot of the rtl433 codebase to get it to work on a esp32
Ah okay, do you have any tips on anything I can try to help?
Give me a few days, I need to do refresh and will try to include these as well
Okay thank you very much!
I have tried adding the Honeywell.c file into the devices but I had trouble building the OMG firmware. Will wait for your refresh @NorthernMan54
Okay, I'm just awaiting the next rtl-433 refresh. Their last release was 21.12 ( Dec 14, 2021 ), and will update when the next release is published.
Got it! Thank you!
Hi! It looks like 22.11 has been released a few days ago, when you have the time can we revisit trying to add the Honeywell decoder? Thank You!
I actually started it last week before heading out for vacation, https://github.com/NorthernMan54/rtl_433_ESP/tree/rtl_433_Release-22.11. I’m still in the middle of updating, and it is non-functional at the moment.
wow, thank you I really appreciate it. Please let me know if there's anything you'd like me to test as the development progresses.
Small update but I was able to add the honeywell.c files into the project now that OOK_PULSE_MANCHESTER has been added, however my decode success rate is quite low, even right next to the sensor. Do you have any tips or parameters I can adjust that may help?
Try pull request #57
Thank you for the quick reply! I tweaked some of those settings that were applicable to the CC1101 but still am experiencing decodes only once in a while.
If you refresh to the current release, I have merged that pull request and put in the Honeywell.c decoder as well. Hopefully this resolves it for you
Thank you! I just rebuilt using the current release, however I am still getting this:
rtl_433_ESP(7): Average RSSI Signal -85 dbm, adjusted RSSI Threshold -76, samples 50000
rtl_433_ESP(6): Signal length: 383044, Gap length: 38567690, Signal RSSI: -46, train: 0, messageCount: 36, pulses: 194
rtl_433_ESP(6): Unparsed Signal length: 383044, Signal RSSI: -46, pulses: 195
rtl_433_ESP(6): RAW (383044): +0-124(-46)+135-124(-46)+160-110(-46)+140-135(-46)+134-110(-46)+166-110(-46)+137-137(-46)+136-111(-46)+163-110(-46)+137-138(-46)+138-110(-46)+164-110(-45)+138-110(-45)+163-109(-45)+259-263(-45)+269-132(-45)+136-139(-45)+137-242(-43)+161-109(-43)+138-136(-43)+255-263(-44)+133-133(-44)+146-138(-44)+135-110(-44)+137-136(-44)+275-106(-44)+137-257(-44)+264-267(-44)+132-135(-44)+258-150(-44)+129-248(-44)+279-260(-43)+268-265(-43)+252-147(-43)+128-138(-43)+135-131(-43)+138-109(-43)+137-136(-44)+136-248(-44)+270-132(-44)+137-135(-43)+122-269(-43)+267-253(-43)+142-120(-43)+139-121(-43)+156-138(-43)+266-107(-44)+136-275(-44)+133-137(-44)+138-107(-44)+275-82569(-41)+138-109(-41)+136-135(-41)+138-137(-41)+134-108(-42)+138-138(-42)+137-131(-42)+137-109(-42)+138-135(-42)+124-132(-42)+138-139(-42)+135-134(-42)+274-240(-42)+256-140(-42)+147-114(-40)+148-248(-40)+147-128(-40)+137-135(-41)+251-263(-41)+160-106(-41)+147-116(-40)+139-118(-40)+139-120(-40)+270-147(-40)+128-274(-40)+252-262(-40)+132-134(-40)+265-118(-40)+142-254(-41)+264-278(-41)+266-252(-41)+265-133(-41)+134-125(-41)+141-139(-41)+119-139(-41)+146-129(-41)+138-240(-41)+270-134(-41)+134-135(-41)+138-259(-41)+261-267(-41)+133-139(-41)+135-107(-41)+164-110(-41)+275-136(-41)+134-232(-40)+143-122(-40)+162-108(-40)+82148-138(-40)+138-134(-40)+104-162(-40)+110-137(-40)+135-134(-41)+137-137(-41)+107-162(-41)+110-138(-41)+134-121(-41)+132-138(-41)+138-135(-41)+132-136(-40)+111-135(-40)+272-270(-40)+265-132(-41)+138-134(-41)+102-272(-41)+133-134(-41)+135-138(-41)+260-262(-41)+133-133(-41)+133-137(-41)+137-133(-41)+135-111(-42)+275-133(-42)+136-233(-42)+269-267(-41)+158-109(-41)+258-151(-41)+130-274(-41)+253-262(-41)+267-264(-41)+252-148(-41)+129-138(-41)+135-130(-41)+137-137(-41)+109-135(-41)+137-275(-42)+240-134(-42)+136-136(-42)+122-270(-41)+266-253(-41)+142-121(-41)+139-147(-41)+131-139(-41)+239-160(-41)+108-274(-41)+133-137(-41)+137-106(-42)+82721-111(-43)+137-136(-43)+137-111(-43)+166-107(-43)+137-138(-44)+138-109(-44)+136-137(-44)+139-110(-44)+162-110(-44)+138-138(-44)+137-109(-44)+272-273(-42)+268-133(-42)+139-108(-42)+126-271(-42)+133-134(-42)+136-136(-42)+259-263(-43)+133-134(-43)+134-135(-43)+138-107(-43)+163-110(-43)+276-133(-43)+137-231(-42)+293-244(-42)+156-109(-42)+258-151(-42)+130-274(-42)+252-261(-42)+268-265(-42)+252-148(-42)+129-138(-42)+135-130(-42)+138-109(-43)+137-137(-43)+136-249(-43)+267-134(-42)+137-135(-42)+122-270(-42)+267-252(-43)+141-120(-43)+141-119(-43)+157-138(-43)+267-107(-43)+136-274(-43)+134-137(-42)+138-108(-42)+275-0(-42)
N: uniqueid: unknown
T: isAdupl?
T: getDeviceById unknown-rssi
T: update unknown-rssi
N: Send on /RTL_433toMQTT/unknown msg {"model":"unknown","protocol":"signal parsing failed","duration":383044,"rssi":-46,"pulses":195}
T: jsonPubl - ON
T: [ OMG->MQTT ] topic: home/OpenMQTTGateway_multi_receiver/RTL_433toMQTT/unknown msg: {"model":"unknown","protocol":"signal parsing failed","duration":383044,"rssi":-46,"pulses":195}
T: Min ind: 10
T: store code : 0 / 265608
T: Col: val/timestamp
T: mem code : 0 / 47215
T: mem code : 17836 / 47491
T: mem code : 0 / 52856
T: mem code : 538872 / 53222
T: mem code : 0 / 180171
T: mem code : 0 / 189325
T: mem code : 981349 / 189555
T: mem code : 0 / 192840
T: mem code : 0 / 215120
T: mem code : 0 / 224406
T: mem code : 0 / 265608
T: mem code : 0 / 0
rtl_433_ESP(6): # of messages decoded 0
rtl_433_ESP(6): Signal length: 382996, Gap length: 947261, Signal RSSI: -35, train: 1, messageCount: 37, pulses: 195
rtl_433_ESP(6): Unparsed Signal length: 382996, Signal RSSI: -35, pulses: 196
rtl_433_ESP(6): RAW (382996): +64-164(-35)+97-164(-35)+119-154(-35)+108-161(-36)+102-189(-36)+83-159(-36)+106-159(-36)+111-160(-36)+74-184(-36)+82-189(-36)+83-180(-36)+84-163(-36)+105-160(-36)+232-297(-36)+238-156(-37)+109-164(-37)+106-296(-37)+106-156(-37)+98-160(-37)+232-281(-37)+133-132(-37)+131-137(-37)+134-123(-37)+130-139(-38)+246-158(-38)+109-285(-38)+258-264(-38)+130-137(-38)+235-153(-38)+132-273(-38)+255-263(-38)+266-262(-39)+254-148(-39)+131-138(-39)+135-132(-39)+137-138(-39)+106-162(-39)+109-274(-39)+266-134(-39)+137-108(-40)+127-271(-40)+265-253(-40)+143-122(-40)+139-147(-40)+131-138(-40)+241-160(-39)+107-273(-39)+133-138(-39)+136-132(-40)+82684-153(-40)+108-165(-40)+107-163(-40)+105-164(-40)+108-121(-41)+132-166(-41)+109-135(-41)+104-162(-42)+111-159(-42)+107-162(-42)+111-136(-42)+243-287(-41)+264-133(-41)+133-138(-42)+111-265(-42)+132-161(-42)+109-136(-42)+255-265(-43)+133-132(-43)+123-160(-43)+137-109(-42)+136-135(-42)+279-129(-42)+108-260(-43)+267-266(-43)+131-135(-43)+258-150(-43)+129-274(-43)+253-262(-43)+267-263(-43)+252-149(-43)+129-138(-43)+136-129(-43)+137-137(-43)+108-135(-43)+137-274(-43)+239-159(-43)+110-136(-43)+125-271(-43)+265-253(-44)+143-122(-44)+141-146(-44)+130-138(-43)+240-160(-43)+108-272(-43)+133-137(-43)+137-132(-43)+246-82317(-40)+138-120(-40)+153-139(-40)+135-101(-40)+162-110(-41)+136-136(-41)+136-137(-41)+137-108(-41)+135-138(-41)+138-137(-41)+131-136(-41)+137-111(-41)+135-124(-41)+270-269(-41)+250-142(-40)+121-139(-40)+147-246(-40)+147-127(-40)+138-136(-40)+250-263(-40)+133-132(-40)+123-141(-40)+140-118(-40)+139-120(-40)+271-146(-41)+128-274(-41)+253-262(-40)+133-132(-40)+267-116(-40)+142-256(-40)+264-278(-40)+266-252(-40)+265-161(-40)+105-149(-40)+117-139(-40)+120-138(-40)+121-155(-40)+138-239(-41)+269-133(-41)+135-135(-41)+138-260(-40)+262-268(-40)+131-137(-40)+137-132(-40)+136-110(-40)+275-133(-40)+136-233(-40)+144-124(-40)+164-107(-40)+81940-106(-52)+115-149(-52)+133-116(-52)+148-132(-43)+138-108(-43)+154-109(-43)+166-112(-43)+135-136(-43)+137-111(-43)+164-109(-43)+139-136(-43)+138-109(-44)+137-137(-44)+138-110(-44)+296-227(-43)+266-161(-43)+132-126(-43)+136-232(-42)+153-132(-42)+138-135(-42)+252-262(-42)+159-106(-42)+147-118(-42)+138-118(-43)+139-120(-43)+272-146(-43)+128-274(-43)+252-261(-43)+133-133(-43)+266-118(-43)+140-256(-43)+264-278(-42)+267-253(-42)+263-133(-42)+134-125(-42)+142-116(-42)+143-138(-42)+146-129(-43)+138-241(-43)+269-134(-42)+134-136(-42)+137-259(-42)+263-267(-42)+132-137(-42)+138-107(-42)+163-111(-43)+275-133(-43)+137-232(-43)+142-123(-43)+162-108(-43)+270-0(-43)
N: uniqueid: unknown
T: isAdupl?
T: no pub. dupl
rtl_433_ESP(6): # of messages decoded 0
Once in a while I do get a sucessful decode however I am not sure how to make this occur more frequently:
rtl_433_ESP(6): Signal length: 71999, Gap length: 111356, Signal RSSI: -52, train: 0, messageCount: 40, pulses: 51
rtl_433_ESP(6): data_output {"model":"Honeywell-Security","id":981349,"channel":8,"event":0,"state":"closed","contact_open":0,"reed_open":0,"alarm":0,"tamper":0,"battery_ok":1,"heartbeat":0,"mic":"CRC","protocol":"Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater","rssi":-52,"duration":71999}
N: uniqueid: Honeywell-Security-8-981349
T: isAdupl?
T: getDeviceById Honeywell-Security-8-981349-battery_ok
T: update Honeywell-Security-8-981349-battery_ok
T: getDeviceById Honeywell-Security-8-981349-rssi
T: update Honeywell-Security-8-981349-rssi
T: getDeviceById Honeywell-Security-8-981349-tamper
T: update Honeywell-Security-8-981349-tamper
T: getDeviceById Honeywell-Security-8-981349-alarm
T: update Honeywell-Security-8-981349-alarm
N: Send on /RTL_433toMQTT/Honeywell-Security/8/981349 msg {"model":"Honeywell-Security","id":981349,"channel":8,"event":0,"state":"closed","contact_open":0,"reed_open":0,"alarm":0,"tamper":0,"battery_ok":1,"heartbeat":0,"mic":"CRC","protocol":"Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater","rssi":-52,"duration":71999}
T: jsonPubl - ON
T: [ OMG->MQTT ] topic: home/OpenMQTTGateway_multi_receiver/RTL_433toMQTT/Honeywell-Security/8/981349 msg: {"model":"Honeywell-Security","id":981349,"channel":8,"event":0,"state":"closed","contact_open":0,"reed_open":0,"alarm":0,"tamper":0,"battery_ok":1,"heartbeat":0,"mic":"CRC","protocol":"Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater","rssi":-52,"duration":71999}
T: Min ind: 0
T: store code : 981349 / 359169
T: Col: val/timestamp
T: mem code : 981349 / 359169
T: mem code : 17836 / 47491
T: mem code : 0 / 52856
T: mem code : 538872 / 53222
T: mem code : 0 / 180171
T: mem code : 0 / 189325
T: mem code : 981349 / 189555
T: mem code : 0 / 192840
T: mem code : 0 / 215120
T: mem code : 0 / 224406
T: mem code : 0 / 265608
T: mem code : 0 / 358770
rtl_433_ESP(6): # of messages decoded 1
rtl_433_ESP(6): Signal length: 76000, Gap length: 103374, Signal RSSI: -46, train: 1, messageCount: 41, pulses: 50
rtl_433_ESP(6): data_output {"model":"Honeywell-Security","id":981349,"channel":8,"event":0,"state":"closed","contact_open":0,"reed_open":0,"alarm":0,"tamper":0,"battery_ok":1,"heartbeat":0,"mic":"CRC","protocol":"Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater","rssi":-46,"duration":76000}
N: uniqueid: Honeywell-Security-8-981349
T: isAdupl?
T: no pub. dupl
rtl_433_ESP(6): # of messages decoded 1
Please let me know if you have anything else in mind I could try.
I wonder if it's possible the sampling rate is too low for this sensor, it's odd that out of the 6 packets the Honeywell sensor sends, only about 1 gets decoded.
What frequency are your Honeywell sensors using?
Are you using a radio module for the correct frequency?
At least in the US/NA, the Honeywell modules covered in src/devices/honeywell.c trasmit on 345Mhz. I didn't think the cc1011 modules offer that option, but would be interested in learning more.
Also note, there is currently some room for improvement in rtl_433 for improving the reliability of Honeywell decoding. The flex decoder is currently getting more decodes for me than the builtin decoder.
https://github.com/merbanan/rtl_433/issues/2015
What frequency are your Honeywell sensors using?
Are you using a radio module for the correct frequency?
At least in the US/NA, the Honeywell modules covered in src/devices/honeywell.c trasmit on 345Mhz. I didn't think the cc1011 modules offer that option, but would be interested in learning more.
Also note, there is currently some room for improvement in rtl_433 for improving the reliability of Honeywell decoding. The flex decoder is currently getting more decodes for me than the builtin decoder.
Hi! They are using 345MHz, the cc1101 should be able to receive and transmit on this frequency and I have got some successful decodes just not as many as rtl433 on an sdr. I will try to add this flex decoder in and report back. Do you feel as if you are still missing some decodes with the new decoder?
the cc1101 should be able to receive and transmit on this frequency
Yes, but there is usually a bit more discrete supporting circuitry that is tuned for the desired frequency.
Do you feel as if you are still missing some decodes with the new decoder?
Yes. It is definitely still a bit of a work in progress. There are some challenges to overcome there. It would be interesting to see how well a purpose built receiver does.
The latest release included tuning for problematic reception. You may want to upgrade and try again.