I've just built something very similar to this last weekend -- For around $43/sensor (Raspberry Pi Model B, DigiSpark, and 1-Wire Temperature Sensor) I made 20 of these for my home, farm, and hackerspace for temperature logging. I did this because we're getting another 'polar vortex' next week and the cows don't like it if it's colder than 20 degrees out.
This allows me to measure the temperature inside, outside, and get the relative humidity (not nearly as accurate as the $20 honeywell sensor that they're using, but, it's close enough for my needs). I then built a simple website using mrtg (for temperature trending) and a ruby script that checks the temperatures versus what the set points are and mounted the raspberry pi's in various locations around my places.
My "Controller" nodes are a beagleboard with a 4 or 8 channel relay board attached that allow me to turn on or off the individual controls on the furnace. It works well with my two stage heat pump and fan at my home, but, I need some work to get it 100% at the hackerspace and at the farm.
I mainly did this because I needed something that allowed me to cover more rooms than the Nest (and I'm adding duct dampers and fans to my heating system, so I can selectively heat and cool more rooms to better temperatures).
When you get a chance, would you be kind to write a "how to" blog post about how to build and wire one yourself, so others without any clue about how to do this can have a shot at learning and doing it themselves?
I'd rather I it didn't auto-play and let me choose whether I want a page to swamp my bandwidth and CPU. Even over an 8Mb/s ADSL connection on a quad core Xeon workstation with 12GB or RAM and fairly decent video card this page is one of the worst behaved I've encountered in a while.
Sadly I won't be reading any of the content because even after five minutes it's killing my browser. To the spark.io blogging team, please don't assume unlimited wads of broadband. Let the reader decide whether they want to play your videos, and you know, I can only watch one video at a time on that page, so why start them all playing at once? This is no better etiquette than CNN or MSNBC or an adware farm where they start playing videos at you upon arrival. It's very rude.
Thank you for your comment: it allowed me to understand that the empy blocks I was seeing were meant to be videos (Firefox user here).
It's sad to find out that they ignored that mp4 isn't supported by all browsers. I know: HTML5 video is just a PITA, and that's indeed a reason why so many still rely on gifs.
I hope this project grows, and that they will care a bit more than they did here.
Autoplay has been the devil for 15 years in UI. You don't repeat animation and you don't auto-start it unless that is the expected primary feature of the landing page.
I actually really disliked this. Too distracting for me. Maybe my tastes will change over time - but I stopped reading because I couldn't concentrate on the text.
As someone who often browses over remote desktop, it gets quite frustrating, since all of the sudden my connection, which is fast enough for static text, freezes.
This makes me happy. I have a house with electric heat and eight thermostats pushing Nest costs into unreasonable territory. I'd love to be able to remotely set all my thermostats to 55 degrees or get certain zones to react based on events fired from my phone, (e.g. coming, leaving, charging with screen off aka sleeping, pending alarm)
Unfortunately, with my electric heat the thermostats sit inline with the heater's power source so I need devices that can safely handle 120v.
Nest thermostats seem to be around $250. If you want thermostats that you can control with Applescript, Perl, mobile apps, etc., check out these Insteon-based ones for $150:
http://www.smarthome.com/2441TH/INSTEON-Thermostat/p.aspx
One problem with the Nest is that if your thermostat is in a poor location (more of a problem with central heating), the motion sensor won't see you. With the ones I suggested above, you can programmatically link those to ~$40 motion sensors installed in the correct locations that will actually work.
Not only that, but basic, programmable load bearing thermostats are relatively expensive compared to the typical control line alternatives. However, even with basic programmable thermostats (>=$75 a piece), I saw my electrical bill drop considerably vs. a 30 year old mechanical thermostat in an apartment I lived in the past 4 years.
We've moved since then and took the thermostats with us. I still have two if you want to buy some slightly used aube programmables (nothing with wifi, but better than nothing).
I have the exact same situation but I have spoken to Nest Customer Service and other "smart" thermostat CS and all have told me that they will not work with the wiring for electric heaters commonly controlled by a single dedicated mechanical thermostat. I was out of luck so if you find an working "smart" thermostat I would love to get one.
One thing I found about hardware is that the prototype is only 10% of the effort. Sourcing components for mass production, government regulatory hurdles, and then that damn enclosure are 90% when everything goes right.
I can build all kinds of things with my arduino and all of those awesome little one-off function boards you can snag on ebay from china theses days. I can't build 10000 of any of them.
>we built our own approximation of the Nest Learning Thermostat in one day — and we’ve open sourced everything. In this process, we’ve come to respect the incredible technical challenges that Nest has solved while also coming to understand how much the game has changed since they first started.
I missed the technical challenges - this seems trivial, and exactly how easy that I would imagine it to be. The only challenge that I see is figuring that people would want a thermostat controlled by a phone app.
Since that's been figured out, I'm going to be very surprised if within 2 years 10 vendors don't have $50 versions sold at Wal-Mart, and there aren't 2-3 different open source software stacks competing to support a few of them.
I remember when the iPod was still crazy expensive and people were abandoning their much cheaper Rios in droves.
Btw, I've purchased a few cheap home devices. For example, a few smart light switches. I've ended up switching back because they made my life more complicated and difficult, the opposite of the intended effect.
The tricky bit is the learning; the first few weeks or so with it I was adjusting it all the time, now I don't need to do that, it knows I prefer to go to bed warm and wake up cool and just sets the right temperature.
I thought the phone app would be gimmicky, but it's nice to be able to get off the plane and un-autoaway the thing so by the time you get home it's comfortable.
I'm trying to understand if you can self-host the server-side piece of this. I've wanted to have a networked thermostat for a while, but all the ones I found connect to the vendor's server, which is silly. I'd like to be able to point the device at my own server so I have full control.
EDIT: Yep, the Common Questions section of their website[1] says that they'll be releasing an open source version of their Cloud. Awesome.
Even better than not sending your usage information offsite: not having the system stop working when spark.io goes out of business (or is purchased, or goes to version 3, or...) and stops their servers.
I think this is great but there are lessons here from desktop Linux, Facebook clones, etc, which is that retail is hard.
In order to ship a widely used operating system, you need a support infrastructure, consumer research, drivers for lots of hardware, warranties, marketing, payroll, operations, accountants, regulatory compliance. The product is almost the easiest part.
I imagine that Nest understands all this. Putting a piece of hardware in someone’s house – one that’s connected to a furnace or which claims to protect against fire – means a lot of liabilities, broadly defined.
I’d love to see an open source version get to that level of maturity and support. It does happen but it takes a lot of people.
–
(Tangent, but when I started at Stack, a lot of people said they could (and did) build a clone in a weekend. Sure, as an approximation of the technical product. But that ain’t the ‘retail’ product, which is actually comprised of community, goodwill, SEO, quality control, and a lot of other things.)
I think that this is a really cool project. But I think that the problem here is still fundamentally the same as the one faced by the nest.
The thesis of spark.io is "you can trust us with your data" not you have control of your data.
The spark is built on a cloud connected platform. even if you can see and control outputs from your board you still exist as part of their ecosystem. Which is basically the functional equivalent of using the dropbox api to build something instead of google drive.
I won't be excited about home automation until someone goes the way of an open protocol for these types of devices that doesn't require a centralized pass through.
Because if history has been any kind of teacher, it shows us that spark.io will probably get sucked up by google or somebody in the near future.
There is a project called GNU remotecontrol that I just discovered that could be used for this purpose. It's important that you can be in control of your thermostat data instead of handing it over to Google/Nest/some other malicious vendor.
I was under the impression that one of the major challenges faced by Nest was running off only the power available by safely drawing from the existing wires.
Without that constraint, it's a much easier problem.
Nice, but I'd rather not be tied to a 3rd party service like Spark Cloud. Indeed thats my problem with Nest. It would be great if it would just connect to my private VPS or something.
"At Spark, we’re making it easier to bring connected
devices to market with the Spark Core, our Wi-Fi
development kit, and the Spark Cloud, our cloud service for
connected devices."
I found SparkCore on github[0] and the C++ communication lib for Core to communicate with SparkCloud [1], but I did not find SparkCloud itself on Github. Is that component going to open-source as well?
It would be nice if you had the option to host your own cloud service. You could protect your business model at least partially by using an open source license that requires people to change the name if they decide to fork it and productize it, such as the Artistic License v2.
I have built a similar system, and expanding it to more devices (think: devices other than thermostats). However, I use my own custom messaging/web server for communicating with the device from anywhere in the world. Think controlling your (ex: toaster) in NYC from LA without configuring any networks, vpn, ports,...aka Nest-like. Combined with some machine learning and machine "thinking", its pretty powerful.
The Spark Thermostat is great minus the fact that you need their web api for communicating with it. But for a 1-day build, how can anyone disappointed! Great job Spark team.
In regards to my own devices, I am definitely going to have to take a look at Spark now. Cool hardware.
Are there any specifics on how the underlying Spark platform handles security? On their product page it says that Spark Cloud "creates a secure environment without forcing your web browser and the Core to speak the same language, which would be taxing on a low-power, low-cost microcontroller." Which isn't reassuring.
They don't provide any specifics in the docs either, only this:
"Security is hard. It’s especially hard on an embedded system, because encryption is resource intensive. But it’s also important, because you don’t want anyone turning on and off your lights, or worse, locking and unlocking your front doors.We hand-picked a set of rock-solid security protocols that are secure and efficient, so they work great on an embedded system. They’re baked into the Spark Protocol, which is open source and ready to be extended to other products."
I get that encryption may be difficult on embedded systems, but I would also argue that if a small embedded system can't handle strong encryption then it's not ready to connect devices to the web. I can't find any links to source code - anyone know what sort of encryption they use?
How does the thermostat control temperature? Am I crazy, I feel like I'm missing a section on how this device connects to the central air, Ac, heater, fan or something that can affect temperature. Under hardware: "relays to control the furnace and the fan." But I don't see details on the relay.
If you're interested in building IoT, wearables, and externals, I'm getting an expo + hackathon together called Hackendo (http://hackendo.techendo.co) for April. I would really love the community's support in helping make this awesome, so anyone with experience in this area or feedback on how I should run the event, please reach out.
I gotta say -- the use of video in this blog post is outstanding. Best use case of HTML5 Video I've yet come across, frankly. Sorry, I'm supposed to comment on the actual comment...haha. Just saying I love the format. :)
[+] [-] imroot|12 years ago|reply
This allows me to measure the temperature inside, outside, and get the relative humidity (not nearly as accurate as the $20 honeywell sensor that they're using, but, it's close enough for my needs). I then built a simple website using mrtg (for temperature trending) and a ruby script that checks the temperatures versus what the set points are and mounted the raspberry pi's in various locations around my places.
My "Controller" nodes are a beagleboard with a 4 or 8 channel relay board attached that allow me to turn on or off the individual controls on the furnace. It works well with my two stage heat pump and fan at my home, but, I need some work to get it 100% at the hackerspace and at the farm.
I mainly did this because I needed something that allowed me to cover more rooms than the Nest (and I'm adding duct dampers and fans to my heating system, so I can selectively heat and cool more rooms to better temperatures).
[+] [-] simplekoala|12 years ago|reply
[+] [-] tcdent|12 years ago|reply
[+] [-] patcheudor|12 years ago|reply
https://community.sparkdevices.com/t/burning-down-the-house/...
[+] [-] shmikshmak|12 years ago|reply
[+] [-] mrfusion|12 years ago|reply
I never thought I'd see a good use case for auto playing videos. (It kind of reminds me of Harry Potter too)
[+] [-] teh_klev|12 years ago|reply
Sadly I won't be reading any of the content because even after five minutes it's killing my browser. To the spark.io blogging team, please don't assume unlimited wads of broadband. Let the reader decide whether they want to play your videos, and you know, I can only watch one video at a time on that page, so why start them all playing at once? This is no better etiquette than CNN or MSNBC or an adware farm where they start playing videos at you upon arrival. It's very rude.
[+] [-] ddoolin|12 years ago|reply
Not sure what the others guy are talking about. Works fine on my MacBook Pro...not issues at all?
[+] [-] zz1|12 years ago|reply
It's sad to find out that they ignored that mp4 isn't supported by all browsers. I know: HTML5 video is just a PITA, and that's indeed a reason why so many still rely on gifs.
I hope this project grows, and that they will care a bit more than they did here.
[+] [-] cabalamat|12 years ago|reply
I utterly disliked it. It made my browser slow and so I didn't read their page.
[+] [-] pistle|12 years ago|reply
[+] [-] FatalBaboon|12 years ago|reply
Opening the page via eww in EMACS made it readable since it doesn't load videos if I don't ask it to.
[+] [-] theallan|12 years ago|reply
[+] [-] bluefinity|12 years ago|reply
[+] [-] adventureloop|12 years ago|reply
[+] [-] rlpb|12 years ago|reply
Poor degradation to those of us running NoScript, there.
[+] [-] lukejduncan|12 years ago|reply
[+] [-] MereInterest|12 years ago|reply
[+] [-] corresation|12 years ago|reply
[+] [-] grinich|12 years ago|reply
I always hoped they would switch back to wood, but it's incredibly hard to do right in mass manufacturing.
[+] [-] ama729|12 years ago|reply
Any particular reason? From the outside, wood seem easier to use than plastic.
[+] [-] analog31|12 years ago|reply
[+] [-] parfe|12 years ago|reply
Unfortunately, with my electric heat the thermostats sit inline with the heater's power source so I need devices that can safely handle 120v.
[+] [-] declan|12 years ago|reply
One problem with the Nest is that if your thermostat is in a poor location (more of a problem with central heating), the motion sensor won't see you. With the ones I suggested above, you can programmatically link those to ~$40 motion sensors installed in the correct locations that will actually work.
[+] [-] jusben1369|12 years ago|reply
[+] [-] stephenjudkins|12 years ago|reply
This doesn't solve your problem of the $250/room cost, but if you'd like to use some other thermostats in your rooms this would work great.
The only complaint I'd have about mine is that the relay is very loud. You might want to search for a quieter one.
[+] [-] jonhohle|12 years ago|reply
We've moved since then and took the thermostats with us. I still have two if you want to buy some slightly used aube programmables (nothing with wifi, but better than nothing).
[+] [-] george88b|12 years ago|reply
[+] [-] noonespecial|12 years ago|reply
I can build all kinds of things with my arduino and all of those awesome little one-off function boards you can snag on ebay from china theses days. I can't build 10000 of any of them.
[+] [-] jevinskie|12 years ago|reply
[+] [-] pessimizer|12 years ago|reply
I missed the technical challenges - this seems trivial, and exactly how easy that I would imagine it to be. The only challenge that I see is figuring that people would want a thermostat controlled by a phone app.
Since that's been figured out, I'm going to be very surprised if within 2 years 10 vendors don't have $50 versions sold at Wal-Mart, and there aren't 2-3 different open source software stacks competing to support a few of them.
[+] [-] nostromo|12 years ago|reply
I remember when the iPod was still crazy expensive and people were abandoning their much cheaper Rios in droves.
Btw, I've purchased a few cheap home devices. For example, a few smart light switches. I've ended up switching back because they made my life more complicated and difficult, the opposite of the intended effect.
[+] [-] jcastro|12 years ago|reply
I thought the phone app would be gimmicky, but it's nice to be able to get off the plane and un-autoaway the thing so by the time you get home it's comfortable.
[+] [-] zedpm|12 years ago|reply
EDIT: Yep, the Common Questions section of their website[1] says that they'll be releasing an open source version of their Cloud. Awesome.
[1] https://www.spark.io/
[+] [-] dsr_|12 years ago|reply
[+] [-] jedahan|12 years ago|reply
http://docs.spark.io/#/examples/local-communication
[+] [-] mwsherman|12 years ago|reply
In order to ship a widely used operating system, you need a support infrastructure, consumer research, drivers for lots of hardware, warranties, marketing, payroll, operations, accountants, regulatory compliance. The product is almost the easiest part.
I imagine that Nest understands all this. Putting a piece of hardware in someone’s house – one that’s connected to a furnace or which claims to protect against fire – means a lot of liabilities, broadly defined.
I’d love to see an open source version get to that level of maturity and support. It does happen but it takes a lot of people.
–
(Tangent, but when I started at Stack, a lot of people said they could (and did) build a clone in a weekend. Sure, as an approximation of the technical product. But that ain’t the ‘retail’ product, which is actually comprised of community, goodwill, SEO, quality control, and a lot of other things.)
[+] [-] maxerickson|12 years ago|reply
[+] [-] batoure|12 years ago|reply
The thesis of spark.io is "you can trust us with your data" not you have control of your data.
The spark is built on a cloud connected platform. even if you can see and control outputs from your board you still exist as part of their ecosystem. Which is basically the functional equivalent of using the dropbox api to build something instead of google drive.
I won't be excited about home automation until someone goes the way of an open protocol for these types of devices that doesn't require a centralized pass through.
Because if history has been any kind of teacher, it shows us that spark.io will probably get sucked up by google or somebody in the near future.
[+] [-] davexunit|12 years ago|reply
[+] [-] zellyn|12 years ago|reply
Without that constraint, it's a much easier problem.
[+] [-] g8oz|12 years ago|reply
[+] [-] malandrew|12 years ago|reply
It would be nice if you had the option to host your own cloud service. You could protect your business model at least partially by using an open source license that requires people to change the name if they decide to fork it and productize it, such as the Artistic License v2.
[0] https://github.com/spark/core
[1] https://github.com/spark/core-communication-lib
[+] [-] coreymgilmore|12 years ago|reply
The Spark Thermostat is great minus the fact that you need their web api for communicating with it. But for a 1-day build, how can anyone disappointed! Great job Spark team.
In regards to my own devices, I am definitely going to have to take a look at Spark now. Cool hardware.
[+] [-] skue|12 years ago|reply
They don't provide any specifics in the docs either, only this:
"Security is hard. It’s especially hard on an embedded system, because encryption is resource intensive. But it’s also important, because you don’t want anyone turning on and off your lights, or worse, locking and unlocking your front doors.We hand-picked a set of rock-solid security protocols that are secure and efficient, so they work great on an embedded system. They’re baked into the Spark Protocol, which is open source and ready to be extended to other products."
I get that encryption may be difficult on embedded systems, but I would also argue that if a small embedded system can't handle strong encryption then it's not ready to connect devices to the web. I can't find any links to source code - anyone know what sort of encryption they use?
[+] [-] strick|12 years ago|reply
[+] [-] boise|12 years ago|reply
(not including the Spark Core at $39)
[+] [-] potench|12 years ago|reply
[+] [-] lowglow|12 years ago|reply
Also if you're in the bay area, you should check out this meetup group run by my friend Nick Pinkston: http://www.meetup.com/HardwareStartupSF/
[+] [-] jaredcwhite|12 years ago|reply