[00:00.000 --> 00:11.600] My name is Bruce Mamjan. I live in Philadelphia. Glad to be here. I've been attending FOSSTEM [00:11.600 --> 00:19.440] since 2003. This is my first time in a huge room, so I guess I'm going up in the world. [00:19.440 --> 00:26.960] This presentation is actually part of a 20-year journey for me using home automation. Not a [00:26.960 --> 00:32.640] whole lot of 20-year home automation folks out there, but I'm one of them. What this talk is [00:32.640 --> 00:39.040] going to be is walking you through that journey and giving you a lot of practical experience of [00:39.040 --> 00:44.320] what I've learned. Hopefully, leaving here, you'll have a better idea of not only what home [00:44.320 --> 00:53.840] automation things you can do, but also what home automation things are worth doing. That's a [00:53.840 --> 00:59.600] distinction. What you can do and what you should do are not always the same. I will give you some [00:59.600 --> 01:04.480] examples of that. If you're interested in my slides, they are right here on this website, [01:04.480 --> 01:10.720] in addition to this QR code right here. I am a Postgres core team member, so that's where [01:10.720 --> 01:16.000] you actually will also find 58 other Postgres talks and a lot of other Postgres things, [01:16.000 --> 01:22.560] but this has nothing to do with Postgres. Feel relaxed. I expect this to be an interesting [01:22.560 --> 01:28.160] talk. I will take questions as I go about specific topics, and then I'll leave time at the end for [01:28.160 --> 01:32.880] general topics, if that's okay. I'll just walk through. I'll ask for specific questions on a [01:32.880 --> 01:38.560] specific thing, and then at the end, we'll have time. What are we going to talk about? [01:39.520 --> 01:48.080] First, we'll talk about what is computerized automation. I know that might sound trivial to [01:48.080 --> 01:52.720] you, but I'm going to explain what automation is, and then what computerized automation is [01:52.720 --> 01:57.680] slightly different. We're then going to evaluate some technologies. I'm actually using, because [01:57.680 --> 02:04.480] I've been using automation for so long, my automation goes back to the 1980s. Yes, amazing. [02:04.480 --> 02:11.920] They had automation back then. Why are we not all flying around in cars, right, and have robot [02:11.920 --> 02:18.240] helpers? I don't know, but again, this technology has been around for a long time. I will talk a [02:18.240 --> 02:23.280] little bit about some of the evolving technologies. We even had some new technology in the past six [02:23.280 --> 02:31.600] months. It's a very hot field now when I was doing it, not so much. We'll talk about a sample [02:31.600 --> 02:38.880] deployment, basically how I went at the problem. Again, I'm going to be using old technology, [02:38.880 --> 02:44.800] but it's going to be the same process that you're going to go through. You have to sometimes [02:44.800 --> 02:52.080] avoid being overwhelmed by having too many options, and I'll try and explain how to hone [02:52.080 --> 02:58.400] in on that. I'll also explain what happens if you overdo automation, because nobody really [02:58.400 --> 03:03.200] talks about that. Everything sounds wonderful, but not always true. I'm going to talk about [03:03.200 --> 03:08.240] some of the programming issues I have, and then toward the end, we're going to talk about what [03:08.240 --> 03:14.880] is success? What does home automation success look like? Again, just because you can do something [03:14.880 --> 03:20.400] and it works doesn't mean it's actually benefiting your life, and that's what I'm going to try and [03:20.400 --> 03:24.960] cover. Finally, I'll talk about a couple applications that I've been challenged with, [03:24.960 --> 03:32.080] and then obviously some solutions to that. Let's talk about automation. What is [03:32.080 --> 03:38.880] non-programmatic automation? This is the concept of you've automated something, [03:38.880 --> 03:43.040] but it doesn't necessarily have computer control. It's not something that you can [03:43.600 --> 03:53.040] programmatically adjust and basically control. Things like, I don't know how many of you [03:53.040 --> 03:58.320] are old enough to remember that years ago you used to have timers, that you'd plug into lamps, [03:58.320 --> 04:03.600] and you'd have a dial. Yeah, okay. Yeah, you still have them. That's good. Although these [04:03.600 --> 04:06.560] older people who are raising their hand, oh, there's just one younger person there, [04:07.280 --> 04:12.320] but they'd have a dial, and you'd turn it, and you'd set the time, and then every time you lost [04:12.320 --> 04:19.680] power, you had to go back and set the dial to the right time. That is not programmatic automation. [04:20.320 --> 04:26.800] How many people have heard of something called the clapper? Oh my goodness. Yeah, if you want a [04:26.800 --> 04:33.360] hal, take a look at an old commercial video. It basically was a lamp that you would clap your [04:33.360 --> 04:37.920] hands, and it would turn on, and then you'd clap your hands, and it would turn off, hence [04:37.920 --> 04:45.040] the name clapper. Dawn dust sensors, you see those, of course, everywhere where when it gets [04:45.040 --> 04:50.080] dark, the lights go on. When it gets light, the lights go on. It's not programmatic, but it works [04:50.080 --> 04:56.880] really well. And of course, motion sensors, and those have gotten much more sophisticated over time, [04:56.880 --> 05:01.280] but again, years ago, they had even the idea of motion sensors, somebody would get close [05:01.280 --> 05:05.760] to the garage or walking to an entryway, and the light would go on, very convenient. Not [05:05.760 --> 05:12.160] programmatic, but very convenient. But then we're going to talk about programmatic automation, [05:12.160 --> 05:18.160] and this has really sort of exploded in the past, I don't know, five years, I'd say. [05:18.160 --> 05:25.680] For example, the concept of voice automation, voice control, is something that obviously [05:25.680 --> 05:32.480] didn't really didn't exist effectively 20 years ago, and now it's sort of hugely popular. But [05:32.480 --> 05:37.440] the interesting thing about programmatic automation is that it allows you to take, [05:39.040 --> 05:44.320] you see, the non-programmatic automation, the automation was kind of built into the device, [05:44.320 --> 05:50.800] right? You had the clapper, or you had a motion sensor, or you had a dawn dusk sensor, [05:51.600 --> 05:57.360] and you couldn't really change it. It was wired into how the device behaved, and you couldn't [05:57.360 --> 06:01.920] combine that with some other device, or combine it with some other inputs and make something [06:01.920 --> 06:07.440] different happen. Not that it wasn't useful, but programmatic allows you to combine behavior. [06:07.440 --> 06:16.400] It also allows you to do distance things. So again, one of the examples would be somebody [06:16.400 --> 06:22.960] comes into the garage, the garage doors open, and some other action happens somewhere else [06:22.960 --> 06:28.400] in the house, right? Not usually something that would happen in a non-programmatic way, [06:28.400 --> 06:33.600] but it's easy to do if you're on a network of some type, right? Activity detection, [06:33.600 --> 06:40.960] being able to write scripts and basically programs that control with the automation, [06:40.960 --> 06:46.720] incredibly powerful. And then finally, and I'll talk about this a little later, the idea of even [06:46.720 --> 06:53.360] bringing in external data and having the external data affect your home automation. For example, [06:53.360 --> 07:01.200] how cold is it outside, right? You may not have a thermometer or a home automation thermometer [07:01.200 --> 07:06.400] outside of your house, but you may be able to go to the weather service and find out how cold it [07:06.400 --> 07:11.600] is, and change your automation based on that. Again, this is where I think it gets really [07:11.600 --> 07:16.080] interesting, and you're going to see a lot of examples of that. Okay. Any questions so far? [07:18.640 --> 07:25.200] Okay. All right. Now, evaluating your technology. Now, I'm going way, way back in history here, but [07:25.200 --> 07:34.160] basically what is a network? What is the ability to communicate distances? Well, one of the early [07:34.160 --> 07:41.280] networks I didn't even list here is the telegraph. Now, I was a history major, so I studied the [07:41.280 --> 07:46.560] impact of the telegraph on society, and it was pretty dramatic, right? Something could happen [07:46.560 --> 07:52.800] in New York City, and within several minutes, people in Europe or people on the West Coast [07:52.800 --> 07:57.920] would know about it right away, right? I mean, that's pretty impressive. The telephone, of course, [07:57.920 --> 08:07.040] is a network. I guess you still do. You used to dial a number, right? It used to make sparks in [08:07.040 --> 08:12.480] the phone. That doesn't happen anymore, but you dial a number, and somewhere some distant person [08:12.480 --> 08:18.240] answers, right? Cordless telephones. I was around long enough to remember when those came out. [08:18.240 --> 08:25.040] All of a sudden, you didn't have to have the receiver connected with a wire anymore. It's a [08:25.040 --> 08:32.880] sort of network, right? Then we had ethernet, which obviously has been around since I remember [08:32.880 --> 08:41.120] the late 90s. Before that, it was like token ring and a bunch of weird stuff on coax. Well, [08:41.120 --> 08:46.640] you can still do ethernet on coax, but you get the idea. Wireless networks. I remember when those [08:46.640 --> 08:51.760] came out, so all of a sudden now, I didn't have to be tethered with a wire ethernet. I could do it [08:51.760 --> 09:01.200] wirelessly. This fourth one here, electrical, the fifth one, electrical network. I'm going to show [09:01.200 --> 09:05.840] you how that's actually a network. You might not have thought of that, but it is, and I'll show you [09:05.840 --> 09:10.560] why. And then finally, we're going to talk about some new wireless networks that are available, [09:10.560 --> 09:18.480] all right? So, looking historically, kind of a very 10,000 foot view of what's going on, [09:19.040 --> 09:24.560] the technology you're going to see me using from the 80s is something called X10. And I'll show [09:24.560 --> 09:29.760] you how it works. I'll show you some wiring diagrams. I was kind of impressed over here. I got a nice [09:29.760 --> 09:35.520] little, you know, like electrical little sticker here. I was like, oh, it's an electrical panel. [09:35.520 --> 09:40.960] Like very exciting. We're going to show you a little bit of that. There's something called U, [09:40.960 --> 09:45.520] universal power bus, which I don't think, I don't think it's even around anymore, but it was an [09:45.520 --> 09:51.760] early way of doing the same thing. And then we have things like Z-Wave and ZigBee. They are [09:51.760 --> 09:59.440] somewhat confusing because they both begin with Z. But ZigBee is the one you normally see. It is [09:59.440 --> 10:05.760] an international standard. Z-Wave is a proprietary interface that you don't see around a lot, a [10:05.760 --> 10:12.800] whole lot anymore. There used to be something called Instion, which I think is still around, but [10:13.760 --> 10:18.640] again, it's, you don't see it pretty much anymore. I wanted to talk a little bit about a brand new [10:18.640 --> 10:25.280] standard that just came out in the fall of last year, so maybe six, four or six months ago, [10:25.280 --> 10:31.200] called Matter. How many people have heard of Matter? Wow. Okay. That's great. Okay. So [10:32.160 --> 10:42.400] Matter is basically not, I want to qualify what that is. It's not really a network. It's really [10:42.400 --> 10:50.560] a protocol for devices using different networks to communicate, right? So up until now, for example, [10:50.560 --> 10:58.160] if you had a ZigBee Phillips Hue light bulb, let's say, you had to communicate with it using a [10:58.160 --> 11:04.640] Phillips app or a Phillips hub. And the idea of Matter is that we're going, is it's going to allow [11:04.640 --> 11:11.840] for home automation using different protocols. So could be ZigBee, I believe it's for its X10. [11:12.960 --> 11:20.160] It could be something like, something like Thread, which is kind of a lousy name, frankly, [11:20.160 --> 11:24.720] because it's confusing. So many things with threads. But it's a new protocol for low-power [11:24.720 --> 11:30.880] devices, which is, which you have a lot of those things now. So if you want to kind of get a [11:32.720 --> 11:37.840] lowdown on that, I've got a great article here. I also have some websites down here. So anything [11:37.840 --> 11:43.440] in blue is basically something you can click on. If you download the PDF, you just click on the blue [11:43.440 --> 11:50.160] and it pulls up the site for you. So again, a lot of opportunities, you know, it's sort of thinking back. [11:55.520 --> 12:02.320] You know, when X10 came out in the 80s, there was a sense that, oh, home automation is now here. [12:02.320 --> 12:08.480] We're going to be able to do all this stuff. And, you know, 35 years went by and really nothing [12:08.480 --> 12:16.400] happened. I was like the only guy, the person doing it. And eventually, you know, eventually now you [12:16.400 --> 12:19.920] hear a lot more about it and there's a lot more excitement about it, partially because the technology [12:19.920 --> 12:25.200] is advanced, partially because there's more options, partially because more people are doing things [12:25.840 --> 12:31.520] electronically or they're used to that interface and people are getting used to it. But there's [12:31.520 --> 12:38.480] still some limitations and I'll kind of talk about that. You know, not only do I do home [12:38.480 --> 12:44.080] automation, but I think I've inspired my family. My son does home automation. He's a big home kit [12:44.080 --> 12:51.360] person, a home kit being the Apple-like home automation thingy. I have a brother who does it. [12:52.000 --> 12:57.920] Most of his stuff is Zigbee. And I have a nephew who does it who also uses a lot of Zigbee stuff. [12:57.920 --> 13:05.120] So I have some interesting stories about that. Some good, some bad or problems that they had. [13:05.840 --> 13:09.920] But I'll talk about that when I kind of get a little farther ahead. Okay. [13:11.360 --> 13:16.640] Choosing a network. So let's suppose you're going to use some network technology or you're going [13:16.640 --> 13:21.760] to use some kind of home automation. One of the first things you have to figure out is what do I [13:21.760 --> 13:29.520] want to measure? And what do I want to control? Because effectively, all of the home automation [13:29.520 --> 13:35.040] is really like an input output kind of a case, right? When this happens, this other thing's [13:35.040 --> 13:42.480] supposed to happen. Or when I see this activity, I want some other activity to happen. Okay. So you [13:42.480 --> 13:50.400] have to identify if you're going to choose a particular technology. Is it a multi-protocol [13:50.400 --> 13:55.280] technology? Does it something like matter that can operate with multiple things? Or is it more [13:55.280 --> 14:02.320] like a Phillips hub that only really controls like Phillips devices, right? So you kind of see [14:02.320 --> 14:06.560] the difference. There's hubs that do only one protocol. There's some hubs that do multiple [14:06.560 --> 14:13.920] protocols. And if you pick a technology and that technology doesn't have a sensor you need, [14:13.920 --> 14:22.160] or doesn't have a controller you need, what are you going to do? Like for example, I needed 220 [14:22.160 --> 14:30.160] volt control of my pool pump. Now, some of these protocols don't have just, they just don't have [14:30.160 --> 14:35.520] 220 options, 220 volt options. Now, I'm sorry, I'm living in the United States. So remember, [14:35.520 --> 14:40.560] everything's 110, you have 220, everything here. So everything's, everything's fantastic in Europe, [14:40.560 --> 14:48.960] right? But we got both. So in my case, that was somewhat of a challenge, right? What about, [14:48.960 --> 14:54.160] what about a thermostat? If you need to control a thermostat or HVAC system, does that have an [14:54.160 --> 15:00.160] interface? What if, what if you want to, what if you want to open the garage, right? I'm going to [15:00.160 --> 15:04.480] show you later how I figured out how to figure out if the garage opens or shuts that I can figure [15:04.480 --> 15:10.720] out. But what about how, open it yourself? Like what's the control? Does your, is your protocol [15:10.720 --> 15:18.240] support controlling garage doors, right? Chimes, that's one that's actually pretty limited. There's [15:18.240 --> 15:22.000] a lot, some of the interface, a lot of the interface don't have chimes. You may not think [15:22.000 --> 15:29.520] that's important. I use it a lot. Wireless remotes, like the ability to have a wireless control [15:29.520 --> 15:35.440] for your device. What about a phone? Does it have a phone app or a phone interface, right? [15:37.200 --> 15:40.480] And of course, most of them have electrical plug controls. That's pretty clear. [15:42.080 --> 15:47.440] So again, you have to, and then there's different open source products. I'm actually using this [15:47.440 --> 15:52.720] thing called Hey You. Mr. House is very popular for home automation. There's a whole lot of [15:52.720 --> 15:57.200] open source home automation stuff. It's pretty cool. But my point is that you, you can't just [15:57.200 --> 16:04.000] jump in and say, I like the name Zigbee, or I like the name Matter, or I like, I like, I like the [16:04.000 --> 16:09.440] hue light bulbs from Phillips. You got to make sure that you're going to be able to bridge [16:10.080 --> 16:15.920] your sensors and your activity together under a unified system. Does that make sense to people? [16:15.920 --> 16:21.280] Is that, that kind of makes sense? I guess I've noticed it because I would say, oh, I really [16:21.280 --> 16:24.880] want to do X. Oh, I don't have a way of doing that, or I really want to know X, or I don't have a [16:24.880 --> 16:32.800] way of finding that out. And that was kind of cool. Now, signal reliability, you see that a lot, [16:32.800 --> 16:39.200] some with, with, with different, like Zigbee, I know has a limitation of distance, because it's [16:39.200 --> 16:46.560] a wireless protocol. So again, it might use Wi Fi. Do you have Wi Fi in all parts of your home, [16:46.560 --> 16:52.080] right? That they're all reachable. Is it reliable? If you're using something like X 10, [16:52.080 --> 16:57.680] do you have a way of doing that? I'll show you how that actually works. What about this kind of, [16:57.680 --> 17:02.480] seems kind of unusual, simplicity of device replacement. Why did I bring that one up? [17:03.760 --> 17:11.360] I had a friend, I knew a friend who, when he brought a, bought a new house, he put automated [17:11.360 --> 17:17.040] outlets in all, all of his outlets were automated. So instead of the normal plug, you know, like the [17:17.040 --> 17:24.400] normal outlet, every outlet was home automation enabled. And you're thinking, wow, guys are genius. [17:24.400 --> 17:29.840] This is great. He's going to be able to control. This is probably 10 years ago. And he said, you [17:29.840 --> 17:37.360] know, it was kind of neat, but the reliability of the devices wasn't very good. And it feels like [17:37.360 --> 17:48.560] every one month, let's say one Saturday a month, I am replacing an outlet in my house. And I'm like, [17:49.360 --> 17:55.520] that does not sound like fun because again, outlets, normal outlets will last for 30 or 40 [17:55.520 --> 18:02.240] years, right? Is a home automation outlet going to last 30 or 40 years? And even if it does, [18:02.240 --> 18:09.920] are you still going to be using that protocol 30 or 40 years from now? Right? That's, I mean, [18:09.920 --> 18:14.000] think about how much it's changed even in the past five years. It's hard to imagine, right? [18:14.000 --> 18:18.320] What, what, what, what opportunities or what interface you're going to need 10 years from [18:18.320 --> 18:23.760] now. You really want to replace all the outlets in your house with a new, with either replace it as [18:23.760 --> 18:32.240] they break or replace them. My brother had the ZigBee thing and he, the electricity like bounced on [18:32.240 --> 18:38.880] his house and all of a sudden all his devices went offline. And we're at a dinner. I think we had, [18:38.880 --> 18:43.120] it was me and my cousins and my brother were having a dinner and he's talking about this thing. And [18:43.120 --> 18:47.280] it just happened. And he hasn't been home yet because he went to work and happened while he was [18:47.280 --> 18:52.240] at work. So his wife calls, now the whites work. I can't turn on anything. He says, well unplug [18:52.240 --> 18:59.680] this. Unplug that, plug that back in. Doesn't fix it. And he's asking me, could a power spike, [18:59.680 --> 19:04.960] when they take the electricity off and on, could it have wiped out like a third of his devices? [19:04.960 --> 19:11.280] Because a third of his device would just like, gone. And I said, it's possible, but it's more [19:11.280 --> 19:18.160] likely it's the, like a hub or something. And it turned out he gave me the report later. He said, [19:18.160 --> 19:23.200] I went home and I played with it for like four or five hours and I got it working again. So [19:26.080 --> 19:31.280] hey, he had to be home to do it. His wife was not able to do it because she'd understand the [19:31.280 --> 19:36.880] network and how it was set up. But even then I think what he ended up having to do was to hard [19:36.880 --> 19:42.720] reset one of the hubs and that brought all the devices back on. Power cycling, it didn't work. [19:42.720 --> 19:50.160] It seems like some part of the CMOS got, whatever, the firmware got weird. But again, is that something [19:50.160 --> 19:55.600] you want to deal with in your house? And is that what you're, is that something your family wants [19:55.600 --> 20:03.680] to deal with in your house, right? So I'm just, I'm just saying, I'm not saying it's right or wrong, [20:03.680 --> 20:10.720] but it's, it's a reality is what I'm saying. Cost can be an issue. I know the Insteon stuff was [20:10.720 --> 20:16.320] fairly expensive. I have heard complaints about the cost of some of the Phillips products, although [20:16.320 --> 20:26.400] the quality is very high. People have talked about that. So again, a lot of things go into that [20:26.400 --> 20:33.280] choice, longevity, ability to upgrade, that kind of thing. Very, very interesting. I don't have [20:33.280 --> 20:41.440] any answers, but very interesting. Any questions so far? Okay. All right. Let me just dive in [20:41.440 --> 20:47.920] because this is a software conference. I want to give you, you know, some geeky stuff here. [20:48.880 --> 20:54.240] And this, this kind of freaked me out that this actually works. But it works every day [20:54.240 --> 21:03.600] without fail to the point where my family has no idea it doesn't, it could never not work. So about [21:03.600 --> 21:12.240] 20 years ago, I had, I just moved into a big house. And, you know, we're kind of living in [21:12.240 --> 21:16.880] the house for six months. Electrician was there. He was working on something. I remember was there. [21:16.880 --> 21:21.760] I remember why I was there. He was a really nice guy. And I said, you know, I said, [21:21.760 --> 21:28.560] can you, can you look at something? My wife would, there's a, there's a light at the bottom of the [21:28.560 --> 21:34.160] stairs. And my wife would like a switch at the top of the stairs. You can turn the light on, [21:34.160 --> 21:37.280] right? You're going down the stairs at night. You want to be able to turn the light on, but as [21:37.280 --> 21:42.320] you're walking down the stairs, make perfect sense. So I asked the guy, I said, can we, can you put a [21:42.320 --> 21:49.200] switch here? He's like, he's like, well, he said, I can, but the problem is the lights downstairs, [21:49.200 --> 21:55.200] the switch is on the wall downstairs. So I'd have to like open the wall and then the ceiling [21:55.760 --> 22:02.960] to get the wire up to the wall on the second floor, right? To put the switch in. I'm like, [22:02.960 --> 22:07.760] well, I don't, I don't think we want it that much. I don't think it's that important. He said, as [22:07.760 --> 22:13.440] that, have you, have you thought about X 10? I'm like, I said, I've heard of it. I said, does it [22:13.440 --> 22:18.640] really work? And he said, he said, actually it does. He said, I put it in my house and it actually [22:18.640 --> 22:25.360] works really well. But he said also, he said, I've talked to my customers about it. And particularly [22:25.360 --> 22:31.680] when I'm doing new construction, and I can basically install it while I'm working on their stuff. And [22:31.680 --> 22:38.880] and he said, every person I've talked to, I give them the quote of the price, it's like $600 to add [22:38.880 --> 22:45.360] some home automations, maybe the lights outside or whatever. But every customer I've talked to [22:45.360 --> 22:52.640] has said no. So he said, I use it. But everyone I try and recommend it to, they like, oh, I don't [22:52.640 --> 22:57.920] want the headache. I don't want to pay the $600. I don't see the value. These are the kind of things [22:58.640 --> 23:04.400] that the feedback that he has an electrician got. All right. So let me show you how it works. [23:05.040 --> 23:11.920] And we can kind of like walk through it and sort of see. Okay, so this is, and I apologize if [23:11.920 --> 23:20.000] there's any US specific electrical things in here. I'm going to do my best. Okay, so this is, this [23:20.000 --> 23:28.720] is basically the sign way for electricity. I believe this is a US cycle here, because I think [23:28.720 --> 23:36.640] it's 60 Hertz. And in the in Europe, it would be it would be 50 Hertz, right? So you just just pretend [23:36.640 --> 23:42.960] it's it's not that. So it basically the electricity goes up and down like this. This is alternating [23:42.960 --> 23:47.520] current. Okay, pretty, pretty straightforward. This is positive volt. This is negative volt. Okay. [23:48.560 --> 23:53.440] And then and then the target is 115 roughly in the US and it just goes back and forth. Okay. [23:53.440 --> 24:05.760] What they figured out in the 80s is that when the electricity crosses the zero voltage point, [24:07.440 --> 24:16.240] they could inject a small signal like a blip at a certain frequency and have it travel along [24:16.240 --> 24:24.320] the entire wiring of your house. Okay, so I'm not sure how many of you are aware that for example, [24:24.320 --> 24:31.040] you can run ethernet over coax now, it's called mocha. And it's basically if you have coax in your [24:31.040 --> 24:36.240] house, you can run ethernet. So I have a I have a TV in the family room, I don't have ethernet out [24:36.240 --> 24:42.160] there. But I have a coax. So in the basement, I have a mocha adapter, ethernet plugs in, [24:42.160 --> 24:48.400] out comes the coax, the coax goes through the whole house, gets picked up in the family room, [24:48.400 --> 24:54.240] I have another mocha adapter, in comes coax, out comes ethernet, goes right into the TV. [24:54.240 --> 25:00.000] Okay, so the same way that you can run ethernet over coax, you can run home automation over an [25:00.000 --> 25:07.440] electrical system. Okay, crazy, but true. So here we have, here we have a signal blip right here. [25:07.440 --> 25:14.160] Okay, here's a zero. So this would be a one. Yeah, we're getting back to binary here, very exciting. [25:14.720 --> 25:21.200] People are salivating. So here's a zero, here's a one, right, here's a zero, here's a zero, here's [25:21.200 --> 25:27.520] a one, here's a zero. Okay. And if you think of, now we're now we're starting to see where we're [25:27.520 --> 25:38.880] going here, you can see this is 110, 011, 01001. Okay, so what they effectively did, these people [25:38.880 --> 25:46.640] in the 80s weren't idiots, they basically had a binary code for different house codes, it goes [25:46.640 --> 25:52.640] from A to P. So this is the binary code for A. I know it's not ASCII, it's just whatever it is. [25:52.640 --> 25:59.280] They did have ASCII back then, but you know, stick with me here. This is A, this is B, this is C, [25:59.280 --> 26:05.120] this is D. And these are the patterns for the different house codes. So if you want, so actually [26:05.120 --> 26:12.160] here's a, here's a sine wave on what device is this, A1. Oh, right, people know what that's called, [26:12.160 --> 26:16.960] that's good, a oscilloscope, yes. I'm not that old, I guess, people remember, yes, this is an [26:16.960 --> 26:22.240] oscilloscope right here. And you can see that's the way it used to look, and it was, tectronics [26:22.240 --> 26:29.120] was the big manufacturer of these, as I remember. And here is an oscilloscope showing those little [26:29.120 --> 26:36.240] blips in the crossing of the zero voltage. Okay, so that's literally, and we can thank, I believe, [26:36.240 --> 26:40.480] I have a website that lists where I got this from, but that's kind of cool that you can just kind of [26:40.480 --> 26:47.600] link like that. Okay, so that's two ones right there. Okay, so the X10 standard basically, [26:47.600 --> 26:57.600] I actually forget the 1980s, 1975, was the standard was made in Scotland. It didn't really become [26:57.600 --> 27:05.600] popular, I think, till the 80s, uses the 120 Hertz carrier. And again, that's 260 kHz cycles in the [27:05.600 --> 27:12.640] US. I believe they also have them in Europe for European things. So one bit is transmitted [27:12.640 --> 27:19.520] per zero crossing, 120 bits a second, there you go. You thought modems were bad, this one's really bad. [27:20.640 --> 27:27.280] 256 maximum devices on your network, 16 house codes, each house code has 16 devices. And again, [27:27.280 --> 27:33.520] there's the standard right there. Okay, so this is what it would look like, the protocol for that. [27:33.520 --> 27:40.000] This would be the start code. This is the house code. And this is the device number. And then you [27:40.000 --> 27:47.280] would say on or off or dim or whatever you want that device to do. This is how you control it. [27:49.600 --> 27:57.280] This is the full protocol. So here are our house codes. Here are device numbers up to 16. And here [27:57.280 --> 28:05.440] are commands. So it looks like there's about 16 commands. There's, let's see, brightness, [28:05.440 --> 28:10.000] dimness, on or off. These are the big ones right here. These four. These four are the ones you see the most. [28:11.920 --> 28:14.960] Crazy but really cool that they got this to work. [28:20.000 --> 28:25.600] Obviously one of the problems is you need like three quarter of a second to send a signal. [28:26.400 --> 28:30.560] And those of you who are really smart will realize that's kind of slow. It's because you always send [28:30.560 --> 28:37.920] the signal twice because electrical systems can be noisy. And therefore, if the same signal appears [28:37.920 --> 28:44.160] twice, then you know that that's the valid signal. Okay, so it's sent twice, poor propagation. The [28:44.160 --> 28:50.720] United States uses split phase systems. I'll talk about that in a minute. I don't think Europe has [28:50.720 --> 28:56.960] that problem, but that there's an issue there. Line noise can be a problem. And other buildings can [28:56.960 --> 29:04.720] also probably see be a problem. So this is what a house typically looks like. You've got a 220 [29:04.720 --> 29:10.400] coming in, but basically it's positive 110 and negative 110. And then you have two phases. You [29:10.400 --> 29:17.280] have a positive phase and then a negative phase over here. And that's typically the way that houses [29:17.280 --> 29:22.800] are in the United States at least are built. One of the problems, of course, is that because you [29:22.800 --> 29:29.920] have split phase, it's hard to get signal from one side of the phase to the other. So they have [29:29.920 --> 29:35.040] something called a signal coupler, which basically transmits that blip between the two. Okay. [29:36.320 --> 29:41.840] Phase coupling is just do that. You can filter stuff, so you can filter out line noise if you [29:41.840 --> 29:47.840] want. So let's look at the actual devices. This is a switch right here. This is a normal switch. [29:47.840 --> 29:53.360] This is an X 10 switch. Notice there's no up or down because, you know, it's just a button because [29:53.360 --> 29:59.520] you may have turned it on remotely, right? So we don't have a status to it. There's no physical [29:59.520 --> 30:06.720] status. You push it. So on you push it, it's off. Okay. You might be thinking, oh, gee, why would [30:06.720 --> 30:13.360] I want a button like when I have home automation? And the funniest story I can tell you is that if [30:13.360 --> 30:19.680] home automation had started first and we never had physical buttons and physical buttons showed up, [30:19.680 --> 30:27.600] people would think they were genius because because there's physical buttons are really convenient. [30:27.600 --> 30:32.560] Okay. Let me tell you, let me tell you how convenient they are. My nephew lives in New York City, [30:34.560 --> 30:40.000] rehab the whole house, decided he was going to go full with home automation, put in physical light [30:40.000 --> 30:46.480] switches, but he decided I'm not going to use them. I'm just going to use the Philips or the [30:46.480 --> 30:52.800] Z-Way Zigbee bulbs. So if you're going to use the Zigbee bulbs and you control them remotely, [30:52.800 --> 30:58.240] you effectively have to always give them power, right? So the switch, you got to leave it on all [30:58.240 --> 31:02.720] the time. If you turn it off, it can't turn on anymore and flipping a switch doesn't work. It [31:02.720 --> 31:08.160] doesn't do anything. So what he decided he was going to do is every time he was going to control it [31:08.160 --> 31:16.480] with voice controls, so when he walks in the room, he says echo lights on and he leaves, he says [31:16.480 --> 31:23.360] echo lights off and echo lights on and echo lights off. And I was there in the fall and I said, [31:23.360 --> 31:27.920] how's it going? He said, you know, we're getting tired of talking all the time. [31:30.560 --> 31:35.840] And he said, you know, I thought it was really cool, but after a while it gets kind of annoying. [31:35.840 --> 31:42.720] So I think he's going to have to rethink that whole home automation lack of switch control thing. [31:43.360 --> 31:50.000] So there's what, the physical switch. Just what I'm saying is don't dismiss the light switches [31:50.000 --> 31:55.920] as completely useless. There actually is some use to that. Here's a different type of switch. [31:55.920 --> 32:01.520] It's a flat switch, you know, but more modern basically. Three-way switches, you can do those [32:01.520 --> 32:06.000] with X10 as well. So that's actually a three-way switch right there. No, actually, this is three-way, [32:06.000 --> 32:11.280] we're all three-way switches, actually, these three. You can do this, which is kind of cool. [32:11.840 --> 32:17.520] It's basically, there's nothing behind this. This is just stuck on the wall, right? So it's [32:17.520 --> 32:23.200] basically a wireless remote. You just hit the button, you stick it. This is how I fix the [32:23.200 --> 32:27.920] problem coming down the stairs. I just stuck one of these on the wall and then, you know, every two [32:27.920 --> 32:31.920] years I replace the little battery that's in it, like this big. So I go around the whole house, [32:31.920 --> 32:37.120] just replace all the batteries, every two years, it works really well. This is the adapter that [32:37.120 --> 32:43.120] basically receives the signal from the wireless, if you have that, okay? This is another wireless [32:43.120 --> 32:48.800] device that we have, little buttons, whatever you want, you control it. This is a four-device [32:48.800 --> 32:54.320] model. There's also a 16-device model right here. So this one right here, and this is a lamp. [32:54.320 --> 33:00.160] And you can see, here's a good setup. Here's the lamp. Here's the X10 module plugged into the [33:00.160 --> 33:06.960] outlet, okay? And then, basically, this goes up and goes to this, right? So this is an X10 [33:06.960 --> 33:12.080] controller, and it does up to 16 devices, right? So again, you need one, two devices, [33:12.080 --> 33:18.480] four devices, 16 devices. You can pick a different remote that does that for you, okay? [33:18.480 --> 33:25.120] So, you know, I think this is kind of a good example. What I, you'll notice, I did not get [33:25.120 --> 33:31.680] outlets that, no, X10. I just got plug-in things. Why did I do that? I don't want to spend one [33:31.680 --> 33:37.440] Saturday a month, like, pulling out my outlets and fixing them. They've been very reliable, [33:37.440 --> 33:41.760] but at the same time, I may not stay with this technology. I don't necessarily want to rip [33:41.760 --> 33:47.200] everything out. I don't mind seeing a little white box there. It's easier for me. And if [33:47.200 --> 33:52.080] something doesn't work, I can just plug another one in and debug it, like, real quick, right? [33:52.080 --> 33:55.920] Because it may not be the bug. It may be the box. It just makes it real easy. Okay. [33:57.040 --> 34:03.680] Okay. Pool pump, I talked about this. Basically, I have a pool, and I want to turn the pump on. [34:03.680 --> 34:08.320] Normally, this is done with the big timer dial. Remember, we talked about the timers with the [34:08.320 --> 34:15.200] little dial, and, you know, it goes around 20, every 24 hours. The problem with that is that [34:15.200 --> 34:20.480] I want the pump to run more when it's hot and less when it's not hot, because the hotter it is, [34:20.480 --> 34:24.720] the longer you have to run the pump. So, by controlling it, and this is right here, this [34:24.720 --> 34:31.040] little X10 switch right here, right, in this little box, you can basically figure out what, [34:31.040 --> 34:36.400] how warm is it outside? You ask the weather service, how warm is it outside? And then, [34:36.400 --> 34:41.840] depending on how warm it is, that's how long the pump runs. And my pool people will come, [34:41.840 --> 34:47.520] and they'll say, you should sell this. And I'm like, well, I could, but then I have to have a [34:47.520 --> 34:52.480] controller, and I have to have some way of programming it to get the weather. And it's not, [34:52.480 --> 34:59.440] what I found, it's very hard to, to productize a lot of the home automation stuff in general. [35:00.320 --> 35:06.640] Because everyone's need is different, and to productize it, it's kind of, it's kind of difficult. [35:06.640 --> 35:14.000] This is a command open source program called hey you, which actually controls X10. [35:15.200 --> 35:22.240] I've used this, I guess, since I've been using X10. There basically is an interface between [35:22.240 --> 35:29.360] the electric plug right there, and a serial cable, yes, serial, that comes out here, [35:29.920 --> 35:36.400] and goes over to here where my server is, right here. Okay, so this goes out, and then I think [35:36.400 --> 35:44.560] currently it goes into a little USB adapter, which converts serial to USB, and then the USB goes in, [35:44.560 --> 35:50.800] and Linux has no trouble communicating serial to that. So you can see the sort of network interface [35:50.800 --> 36:00.560] between, right, you've gone from Linux to USB to serial, and then to power to X10. Kind of interesting. [36:00.560 --> 36:07.760] Okay, I can monitor what's happening, so here is a report of what has happened at the house, [36:07.760 --> 36:12.240] all of the activity that's happened, so I can basically say okay this is happening, this is [36:12.240 --> 36:19.600] happening, this is happening, and I can look and get a log of that. This is a shell bash script [36:19.600 --> 36:27.120] that I wrote, which effectively monitors what happens in X10, and then it takes different actions [36:27.120 --> 36:32.560] depending on what happens. So if somebody does one thing, I say go do this other thing, [36:32.560 --> 36:36.480] is it too late, do this other thing, don't do it, if it's too late in the day, [36:36.480 --> 36:42.480] people might be asleep, are we ready to eat, there's all these things that happen. For example, [36:42.480 --> 36:49.280] when somebody hits a button in the kitchen, it sends a message to all of the terminals in the [36:49.280 --> 36:54.480] house, all the laptops in the house saying it's time to eat. There's a slideshow in the kitchen, [36:54.480 --> 37:02.960] big banner comes up, time to eat for 20 seconds, and there's also an X10 chime, so there's little [37:02.960 --> 37:07.120] X10 modules that make like a little ding dong sound, like a doorbell, and I put them in different [37:07.120 --> 37:11.040] parts of the house, so when they press it, there's this little ding dong, you hear different parts [37:11.040 --> 37:16.560] of the house, people know it's time to eat. I tried it first just making one really loud sound [37:16.560 --> 37:21.200] that didn't work well, because when you were in the room that made the loud sound, it was very [37:21.200 --> 37:25.760] annoying, and when you were far away, you didn't hear it, so to do that, I had to kind of spread it [37:25.760 --> 37:31.360] out. So again, you're looking at some input, and you're looking at some output, and that's kind of [37:31.360 --> 37:41.520] the way you have to think of it. So what inputs do I use? I use the time of day, I have dust on [37:41.520 --> 37:47.840] sensors to know how late it is outside, I use wireless remotes, I use caller ID, I'll talk about [37:47.840 --> 37:53.440] that in a minute. I even have telephone dialing, so I can actually, I don't know if you're familiar [37:53.440 --> 37:59.040] with modems, but you can still buy modems, and you can make them dial the telephone. So you can [37:59.040 --> 38:04.480] have like a, instead of dialing it yourself, you can tell the computer, take this address book entry [38:04.480 --> 38:09.600] and dial it, and I'll just pick up the phone and talk to them. So it kind of makes it convenient for [38:09.600 --> 38:16.480] people. Even things like outside temperature you can get from websites. And then outputs, we can do [38:16.480 --> 38:22.160] lights, we can turn on motors like the pool pump, we can do appliances like the coffee maker, I'll [38:22.160 --> 38:28.720] tell you that when we get there. I can make sounds, I can make broadcast messages on the laptops, [38:28.720 --> 38:33.360] and I can even have a slideshow, have a big screen to say, time to eat, or somebody's [38:33.360 --> 38:40.160] arrived in the garage. This is maybe overwhelming, but it's basically a layout of the first floor [38:40.160 --> 38:46.640] of my house. Here's the server right here. So remember I show you that little adapter, the serial [38:46.640 --> 38:53.040] adapter with the X10, that's actually right, that's number four. Here are the yellows, our lights, [38:54.000 --> 39:03.040] that are controlled. Here is the sunset sensor. Here is, yeah, so this is where you have a remote, [39:03.040 --> 39:08.640] you can tell people to do stuff. One of the interesting things, you'll notice that the lights [39:08.640 --> 39:14.320] at the front of the house, you see all these lights right here, they turn on right before dusk, [39:14.320 --> 39:20.400] right, when it's getting dark. But what I realized is that why would I turn the lights on always at [39:20.400 --> 39:26.880] the same intensity every day? What I'll do is I'll randomly have different intensity lights [39:26.880 --> 39:32.080] every time I turn them on. So if you look at my house one day, maybe the garage will be brighter, [39:32.080 --> 39:35.840] and the front door will be dimmer, and then the next day, the porch will be brighter, [39:35.840 --> 39:40.000] and the front door will be brighter, and the garage will be dimmer, right. So it just adds a [39:40.000 --> 39:46.000] little bit of variety to how people view your house, and kind of, it's like a neat little thing. [39:46.000 --> 39:55.120] I think it's kind of cool. Let's see here. Yeah, so this is, basically this is walking you through [39:55.120 --> 40:01.280] how, you know, how the system works. I think it's kind of interesting. Any questions? [40:01.280 --> 40:11.840] Yes, sir. So the question is, does the X10 link to your neighbors as well? So technically, [40:11.840 --> 40:18.880] X10 will broadcast up until your transformer. If you're familiar with the transformer, [40:20.480 --> 40:25.920] it turns out that my run goes right from my house to the transformer, so I don't have other people [40:25.920 --> 40:31.600] between me and the transformer, so I don't think anyone else sees it. However, if you're sharing [40:31.600 --> 40:36.560] a transformer with other people on the same wire, they will absolutely see it, and that's [40:36.560 --> 40:40.960] why they have the house codes. So if you find that somebody's using your house code, you may [40:40.960 --> 40:45.120] switch to a different house code, and therefore you will not see interference from them. Great [40:45.120 --> 40:54.240] question. Okay, yes. Can you have a filter in your mains? Absolutely, they sell filters that [40:54.240 --> 40:58.800] will filter your mains, and therefore it doesn't leak out to the rest of the house. Yeah, great [40:58.800 --> 41:05.600] question. I'm going to keep going here. So I promised I was going to talk about what success [41:05.600 --> 41:12.240] looks like. Basically, adding home automation changes your family's home environment. [41:12.240 --> 41:25.600] Good or bad, right? I recommend you start slow, because my brother, he had seen me do it, [41:25.600 --> 41:31.920] and he kind of went all in. But the reaction I got from, I just talked to my wife last night, [41:31.920 --> 41:37.680] and she was at a funeral. My uncle actually had a funeral on Friday that I unfortunately missed, [41:37.680 --> 41:44.400] but she was talking to my sister-in-law, and she was complaining about the fact that [41:45.280 --> 41:51.920] when she does not know how to control the lights in the house. There are different voice commands, [41:51.920 --> 42:02.880] and she can't remember what my brother called that device. I told maybe we put labels on [42:02.880 --> 42:08.480] things so you can remember what we called them for the voice commands, but it's not a good situation [42:08.480 --> 42:14.320] to be in when your family is feeling like they don't have control, because it's their house too, [42:14.880 --> 42:20.080] and they want to feel like they certainly should feel comfortable in controlling their environment, [42:20.080 --> 42:27.600] and if you kind of come in too strong, you can bypass them. So in fact, my trick was that [42:27.600 --> 42:39.440] I put in home automation just for the outside lights, and my wife, month later, she said, [42:39.440 --> 42:45.200] can you do this one lamp for me? I said, sure, and I waited four weeks, and I was really excited to [42:45.200 --> 42:49.120] do it, but I'm going to wait a couple of weeks, and then I did it, because I didn't want her to [42:49.120 --> 42:55.120] feel like I just was trying to move it too fast. It's been very incremental, and that has allowed [42:55.120 --> 43:00.080] people to look at it as a positive versus I think sometimes can look at as a negative. [43:01.680 --> 43:07.760] Except that some automation tests are impossible, and again, you've succeeded when a family member [43:07.760 --> 43:15.440] asks for a home automation addition. That is your gold standard. Keep an eye on that one, [43:16.160 --> 43:20.480] because if you don't get there, I would say you're kind of full, and this is actually a [43:20.480 --> 43:25.760] great article. Smart home gadgets, still a hard sell. Wall Street Journal article right there. [43:27.520 --> 43:34.160] So challenges. Change is hard. Reliability. So sometimes it's hard for family members to [43:34.160 --> 43:40.160] understand how it's working. Device longevity, I talked about that. Maintenance, I talked about [43:40.160 --> 43:44.400] what happens if something breaks. The cost, I talked about that, and then, of course, security, [43:44.400 --> 43:50.080] privacy are also important, and again, we have a nice talk about the Nest thermostat bug. [43:50.080 --> 43:58.000] It leaves users in the cold. Not a good experience there. So be aware. It's scary sometimes. [43:59.600 --> 44:02.160] So let's just run through this, and I'm going to take some questions. [44:02.880 --> 44:09.920] So this is mostly just a Q&A part. I mean, show and tell. So here are the modems I use, [44:09.920 --> 44:15.680] where it actually, again, serial cables going up to USB, but I have two phone lines, and [44:15.680 --> 44:21.840] it's just modems. Not only can I dial the number, but I can get caller ID, so I can get caller ID [44:21.840 --> 44:26.400] and show to everyone in the house who's calling on the phone. You don't have to look at the phone, [44:26.400 --> 44:32.480] you see it on your computer. Really kind of nice. I can log all the telephone calls coming in. [44:35.680 --> 44:42.480] I can dial the phone, as I said before. Again, I use caller ID to broadcast messages and to make [44:42.480 --> 44:48.560] it shine if it's somebody important, like a family member. And I end up taking the caller ID, [44:48.560 --> 44:53.680] I look it up in my telephone directory, and then I know who it is, and I can actually give a text [44:53.680 --> 44:59.760] message. Instead of just a number, I can customize what it looks like. I can make outgoing calls, [44:59.760 --> 45:05.920] as I said before. This is the second floor, or is the first floor. Again, talking about [45:05.920 --> 45:12.880] how all the pieces work together. This coffee maker is kind of fun. Second floor, again, some lights, [45:12.880 --> 45:20.000] some chimes, and some wireless remotes. So you can kind of see they're kind of spread out [45:20.000 --> 45:25.680] in different parts of the house. And here's the pool pump out here. This is what the, hey, [45:25.680 --> 45:31.040] you can fig file looks like. You basically define your codes, and then the names that go with each [45:31.040 --> 45:39.840] of those codes. Here's what X10 commands look like. Here's the standard timer. Here's a crontab. [45:39.840 --> 45:44.880] Of course, we're running on Linux, so we can crontab schedule a whole bunch of stuff, right? [45:44.880 --> 45:51.120] Works just very seamlessly, very easy to control for me, anyway. Dawn Dusk sensor, I talked about [45:51.120 --> 45:57.280] that. Here's a remote that you can use to control. This is the coffee maker, kind of hilarious. [45:57.280 --> 46:06.480] The way we do it is my aunt lives with us, and she usually gets up early. So my wife has a remote [46:06.480 --> 46:12.400] next to the bed, and when she wakes up, she presses the remote, and then it makes a chime in my aunt's [46:12.400 --> 46:18.320] area, and that means my aunt should, it turns on the coffee maker for her, okay? So I saw somebody [46:18.320 --> 46:24.320] look at their spouse. So yeah, so the cool thing is that you have to have an aunt to set it up for [46:24.320 --> 46:29.920] you, or something of an automated coffee system if you don't have an aunt. But the cool thing is [46:30.960 --> 46:34.080] you hit the button when you're about to get out of bed, and by the time you get downstairs, [46:34.080 --> 46:40.080] your coffee's ready, okay? Here's the coffee maker timer. It only turns around for like 15 minutes, [46:40.080 --> 46:44.880] so it doesn't stay on for very long. And she also has a little button on her phone, [46:44.880 --> 46:51.360] so if she's driving home, as she's heading home, she can hit the button, and then everyone, yeah, [46:51.360 --> 46:59.280] yeah, okay. I'll just leave it there. So this is how it actually works on the phone. I actually [46:59.280 --> 47:05.280] have an, it actually does an SSH session, and then calls an X10 command, and then logs out, [47:05.280 --> 47:11.680] basically, okay? Pool pump, job scheduler, weather for the website, wireless remote. [47:12.880 --> 47:17.840] This is kind of an interesting case, garage entry detection. I'm not going to get into this, but [47:17.840 --> 47:23.360] effectively what I ended up doing was to put an X10 switch up at the top, and when the door comes [47:23.360 --> 47:31.120] up, it detects it and just pushes a little lever, and I have an X10 control with like wires, [47:31.120 --> 47:36.320] and it sends a signal to say somebody closed the contact, and I know somebody came in the garage, [47:36.320 --> 47:41.120] okay? And again, that's exactly, that's what it looks like right there, right? There's the, [47:41.120 --> 47:45.920] there's the lever, right? And there's the X10, so the wires go up here, and then it plugs in, [47:45.920 --> 47:49.040] and then it goes right to the computer, and the computer does everything, okay? [47:51.440 --> 47:58.240] Okay, all right. Okay, let's take some questions. Yes, sir. [48:11.920 --> 48:15.840] Right, so how would you implement this with modern technology that didn't have as many [48:15.840 --> 48:21.200] moving parts? So my son, I would say, has done that. He's doing ZigBee, so everything's controlled [48:21.200 --> 48:29.200] with his phone, and he's using HomeKit. So basically, he's using, instead of using switches, [48:29.200 --> 48:37.600] he's using light bulbs that are ZigBee enabled, and, but he's still using some X10 stuff because [48:37.600 --> 48:43.440] he wants a physical switch on the wall. So I think the question is, are you happy with doing [48:43.440 --> 48:49.120] everything on your phone? That's the question, right? If I walk into a room, do I want to pull [48:49.120 --> 48:54.800] my phone out to turn the lights on, right? I think he's okay with that, and there's a whole [48:54.800 --> 48:59.360] bunch of cool stuff you can do like proximity when he's getting, when his car is getting near the [48:59.360 --> 49:05.120] house, cool stuff can happen. So there's a lot of potential there, but because I'm trying to [49:05.120 --> 49:10.400] bridge the old and new technology together, that's why it looks so kind of hokey. One more question, [49:10.400 --> 49:16.800] let's see if I can get it. Right here. Right. So you're basically, clearly, to be said, you've [49:16.800 --> 49:24.480] basically gone largely for X10, which is wired, and you are more of a power user slash thinker. [49:24.480 --> 49:30.320] So, but the dealing of the kind of like average user who's got no idea what exactly a smart home [49:30.320 --> 49:36.880] does, and or what their smart home assistant sends to the big tech, how would you talk to [49:36.880 --> 49:41.760] such people about home automation, because we've got the game, oh, we want your lightbulb connected [49:41.760 --> 49:46.480] to the Wi-Fi, oh, I've got this cat flap is connected to the Wi-Fi and everything. And then [49:46.480 --> 49:50.480] they end up with a situation they can't switch the lights on at home because the power went off. [49:51.600 --> 49:56.640] Is how would I start if I didn't do nothing? And I would just say get a, get a lightbulb that has [49:56.640 --> 50:02.800] a phone control, and they just kind of get started with it. But you're going to be on a 10-year [50:02.800 --> 50:08.240] journey potentially, because it didn't start this way. It started just with the out front lights, [50:08.240 --> 50:13.440] and it grew over time as I found need. So again, my goal was not really to talk about technology, [50:13.440 --> 50:18.800] but to figure out how to think about that technology in relation to you, your family, [50:18.800 --> 50:34.800] and your home. So thank you.