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 and FreeBDSD-12 (otherwise known as "HEAD") on the Pi3; 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 and Pi3 are $35 computers!) 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.

Key points:

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 is available as a NanoBSD image in "xz" format which 7-Zip can decompress on Windows; Win32DiskImager is capable of writing the resulting image file to an SD card. The image file is quite large (~100MB) as it contains a full operating system less the compiler and debugging tools; please be patient!

Note for NanoBSD images: These images are pre-built and power-failure safe since they run with the SD card mounted read-only except when modifications are being explicitly saved. This means you can play with the configuration, not execute an explicit save, and pull the plug to revert to the last-saved (or delivered, if not yet saved) configuration at any time. There is a script called "cfgsync" in the ~root/bin that will synchronize the running configuration with the saved configuration and it must be used by a logged-in root user any time the system configuration is changed, including password changes. The NanoBSD versions and are not configured to sync time because there is no guarantee that a network interface, which is required to get time sync, will be available. Note that "ntimed" is included should you wish to use a lightweight time sync solution. By default the NanoBSD builds will start a web server for HomeDaemon-MCP on the unit'S DHCP-acquired address off the internal Ethernet port, running on port "8080"; the administrative password to sign in to the web server has the account "admin" and the password "password", and both the Release notes and Documentation files (in PDF format) are accessible from it without logging on.

NanoBSD builds are COMPLETELY unsecured "as delivered"; if you intend to use them on a network visible from the outside world you must immediately secure it, specifically by signing into the "freebsd" user account (the password is "freebsd") and changing it, along with using "su" to set a root passwordand then using the above-documented "cfgsync" program to save the password changes. This NanoBSD build is configured with both the Pi standard serial console and the HDMI console enabled; connecting the Pi to an HDMI-enabled display and USB keyboard is a suitable means to access it for configuration purposes if you do not have a Pi-style TTL serial cable. You should set the time before using these builds on each boot as the system does compute sunrise and sunset, among other things, from the current date and of course time-dependent events require that the time be properly set -- thus either setting up "ntimed" or manually setting the date is strongly recommended.

Raspberry Pi3 operating system support is in a "pre-release" stage and under development as it requires use of the "-HEAD" FreeBSD operating system branch. FreeBSD does not at present support the built-in WiFi or Bluetooth interfaces on the Pi3, but a standard plug-in WiFi dongle will operate normally. The built-in wired Ethernet connection, SMP and other standard facilities, however, are functional. HomeDaemon-MCP should be considered to be in a pre-release state on the Pi3 due to the possibility of material underlying operating system bugs.

Please contact Karl by email at info@cudasystems.net if you are interested in potentially acquiring all rights, including source and redistribution, for this package or have questions about these distributions. At this time single licenses of the full code for individual users are not available.

HomeDaemon-MCP is Copyright 2016-2018 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[3536]: Node add start
Mar  2 15:02:19 HD-MCP[3536]: Ready to Add Node; press button
Mar  2 15:02:21 HD-MCP[3536]: Add Node in process; STAND BY
Mar  2 15:02:21 HD-MCP[3536]: Add SLAVE node 60 (0x3c) in process; STAND BY
Mar  2 15:02:21 HD-MCP[3536]: SLAVE node 60 (0x3c) REQUEST SECURE SCHEME
Mar  2 15:02:22 HD-MCP[3536]: Add node 60 (0x3c) COMPLETE
Mar  2 15:02:22 HD-MCP[3536]: Scheme AES-128; Send network key to unit 60 (0x3c)
Mar  2 15:02:22 HD-MCP[3536]: Got NONCE for unit 60 (0x3c)
Mar  2 15:02:22 HD-MCP[3536]: Got NONCE request from unit 60 (0x3c), queueing NONCE
Mar  2 15:02:22 HD-MCP[3536]: Secure include of unit 60 (0x3c) CONFIRMED
Yes, the fans in the below screen grab rotate on your screen when they're "on". The percentages on motion detectors are the remaining battery power; the time shown is when motion was last detected at that location. Everything else is pretty self-explanatory (the embedded camera images are intentionally blurred out for obvious reasons :-)).

The android app is dynamically-generated from the locations and units that are in the system and appears like this. The circular icon is an action event that the user has security permission to execute in that location; units that are writeable (both physically and with permission for the given user) display toggles or sliders, as appropraite. Thermostats, when tapped, allow direct modification of the setpoint through a dialog popup.

The settings page contains a number of options for behavior (connect on mobile, Wifi or both) as well as a persistent connection setting. The latter maintains monitoring all the time when a network is available, even when the device is sleeping. HomeDaemon-MCP's protocol has been engineered to be extremely efficient and allow for minimal battery and data impact when the device is locked and screen off, while still delivering notification of changes within 2 minutes. The HomeDaemon-MCP code supports "persistent" notifications sent to mobile app users that are queued until delivered, and can be differentiated based on user permission levels. Any system event on the host can include one or more mobile app notification requests.