M-o-a-T devices
High-level control
MoaT tries to enable a couple of interesting scenarios which are not covered by traditional home automation systems.
Motion and Lights
Motion detectors by themselves are stupid. The delay before they actually turn on the light is annoying and some uses are broken (e.g. you're on the sofa reading, so you need to wave your arm every two minutes to keep the light on).
Thus, the basic idea is that if you are in room A, and open the door to room B where it's dark, the light in room B should turn on even before the motion detector in room B realizes that you're in there. Also, presence monitoring should detect the difference between you being in a room but not moving, and you having left (movement in an adjacent room, a connecting door opening).
Lights should turn off whenever the ambient light is strong enough. However, it should still be possible to turn the light (back) on manually.
Fire
Smoke detectors are essential, but somewhat useless when you're in the second floor (or not at home at all) and the alarm goes off in the basement.
In addition, smoke detectors have batteries that can go flat and need periodic checks.
Intelligent detectors with external power supply cost €30, except if you want to network them (then it's more like €100). A "real" smoke detection system is even more expensive.
Thus, the idea is to develop a reasonably inexpensive MoaTdev circuit board that can be plugged into such a detector. Fortunately, the Gira Dual's protocol has been reverse-engineered.
Using this system to wake up your teenage son by triggering a secondary alarm in his room is possible, but not recommended.
Heating
A basic radiator thermostat controls the opening of the radiator's valve based on how warm the air next to the radiator is (and the setting on it). Ideally that setting corresponds to one set temperature; however, since the flow of heat depends on the temperature of the walls, adhering to that set point depends on correct temperature of the circulating water, which is usually controlled by an outside thermometer.
However, I'm living in an old house with thick but non-insulated walls. Wall temperature depends on the average outside temperature and sunlight during the last week. Thus the thermostat is almost always somewhat off and needs to be adjusted.
Second, since the walls aren't insulated, to save energy the water temperature needs to be as low as possible. The central heating doesn't know how high that is, and the individual thermostat needs to adjust the valve's position accordingly.
Third, my water contains too much lime, which tends to choke up the valves, and enough air to plug up some pipe or other.
Thus, the basic idea is:
- an intelligent thermostat receives a target temperature via the MoaTbus.
- It also periodically reads or receives the room temperature, either by directly-connected thermometers or remotely.
- It also reads the radiator's temperatures. While the most sensible positions for that are ingress and egress valves, for calculating how much heat is released to the room you also need a thermometer about 1/3rd below the ingress valve.
- Based on that, the controller implements a PID algorithm that controls the ingress valve.
- That valve's position is reported on the bus.
- The central heating's target temperature is adjusted dynamically, so that the maximum valve position is at 80% or so. This is reported back to the thermostats so they can proactively adjust the valves.
- When rooms don't get warm or the ingress temperature is too low, report an error so that somebody can investigate the problem before people start freezing. (Valve stuck, window open, …)
- Sensors at the window would be a good idea too – plus they can be used as a burglar alarm.