evilpete Posted November 11, 2020 Posted November 11, 2020 (edited) If anyone is interested, a few months ago I added the Insteon wireless protocol to the SDR application rtl_433 ( https://github.com/merbanan/rtl_433 ) . For those not familiar, rtl_433 is a Software Defined Radio (SDR) program that supports decoding of hundreds of protocols including wireless weather station sensors, and power meters. X10 (just to name a few) The program compiles on Linux, Mac and windows, and requires a rtl_sdr dongle ( ~$30 on amazon: https://www.amazon.com/s?k=RTL-SDR ). Terminal output using the command : rtl_433 -f 915M -s 1500k time : 2020-11-11 14:33:17 model : Insteon From_Addr : 110103 To_Addr : 34F837 Message_Type: 6 Message_Str: Group Broadcast Message Extended : 0 Hops_Max : 3 Hops_Left : 3 Packet: CF : 34F837 : 110103 : 06 01 E0 Integrity : CRC Payload : CF37F8340301110601E0 CMD_Data : 6, 1 Json Output from the command rtl_433 -f 915M -s 1500k -R 159 -F json {"time" : "2020-11-11 14:36:11", "model" : "Insteon", "from_id" : "34F837", "to_id" : "132580", "msg_type" : 2, "msg_str" : "Group Cleanup Direct Message", "extended" : 0, "hopsmax" : 3, "hopsleft" : 3, "formatted" : "4F : 132580 : 34F837 : 11 02 C1", "mic" : "CRC", "payload" : "4F80251337F8341102C1", "cmd_dat" : [17, 2]} {"time" : "2020-11-11 14:36:12", "model" : "Insteon", "from_id" : "110102", "to_id" : "34F837", "msg_type" : 6, "msg_str" : "Group Broadcast Message", "extended" : 0, "hopsmax" : 3, "hopsleft" : 3, "formatted" : "CF : 34F837 : 110102 : 06 01 D1", "mic" : "CRC", "payload" : "CF37F8340201110601D1", "cmd_dat" : [6, 1]} Edited November 12, 2020 by evilpete 4
Michel Kohanim Posted November 12, 2020 Posted November 12, 2020 @evilpete, Are you certain that what you have developed is legal? If so, and since SmartHome has stopped making PLMs, perhaps you can make this into a product. With kind regards, Michel
Goose66 Posted November 12, 2020 Posted November 12, 2020 Does it (or can it) have RSSI or other diagnostic information?
evilpete Posted November 12, 2020 Author Posted November 12, 2020 (edited) On 11/12/2020 at 9:52 AM, Goose66 said: Does it (or can it) have RSSI or other diagnostic information? the. rtl_sdr app will do that with the -M level option rtl_433 -f 915M -s 1500k -M level _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ time : 2020-11-12 10:04:58 model : Insteon From_Addr : 34F837 To_Addr : 132580 Message_Type: 2 Message_Str: Group Cleanup Direct Message Extended : 0 Hops_Max : 3 Hops_Left : 3 Packet : 4F : 132580 : 34F837 : 13 04 65 Integrity : CRC Payload : 4F80251337F834130465 CMD_Data : 19, 4 Modulation: FSK Freq1 : 914.9 MHz Freq2 : 915.1 MHz RSSI : -0.2 dB SNR : 33.4 dB Noise : -33.7 dB _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ time : 2020-11-12 10:05:00 brand : LaCrosse model : LaCrosse-TX35DTHIT id : 8 Battery : 1 NewBattery: 0 Temperature: 11.2 C Integrity : CRC Modulation: FSK Freq1 : 914.9 MHz Freq2 : 915.1 MHz RSSI : -12.1 dB SNR : 17.7 dB Noise : -29.8 dB (I also picked up my 915MHz LaCrosse outdoor temperature sensor ) Edited November 13, 2020 by evilpete 1
evilpete Posted November 12, 2020 Author Posted November 12, 2020 (edited) On 11/12/2020 at 7:58 AM, Michel Kohanim said: Are you certain that what you have developed is legal? If so, and since SmartHome has stopped making PLMs, perhaps you can make this into a product. @Michel Kohanim They stopped making PLMs?? interesting... with the rtl_433 program, I only contributed the protocol decoding part, the maintainers did all the heaving lifting implementing the demodulators. As for legality, I never signed a non-disclosure and thus was free to reverse engineer it. (https://github.com/merbanan/rtl_433/blob/master/src/devices/insteon.c) regarding making a product, if someone was to do this, i'd suggest building on the CC1111 chip instead of the RTL2832U chipset. With SDR dongles you'll have to do the demodulating of the raw I/Q data (aka the raw RF wave info) in software along with the accompanying CPU overhead (receive only) Where as if you use TI's CC1111 chipset family, the demodulation is done by in the chip, and you and can most likely get it done with cheap aarduino cpu at the a controller ( + you can transmit just as easily ) The or cc1111emk868 or Yardstick One are both based on CC1111 platform and allows simple transmit and receiving on the sub-1 GHz ISM radio bands. ( https://greatscottgadgets.com/yardstickone/ http://www.ti.com/tool/cc1111emk868-915 ) Edited November 13, 2020 by evilpete
ISYhbsh01 Posted November 13, 2020 Posted November 13, 2020 On 11/12/2020 at 10:58 AM, Michel Kohanim said: @evilpete, Are you certain that what you have developed is legal? If so, and since SmartHome has stopped making PLMs, perhaps you can make this into a product. With kind regards, Michel @Michel, Are you saying that Smarthome has permenantly stopped making the PLM or just that they are out of stock right now? The former would be a very scary development.
lilyoyo1 Posted November 13, 2020 Posted November 13, 2020 28 minutes ago, ISYhbsh01 said: @Michel, Are you saying that Smarthome has permenantly stopped making the PLM or just that they are out of stock right now? The former would be a very scary development. They haven't stopped making them. Dealers should have received notices that there's a parts shortage so things would be in and out of stock through the end of the year. Things should settle down and get back to normal in January 1
Michel Kohanim Posted November 13, 2020 Posted November 13, 2020 @ISYhbsh01, As @lilyoyo1 suggested. My comment was, having multiple options is always good. With kind regards, Michel
bpwwer Posted November 13, 2020 Posted November 13, 2020 @evilpeteThanks! This is pretty cool! I just installed librtlsdr and rtl_433 on my Polisy and it's working. I had been using rtl_433 to pull data from an Acurite weather station so I had the rtl_sdr dongle already. What should I try to do with it now? I might have to dust off some of my old Insteon message decoding code. There is a freebsd package for rtl-sdr that includes librtlsdr so maybe that can be added to the Polisy's package repository? @Michel Kohanim? 1
evilpete Posted November 13, 2020 Author Posted November 13, 2020 (edited) 4 hours ago, bpwwer said: . What should I try to do with it now? I might have to dust off some of my old Insteon message decoding code. @bpwwerin rtl_433/examples there are some example python scripts that take the json messages and publish MQTT messages, is that what you are doing? The only issue i've had with receiving that you need to increase the sample rate to around 1500k or better, or sometimes (depending on the signal) use the other FSK pulse detector ( -Y classic or -Y minmax ). i have found it useful for occasional debugging by looking at the hops count field and / or packet duplication, If I do not see at least one duplicate I can assume there are connectivity issues as insteon has no routing thus you should see multiple packets via different paths I'm cleaning up my insteonrf stuff to use rtl_443 instead of my sucky home brew FSK demodulator as well as cleaning up the python. There is already code to transmit and receive Insteon packets with the CC1111 platform using the rfcat library with a Yardstick One or cc1111emk868 usb dongle. (I can also do it with a hackrf but that is more complicated) Edited November 13, 2020 by evilpete
bpwwer Posted November 14, 2020 Posted November 14, 2020 I don't have any real plans, just experimenting. Seems like this could be the basis of a Insteon node server. Currently, I'm able to see messages from my mini remotes and that's about it. I don't think I have too many dual band devices as a lot of my Insteon network is old. 1
larryllix Posted November 14, 2020 Posted November 14, 2020 Seems like this could be the basis of a decent and real Insteon system debugger. May even find some bugs in the ISY994 drivers, looking in from the outside. I did a similar thing in the X10 world and found defective devices a few years ago. 1
Recommended Posts