![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
[Thanks for coming along with me on December Days, where I natter on about things organized around a theme (sometimes very loosely), one a day, for 31 days. This year, we're taking a look back at some touchpoints along the way of my journey with computing and computing devices.]
Home automation is not a new concept for many people. It's been mostly sold to us under the idea of the Internet of Things or "smart devices" that have sensors and Internet connections that can talk to each other or be coordinated by an app or other service. Sensor on your weather station can help you determine where the thermostat should be set. Universal remote can be taught how to turn all of your multimedia devices on and off, without having to hunt up the correct remote for the correct device. Use your phone to set your radio-enabled lightbulbs to specific colors and intensities automatically. Turn outside lights into motion-sensitive lights by adding a sensor and setting some parameters. Those kinds of tasks to make the house, the car, the television more intelligent and able to respond to a different set of situations, or to control robots so they do their work without requiring a human to remember to start or stop them.
Of course, there are a lot of companies that jumped into the idea of smart objects without really thinking through what the consequences of them were, sand still others that got acquired by larger companies that were less concerned about the quality of the product they put out and more about the quantity of the product they put out. And so, fairly quickly, the Internet of Things obtained a significantly less flattering moniker to reflect the quality of the material being presented. (And a different part of the world started adding apps and connectivity to their toys, and experimenting with the idea of providing a tactile track to their productions so that someone with the appropriate hardware could feel along with the action on screen.) The somewhat amusing stories of lightbulbs engaging in Denial of Service attacks by pinging someone constantly and without an interval between pings because the Wi-Fi bulb needed to be replaced or the idea of a lock that offered the feature of being unlocked with a smartphone or other device were also mixed with the much less amusing stories of utility companies remotely adjusting the temperature controls of smart thermostats hooked up to their power grid with the idea of reducing the load on their systems, regardless of what the temperature outside might be. Or looking in in horror at the local warehouse store selling WiFire grills that can be accessed and controlled from the network. One of the very sensible rules that this household has about automation is that fire does not get access to the network. Not just to avoid malicious code and actors, but also because you don't want to have a situation where you want to grill something, but there's a firmware update that has to happen first, and the update is going to take an hour or longer. As companies exited or were eaten by other companies, they stopped offering patches and updates for their items, or the servers that helped run the smart devices were taken off-line without any (or any good) recourse to a local access mode or an off-line mode that would allow the device to continue working and being smart even without the servers that had supported them. So there's a lot of unpatched and old stuff out there which has no official support any more, even if it is perfectly functional material. There might be an open source developer out there trying to piece together the firmware and provide necessary security updates because they want to keep their own stuff operating, but we once again run into the problem where companies, even companies that are going out of business and not being acquired by other companies, don't want anything but their code on their devices and are willing to force people to either use potentially dangerous devices or to scrap the entire investment they've made in that particular system and start again. (Because DMCA 1201, unless something is specifically exempted from it, still applies to anyone who is trying to break the security and possibly to anyone who follows in the footsteps of a successful jailbreak.)
With the advent of their voice assistants, Google, Apple, and Amazon all staked out positions that they intended to get into and stay in the smart home and home automation businesses, with the thought built around those assistants being able to do natural language processing and then translate that into the correct commands to the linked objects, coordinating between all the apps and API calls that were necessary to complete the task. Alexa, Siri, and Majel are meant to be the hubs for automation systems, and services like If This Then That are meant to link together disparate web site activity or pull data from one place and use it as triggers for actions in another, whether local to Web, Web to local, or some other chain of events across various IP addresses. Google ate Nest, trying to position themselves using the good will that Nest had built up with their products, Amazon ate Ring to try and showcase how they were interested in security and cloud-capturing video technologies (while eliding the fact that all that saved video footage would be made available to police to use as a wide-ranging surveillance network. Warrants? Warrants are so very last century, even the secret warrants that were in vogue then.) Apple, of course, is Apple, convinced of their own inherent superiority in the devices they put out and less interested in acquiring someone as in wanting things too be compatible with their own specific protocols. The thing that binds all three of them together is that they very much want to know what you're doing with your smart devices and what kind of requests you're making of your voice assistants so they can mine that data for advertising purposes and whatever else they decide to do with that data. I know that I'm still giving up some data, but I don't really want something that will constantly listen to me and receive else and feed that data back to over of those companies.
I do remember seeing a demonstration of what Home Assistant was capable of with someone's much more elaborate setup of sensors and cards and automations than I probably would ever get to (the kind of thing where they know which windows are open and automatically turn off any air conditioning that might be running, so it doesn't waste the cold or the heat going outside), and I kept it in the back of my head, because if there was going to be any smart home decisions made, I would want a hub that is beholden to no company at all. Since Home Assistant is open source, that makes it a nicer choice for me to use. (And it has an impressive number of integrations for various devices, especially the kind that can have the same kind of underlying chips, even if they come from different manufacturers.) I got convinced that it would be worth trying it with some suggestions on how such smart integrations would be used. Right now, it's the reason why the robot vacuum can run twice a day (the official app only lets you schedule for one time a day), it reminds us when it's time to change the laundry over (an easy thing to forget when you're also trying to do other things on any given day), why we get a suggestion when it might be time to turn on the air conditioner, why the night lights turn on at sunset and off again at sunrise, and it's why the screen games and viewing automatically turns off at an appropriate bedtime time, after properly warning us about its intent to do so. It may not always convince us to stop and go to bed (unless it's a school night), but it's there to remind us of what the time is, since at least some of us in the household are bad at recognizing the passage of time when we're in the flow state, for whatever reason that may be. There's more possibilities to explore with the Home Assistant, of course, as it adds functionality, learns how to talk with other things, and as we slowly add devices and sensors to the house for various purposes (and possibly run into those situations where companies will try very hard not to make their products compatible with anything else and refuse to allow themselves to be flagged with more cooperative firmware.)
The other nice thing about having a Home Assistant is that it's still functional even without any cloud integrations. Since it doesn't have to call home to do everything, even when the Internet at large goes down, the Home Assistant still functions, as long as the local network is up and running.
The most useful piece and integration for the Home Assistant so far has been a fully offline voice assistant called Rhasspy. Rhasspy doesn't have to call home, either, building a full voice assistant system that can receive speech and talk back out of open source components that are local to the base station. It's designed to hook into Home Assistant and other workflow options so that we can direct the Home Assistant (aptly named Castle Heterodyne) to do things, like turning media systems on and off, turning climate control systems on and off, reading and reporting on the states of the sensors for the inside and outside, turning network connected lights on and off and other things as we think of them and add the capability to do so to the Home Assistant. There's a little difficulty in it that I haven't figured out how to access a payload that comes with an intent, so I can't, for example, figure out how to direct the Castle to set a timer for a time that I specify, but it's still a pretty powerful thing to have on hand.
Rhasspy used to work pretty well with a microphone connected to the USB ports on the N2+ that we have Home Assistant installed on, but updates to both Home Assistant and the underlying Linux system made having the microphone attached work intermittently and then not at all, so we went to the second way that Rhasspy can be configured, as a base station (which can communicate directly and securely with the Home Assistant) and satellites that communicate over the local network to the base station, which takes the audio, interprets it, and sends on to the Home Assistant whatever command had been requested. It took some time to make it work the way we wanted to —the satellite Raspberry Pis already in place or purchased specifically to be used as Rhasspy satellites installed and worked without a hitch, so commands could come from them to the base station easily (using the two PlayStation Eye attachments that I had from the PlayStation 3 era), but it took several attempts (including trying to repurpose the old Pis and to use a Raspberry Pi Zero W (right before the Pi Zero W 2 was announced and released) before I finally remembered that I had a Linux machine with plenty of processing power available to run a satellite system, so once the Arch system got Rhasspy installed and figured out how to let Rhasspy access the USB microphone provided, everything has been great in terms of controlling everything. (The speaker still only talks remotely, instead of responding to the station where the request came from, so it's probable that I have something misconfigured, but for the most part, commands coming from the bedrooms don't need to get a response.)
So there's plenty of expansion possibility for this service in the future, as things get better integrated, of as someone other something or that can be properly integrated or flashed to be properly integrated. Or as we teach the various remotes more commands so they can control even more things automatically or on demand.
There you are. Thirty-one computing devices, spanning my career of technology. Not the only ones I've worked with or played games on, but ones that I have some stories (or convenient excuses for rants) associated with. I don't know how many, if any of them, sparked memories for you, but if you do have one, feel free to share it. Or if mine of this was interesting at all to you, then perhaps you can attempt to influence 2022's December Days with good suggestions about what kind of topics could be covered.
Congratulations to all of you for making it through this year, and I hope to see you again next December.
- CPU: Amlogic S922X Processor with Quad-core Cortex-A73 (@ up to 2.4Ghz) and Dual-core Cortex-A53 (@ up to 2Ghz), ARMv8-A architecture with Neon and Crypto extensions
- Memory: 4 GB RAM
- Graphics: Mali-G52 GPU with 6 Execution Engines @ 800Mhz, mostly unused (access to machine through HDMI is mostly debug terminal, but device itself is capable of 4k resolution at 60 Hz refresh rate
- Sound: Stereo (maybe more) possible through HDMI or 3.5mm jack
- Storage: 64 GB eMMC internal storage
- OS: Home Assistant Core running on top of Alpine Linux
Inputs/Peripherals: 4x USB 3.0 ports, 1x USB 2.0 On The Go port, Gigabit Ethernet, IEEE 802.11 a/b/g/n/ac, Bluetooth 4.0, 1x Debug serial console (UART), 1x Peripheral Expansion Header (40-pin, 2.54mm pitch)
Home automation is not a new concept for many people. It's been mostly sold to us under the idea of the Internet of Things or "smart devices" that have sensors and Internet connections that can talk to each other or be coordinated by an app or other service. Sensor on your weather station can help you determine where the thermostat should be set. Universal remote can be taught how to turn all of your multimedia devices on and off, without having to hunt up the correct remote for the correct device. Use your phone to set your radio-enabled lightbulbs to specific colors and intensities automatically. Turn outside lights into motion-sensitive lights by adding a sensor and setting some parameters. Those kinds of tasks to make the house, the car, the television more intelligent and able to respond to a different set of situations, or to control robots so they do their work without requiring a human to remember to start or stop them.
Of course, there are a lot of companies that jumped into the idea of smart objects without really thinking through what the consequences of them were, sand still others that got acquired by larger companies that were less concerned about the quality of the product they put out and more about the quantity of the product they put out. And so, fairly quickly, the Internet of Things obtained a significantly less flattering moniker to reflect the quality of the material being presented. (And a different part of the world started adding apps and connectivity to their toys, and experimenting with the idea of providing a tactile track to their productions so that someone with the appropriate hardware could feel along with the action on screen.) The somewhat amusing stories of lightbulbs engaging in Denial of Service attacks by pinging someone constantly and without an interval between pings because the Wi-Fi bulb needed to be replaced or the idea of a lock that offered the feature of being unlocked with a smartphone or other device were also mixed with the much less amusing stories of utility companies remotely adjusting the temperature controls of smart thermostats hooked up to their power grid with the idea of reducing the load on their systems, regardless of what the temperature outside might be. Or looking in in horror at the local warehouse store selling WiFire grills that can be accessed and controlled from the network. One of the very sensible rules that this household has about automation is that fire does not get access to the network. Not just to avoid malicious code and actors, but also because you don't want to have a situation where you want to grill something, but there's a firmware update that has to happen first, and the update is going to take an hour or longer. As companies exited or were eaten by other companies, they stopped offering patches and updates for their items, or the servers that helped run the smart devices were taken off-line without any (or any good) recourse to a local access mode or an off-line mode that would allow the device to continue working and being smart even without the servers that had supported them. So there's a lot of unpatched and old stuff out there which has no official support any more, even if it is perfectly functional material. There might be an open source developer out there trying to piece together the firmware and provide necessary security updates because they want to keep their own stuff operating, but we once again run into the problem where companies, even companies that are going out of business and not being acquired by other companies, don't want anything but their code on their devices and are willing to force people to either use potentially dangerous devices or to scrap the entire investment they've made in that particular system and start again. (Because DMCA 1201, unless something is specifically exempted from it, still applies to anyone who is trying to break the security and possibly to anyone who follows in the footsteps of a successful jailbreak.)
With the advent of their voice assistants, Google, Apple, and Amazon all staked out positions that they intended to get into and stay in the smart home and home automation businesses, with the thought built around those assistants being able to do natural language processing and then translate that into the correct commands to the linked objects, coordinating between all the apps and API calls that were necessary to complete the task. Alexa, Siri, and Majel are meant to be the hubs for automation systems, and services like If This Then That are meant to link together disparate web site activity or pull data from one place and use it as triggers for actions in another, whether local to Web, Web to local, or some other chain of events across various IP addresses. Google ate Nest, trying to position themselves using the good will that Nest had built up with their products, Amazon ate Ring to try and showcase how they were interested in security and cloud-capturing video technologies (while eliding the fact that all that saved video footage would be made available to police to use as a wide-ranging surveillance network. Warrants? Warrants are so very last century, even the secret warrants that were in vogue then.) Apple, of course, is Apple, convinced of their own inherent superiority in the devices they put out and less interested in acquiring someone as in wanting things too be compatible with their own specific protocols. The thing that binds all three of them together is that they very much want to know what you're doing with your smart devices and what kind of requests you're making of your voice assistants so they can mine that data for advertising purposes and whatever else they decide to do with that data. I know that I'm still giving up some data, but I don't really want something that will constantly listen to me and receive else and feed that data back to over of those companies.
I do remember seeing a demonstration of what Home Assistant was capable of with someone's much more elaborate setup of sensors and cards and automations than I probably would ever get to (the kind of thing where they know which windows are open and automatically turn off any air conditioning that might be running, so it doesn't waste the cold or the heat going outside), and I kept it in the back of my head, because if there was going to be any smart home decisions made, I would want a hub that is beholden to no company at all. Since Home Assistant is open source, that makes it a nicer choice for me to use. (And it has an impressive number of integrations for various devices, especially the kind that can have the same kind of underlying chips, even if they come from different manufacturers.) I got convinced that it would be worth trying it with some suggestions on how such smart integrations would be used. Right now, it's the reason why the robot vacuum can run twice a day (the official app only lets you schedule for one time a day), it reminds us when it's time to change the laundry over (an easy thing to forget when you're also trying to do other things on any given day), why we get a suggestion when it might be time to turn on the air conditioner, why the night lights turn on at sunset and off again at sunrise, and it's why the screen games and viewing automatically turns off at an appropriate bedtime time, after properly warning us about its intent to do so. It may not always convince us to stop and go to bed (unless it's a school night), but it's there to remind us of what the time is, since at least some of us in the household are bad at recognizing the passage of time when we're in the flow state, for whatever reason that may be. There's more possibilities to explore with the Home Assistant, of course, as it adds functionality, learns how to talk with other things, and as we slowly add devices and sensors to the house for various purposes (and possibly run into those situations where companies will try very hard not to make their products compatible with anything else and refuse to allow themselves to be flagged with more cooperative firmware.)
The other nice thing about having a Home Assistant is that it's still functional even without any cloud integrations. Since it doesn't have to call home to do everything, even when the Internet at large goes down, the Home Assistant still functions, as long as the local network is up and running.
The most useful piece and integration for the Home Assistant so far has been a fully offline voice assistant called Rhasspy. Rhasspy doesn't have to call home, either, building a full voice assistant system that can receive speech and talk back out of open source components that are local to the base station. It's designed to hook into Home Assistant and other workflow options so that we can direct the Home Assistant (aptly named Castle Heterodyne) to do things, like turning media systems on and off, turning climate control systems on and off, reading and reporting on the states of the sensors for the inside and outside, turning network connected lights on and off and other things as we think of them and add the capability to do so to the Home Assistant. There's a little difficulty in it that I haven't figured out how to access a payload that comes with an intent, so I can't, for example, figure out how to direct the Castle to set a timer for a time that I specify, but it's still a pretty powerful thing to have on hand.
Rhasspy used to work pretty well with a microphone connected to the USB ports on the N2+ that we have Home Assistant installed on, but updates to both Home Assistant and the underlying Linux system made having the microphone attached work intermittently and then not at all, so we went to the second way that Rhasspy can be configured, as a base station (which can communicate directly and securely with the Home Assistant) and satellites that communicate over the local network to the base station, which takes the audio, interprets it, and sends on to the Home Assistant whatever command had been requested. It took some time to make it work the way we wanted to —the satellite Raspberry Pis already in place or purchased specifically to be used as Rhasspy satellites installed and worked without a hitch, so commands could come from them to the base station easily (using the two PlayStation Eye attachments that I had from the PlayStation 3 era), but it took several attempts (including trying to repurpose the old Pis and to use a Raspberry Pi Zero W (right before the Pi Zero W 2 was announced and released) before I finally remembered that I had a Linux machine with plenty of processing power available to run a satellite system, so once the Arch system got Rhasspy installed and figured out how to let Rhasspy access the USB microphone provided, everything has been great in terms of controlling everything. (The speaker still only talks remotely, instead of responding to the station where the request came from, so it's probable that I have something misconfigured, but for the most part, commands coming from the bedrooms don't need to get a response.)
So there's plenty of expansion possibility for this service in the future, as things get better integrated, of as someone other something or that can be properly integrated or flashed to be properly integrated. Or as we teach the various remotes more commands so they can control even more things automatically or on demand.
There you are. Thirty-one computing devices, spanning my career of technology. Not the only ones I've worked with or played games on, but ones that I have some stories (or convenient excuses for rants) associated with. I don't know how many, if any of them, sparked memories for you, but if you do have one, feel free to share it. Or if mine of this was interesting at all to you, then perhaps you can attempt to influence 2022's December Days with good suggestions about what kind of topics could be covered.
Congratulations to all of you for making it through this year, and I hope to see you again next December.