Working on cutting-edge research machines, but composed out of industrial components. They try to take the good things from industrial control systems and make it more modern. The main goal is to make it distributed, so not a master that orchestrates everything, but peer-to-peer.
Every device has an input and an output, and can either control its output directly based on its input, or be controlled from somewhere else. Nodes have values which can be updated remotely. Updates have tags associated with them, e.g. to identify the updater or to indicate that it is not valid.
Demo setup based on zwave (868MHz). Controller is running on a RPi, the program that does the update is running on a PC. The nodes discover each other so no setup is needed. Also an iRobot controlled by voice commands, can send updates to the light switch.
You can find modules that do zwave RF and are already certified. Some of them have an integrated uController. They cost 10-15 dollar. There are also cheaper 2-euro modules. The person who developed the ST SPIRIT1 made a pull request to Contiki to support this module. This way, you can quickly make a board that speaks 6lopan and 0mq. But there was no ucontroller implementation of 0mq/zmtp yet. In the end, Axel Voitier made a basic implementation himself: contiki-zmtp on github.
It is made with a lot of open source projects, like pyre, openzwave, naoqi, …