HoneywellSecurityMQTT

Hello,

I’ve forked another project and made some changes to allow (hopefully) easy integration of 345MHz Honeywell sensors (e.g. 2GIG, Vivint, etc.). It requires an RTL-SDR dongle and antenna (~$25) and that’s about it.

I was motivated to do this since I somewhat recently bought a home that included a lot of these devices but I didn’t want to pay a monthly fee and I wanted better integration with everything else (cue HA).

Fortunately I found the “HoneywellSecurity” project, which did most of the heavy-lifting. However it was designed for SmartThings and it also didn’t decode things like tamper, low battery, check for timeouts, etc.

I’ve tested this with numerous sensor types including door, window, shock, smoke, and water.

Let me know what feedback you have.
HoneywellSecurityMQTT

3 Likes

Cool stuff. How reliable has this been?

I’m in a similar boat with a house decked out with Vivint sensors, but I don’t envision myself staying with them much longer.

It’s been pretty good. I have about 20 devices and they all work well except for two that occasionally miss events. I think I probably don’t have as good range with my RTL-SDR receiver+ antenna as the original setup. I am going to try to replace the batteries and see if that takes care of it since they used to work OK but have been getting worse over the last few months.

Very cool. In talking to these devices directly, do they loose their pairing to the alarms local controller? or are they able to simultaneously talk MQTT to HA and maintain their connection to the alarm panel?

The communication is just a one-way broadcast, so the alarm panel I have still gets all the events as well as the RTL-SDR.

I just tried this out, but I get a series of errors. They pop up after I open a door with a sensor on it.
Invalid Payload: FFFE74214E0C0137
1/1 packets failed CRC
Invalid Payload: FFFE74214E0C0137
2/2 packets failed CRC
Invalid Payload: FFFE74214E0C0137
3/3 packets failed CRC
Invalid Payload: FFFE74214E0C0137
4/4 packets failed CRC
Invalid Payload: FFFE74214E0C0137
5/5 packets failed CRC
Invalid Payload: FFFE74214E0C0137
6/6 packets failed CRC

It looks like your device uses a different set of CRC parameters. Can you provide maybe 2-3 more different payload examples? I should be able to confirm the new parameters with that.

I have tried this a couple times, but am never able to pick up any transmissions. Im ~99% sure that I’m using 345MHz sensors. Do you use the same settings as shown on github?

Yes I am using the Github code as-is…do you have a brand or model number for your sensors? I assume your existing alarm panel picks them up OK still and the batteries are good? What are you using for your antenna?

It seems like my Vivint install uses 2gig DW10 345Mhz sensors. They are not marked anywhere that I can see, but based on the install date and the fact that they have 2 batteries inside, it’s the best that I can infer.

I hear that this model broadcasts unencrypted, and was hopeful that the Honeywell decoder could work, but I don’t even detect the broadcasts.

image

That is really strange. This is what it should look like if it were working:

joel@periphas:~/src/HoneywellSecurity/src$ sudo /usr/local/sbin/honeywell
>> Mqtt - connected
>> Mqtt - set will message to: FAILED
Found Rafael Micro R820T tuner
Successfully set the frequency to 345000000
Successfully set gain to 350
Exact sample rate is: 1000000.026491 Hz
Successfully set the sample rate to 1000000
>> Mqtt - Message (1) published
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
*Device  732804: OK

>> Mqtt - Message (2) published
>> Mqtt - Message (3) published
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E84A085AE (Serial 732804, Status A0)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
>> Mqtt - Message (4) published
>> Mqtt - Message (5) published
*Device  732804: OK

Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)
Valid Payload: FFFE8B2E842006AD (Serial 732804, Status 20)

Try uncommenting this bit in digitalDecoder.cpp and see if anything interesting happens when you trigger an event:

246 //#ifdef __arm__
247 //    printf("Got bit: %d, payload is now %llX\n", value?1:0, payload);
248 //#else
249 //    printf("Got bit: %d, payload is now %lX\n", value?1:0, payload);
250 //#endif

It occurs to me that nowhere do I enter a password for my MQTT server. Do you run passwordless? or am I missing something?

Also should we move debugging discussion over to the github issues page?

No you aren’t missing anything; I allow anonymous connections, but it’s set up to only listen to the loopback interface.

Github is fine too, whichever.

FYI I’ve since added username and password support to this.

I finally came back to this. Turns out I had a bad SDR. I borrowed a radio from a friend and it works like a charm.

Great! Glad to hear you got it going.

Can’t wait to give this a try. Ordered an SDR today with this exact scenario in mind.

Hi @fusterjj I’ve just installed HoneyWellSecurityMQTT and I am facing this CRC issue with some of my devices, can you help me on this ?

This is what mine looks like

Mqtt - set LWT message to: FAILED
Mqtt - connected
Found Rafael Micro R820T tuner
Successfully set the frequency to 345000000
Successfully set gain to 350
Exact sample rate is: 1000000.026491 Hz
Successfully set the sample rate to 1000000
Mqtt - Message (1) published
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
*Device 123125: OK TAMPER

Mqtt - Message (2) published
Mqtt - Message (3) published
Mqtt - Message (4) published
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
Valid Payload: FFFE21E0F54081C0 (Serial 123125, Status 40)
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
*Device 118756: OK
Device 123125: OK TAMPER

Mqtt - Message (5) published
Mqtt - Message (6) published
Mqtt - Message (7) published
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
Valid Payload: FFFE21CFE4003470 (Serial 118756, Status 0)
Invalid Payload: FFFEB0BA354479D0
1/13 packets failed CRC
Invalid Payload: FFFEB0BA354479D0
2/14 packets failed CRC
Invalid Payload: FFFEB0BA354479D0
3/15 packets failed CRC
Invalid Payload: FFFEB0BA354479D0
4/16 packets failed CRC
Invalid Payload: FFFEB0BA354479D0
5/17 packets failed CRC
Invalid Payload: FFFEB0BA354479D0
6/18 packets failed CRC
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Device 118756: OK
Device 123125: OK TAMPER
*Device 398064: OK

Mqtt - Message (8) published
Mqtt - Message (9) published
Mqtt - Message (10) published
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Valid Payload: FFFE8612F004D943 (Serial 398064, Status 4)
Invalid Payload: FFFEBD967F047100
7/25 packets failed CRC
Invalid Payload: FFFEBD967F047100
8/26 packets failed CRC
Invalid Payload: FFFEBD967F047100
9/27 packets failed CRC
Invalid Payload: FFFEBD967F047100
10/28 packets failed CRC
Invalid Payload: FFFEBD967F047100
11/29 packets failed CRC
Invalid Payload: FFFEBD967F047100
12/30 packets failed CRC
Invalid Payload: FFFEF7FFFFF85FFF
13/31 packets failed CRC
Invalid Payload: FFFEFFFFFFFF7FFF
14/32 packets failed CRC
Invalid Payload: FFFECFFFFFE7FBF7
15/33 packets failed CRC
Invalid Payload: FFFEFFFEFFEFFDBF
16/34 packets failed CRC
Invalid Payload: FFFEBFFFFFEFFDFE
17/35 packets failed CRC
Invalid Payload: FFFE7FFF7FFFFFFF
18/36 packets failed CRC

Hi @figorelli,
Can you tell me anything about these devices? Brand, type, etc.? Are all these invalid messages from similar/same types? If so, I should be able to figure out the CRCs. Otherwise I will probably need a couple of examples of different payloads from each one.

I should be able to find some time this weekend.