HomeDaemon-MCP, The Future of Household Control
HomeDaemon-MCP is now available in the freeware version for testing and evaluation should you wish to see most of what the full version is capable of. Note that the freeware version has no encryption support of any kind.
HomeDaemon-MCP runs under FreeBSD.11-STABLE on the Raspberry Pi2; the operating system is freely available and distributable software available directly from FreeBSD. Due to the economy of the hardware required to support the package (the Pi2 is a $35 computer!) total installation cost is greatly reduced, thereby making installations not only a matter of convenience for the homeowne but also greatly reducing the payback time through reduced energy consumption.
- The web server is internal to the code and does not require or use any external software (such as Apache, etc), greatly reducing the attack surface for a potential intruder to probe.
- Slave connections are authenticated by both an identifier/password and a machine certificate, operating over SSL, making it extremely difficult for an intruder to connect and "offer" bogus slave data to the master system. This makes the master/slave environment safe to use over WiFi or even WAN connections. In addition the SSL mode used both for slave connections and the internal web server (if the client browser supports it) implements perfect forward secrecy making replay attacks and similar attacks extremely difficult.
- There is no "fixed" set of conditions for an event to take place; rather, there is an english-like language supported for event tests which, when satisfied, result in the desired action(s) being taken. Both "and" and "or" conditions are supported along with immediately-recognized triggered events (e.g. on a contact closure, on a button press, on the garage door being opened, etc) which may be combined in any way you desire. Any rational number of events are supported.
- The code is written entirely in "C" for efficiency and performance. The executable and data segment fit in less than 20Mb of RAM with the typical runtime working set for a system with both Zwave and X10 interfaces, along with a connected slave running a pool or spa, being in the 6Mb range.
- The inexpensive "Adafruit" ADC 4-channel analog sensor boards (12 and 16 bit resolution options) that speak I2c are supported allowing you to add 4 channels of analog sense to the unit for about $10. The 12-bit board plus up to 4 LM34 (about a buck) and a handful of passive components gives you up to 4 channels of temperature sensors for under $20 (!). I have 10+ years of embedding these in an epoxy-filled PVC screw-in pipe fitting for use as pool / spa temperature sensors; they work extraordinarily well and are very reliable -- never mind being only a couple of bucks to replace if they fail! The same scheme will work (without the requirement for waterproofing) for indoor temperature sense; the LM34 is in a conventional small transistor package and easily placed where it will not be noticed.
- GPIO outputs are also supported with on/off/pulse (invert output for a given period in milliseconds, with resolution limited by the system timer and scheduler) options; inexpensive Form-C relay boards designed to work with the Pi in conjunction with one will give you physical switching capability.
- For those devices that are capable of it in the Zwave space AES-encrypted over-the-air transport is supported.
- A quite-complete set of "lock-related" functions are supported, including real-time notification of local state changes, programming (and removal) of access codes, enable/disable of the keypad entirely (useful to "lock out" a deadbolt while you are sleeping or away, for example) and of course programmatic lock and unlock.
- Traditional home automation interfaces in the form of the X10 CM11 (using a USB serial dongle), CM15 (direct-attach USB) and Aeon Labs Z-stick (Gen5 version only) are supported for speaking to X10 and Zwave devices.
Please see the Release Notes included in the distribution file along with the system manual for more information including important limitations that are present in the Freeware distribution; both are provided in PDF format.
The freeware distribution can be downloaded here: hd-mcp.freeware-1.2.0.tar.gz
Please contact Karl by email at firstname.lastname@example.org if you are interested in potentially acquiring all rights, including source and redistribution, for this package. At this time single licenses for individual users are not available.
HomeDaemon-MCP is Copyright 2016 Karl Denninger. All Rights Reserved.
The full (not freeware) does, incidentally, support secure mode operation for those of
you who wish to use secure-included nodes....
Mar 2 15:02:19 HD-MCP: Node add start
Mar 2 15:02:19 HD-MCP: Ready to Add Node; press button
Mar 2 15:02:21 HD-MCP: Add Node in process; STAND BY
Mar 2 15:02:21 HD-MCP: Add SLAVE node 60 (0x3c) in process; STAND BY
Mar 2 15:02:21 HD-MCP: SLAVE node 60 (0x3c) REQUEST SECURE SCHEME
Mar 2 15:02:22 HD-MCP: Add node 60 (0x3c) COMPLETE
Mar 2 15:02:22 HD-MCP: Scheme AES-128; Send network key to unit 60 (0x3c)
Mar 2 15:02:22 HD-MCP: Got NONCE for unit 60 (0x3c)
Mar 2 15:02:22 HD-MCP: Got NONCE request from unit 60 (0x3c), queueing NONCE
Mar 2 15:02:22 HD-MCP: Secure include of unit 60 (0x3c) CONFIRMED