Hello all -
I'm completely new to LMCE, but have been reading everything in the posts that I can, and have tried installing a 710 B3/4 a few ways on test equipment to see how it works (or not), and then take notes.
I'm an IT veteran, a home automation nut, a videophile, a song-lover, a game-player, and an amateur digital photographer. When I saw the LMCE video, I was also slack-jawed in amazement, because there, for the first time, was everything I've ever wanted my main Linux box to do... and then some. *cough* But it's not quite ready just yet.
Unfortunately -- as has been mentioned before in these forums -- the video really is somewhat misleading, as the project is nowhere near the implied "It all Just Works (tm) Today!". It will indeed work, but to do so you must provide it very specific hardware, and give up your previous networked environment. DCERouter replaces your previous networking, and for some good reasons. (I applaud the idea of MAC discovery PNP -- very clever.)
For some folks -- heck, many folks -- this will work fine. Most people can't spell DHCP let alone care what it is, or what's doing it. For the hard-core geeks among us however (and you know who you are), being forced to change everything you've done up to now is a rather prickly pear to pick. (LMCE developers have the same justifiable reaction when someone utterly new staggers into the forums with "You should have done it THIS way!".)
Now, I will likely never use LMCE for both my authoritative DNS and DHCP, for many reasons. Some involve security, some involve design, and some involve inertia. I don't want all my network-config eggs in one server basket, and I've used BIND and DHCPD for many years at work, but at home they are simply overkill. I use a wonderful little app named "dnsmasq" ( http://www.thekelleys.org.uk/dnsmasq/doc.html
) which does DNS and DHCP (and more) very nicely, using one simple config file.
So for those of us who would prefer to see LMCE do just the media stuff, and no network management, we should be able to do so. I should be able to eliminate the firewall, DNS, and DHCP from LMCE, leaving it simply another single-nic server on my network, delightfully performing those things I wish it to.
Then the question becomes "How do I get the device discovery incorporated?" And it's needed too: try configuring an HDHomeRun manually, or letting the discovery scripts do it, and pick which *you'd* prefer.
I'd say there are two ways: the simpler way is to run a script on the DCERouter which processes a MAC address text file you've put together. This would especially be nice for test environments, to debug and polish some specific installation script you want to repeatedly run -- even if the device really isn't there.
The slightly more difficult, but better-automated method would be to obtain those MAC address from something else. I saw a good thread here talking about "arpwatch" supplying MACs to the core. Another way I myself could do it is via using a keyword in my dnsmasq.conf file which will launch a script when it assigns an IP address. Either of these methods would work, and if they use MessageSend as a hook, should be able to present DCERouter with a new mac address.
As a nice seque, that brings up another point. Everyone who has ever posted about the message-handling features in LMCE being the real show of this project is correct: No other app does this, and having all your disparate applications unified by this brings up mind-boggling possibilities that would make any geek croon with delight.
I would like to suggest that this message-handling can also be used in another way: If I can compile "MessageSend" on another system -- pick a box, any box -- and use it to send messages to LMCE, then I can add whatever activities that box is doing to LMCE in a gentle way. My little DebianSlug box running "heyu" ( http://www.heyu.org/
) for all my X10 needs can be told to spew that activity to my new LMCE box, where I can Do Stuff based on that information, and also tell my little Slug box what to tell my house to do.
Yes, of course I can add that into LMCE directly using the CM11 code, but what if I don't want to? What if I legitimately don't *need* to? What if LMCE can do HA itself, or can use messaging to tell whatever other system I use for HA (or DNS, or DHCP, or...) to do something? One of messaging's greatest strengths is that, by definition, not everything has to be done on one system. (In fact, this "messaging hook" allows anyone to develop new functionality for LMCE -- without changing any code!)
I can choose to keep them separate, or integrate some HA scenes into LMCE, leaving others in my HA server, or I can choose to let LMCE do all my HA. It's all about choice -- and choice, folks, is what FOSS is all about. I can gracefully ease my existing applications into LMCE as little, or as much as I want.
Additionally, I may have other servers or devices all over the place -- all over the world, if I wish -- using "MessageSend" with my LMCE box. The sky's the limit. (Ok, if you want to get technical, XML-RPC, Jabber, or even SMTP would work better there, but hey -- the possibility exists.) Maybe I want my LMCE system to find me wherever I might be in the house to tell me that my annoying relative has logged into chat by playing "Comfortably Numb". Maybe I want my LMCE system to send some server a message to page me a letting me know it's run out of space. If LMCE and other servers can discuss anything together, then what can be done with the result? Anything.
Ok, so I've rambled a bit (especially for a first post!), but hopefully I've stayed on topic enough to show that there are (or should be) easy ways to use LMCE without it having to be your one-stop-shopping for network management, etc. It *can* be, and likely should still default to doing so, but it doesn't *have* to be. It should work fine so long as it has all the information it needs -- by whatever means it can be supplied. The messaging hooks should allow both concepts to co-exist peacefully.
So! <rubbing hands briskly> Is there any reason I can't compile LMCE messaging code on an ARM processor?
Thanks so very much to the LMCE team for all their hard work, and to Pluto for releasing the code. This project is the most exciting, innovative, and delightful application I've ever seen!