Slashdot Mirror


Home Automation Recommendations for Linux?

Richard asks: "I am interested in starting some home automation projects. The only requirement is that it needs to be controllable via my Linux based system. A Google search for ' "home automation" linux ' returns more than 35,000 hits, including some good ones like this one, which just show how MUCH is out there. Are there any recommendations for a good controller with a serial or USB connection to the computer? What about power switches and sensors? Do I want a system that sends control signals over my house's power lines or RF? Any good software recommendations? As a first project I thought a simple controllable power switch would be fun: Then I could ssh to my home system, use the power switch to turn on a computer controlled radio (Ten-Tec RX-320) and use Speak Freely to send back the audio to my remote location. (This works now except that I don't want to leave the radio on all the time)."

42 comments

  1. I guess that would depend... by E_elven · · Score: 2, Insightful

    ...on what you want to automate?

    --
    Marxist evolution is just N generations away!
  2. http://www.linuxguru.be/ by sweede · · Score: 3, Informative
    --
    I follow the SDK and GDN principles.. Spelling Dont Kount, Grammer Dont Neither
  3. Pierce Brosnan by AtariAmarok · · Score: 0

    Somehow, I think a murderous Pierce Brosnan presence taking over the house (Simpsons: Treehouse of Terror) is a little more likely with home automation under Windows than it is under the Linux OS.

    --
    Don't blame Durga. I voted for Centauri.
    1. Re:Pierce Brosnan by Anonymous Coward · · Score: 2, Funny
  4. Howabout MisterHouse -- It Knows Kung-Fu by 2TecTom · · Score: 5, Informative

    http://www.misterhouse.net/

    Seems to be a relevant, useful & worth project

    --
    Words to men, as air to birds.
    1. Re:Howabout MisterHouse -- It Knows Kung-Fu by chevybowtie · · Score: 1, Informative
      Misterhouse is built on top of PERL and is very configurable. It will work with Text-To-Speech as well as Voice-Recognition engines which really make it fun. It also has the ability to create webpages that allow interation with the whole system.


      I have tried many, buit this is the one I use and like best. Plus, it is updated often (2-5 weeks between new versions) which was not the case with most others.

  5. Some comments. by drosselmeyer · · Score: 3, Interesting

    What irks me about Linux home automation is the absence of a good speech synthesiser. I mean, I can automate everything, stick sensors everywhere, make control agents, a microcontroller network, but the endearing thing about it was that my computer /talked/ to me. Festival doesn't quite cut it, not because sound quality is bad (it is quite good) but because making new, custom voices for it is a laborous, time consuming process and no good female voices are available. And doing lip synch with it is something I don't have a fscking idea about how to do. On my old Amiga 500 that was just a matter of drawing some sprites and a hundred of lines of AMOS Basic, no more. I switched to Linux for my home server from OS/2 specifically because I wanted to replace my dying Amiga 500 that was the voice agent for my home automation, and figured that I'd have better chance to find good free speech synthesis for a more modern, free OS. That was, like, almost two years ago. Amiga finally died but I /still/ can't pull anything like this off. What I could assemble from public sources is painfully crude even when compared to the ancient Amiga SoftVoice/Nowspeak. Don't even remind me about rsynth...

    --
    In Soviet Russia... RUSSIANS comment on YOU.
    1. Re:Some comments. by GiMP · · Score: 1

      This is most likely due to a lack of good voices, but the synth in MacOS since at least version 8.0 rocks and has great voices. It also does voice commands. It is such a shame that nothing for linux is nearly as good as that available for my old 7100/80 mac.

    2. Re:Some comments. by drosselmeyer · · Score: 2

      As far as I know, the synth used in MacOS is the direct descendant of the synth used in AmigaOS up until they lost the license, the next generation of SoftVoice family.

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    3. Re:Some comments. by bobbozzo · · Score: 2, Funny
      no good female voices are available

      You're no fun... You need a HAL9000 voice:
      Open the garage door, HAL.
      I'm sorry Dave, I'm afraid I can't do that...

      --
      Nothing to see here; Move along.
    4. Re:Some comments. by drosselmeyer · · Score: 2, Funny

      When I come back home and my computer greets me, cause there's nobody else to do that, it fels much better when it's a female voice, pod bay door or no pod bay door. :)

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    5. Re:Some comments. by bobbozzo · · Score: 1

      heheh...
      see my other comment about MBROLA... it has lots of voices.

      --
      Nothing to see here; Move along.
    6. Re:Some comments. by drosselmeyer · · Score: 1

      I thought about MBROLA. There's nowhere in the pipeline of a diphonic synth where I could stick a check for which phoneme is currently being sounded. Therefore I can't match phonemes to visemes and can't do lip synch. :( Besides last time I checked, MBROLA had only two female voices...

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    7. Re:Some comments. by bobbozzo · · Score: 2, Interesting

      OK... If you want lipsynch, you'll need something like they used at DefCon 11 for the CTF contest announcer. Unfortunately, I don't know what it was (google isn't helping this time), and I don't know if it's capable of realtime rendering.

      All I know is they used it to pre-record videos of a male newscaster giving announcements. The voice quality was very good, and the graphics were fairly good (facial animation looked like the Half-Life 2 videos I've seen).

      Have you seen Ananova? Apparently they're using L&H software (definitely not free, though). I dunno if it can do real-time, either.

      --
      Nothing to see here; Move along.
    8. Re:Some comments. by drosselmeyer · · Score: 2, Interesting

      I've seen Ananova. I don't have enough money for the L&H engine. :) Which is what's so annoying about the whole thing - we can't do something I had working perfectly well for no extra penny than what was spent on the machine itself, on an ancient Amiga 500 with measly CPU speeds and no hard disk with our modern machines that outrun and outsmart the poor bitty box many times over. I even thought about emulating it and leaving it like that, but I can't even read the Amiga floppies in PC drives.

      So far, my best hopes rest with using the various free implementations of Klatt synthesisers with existing code snippets that do the translation from text to phoneme sets. Unfortunately, the piece in the middle, the code that converts phonemes into Klatt synthesiser input data, is missing and I can't find anything on the net - not even the bit that they used in making rsynth and copied from some book, mangling it throughly in the process.

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    9. Re:Some comments. by Anonymous Coward · · Score: 1, Interesting

      look at Festival ... it's very good...

      http://www.cstr.ed.ac.uk/projects/festival/

    10. Re:Some comments. by bill_mcgonigle · · Score: 2, Interesting

      Festival doesn't quite cut it...because making new, custom voices for it is a laborous, time consuming process

      You probably don't need a complete, general-purpose voice for home automation. Making a limited domain voice seems pretty straightforward.

      But to your point about Festival - was there an easy system for making a general-purpose voice on the Amiga? There's a ton of detail in one of those files, extracted from typically pain-staking analysis. I think AT&T has a research system for analyzing hours of recorded speach and using a voice recognition engine to boot-strap the process, but I'm not aware of a system that makes Festival look bad.

      BTW, the Festvox demo page has a US female voice.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    11. Re:Some comments. by drosselmeyer · · Score: 1

      You probably don't need a complete, general-purpose voice for home automation.

      That's only if we're talking about dumb home automation. What if I want it to read email headers aloud to me? Give me names of people calling my phone? Amiga did that just fine.

      Amiga's voice driver was based on formant synthesis, not diphone synthesis. As a result, it might have been worse in sound quality, (it was, true) but diphone synthesis can't compare to it in flexibility. It didn't need complex voice definitions, a voice definition was just a set of ten or so Klatt synth parameters. I also don't know any other synth that would have such an easy time speaking English, Russian and Japanese in a single sentence. And fit in under 64k compiled code...

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    12. Re:Some comments. by bill_mcgonigle · · Score: 1

      Interesting, thanks.

      Maybe these links will help: link link link

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    13. Re:Some comments. by drosselmeyer · · Score: 1

      I've been to all three a while ago, actually, but thanks anyway. :) Here are the results of my findings on those:

      'say' is also known as rsynth. I tried getting it to work. It works. I even made it compile and work (for suitably small quantities of 'work') under DJGPP+Allegro. But it is coded in a very messy manner, with sections of the code commented out for no listed reason. It is not clear how it works, using it to build upon is... well, it is for someone who knows the phonetic theory behind them better than I do, at the very least. :) It compiles, it runs, but it's nowhere near what Amiga did. Barely legible, even. Improving it turns out much harder than it looks.

      The Klatt 3.04 package looks very promising, but it is not a complete text-to-speech system. It's just the last part of the tract, where it converts 'vocal tract parameters' into sound. The question of how to get vocal tract parameter sets from known phonetic representation of a phrase in ARPAbet is not solved by this package. It'd be nice if I could just stick it on the end of the rsynth, but the parameter sets don't match and I don't know which are which!

      As for the implementation that's a plugin for the 'pure data' package, I can't even make heads or tails of what the goddarn package is supposed to do - let alone how to use the library planned for it to make a speech driver...

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    14. Re:Some comments. by deanj · · Score: 1

      No, the MacOS voice stuff had nothing to do with the Amiga. They both were derived from work originally done by the US Navy. That's why they both sounded similiar.

    15. Re:Some comments. by drosselmeyer · · Score: 1

      Are you sure? Where does this information come from? SoftVoice's site says nothing about Navy, but does mention MacinTalk and the Amiga narrator.device being the same thing in different versions.

      --
      In Soviet Russia... RUSSIANS comment on YOU.
    16. Re:Some comments. by deanj · · Score: 1
      The Navy's been doing research on this stuff for years. The phonemes that the Amiga put out where amazingingly similiar to the Navy stuff I remember hearing. Here's a link to a Navy reference. I couldn't find any speech samples.

      I think I'm mistaken about SoftVoice's stuff in regards to the Mac and Amiga not being related though. Sorry about that. Been a long time since I did Amiga stuff, and I'd completely forgotten about the SoftVoice work.

    17. Re:Some comments. by drosselmeyer · · Score: 1

      They are using what they call ARPAbet, which is a phonetic alphabet originally developed by DARPA and seems to be the result of that Navy work you mention. I suppose it was used in some original theoretical work, maybe in one of the papers by Klatt on who's work all the formant synthesis systems seem to be based, but I can't get at his papers. (and if I could, the problem of making the missing link in the TTS system, the phoneme->Klatt synth parameters translator, would be relatively easy to solve)

      --
      In Soviet Russia... RUSSIANS comment on YOU.
  6. Lip Sync???? by Anonymous Coward · · Score: 0

    Whaile I understand about the complaints concerning the lack of voice variety, I don't understand the bit about li-sync. If you need to lip sync, you need a video screen. If you have video, then it's a much better medium than audio. If you need it for when you are across the room/in the dark/head down in the plumbing, then lipsync is superfluous.

    Or are you merely trying to fake out a videophone?

    1. Re:Lip Sync???? by MadocGwyn · · Score: 1

      I'm guessing by the fact he said a few images and a lot of code, it was a format for 'programming' new voices, I dont get the proccess and elaboration might be interesting. TLTG

      --
      Jesus saves, everyone else takes full damage from the fireball.
    2. Re:Lip Sync???? by drosselmeyer · · Score: 1

      Actually, lip sync was a feature of the speech driver on Amiga! At any moment you could get two variables for mouth height and width connected to the currently sounding phoneme, so all it took was several sprites depicting some characteristic lip positions and an eternal loop. No idea where the synth driver got those from, but my current theory is that it just had an array of viseme data corresponding to phonemes and would point to it while passing the phonemes to the final stage in the Klatt synth. Programming the voice just took an array of about ten variables like on other Klatt-based parametric speech synthesisers. Most of the hundred lines dealt with sensors, since it was so convenient to use Amiga joystick port to grab pin states.

      --
      In Soviet Russia... RUSSIANS comment on YOU.
  7. For My Needs by ONOIML8 · · Score: 1

    I have to agree that there's a lack of a good quality, easy to use voice synth. At least I can't find one.

    One project I'm just starting on is a poor mans logging recorder. I want to bring in audio from two radios on the line input of the sound card, one on the left channel and one on the right. Using the record utility it should be easy to write a script to do that. But I worry that with VOX I'll miss something. I can get COR logic from the radios pretty easily but how can I get that into the computer easily and make use of it?

    I know there should be some home automation stuff that will let me do this without getting down to the transistor level and programming in C or, god forbid, assembly. I really want this to be dumb, simple, and easy to replicate for just about anyone.

    Ideas?

    --
    . Quit playing Monopoly with Bill. Switch to one of many non-Microsoft products today.
    1. Re:For My Needs by bobbozzo · · Score: 1

      I don't know what they were using at Defcon11 for the CTF contest announcements, but it was nice.
      It had a 3-d rendered animated head (reminded me of Gordon from HL2), and a very good male voice.

      --
      Nothing to see here; Move along.
    2. Re:For My Needs by bobbozzo · · Score: 1
      MBROLA looks interesting... free (as in beer), lots of voices, runs on lots of platforms.

      Only disadv. I can see is it can't read text; you have to give it the phonemes you want it to say, but this means it will say exactly what you want it to (no mis-pronunciation of words not in vocabulary).

      --
      Nothing to see here; Move along.
    3. Re:For My Needs by ONOIML8 · · Score: 1

      "A French voices have been made available by the authors of MBROLA..."

      OMG! I can't resist, I'm going to make it say "I surrender, poo poo".

      Seriously that looks like a pretty cool project, except for the lack of a text reader. Maybe I'm too picky or too damn lazy. :)

      --
      . Quit playing Monopoly with Bill. Switch to one of many non-Microsoft products today.
  8. X10 automation systems by Anonymous Coward · · Score: 0

    Try the entire X10 suite of home automation systems...they make a serial port adapter for computer control of X10 modules. Very easy.

  9. 802.11x Serial? by demmegod · · Score: 1

    I have to experience in HA, but I'd like to get some... It seems like it would be useful to have some sort of serial over 802.11x. I've used wireless serial transmitters/recievers, but you can only have one pair per channel on the ones I used. Perhaps something like bluetooth is more appropriate, but I don't know much about the technology. Either way, the whole point is just so one can connect some misc. device and use it accross the house somewhere. Does something like this exist?

    The other thing I'm curious about is some sort of wireless soundcard. Do they exist, or does a speaker/mic combo have to be wired to a computer sound card... Basically if my server's in the basement (it is) and I want to have an audio interface to it two floors up in my bedroom, can I do it wirelessly?

    Please forgive the ignorance, if those are just stupid questions... (direct flames to /dev/null)

    1. Re:802.11x Serial? by bobbozzo · · Score: 1
      Basically if my server's in the basement (it is) and I want to have an audio interface to it two floors up in my bedroom, can I do it wirelessly?

      Sure, you can legally buy or build a low-power FM audio transmitter that will go 50 feet or more. That's what most cheap "bugs" are, and you can find them for around $20, IIRC. Sound quality may not be great, but it's been a long time since I've played with one.
      Best quality would probably come from an "FM Modulator" for a discman or iPod or whatever, if the range is enough.

      Or... go to Radio shack... they've got cheap stuff that can do TV. They used to have one called a "Rabbit" for sharing your VCR or cable box or whatever.

      Or, of course, you could do 802.11 if you have a PC in the bedroom.

      --
      Nothing to see here; Move along.
  10. X10 by bobbozzo · · Score: 2, Informative

    The X10 stuff is fairly cheap and easy to find. Dunno about the rest.

    You can apparently do a whole automation/security system for under $3000... alerting you when someone enters the property, turning on lights, TV, whatever; schedule A/C, ...

    --
    Nothing to see here; Move along.
    1. Re:X10 by demmegod · · Score: 1

      As I understand it, X10 stuff runs it networking through your power lines- which is a pretty good idea... Question- how far does the signal travel? Can anything past my circuit breakers control the devices? Does it work accross the different circuits in my house? Even better, is it possible to encrypt the communications? How does that sort of stuff work out for those of us who live in apartments?

    2. Re:X10 by bobbozzo · · Score: 1

      My understanding (from a lecture at Defcon 11 by security consultants) is that power-line baby monitors will work anywhere that is on the same transformer ("typically 8 homes"), so at least neighbors on the same block could eavesdrop on your baby monitors.

      X10 probably has the same problem.
      I doubt they have any encryption.

      I suppose you could use an isolation transformer on that electrical circuit, but they are large, heavy, expensive (unless you can get one surplus), and typically are only good for 100watts or so.

      I have a 100 or 150w one; it weighs over 75lbs.

      Using google, I see there are smaller ones, but they are still expensive ($170+), and I don't know how much isolation they offer.

      You might be able to get by with just a simple transformer and/or filter (capacitor or whatever), but IANAEE (I am not an Electrical Engineer).

      Googling for "X10 neighbor" finds pages like this:
      http://www.smarthome.com/solution31.html
      l ooks like there are some products to reduce "interference" but I don't know how well they'd work.

      They say X10 devices should NOT be used to arm/disarm alarms, open doors, etc. due to security problems (someone with a scanner could plug in to an outside outlet and try all the codes in 'minutes').

      --
      Nothing to see here; Move along.
    3. Re:X10 by deanj · · Score: 1

      X10 doesn't have the same problem because once the X10 signal hits the fuse box, it doesn't pass by. There are solutions for home with two fuse boxes that specifically fix this problem.

  11. Home Automation solutions by Black+Perl · · Score: 2, Informative

    This was a fairly vague question. I moonlight as a home automation consultant. Most people, when they think of "home automation" they are really thinking about "home theater" or whole-house audio and video. There's a lot more to it, from structured wiring to control of lights, appliances, HVAC, and other items via relays, IR, etc. There could be many ways of doing what you want, depending on issues such as desired price, reliability, and how you plan to expand your system in the future.

    I'm going to assume you want a simple starter solution that allows you to control an appliance (your radio), and uses a Linux box as a controller. You need at minimum two devices: A PC-to-powerline interface, and an appliance module.

    For the powerline interface, pick up a CM11A which interfaces with a serial port. This is one of the few X10-the-brand devices I recommend*. Other companies make far superior X10-the-protocol equipment.

    For the appliance module, pick up an ApplianceLinc. You can get one with two-way communication so that you can also request a status response (on/off) if you need to know that. Believe it or not, most of the time you don't need two-way X-10, and it's better from a signal-strength standpoint to minimize the number of transmitters on a circuit.

    The simplest Linux software is heyu. This is extremely easy: just ssh into your machine and type 'heyu turn radio on', where radio has been set up in heyu as an alias for X10 code A1, or whatever X10 code you configured the appliance module to be.

    The reason I said "at minimum" above is that this may work, but for a truly reliable X10 infrastructure you may need additional hardware, particularly if you decide to expand your system. In this case you'd need to get a coupler (to bridge the two 110V phases in your house) or better yet an amplified coupler/repeater such as the ACT CR230 I recommend, available at Home AutomationNet. There are others on that page as well. If you're not electrically inclined, there is a plug-in coupler.

    With the above, you're almost there. Some electrical equipment attenuates X10 signals. Some computer power supplies, laser printers, and some TVs can affect signal strength. To isolate them, you may need to use some plug-in filters such as the FilterLinc or the ACT filters on the bottom of this page. If you want to get serious about obtaining a rock-solid X10 infrastructure then you can use an ESM1 signal meter. Also a new plug-in amplifier has been getting good reviews by early adopters.

    * An alternative to the CM11A interface is the PowerLinc USB. Currently, the only linux support for this is in the wish project. This project seems VERY cool. Set an X10 address by just writing to a /dev device. You can also read status this way. Any shell script or language can therefore control your X10 stuff. The only downside is that it currently requires recompiling your kernel sources, except for a couple of specific RedHat kernels for which RPMs have been built. Man, would it be great if this project made it into the kernel source tree...

    Hope this helps

    -bp

    --
    bp
    1. Re:Home Automation solutions by Black+Perl · · Score: 1

      I must have had typos on a couple of links, which got dropped. Here they are:

      heyu: http://heyu.tanj.com/heyu/.

      ACT filters: bottom of this page.

      --
      bp
  12. Try our Gnu/Friends by Anonymous Coward · · Score: 0
  13. DIY-zoning on sourceforge by eggfellow · · Score: 1

    here's an HVAC project, on my list of things to do some day...

    http://sourceforge.net/projects/diy-zoning/