[OpenTRV-dev] RF protocol - request for comments

Thu Sep 4 15:02:11 BST 2014

Hi all,

As some of you may know I have been looking at potential radio protocols 
for OpenTRV and other HA applications, with a view to encouraging 
interoperability.  In particular I have been investigating whether any 
of the standard-but-expensive protocols like 802.15.4 (and ZigBee and 
6LoWPAN atop) could be implemented in full or part on the cheap sub-GHz 
radios that most open source projects seem to favour.

What I am trying to achieve with this is a properly documented, open 
protocol framework that could be used to ease inter-working between the 
likes of OpenTRV, OEM, etc.  Some outline requirements as follows:

* Must be compatible with RFM69, RFM22/23, RFM12 type radios, and stand 
a high chance of being compatible with future low-cost sub-GHz modules.  
This is not as hard to achieve as it might sound.
* Must support security - both authentication and encryption.
* Must enable two-way communication with sleeping nodes (receivers off 
most of the time).
* Should allow for easy bridging to existing IP-based IoT protocols.
* Must be self-organising.  For consumer applications nodes must be 
pre-addressed.  Some sort of pairing step is reasonable, but having to 
manually address everything is not.

To this end I have started developing TinyHAN (Tiny Home Area Network), 
which is somewhat based on the good bits of 802.15.4 but is much 
smaller, uses the 802.15.4g PHY specification (meaning a lot of future 
radios are likely to be able to talk it), but drops features like 
meshing, which add to the complexity and cost of implementation but are 
unlikely to be that useful in a domestic setting.

The protocol handles node supervision and addressing, and allows for 
transmission of broadcast and unicast datagrams.  Development has 
focussed on using it as a bearer for the MQTT-SN protocol which can then 
be bridged easily to tools like Mosquitto and Node Red.

Draft documentation can be found here: 
There is a reference implementation to go with this which will be on 
Github soon.

For reasons of version control I would be grateful if that document is, 
for now, not re-hosted elsewhere.

I will make a point of being on IRC tonight just in case anyone has any 
thoughts or comments, which hopefully will be the case.


More information about the OpenTRV-dev mailing list