I have the RFXtrx433E and the RFXCOM binding installed on my OpenHAB 2.1 system.
I recently bought the Adafruit Feather M0 RFM69 and I’m currently playing around with the radio module. I think it should be possible to get the Feather to communicate with the RFXtrx, right? Does anybody have any experience with this, any hints?
At first I thought that the RFXtrx should pick up on pretty much anything I send as long as the binding was configured to show undecoded messages, but that doesn’t seem to be the case. Then I tried to create an Undecoded RF Messages Thing, but that doesn’t seem to pick up on anything either.
I’d really love to get this to work, so I appreciate any insights you might have.
I am only speaking theoretically here because I have no experience with the Feather nor RFXCOM. But in general just because something talks the same MHz is no guarantee that it speaks the same language over that frequency. There is so much more that goes into getting two devices to communicate wirelessly one could fill a book. If the Feather’s radio module is not a software defined radio with an RFXtrx driver (which I’m almost certain it isn’t) or the Feather’s radio module doesn’t explicitly state that it supports RFXtrx, it almost certainly will not be able to work with your RFXCOM transceiver/binding.
I was afraid of that. I had some hope since the rfxtrx seems to be able to talk to pretty much anything, but I guess it was a longshot. Thanks.
Does anybody use Arduinos as sensors connected to OpenHAB? How do you handle communication?
Not an Arduino itself, but I use (well, “experiment with”) a Feather Huzzah ESP8266 by Adafruit. It can be programmed like an Arduino, using the Arduino IDE. It communicates with OpenHAB via MQTT, works rather well. I have a couple of sensors attached (temperature/humidity/pressure) and it sends the values periodically to my own broker, installed on the same Pi as my OpenHAB installation, OpenHAB subscribes to this broker to receive the values. In the future I hope to turn this into full-blown weather station …
I learned how to set this up by reading on owntracks and OpenHAB, as well as the MQTT tutorial on adafruit.com
(https://learn.adafruit.com/mqtt-adafruit-io-and-you/overview). Hope this helps
Are you running that on batteries or do you have it wired for power? It seems like WiFi might eat quite a lot of battery.
It is currently wired for power. In the future I want to put it outside, and use a solar panel, with a LiPo as buffer. There are options for putting WiFi to sleep, but I did not yet investigate those. I also did not investigate power consumption, but I fear you are right.
The protocols received by an RFXtrx433 are pretty simple and the packet mode of an RFM69 isn’t going to be useful. There is a raw mode that just maps signals on one of the data pins direct to RF that might be useful. Although an RFM69 is a bit overkill just to do that - simple 433.92MHz OOK modules from China are dirt cheap on ebay :-).
Basically you want to send on-off-keying, manchester encoded bit bursts using something at least vaguely similar to something the RFXtrx can receive. I don’t know how flexible it is on bit rate for example. X10 is about as simple as it gets, 600 bits per second (if I remember correctly), 16 bits per message with each byte doubled up and the second of each pair the inverse of the first to give some basic error detection (actually X10 RF simply used an off-the-shelf NEC IR chip with an RF module in place of the IR diode). Impersonating other protocols is left as an exercise for the reader :-).
I use RFM69HW transceivers with a Raspberry Pi acting as the gateway (an Arduino could act as the gateway, it made sense to use a Pi in my case). The gateway parses and forwards the received messages to OH using MQTT. I only have Arduino sensors so don’t send any messages out to the Arduinos, but it would work the same. OH would send MQTT messages and the gateway would transmit the message to the Arduino.
I chose RFM69HW as it is more energy efficient than ESP8266, has farther range than wifi, but is high enough level that I don’t have to hand code any part of the transmission stuff. The transceivers are pretty cheap too.