the recursor home : about : rss : spamgourmet : otherdog studio
animals : anything : elsewhere : food : homeautomation : music : reading : restaurants : tech
more on thermostats 2018-03-06 22:50 UTC
So... I'm still thrashing on thermostats, but today I feel optimistic about the Radio Thermostat CT50 - so much so that I ordered two of them off Amazon. The company publishes an API that is locally callable over http, and I don't believe it's necessary to have them connect to the vendor (although it's possible). There is even a perl module in CPAN for the API. I feel sort of stupid for not seeing these earlier. I will post an update once I have them installed. I plan to create a dedicated WIFI network that does not have internet access and put them on that.

I also looked and (and ordered and received) a discuss (0) permanent link

troll factory 2018-02-20 20:36 UTC
I read another article about how a particular protest and counterprotest in my city that defied explanation were both organized by the troll factory in St. Petersburg. Which is both hilarious and scary. What's scary is how easy it was and - think about it - how easy it will always be.

It's comforting to blame the Russians (and I suppose I do), but when we do that, aren't we setting ourselves up for more? Sure seems like another case of trying to explain post-national events using a nations model.

We won't fix what happened with statescraft (or with facebook/twitter shaming). Right now I don't see how we can fix things with technology alone, either. We - each individually - are going to have to adjust. Do you think we will?

Peter Steiner's one-panel public service announcement from 1993 bears repeating (over and over): On the Internet, nobody knows you're a dog.

Of course, using deception to create or magnify political unrest has been going on for a very long time - what's new is that anyone can do it.

Things are different now, and there's no going back.

discuss (0) permanent link

mycroft 2018-02-19 14:37 UTC
Seeing all the marketing for voice assistants - e.g., Amazon Echo, Google whatever it is - made me feel apprehensive that I was missing out on something - but what, really? (besides having a blatant corporate spy sitting in my house -- I know probably our phones are already listening and watching everything, but at least I can pretend that they aren't)

I already have a smart phone "app" for my home automation/security system that works pretty well (it's really a web page that has special tags that facilitate it looking and acting like an app on android and ios, including being accessible via its own icon).

The app uses client certificates for authentication and it loads up all the available devices and camera feeds, then creates pages based on each "area" of the house that expose the associated devices and camera feeds and let you get status and send commands by swiping or context menus. It's so site-specific that it doens't makes sense for me to post the code, but if anyone wants, I can drill down on the architecture.

Beyond that, we have some computers sitting around to do web searches on, etc., and in our exercise room, I have an iPad that integrates with the elliptical machine and can play music on some bluetooth speakers in the room. We don't have a "whole house" audio system, but then again, the voice assistants don't give you that automatically - maybe Homepod does.

Anwyay. I found out about a voice assistant called "mycroft" that is based on open source software and "open source hardware" - the "mk i" unit I have includes both an arduino (definitely open source) and a raspberry pi (mostly open source - but it has wifi and I'm not sure that part is). The company operates via kickstarter drives. I didn't have to read much before I ordered a mark i unit (which I received within a few days) and signed up for 3 mk ii units through the active kickstarter - those won't be around for at least a year, I guess.

The mycroft lets you write your own "skills" - key - and makes it very easy to do so. You can just ssh in and make a copy of an existing simple one, and start changing it. They strongly encourage you to use their git repository for your skills in order to increase the library of available skills for the community - of course that's laudable, and I'm totally going to do it once I start writing stuff that would work in any place other than right here.

The mycroft skills api (and everything else) is written in python - which I don't know, but is pretty easy to pick up. Since my home system uses Zero MQ transported json messages to do everything, it was very easy to write a skill for - zmq has great python support (better/easier than perl, truth be told), and json is pretty much core to python - it was really just a matter of plugging into the local messaging environment and loading up the names of all the house devices and commands - only took a couple of hours to get working, and that includes several false starts that would not have occurred if I had known what I was doing.

I ran into my first "natural language processing" (NLP) quirks almost immediately. In my system, I name each device with something descriptive, and eliminate spaces - so for instance the "living room light" would be called "livingroomlight" - I don't have a great reason why I eliminate the spaces, other than habits dating back to the 90s. Anyway, "livingroomlight" isn't a word, but "living room light" is three words. So when I tell the myrcoft to "turn on livingroomlight", the NLP function hears that as "turn on living room light" - and if I have merely loaded up the list of names from the ZMQ environment, there's no match, and mycroft doesn't know what to do.

So for now I have a locally stored list of device names where I went in and added spaces, then, after it matches a voice command to a device name, my "skill" removes the spaces in the device name before sending the command through the ZMQ layer so that my system will know what it's talking about. This works fine, but it's a maintenance problem because if I add or change a device name, I'll have to remember to update the mycroft's local list. I have no such issue with the rest of the system - the app and all the other stuff in the house pick up changes automatically. When there are several mycrofts in the house, this maintenance issue will be a pain.

I either need to just add spaces to the names (probably best) or add new fields to the configuration for the devices to include space delimited aliases for the mycroft to use. Or -- I could somehow add the compound-word device names to the NLP lexicon so that they would get interpreted properly by the processor, but that strikes me as a fool's errand, because it seems like I would be undertaking to maintain my own lexicon and would have a lot of trouble with device updates.

Anwyay - at the moment I'm viewing voice assistants as just another new user interface. A good one, to be sure, and I love not having to be holding a phone or sitting at a computer to do stuff. The mk i mycroft is a prototype, though, and the microphone is not great, so you pretty much have to have your face right in front of it for it to hear you. Also, my 11 year old daughter has to use a really low voice - like she's mocking a man voice - to activate the wake word, funny. But I suspect that these things will be better with the mk ii units and with config tweaking.

The mycroft *is* vendor-connected by my definition, but apparently doesn't need to be - certain configuration parameters can be set up on their website and zapped into your unit (which you associate with your account by typing in a code that the unit displays on initial start up -- total vendor connection). I'll be looking into ways to break that connection, but: 1) it doesn't seem at all nefarious, and it's focused solely on configuration, and 2) I can see how it would be basically necessary for someone who doesn't want to SSH in order to configure the device.

discuss (0) permanent link

antiques 2018-01-28 15:56 UTC
I decided to find and order some optional components for my aging (but fully functional) DSC security panel, and I can only find them on ebay as "New Old Stock" -- haha.
discuss (0) permanent link

user-managed home automation 2017-11-05 00:17 UTC
I'm starting a new blog topic - home automation - breaking off from the /tech subject because I think I'm going to be posting a lot about it.

This is the first post in the new topic, but I'll probaby go back and recategorize my older posts in /tech for neatness' sake.

So anyway, I've been picking at home automation for a long time. It's gratifying that some major vendors like Google and Amazon are getting into the market. But (!) I decided to avoid what I'll call 'vendor managed' devices long ago - I want all the data to stay in the house (unless I want it to leave and direct it where to go) and I want to maintain complete, unshared control over all the devices. Can I call that 'blue sky home automation' because, because no cloud - get it?

Anyway - I see the benefits of vendor management - makes everything much easier. Which means the way I'm doing it is much harder.

But then again: Google's Home Mini needed a software patch to stop some of them from recording everything

One drawback of staying out of vendor control is that all the new technology seems to require it - that is, the vendors are no longer taking the time painstakingly expose and document low level access to their devices, because that's not needed when a higher level vendor managed controller is present - this means people like me will increasingly be using older and older technology, unless things change. There are some exceptions, of course, but I just don't think there's much money in the market for non-vendor-managed home automation devices, and so I expect activity to stay low and maybe get lower.

Apple, I believe, is doing it my way (sans the low level documentation), and so hats off to them for that. I'm not using any of their stuff, though - my impression is that it tries to be simultaneously user friendly and very secure - both laudable goals - and so has a much heavier technology lift than the other vendors. So much so, it seems to me, that that their model is too limited for my purposes, at least right now.

And I believe I'm taking things a little too far in some cases - I generally prefer to write my own code down to accessing serial ports on devices rather than use road-tested and completely trustworthy frameworks like Mister House (although I frequently rip off things from that codebase). If I was a technology manager I would have to fire myself for writing a bunch of code that needs to be maintained and never really needed to be written. Thankfully that's not the story here :)

So what I'm not going to do is attempt to package up and release my code - it's way too site-specific (and incomplete - I only implement capabilities when I need them), and there are a bunch of great frameworks out there already. I will instead post about specific devices, techniques, and experiences.
discuss (0) permanent link

next 5 entriesprevious 5 entries

Creative Commons License
original works are licensed under a Creative Commons Attribution 2.5 License.