Internet Of Things In Five Minutes

If you’re looking for the quickest way to go from zero to voice-controlled home automation system, you should spend five minutes checking out [Hari Wiguna]’s project on Hackaday.io where he connects up IoT gadgets and services into a functioning lightswitch. (Video below the break.)

6166971452133983621[Hari] demonstrates how to set up a complex chain: Amazon Echo to IFTTT to Adafruit.io as a data broker, which is then polled by an ESP8266 unit in his home that controls his X10 setup. (Pshwew.) But each step along the way is designed to be nearly plug-and-play, so it’s really a lot like clicking Lego blocks together. [Hari]’s video is a nice overview.

There’s only one catch if you’re going to replicate this yourself: the X10 system that’s used for the last mile. Unless you have one of these setups already, you’re on your own for controlling the outlets that turn the lights on and off. For price and hackability, we suggest the common 433MHz wireless outlet switches and pairing them with cheap 433MHz transmitters, available at eBay for around $1. We’ve seen a lot of hacks of these systems — they’re quite common both in the US and Europe.

We’ve also covered [Hari]’s projects before: both his self-learning TV remote and a sweet Halloween hack. His video production skills are excellent. We’re in awe of how much info he crams into his YouTube videos.

22 thoughts on “Internet Of Things In Five Minutes

  1. X-10 has been controlling lights for me for about 25 years.
    I have an IBM [badged] controller that attaches to a RS-232 port for programming, but runs independently after that.
    Also a GE infrared remote control which will display on an NTSC TV. (havent used that in a while).

  2. Haven’t used a X10 anything since the late 80’s, (threw them out) that was before all the pollution from SMPS’s buzzed AM radio into oblivion. They are as unreliable as that 433MHz stuff with one LC tuned circuit at each end, no XTAL control. It will be hot today but chili tamale if you get the Drift. If you live near certain USAF bases your mileage may be nil.

  3. A risky design: if any of three external companies stop their service or changes their API or has an outage, then his device is a boat anchor.

    Youngsters may like to The Awful Warning that Microsoft’s PlaysForSure(TM) exemplifies: it is better named Plays-NOT-ForSure.

    1. Am I the only one that actively denigrates IoT projects that demand data be sent to some remote server and then funneled back via a half-baked API? Why not MQTT/CoAP/AMQP ?

      Or am I the only one that despises that companies can remotely update firmware at a whim, like the way that Phillips did deactivating all 3rd party lights? It took a day to “fix”, but they retain the ability as they choose. https://www.reddit.com/r/Hue/comments/3wy5t7/philips_hue_debacle_the_online_press_is_picking/

      Or that my profiling data on all of my devices are, by default, someone else’s data? One can glean a lot of stuff from a sensor-covered house. This can be scary: https://www.researchgate.net/publication/224155275_Real-Time_Recognition_and_Profiling_of_Appliances_through_a_Single_Electricity_Sensor

      Or that if the internet goes down, all my devices go dumb?

  4. I would not rely on x10 for the last mile from personal bitter experience. I made that mistake already and on my todo list is to rewire my last house to conventional switching and remove all the din mounted x10 lighting controllers as part of that to make it saleable again.
    Theyre great, if you dont mind buying a replacement module every few months, don’t mind randomly finding your outside lights on, can cope with having to reboot your house lighting once a week and keep (especially the euro version of) the computer->x10 cm11 bridge cooled. In fact the only one I had any joy with keeping alive past 3 months old was one I sawn a hole in and fitted a small 12vdc cpu fan blowing onto the board.
    Design faults, yes, lots of them, well documented. Read up if your thinking of makng an investment. I’m sure we’ll run into one of those people who never had any faults or issues in years, but I had 8 years of grief and I can only call it like I lived it.

    The rest of it, I have some devices now that just speak ip and have this house flood wired with ethernet everywhere. I can pull the web gui up on the exterior lighting, the wood furnace etc and no lightweight iot or java involved.
    Still haven’t done the lights in this house yet, I ran cat5 to every switch in prep when installing them and back to a central wiring closet but still casting round for something that fits my agenda after the fisasco of investing several thousand in the x10 generation “home of the future” and now I have to sell it my wife who’s also had the grief from it.

  5. To be honest with you I do not be leave in sending any of my data to any of these sits.
    It may be OK today but later on who knows what is going to happen to all that data that is collected.
    I am working on my own home system and I plane on keeping it totally in house. the day I find the right and safe way of doing things threw the internet I will do it but for now no way.
    There is just to much data that we send out as it is. and it is very hard to keep things out of there hands.
    And what Microsoft is doing with windows 10 makes me sick. I hate the fact that they keep forcing it down our throats.

  6. [Hari] demonstrates how to set up a complex chain: Amazon Echo to IFTTT to Adafruit.io as a data broker, which is then polled by an ESP8266 unit in his home that controls his X10 setup.

    No thanks, but sounds like a great start to a Rube Goldberg machine.

  7. A lot of the comments are kvetching about how rotten X10 is but I’ve used variants for decades, though not for anything but lighting/fans.

    As an inexpert tinkerer, getting a prefab ZX10 wireless remote interface to work with homebrewed electronics can be finicky/frustrating – I finally gave up on hacking the CM17A module signal to work with Arduino-based control circuits and resorted to bridging the contacts on a remote with relays and went from there. This could work with any sort of remote switch device, though it lacks elegance.

    I’m sure this will be a laugh-fest for those who are really good at this stuff, but I’ll rely on the principle of “If it’s crude but works dependably it ain’t crude.”

    1. X10 works much better if you regularly “refresh” the state of all the modules and repeat commands many times on a state change, the main disadvantage is that doing so more or less centralizes the network.

  8. I have been doing a lot of testing and the ESP8266 have proven to be really unreliable over time. I am talking a few days. In fact, I read one guys webpage where he built in an automatic reboot daily for them. I have dropped back to the NRF24L and the higher-powered variant for longer range stuff.

    Now to X10. I have a cupboard full of the stuff that I bought and tried to make work with win98 I think it was, might have been win2000. Terrible for reliability. One would hope that modern X10 is better, but…

    To be fair I have not tried using it with Arduinos etc. One big problem I have with mixing signal-stuff on the mains is that one can affect the other. I have two Trendnet range extenders that use the mains to connect back to the main PC. They will disrupt things like programmable thermostats, well, the Honeywell ones anyway. But, the extenders are more important then the thermostats so I swapped them out for non-programmable thermostats. I also tried two other brands of extenders, Netgear and can’t recall the other and they were no different.

    So, trying to get back close to the topic and X10, be careful what you use the mains wiring for as it can hold many surprises that will drive you nuts for a while. :)

  9. Ok. this is what I’m getting in to heavily.

    First, using internet services for house automation is bullshit. Complete utter bullshit. Here’s why. Would you rather have:

    Device->DeviceGateway->Router->internet->Your Database Server->internet->router->DeviceGateway->Device

    is better than….

    Device->DeviceGateway->Controller->DeviceGateway->Device

    You end up with a host of problems when you introduce the internet, or other peoples’ servers. Aside companies doing this to take ownership of your data, along with global control of devices, there’s not really good reasons for this.

    I talk much more about this, and my forays into building IoT in my own home using Node-Red, Arduino Nano Clones, nRF24L01+ chips, and MySensors Library.

    https://crankylinuxuser.net/2015/10/17/so-you-wanna-iot-a-howto-on-internet-of-things-1-of-many/

    https://crankylinuxuser.net/2016/01/05/so-you-wanna-iot-a-howto-on-internet-of-things-2-of/

    1. it is also cheaper and more reliable the less HW you put on the user side. I have used such an approach to monitor some things…ended up with NRF sensors, simple GW connecter to router and emoncms installation on my website server. It has advantages to have the server ‘in the cloud’, it’s very easy for you to access it from anywhere and same for the sensors.

      but yeah, companies do it pretty much to make sure they can sell the thing as a service for constant money.

    2. Have fun writing your own routing protocols.

      People like wifi because it is engineered to be a magical datagram pipe with addresses. So instead of brining that functionality to a better radio standard (and calling it 6lowpan), instead they bring the mountain to mohammed and try to do everything via wifi+cloud.

      1. The layer 1 is set forth by Nordic Semiconductor, which is similar to a BTLE datagram. Turns out, the chips can be hacked to emit those instead in a limited fashion.

        The Layer 2 is handled by the MySensors library, which is mesh aware, and handles all the requisite routing requirements.

        As for me, I just subscribe and publish to topics on my Mosquitto server and it all happens automatically. And I can do that over an .onion address for when I have remote sensors talking to a serialGateway somewhere else not in my home.

        It all works really well.

        1. Seems like an interesting project, but as far as I can tell from the docs, it only supports two-step tree routes with a single network sink. No meshing. Yes, technically all networks can be describe with a minimum spanning tree, but it appears that MySensor isn’t really a “mesh” yet.

          And it doesn’t build on ESP8266 :\ or ARM :\

Leave a Reply to BogdanCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.