The Security Interview
This review is of a Cozify Smart Home Hub supplied with a NyCe Multi-Sensor, Sonos Play:1 Smart Speaker and Osram Lightify Smart Spot spotlights provided by Cozify for review purposes. The Cozify Hub launched in the UK on the 5th of May and is being sold through Vesternet and B&Q for £199.99.
Years ago, before smart phones really became the easily usable things they are today, I used to dream of a converged world. What do I mean by this? Well, back then (if memory serves), at one time or another I was likely carrying around a personal phone, a work phone, an mp3 player, a personal video player, a laptop, a camera, maybe a Palm Pilot or a Psion etc. Probably not all at once, but enough of them.
I yearned for the ability to combine some of these functionalities into one device. The obvious examples for me were phone, mp3 and video player.
Feature phones were ripe for the era of convergence. Everyone carried a phone and miniaturisation surely meant that sooner or later, the technological capability would be around to allow for this. With the launch of the O2 XDA Windows Mobile phones I got really excited about the prospect and semi-regularly got them, only to be frustrated and let down at the overall poor user experience and switch back to feature phones. I’d go through a regular cycle every year of upgrading my phone, so one year I’d get an XDA thinking “surely by now, they’ve managed to iron out the problems” but then would have so many problems with it, the next year I’d go back to a feature phone, then another XDA would get released and my personal cycle would begin anew.
Eventually of course, the iPhone became a thing and the rest as they say is history. Why am I talking about my early experiences with phones and converged technology? It’s somewhat relevant and I’ll come to the why of that statement later.
Intro
The future. It’s arriving at an amazing pace. Second by second, the stuff of dreams edges closer to us. While the flying car and hover-board are not yet really ubiquitous, progress has made leaps and bounds in many areas. A lot of this has of course been facilitated by computers/the internet and as we have ventured further afield from the traditional desktop computer to access the net, the number of possibilities has exploded.
With high(ish) speed internet access now available to most people who want it in the developed world and the fact that many in these countries carry around on our person at most times some device capable of accessing the net at a reasonable speed regardless of where we are, doing the things we want or need to be able to do has become significantly easier over the years.
Progress is important to us as a species. The ability to easily take care of things we want to in a simpler manner gives us more time to be productive and enjoy ourselves. Our increased productivity in turn allows the world (in theory) to both ease things further and enjoy ourselves further. A never-ending cycle of progress.
In many ways, the modern age is of course standing on the shoulders of giants. Without the invention of the wheel, how many things we take for granted today would not be possible? It doesn’t bear thinking about. What about fire? Same again. Gunpowder? Oil? Electricity? Integrated circuits? The internet? I would hope that most people by now understand that progress is an arc, from our earliest beginnings to the technology of tomorrow. The old underpins the new and as biological beings evolve, so too do products.
What we’re looking at today is something I’m very excited about as it represents to me a significant step in the evolutionary arc of technology. Namely, the much vaunted concept of the “Internet of Things” or IoT for short. For those who haven’t been following, IoT is basically physical devices which have generally not been “connected” historically now being connected. By physical devices I mean products in their own right which do not serve a typical computing related functionality so washing machines, cookers, heating and hot water systems, stereo equipment, TV’s, light bulbs etc.
So the concept of the “Smart Home” has been born. It’s a brave new world, there are a lot of providers out there trying to colonise it, big names like Google and Samsung among others. The key concept is one of convergence. Pretty much anything could be made smart, the question is should everything be made smart.
In this article, I’ll be reviewing a smart home hub provided by Cozify which attempts to simplify, automate, cosy up and, well, I guess cozify your home. It’s a relatively new area so this will probably be a slightly longer review than most as we explore some of the implications of the smart, connected world. If you’re just interested in the gear itself, you can jump forward to page 4 at the bottom.
The Premise
Well, what is a smart home about? Personally, I feel it’s about two things. Those things being convenience and trust. Let me explain.
Convenience. Convergence as a concept has done amazing things. Where before people used to carry a transportable phone, a Walkman, a Filofax and a wallet, now they carry a phone. And not just any phone at that, a phone which allows us further convenience. The human brain is an amazing tool, but let’s face it. As good as it is, it’s not perfect. It can retain lots, interpret lots, make quick intuitive links between subjects, but this kind of human predicate and fuzzy logic thinking is imperfect at certain tasks.
As much as Einstein was a genius, I wonder if he ever left the lights on in his house? Perhaps. I know I certainly have. So the convenience here is that as smart as an individual person is, sometimes things go wrong. Our brain hiccups and we forget to do something. Or we planned for something and the plan changes and we need to adapt. The concept of the smart home is to give you added convenience in your life and allow you to adapt your home to a changing dynamic and to BE smarter. And convenience is good. We like convenience!
Trust. I feel pretty secure in guessing that most people on this site are aware of the Terminator series of movies and understand the concept of Skynet. Well, we’re not there yet, but that doesn’t mean we don’t need to trust that the degree of power we’re giving to someone or something is ok. Whether your AI overlord of choice is from Terminator, The Matrix, Ex_Machina or whatever, we need to trust that the stuff we leave in our house to be smart isn’t going to suddenly become stupid and go wrong, or if it is that the impact will be negligible. We also need to trust that our data is handled in an appropriate way, this is a complicated topic and one I’ll be writing a separate series of articles on later. While it’s not such a big deal to trust a computer to turn our lights on or off, what about trusting it with our cooker? Our heating? Our door locks? Our gun safe? How much trust do you want to give here?
So these two things are central to me to the question at hand. Am I willing to trust something enough for the convenience it will grant me. Well, I guess Google probably knows pretty much everything about me by now, so why not give it a try!
The fundamental premise of the smart home is one of convenience. Things that just work or which you can control while not being at home are a convenience. Certainly an expensive one in some ways, but we’ll come to that later on.
As with many things that hold your personal data, you (hopefully!) care about how secure your data is. I feel that too often these days, people just trust in the devices and services that they use without pondering some of the wider implications of their security in an increasingly digital information world. It’s something that I think everyone should be paranoid about and unfortunately too few people are. As such, after much debate with myself. I decided to put the security section of this review before the hardware itself, because to me it’s at least as important as the functionality provided by the Cozify hub and it should be that important to you to.
I had the opportunity to ask Kimmo Ruotoistenmäki (Founder and CEO of Cozify) some questions on a range of subjects, including security. Some of you may be aware that my day job is in finance. As such, I take data security seriously, even though I’m not a security expert myself. I’ve often wondered how those in different industries feel about security. If the answers to my questions Kimmo gave me are any indication, I’m reassured that industries outside finance that handle client data seem to be on board with the idea of taking data security seriously.
WCCFtech: Is the Cozify hub accessible to its owners from the net? If so, what kind of security is implemented to access it and prevent others from doing the same?
Cozify: Yes, the Cozify Hub is accessible to its owners over the net. To make this happen, the traffic is routed through our Cloud.
Short answer to the security question: All traffic in the internet is encrypted and we use JWT-token based technology to identify authorised UI devices from unauthorised ones.
Slightly longer answer to the security question:
- All communicated via the internet (phone to cloud to hub) is encrypted.
- Each hub has a privilege system to list users and their roles. Roles can vary between admin, user and guest.
- After authenticating the user, the UI device will receive a virtual “key chain” to access the users hub(s). These keys are used in the communication between the phone and the hub to determine an authorised user from an unauthorised one.
- The solution has been designed in cooperation with industry security experts and we conduct an annual 3rd party security audit on the system.
W: Regarding cloud servers then, I assume these are housed in some kind of high availability data centres?
C: We are currently using Amazon’s data centres in Ireland for IaaS. I believe their SLA for EC2 is 99.95%. We’ve had a very good experience on Amazon over the years with only one service outage in five years.
Keep in mind though that it is much more important to have a redundant and scalable setup than a very high SLA for a single server or server location.
W: So going back to the communication between phone and hub, I’d like to clarify this further. Does the cloud server merely allow the phone and the hub to authenticate each other or is all traffic actually routed through the cloud server? I guess the difference is once my phone is authenticated, does my phone talk directly to the hub for the remainder of that session time or is my phone always communicating to the hub via your servers?
C: The phone and hub will communicate directly whenever they are on the same local network. When you aren’t on the same network and connecting via the internet, all traffic is routed via our cloud servers, not just authentication. You can tell if you’re using the cloud servers or speaking direct from the app. If the cloud icon is visible in the top left, you are using our servers, if not then you’re local.
W: Ok, so another security point, you potentially have access to a lot of your clients’ data. Assuming that this data is visible to Cozify and its employees/contractors, what kind of security practices do you have in place to prevent abuse of this data?
C: The data is kept in data centres that have professional security policies. All of our employees and subcontractors have signed a confidentiality agreement and our core developers have Security Clearance with the Finnish government (Cozify is based in Finland).
As mentioned previously, we use several techniques to prevent third parties from snooping or attacking the system, this is work that we know will never end.
W: Do you data mine this data at all (even if you anonymise it first)?
C: At the moment we don’t really do what I’d consider to be “data mining”. We do access the data to improve the service, fix bugs and give personal assistance/customer support, but we do avoid accessing any detailed data without asking the client for permission first. We also monitor the “health” of the overall system based on the health reports we receive from Cozify hubs.
We do plan to data mine in future to provide better service to our clients. As an example, we could give you tips on how to save energy by comparing stats from your home to average homes in the same area. We can also make more sophisticated automation possible by letting the system learn and adapt to your behaviour. We do anonymise this data when looking for trends in these scenarios though.
One thing I’d like to make clear though: We will communicate our privacy policies as clearly and transparently as possible and ask for permission or inform the user about the user of their data, even when it is being used in an anonymised manner.
We believe that privacy and security are one of the important issues in the home IoT area.
W: So how about redundancy in the case of an extended outage in your primary cloud facility/servers?
C: The Cozify hub works well without a constant connection to the internet or Cozify Cloud for the following reasons:
- All logic for automation resides in the physical hub itself.
- Apps connect directly to the hub whenever you are at home and on the same network as the hub.
- The hub of course connects to smart devices directly via its own radios, not via their cloud services. The cloud is of course required for remote access as well as software upgrades and backups etc.
The team here at Cozify has a lot of experience in scaling highly reliable services up to meet increasing loads. Our cloud server architecture as such has been designed to be both scalable and redundant (in the event of a primary cloud outage).
The server/network virtualisation and managed application environments have made life for developers much easier when it comes to building a scalable and reliable system. There are of course some basic design principles which generally hold true which we plan for including:
- Your servers will fail, plan for it.
- Use stateless services as much as possible for ease of scaling.
- Avoid single node instances, if you can’t then make sure you have a hot failover for it.
- Virtualise where possible to allow you to quickly shift from one location to another.
- Distribute your servers/services over multiple physical locations (such as Amazon availability zones) or even with multiple service providers.
- Store backups in multiple locations and with different service providers.
W comment: The above are some basic design principles which often hold true in the financial world too (among others). There are much cheaper ways to run a shoestring operation which will work “most of the time” but when they go down, they go down hard and you will have a real outage as opposed to a “blip”. It’s reassuring that Cozify are not trying to run something as important as your home on a shoestring.
W: Is there a “guest control” type of capability where guests can have limited access to the hub?
C: Yes, you can give a user guest rights. Guests have limited rights to do things and can only use the system locally.
W: How do customers get support from you if needed?
C: Basic instructions are on our website: http://en.cozify.fi/pages/support We’ll be adding instructional videos there as well, we already have some on our Finnish language site.
Additionally, you can also email support@cozify.fi Our support team has a good reputation and it’s important to us that we keep our level of service high.
We also have a very active discussion forum in Finnish where users help each other out and share ideas about new use cases. We’ll be doing the same thing in English too.
W: Once I program something (for example lights turn on when sensor detects movement in a room), where is that “code” stored? In the sensor and lights or in the hub?
C: The “rule” as we call it is stored on the hub.
W: So in this case, what is the dependency on the hub? If/when it dies, what can I do or not do? For example if the above is stored in the hub, can I make the lights function like normal lights if the hub has been broken somehow while I wait for a new one?
C: As a rule of thumb, good smart home devices work also autonomously (without the presence of a hub). In the case of smart lightbulbs, you can control them as ordinary lights from the switch, the downside is if you use a switch to turn them on and off when the hub is there, the hub will of course not be able to turn them on automatically.
Additionally, you can also change the light switches to be smart instead of the bulbs. This is usually cheaper for big setups (for example a large group of lamps).
W: We have both Android and iOS devices in our house, can the Cozify hub work with both at the same time?
C: Yes you can use both Android and iOS devices with the hub. There is also support for Windows Phone too, although this is currently in alpha.
W: If I have the lights attached to a sensor in my lounge set to come on when people are detected, can I override this setting easily if I want to turn them off to watch a movie for example?
C: Yes, you can tell when a rule is used by adding it to what we call a “Scene”. Scenes can be “Home/Away”, “Cooking”, “Dinner”, “Morning”, “watch movie” etc.
We are currently in the process of making the scenes/rules interface even more transparent and intuitive.
W: What is your competitive edge vs. other smart home products available on the market today?
C: We believe we have the most elegant rule engine. It is very easy to create rules to automate your house without needing any programming skills. For example, to automate a light, just drag a motion sensor icon on top of the light. We’re also going to make it even more simple and proactive so that if Cozify is aware that you have both motion sensors and lights in a room, it will ask “Do you want to automate the lights in this room?”
We’re also an open system. We have five radios (Wifi, BLE, ZigBee, Z-Wave and 433 MHz), support multiple standards and are manufacturer agnostic so you can choose products from many brands and technologies. We will also provide API’s for others to integrate different devices and use scripting to make more complicated rules.
We build the product in a very consumer centric manner. We do not only listen to our customers, but are also able to quickly react and implement their wishes. Our current development sprint length is less than 4 weeks and each sprint brings new features and supported devices for the user. Software updates are done automatically without the need for the user to do anything.
W: Who do you see as Cozify’s biggest competitors?
Fibaro is a good product but really needs a professional level user to install and configure to make the best use of it. Also it mainly supports Z-wave devices.
Samsung SmartThings is obviously a big name. Wink in the US has a large installed user base, however there have been some quality issues.
I believe all the good products are now there to grow the market and competition is good.
W: Any plans to integrate home heating etc. with Cozify like Nest?
C: Yes, we are going to integrate with Nest for sure. Our process has always been to listen to our customers and our channel partners in order to prioritise the integration work.
W: After smart homes, smart cars are seen as the next big thing. Any plans for Cozify to get involved in this area?
C: Yes, while car manufacturers open their dashboards for applications, smart home applications will also be there.
Ok, so that’s a LOT of preamble to the actual review, but I think this stuff is important. Now to the exciting stuff, the equipment of course! I'm itching to tear the boxes open and just start plugging things in, but pictures need to be taken first.
Cozify have just launched in the UK this month. They sent me several pieces of kit to take a look at and get me started on my smart home adventure. Included was:
- The Cozify Hub: The beating heart if you will of your smart home.
- 6 Osram Lightify smart spotlights.
- Sonos Play:1 smart speaker.
- NyCe wall multi-sensor.
This is enough to “smartify” a couple of rooms in my house. The six spots are for the lounge, the speaker for the kitchen. Undecided on how best to use the sensor yet but I’ll get to that later on in the review.
A couple of notes here. Smart stuff isn’t cheap. At time of writing, this stuff was available from the Cozify online shop for:
- Cozify Hub: €249
- Osram Lightify spots: €40 each
- Sonos Play:1: €225
- NyCe sensor: €55
Holy Cow! Yep, you read that right, an introductory smart home setup €769. UK pricing is to come soon. In the meantime, some of these pieces you can pick up in the UK via Amazon of course. They work out slightly cheaper:
Osram Lightify spots: £29.99 each
That gets me curious. I wonder how much the non-smart lightbulbs are? I like spotlights and used them liberally around my house when we had an extension built a couple of years ago. LED’s aren’t the cheapest lights, but they are good and last a long time.
The prices have dropped a lot, Osram non-smart equivalents? £7.01 each. I’m starting to see what Kimmo mentioned previously about smart light switches potentially making more sense when you’ve got a lot of bulbs. That’s a saving of £137.88 in the first room alone…
Opening the boxes up, the Cozify hub has the hub itself (an unobtrusive small white box), an ethernet cable (the thin, flat kind in white to match the hub itself. Looks better I suppose for non-techies but I'm used to having cabling all over the place) for plugging into your home router, power cable with interchangeable UK/EU plugs and some documentation.
The bulbs and sensor are predictably Spartan in their box contents, I survive an early scare when I drop the NyCe multi-sensor and it crashes onto the table, chair and finally the tiles on the floor to breathlessly pick it up and pull out the battery blocking strip to see it still works. PHEW!
The Sonos Play:1 is a nice looking speaker. I’ve not had a Sonos before but have heard good things about them. It’s well packaged with minimal surplus material. Lifting it out of the box it has a fair bit of weight to it as we've come to expect these days from compact speakers. I know people who rave about Sonos so it'll be interesting to try this out.
So I’ve got these cool toys, time to set them up and have some fun!
I discuss with my wife. I want to try out a few different setups. I know it makes the most sense to use the sensor with the lights, but I want to try a slightly nonsensical use case first. Let’s put the sensor in the kitchen and tie it detecting movement to playing music on the Sonos (I’m no misogynist for those wondering, the kitchen is kind of the hub of our house and where we spend a lot of time). Kim gets excited at the idea so I start plugging things in.
“There’s obviously not much to it, right?” I think to myself. Plug in the hub, plug in the Sonos and put the sensor somewhere it can detect movement, the hub will find everything itself, I’ll create the rule and before I know it I’ll be listening to music on a Sonos whenever I walk into my kitchen.
WRONG!
Of course I’ve forgotten a crucial step. I need the app! So does Kim. A few minutes later and the Android and iOS Cozify apps are installed on our respective devices. Ok, of course I need to do some basic setup on the hub. Name it (my house name, I’m original like that!), authenticate my phone as a master user and now I’m ready to let the Cozify hub scan for devices.
Scanning. Hmm, can’t find the Sonos. I suppose my excitement and lack of instruction reading is a factor here. Looking through the Sonos documentation I discover I have to download the Sonos app to set it up on the network, didn’t realise it connected via wifi but suppose it makes sense since I’ll be streaming music to it. Another app and some setting fiddling later and the Sonos is now online and the Cozify hub has found it!
Ok, so after a reasonable amount of faffing about, I’m now having my first real experience with the Cozify hub that I’m here to review and I have to say that the experience (post setup) is a relatively easy and intuitive one. Score marks for Cozify here. The app isn’t the fanciest or the whizz-bangiest (yes Word, I know that’s not a real word but I don’t care!), but it’s pretty straightforward and easy to navigate. I’m into the rules and setting up for music to play when movement is sensed in the kitchen.
At this point, I think it’s worth taking a look at the Cozify app itself, since this is really your gateway to the services the hub provides.
The App!
Let’s face it, if you’re going to go the smart home route, you’re going to be spending a reasonable amount of time in the apps that manage it. I’m using the Android version on a Sony Xperia Z3+ (running Marshmallow) so it’s a relatively decent spec phone despite the widely known Snapdragon 810 overheating issues.
The app has 3 main sections to it. These are:
- Rules
- Scenes
- Devices
In addition to these 3 screens, there is a settings menu.
The basic principle of the app is that you have devices which you can setup rules for on the basis of certain triggers. Those triggers can be a variety of things from a set schedule through to smart sensors hitting certain conditions (temperature, humidity, movement etc, depending on what sensors you have available of course).
The app itself is fairly intuitive and once you’re familiar with it, it’s relatively easy to setup new rules and timers etc. A few small things that could be improved in my opinion:
- Setting up timers can be a slightly less optimised affair than it should be. Let’s say you want to setup a rule for while you’re away on holiday to turn the lights on and off at various times to make it look like someone is home to any would be thieves. You can of course do this, but you need to add the time intervals one at a time meaning a slightly cumbersome click to add, select day range (weekdays, weekends etc), select the time range to turn on and turn off, complete the rule, then go through the same process again just to add another time interval to the same day range. Would be easier if you could just add another range within the same parameters (start/stop interval one, start/stop interval two etc).
- On the Android version of the app, I have a small annoyance that the app takes over the entire screen and if I want to get my navigation buttons or notifications back, I have to swipe the top or bottom of the screen to get at them. I can understand the decision though, if you’re committed to having a smart home, you’ll likely have a lot of rules and scenes setup for the various rooms and devices in your house etc. In this scenario, screen real estate will be king for usability, but for me with just a few devices it’s a small but noticeable hindrance. If like me, you’re also accustomed to using the Android “back” button this will particularly bother you as my instinct is to go to the bottom left of my screen but Cozify often has back at the top left.
- There is a small issue that if you leave the house, disconnecting from the local network (and therefore use the Cozify cloud servers), once you return, even if you reconnect to your local wifi, the app doesn’t recognise that you’re on the local network and will continue to use the cloud servers. You can rectify this by force closing the app and restarting it while being connected to the local network at which point the app will stop using the cloud servers. It doesn’t stop you from using the app, but for those of you with a mild or higher level of OCD, it will be a slight “there’s something wrong here” itch that you’ll invariably end up scratching. Cozify are aware of the bug and I believe are working on it.
Besides the above, the app itself is a decent and relatively easy to use implementation. When you explore it a bit more, it’s surprising the number of options you have and it’s a testament to the designers at Cozify that they’ve managed to cram this much functionality into something that doesn’t look ridiculously bloated and complex. I have a background in automated systems (financial trading ones rather than home automation) and to give this level of control in something without a scripting interface is impressive.
As Kimmo mentioned in the interview, it looks like there are plans afoot for a scripting interface as there are a few things I explored which would be nice to be able to get some more granular control over such as perhaps including a randomisation factor in turning lights on and off if you’re away on holiday. Additionally, if you want to create a lot of similar but slightly varying rulesets, the power of being able to type using a keyboard and use a copy/paste on a PC would be invaluable rather than sitting on a tiny screen for ages setting up tons of rules by touch clicking.
That much said, browsing through possible rules on the app is amazing! There are ideas here for things I’d never considered when I first started thinking about a smart home. I’m not sure how many of these rules are Cozify’s ideas and how many have been suggested by users, but the selection is a great way to introduce the brave new world of smart homes to users who haven’t had any experience with them before.
I’m not going to list them all here, but some examples you can setup triggers for:
- Movement
- Temperature
- Humidity
- Door/window opened/closed
- Time
- Doorbell
On the basis of the above triggers, you can:
- Turn various devices on or off.
- Send email alerts.
- Send app notification alerts.
- Enable or disable a scene.
Initially I was slightly confused with some of the functionality and how the logical split between a “Rule” and a “Scene” occurred, thankfully Aki from Cozify explained the functionality in an easy to understand manner, so rather than rehash, I’ll put the explanation below.
The purpose of scenes is to act as a container for a set of presets (i.e. device states: e.g. light A: on, red) and rules (e.g. “Turn light A on when a door opens”).
They allow one to group unrelated device states and automation functionality together and say that these are in effect at a certain time.
Maybe it helps to think that presets and rules tell “what” should happen and scenes tell “when” it should happen.When you want to bind a rule to AWAY scene, do the following:
1. Create/open the rule for editing.
2. At the bottom of the rule view under title “When rule should be active” select the AWAY scene.
3. Select “Done”Now the rule is part of the AWAY scene and it is in effect when the AWAY scene is on (indicated by the blue line under the AWAY scene icon in SCENES tab).
And now it makes sense to me. I can create scenes independently of rules which I can just activate as and when I need them, additionally I can create rules which are bound to a scene so only run when I’ve activated a certain scene.
Example:
I’m at home, when I’m in a room I want the lights to be on and music to play. I create a rule for the hub to turn on the lights and music in that room when the motion detects movement there. Easy enough.
Now, let’s say I’m out of the house and live alone. If nobody is supposed to be there and motion is detected, maybe it’s someone who has broken into my house to rob me? I don’t want to turn on the lights and music in this case, I want to be notified that someone is in my house!
Ok, so the rule for lights and music needs to be bound to the “Home” scene, I need another rule bound to the “Away” scene which says on movement, send me an email and notify my app, stat!
This is just a small example of the kind of automation which Cozify provides.
The Kitchen Music Scenario
So back to my setup. I’ve got my rule setup. When the motion detector senses movement, music will start playing. Now to figure out sensor placement… Kim and I start to engage in an elaborate game of “hold the sensor still over there while I move around over here”. As you’d imagine, the sensor is remarkably sensitive and impossible to hold still without anchoring it against a wall etc. It also (obviously) has a field of “view” in which it can detect movement, meaning that if you’re using a single sensor for a room, you’re likely to have some blind spots.
If I were serious about wanting to automate my entire house (and willing to invest a small fortune in the process), I’d probably get myself multiple sensors per room to save myself from having to wave my arm across the room at a sensor because I happen to be standing in one of those blind spots. As it stands, a bit of experimentation later and we’ve got a decent position for the sensor which covers most of the kitchen.
This was the first thing I setup so I didn’t really know much about all the functionalities and just dived in and setup a basic rule. It was nice for the evening. It got slightly disconcerting when one of the kids got up in the middle of the night to go into the kitchen to get a drink and the music started blaring out but there we go. When some phone calls came in the next day and we couldn’t pause the music as moving around would instantly turn it on again, we decided it was time for the music to be not such a smart thing and to delete the rule and shift the sensor to the lounge.
Small criticisms here:
- I still had to have the Sonos app itself installed on the phone and of course it’s not my preferred music app. More on this later.
- If I have the rule as always on, I can turn it off from the rules screen but then I still need to pause the music to take a call making stopping the music a two step function.
- If I associate the rule with a scene and give it an automated trigger, I can’t temporarily suspend that automated trigger (for example movement if taking a call).
- If I have the rule set to always on and you suspend it by tapping it from the rules screen, the rule will no longer be enabled, but if the rule was “in use” (i.e. music was playing) at the time suspended, it will continue playing. Additionally, it will continue playing even if the sensor doesn’t trigger thereafter so you need to manually stop the music. It seems the state engine doesn’t recognise a disable of the rule as an intent to switch the device to the “off” state, perhaps that’s by design, but it seems slightly counterintuitive to me.
The Lounge Lights Scenario
So after my experiment with the sensor in the kitchen, it was time to put the sensor in the lounge. I wanted to do this as my second test because in all likelihood, this is the one which will be permanent and makes sense to me.
Sensor positioned appropriately in the lounge to capture most movement, I setup a new rule. It’s a quick and easy rule which takes less than 30 seconds to setup (including turning on/unlocking the phone and firing up the Cozify app!). I honestly don’t know what to tell you about it other than there is no drama! The lights work as expected. After a couple of times with the lights timing out with the sensor set to turn off after five minutes of no detection I go into the rule and extend it to 10 minutes, and then subsequently to 15. That seems to be the sweet spot for us.
The spots themselves are tuneable directly in the Cozify app from a nice and warm 2703K to a positively chilly bluish tinged 6536K and brightness percentages from 0 – 100, even though 0% is actually not off, just very dim which is slightly odd.
Hmm, what about when I want to watch a movie? No problem, I just need to create a scene right? So into the scenes tab I go, and create a new scene. It’s a simple scene with a device state for lights set to off (not 0%, actually off). I tap my newly created scene button and what do you know! The lights turn off!
As I turn around to call Kim and show her, the lights turn on again. Hmm, wasn’t expecting that. The scene is still active on my scenes screen (highlighted blue). The always on rule of lights turning on when detecting motion must have turned them on again.
After a bit of experimenting, I discover that I can dim the lights in a scene, even set them in the app to 0% brightness (aka very dim) and this will be fine, I can move around all I want and dance the running man in front of the sensor, lights stay dim, but the moment I make the scene turn the lights actually off, the sensor kicks in and overrides the scene and turns the lights on again.
That’s not to say that you can’t get this working. It’s just a bit more cumbersome than initially anticipated. Going to the rules tab and suspend the rule (remember from above, the lights will still be on), then going into the scenes tab and enabling the movie scene to turn the lights off now means I have actually off lights which won’t come on again when they detect movement.
Is this the end of the world? Absolutely not. Is it a small inconvenience? For me, yes. I’m sure there is some way of setting up a combination of rules and scenes and device states which would allow me to get the intended result I was after to begin with, but I’ve yet to find it.
It’s fair to say though, what I’m looking for here are edge cases. Scenarios where the everyday standard rule doesn’t quite do what I need it to. 99.9% of the time, I’m going to be very happy with my lights which turn themselves automatically on and off where I don’t need to worry about forgetting to hit a light switch.
What if I wanted to set these up in my bedroom though? There that becomes a cumbersome workflow every night when I want to go to bed. Turn off rule, set scene, turn rule on again in the morning? Hmm.
I reached out to Cozify to find out what could be done here. Their suggestion is have two scenes, a day lighting scene and night lighting scene using the twilight sensor. Those two scenes go on and off based on timers you setup. Again, this seems perfectly feasible, but to my mind relies on a consistent daily schedule in that case. Maybe your daily schedule is consistent, I have young kids though so mine isn’t particularly.
Wrapping Up
I am really enjoying the functionality of the Cozify hub. It’s a definite step in the right direction for me and if you’re looking to automate your home, I have no doubt that this is a great piece of kit with which to do it.
That much said though, I would be remiss if I didn’t make you aware of the whole picture. As things stand today, smart homes products are still something of a niche offering and I think there are several reasons for this:
- There are multiple standards for smart connectivity.
- Multiple manufacturers of smart goods, some of which integrate into the main smart hub app (Osram spotlights) while others need their manufacturer app (Sonos) to function.
- The price of entry is still relatively high by most standards.
There is a lack of confidence from some that devices which have traditionally had long shelf lives are starting to go the way of the smartphone and require ever newer software, hardware, updates etc. People don’t want to have that kind of instability in the ecosystem which runs their homes, it makes them feel less cosy.
Way back at the start of this article, I described some of my early technology desires from convergence. Smartphones and tablets have now largely eliminated the problem statement there. But as many will know, where one bottleneck is removed, what it does is expose the next one which is further down the chain. Progress has been made, absolutely. We have single devices which handle calls and music and email and diaries and video and camera and camcorder and are always connected and allow us to have apps like Cozify’s on them. But they have now exposed the next level of convergence which is needed, namely app convergence, which is still lacking.
If and when I decide to go the smart home route, I don’t want to have X different apps to manage it all. I want one.
And on top of that, I want it to be simple.
And I want it to be powerful.
Cozify have done a great job of integrating a huge amount of functionality into their app and keeping it simple. They’ve not managed to completely remove the dependency on external manufacturer provided apps which is not the end of the world but simply the next step in the converged technology I crave in this kind of situation.
Then we get to state management. My day job is in finance. I’ve spent much of my career designing and creating heavily automated algorithmic trading systems and strategies. Some people think this is fancy, complicated stuff, but in some ways, it’s actually pretty simple. It ultimately boils down to one of three end results.
Buy something.
Sell something.
Do nothing.
Now, if I showed you some of the algorithms which generate the decision point to do one of those three things, it’s absolutely complicated, even more than complicated, it’s complex (see my series of articles on software development where I talk about complexity).
Automation management (which of course is what smart homes are trying to do) is about taking a brain dump from you and putting it into a set of rules which a computer can manage. The trouble is, if the generation of a trading signal which has 3 end states is so complex, how complex do you think it will be to manage something like your home which has tens, hundreds, thousands or more possible end states?
In short, it’s very complex. And this is where what I’ve seen of home automation starts to unravel ever so slightly. Ever noticed how when everything is going fine, nobody says anything, but the second it goes wrong, they notice? This is kind of the home automation conundrum. Most of the time, it’ll do exactly what you want it to do. When it doesn’t, you’re going to notice. That’s not to say that you can’t manage that and setup new rules and scenes and timers and device states and exceptions etc, but programming is about managing complexity. Although you’re not writing C++ code here, make no mistake, you are programming. Cozify has done a brilliant job of hiding that fact and making it user friendly and easy to use, but it will still take time and effort to brain dump your mind into a ruleset which works for you.
I’m sure most people don’t want to have a software development environment to setup in their home when their lights come on and off, but for some it could be useful. I’ve done enough algo writing in my time to know that I would love a stateful script engine which I could use to play with Cozify and setup my perfect smart home. I have no doubt it would take even more time and effort on my part and I’m also sure the majority of the market wouldn’t be into that. I’ve reached out to Cozify to find out what their plans are around the scripting engine Kimmo mentioned in the Q&A.
Rule scripting is a central part of the Cozify hub and it has been in development from day one. All the rules available in the hub are written with our scripting interface. There is a web user interface for writing and uploading scripts to the hub and we’re aiming to provide smooth integration with different development environments for rule development and debugging.
The script engine itself runs Python and we will release it to hobbyists and 3rd parties. We’ve already given some developers early access at hackathons to get feedback and there is a huge interest group waiting for us to release it but we still have work to do in terms of polishing the interface, documentation and security. Once it’s fully public, there is no turning back and we’ll need to be fully backwards compatible.
We will also offer REST/JSON based API’s to communicate with the hub so that 3rd parties can add their own devices and integrate with back end services.
That much said, practicalities often kick in. As much as I have the capability to do this kind of thing, can I really be bothered to program my house to that degree? Probably not. Would I want to go with one of the more complicated setups which need an engineer to come out and program everything for me? Absolutely not since I’m sure it’s fine initially, but what happens when you realise you forgot about scenario 372 and you need to pay a callout fee to get an engineer to come and reprogram your washing machine? No thanks.
So for me, the Cozify setup is a decent blend of simplicity in automation and reasonable edge case handling. Less technical people who lack the desire to create rulesets which cater for every single scenario they’re ever likely to come across are likely to be amazed at the capabilities of the system. If you still want to automate a lot of things and smarten up your home, don’t expect it to be a quick process. Sensor placement, rule setup, scene setup, exception handling etc will take time. But a lot less time than having to code it and a much easier debug if and when you get something wrong!
It’s definitely a brave new world. Cozify are at the vanguard of this movement and blazing the trail for the world. It’s not perfect, nothing really is, but they’re working hard on it and if you’re looking for a smart home automation system, even with its inherent expense and relative complexity, they’re a good setup to consider.
After I had written this review but before publication while still awaiting launch details, I noticed an oddity in the news. BBC News did an article about Nest's Revolv platform shutting down and leaving users in the lurch (Source). I asked Kimmo about this since it's obviously something that would be concerning to anyone potentially considering buying into a smart home.
His response below:
Currently there is quite a lot of critical buzz around Nest. I believe that some of it is justified but certainly not all. When Nest bought young Revolv in very early stages, everyone knew it was an acquihire. I think they were very clear about the fact that the product will be discontinued and they still kept it running for 2 years before actually closing it down. While I do understand the critics, why did they bring this up now if not just to throw a bit more gasoline to the fire?Having said that, Nest could have done a much better job to support the existing Revolv users by offering a path to replace the deprecated system with an alternative solution. It is not like there is no other option.Considering Cozify, total shutdown is very unlikely to happen, since the product works also without a cloud back-end. We concluded from the very beginning that a good smart home is built from autonomous layers. This means that peripheral devices (locks, heating, lights etc) must work without a connection to centralised system such as a hub. And also the hub (i.e. the home) must work autonomously, without continuous connection to the cloud services.You can also think it from a broader perspective. People who invested a lot of money to traditional home automation during 80’s and 90’s, are now pretty much stuck with it. It may be very hard to get support and almost impossible replace these systems. Retrofittable, innovative and open smart home systems are actually the solution, not a problem. While the basic technology can still be installed for a lifetime of the house during the construction, the “smarts” can be easily replaced as the technology moves forward. And since the pricing is on reasonable level, the payback time for the investment is only few years, not 20.
So there you have it folks. Hopefully this review/article answered some of your questions about smart homes and Cozify. As always, let us know what you think in the comments.
Contents
Follow Wccftech on Google to get more of our news coverage in your feeds.
