Monthly Update: April 2017

So I don’t actually have very much to say this month. Although I’ve done quite a lot, I don’t yet have much to show for it. All going well that should change soon.

I’ve now ‘completed’ my Home Assistant configuration and am currently working on the long awaited blog post. I put completed in air quotes there, because it will never really be finished. It is however in a state where I’m happy to share it, will all the known issues fixed.

The other project that I’ve been working on is the previously mentioned ESP8266 project, which is also nearing completion. Once it’s completed I will share the code and mention it here, but it’s unlikely to reach the stage of a full blog post, since I didn’t really document the electronics well enough as I went along!

That’s all for now, let’s see what happens in May.

Monthly Update: March 2017

It’s been another busy month, but mostly with non-tech stuff, so this will be a short post. I’m nearing completion of a Home Assistant config that I’m happy to publish. The new config is now deployed on my live HASS system and I’m just ironing out a few bugs and making slight improvements here and there. Then I just need to find time to write it up. I’m probably being really precious about keeping it to myself until my inner perfectionist is happy, but I want something that I can point to when people ask me about Home Assistant or home automation in general as an example of what you can do.

Probably the reason I haven’t managed to quite finish this off this month is that I decided to take a detour into Arch Linux again, which is always a fun way to spend time (if your idea of fun involves kernel panics and chroots that is). Suffice to say I now have a nice MATE based Arch setup on my laptop, which so far hasn’t broken (except when I decided to set up Plymouth) and is blindingly fast compared to Ubuntu MATE on the same machine.

I’ve also been playing around with one of my ESP8266s and Homie, but so far didn’t get much done. That will be a story for another day.

That’s it for this update. Looks like April is shaping up to be a quieter month, so with a bit of luck there might be a bit more to see around here in the next month or so.

Monthly Update: February 2017

Hello again. It’s been a busy (and short) month so I don’t have much to update on. Most of my work this month has gone into refactoring my Home Assistant configuration into something which is publicly sharable. This has mostly involved splitting the configuration into more logical chunks than the few monolithic files I had previously and extracting secrets out into a file protected by git-crypt. I’ve also been updating and improving aspects of my config as I go, particularly the automations. I’m not quite ready to share this since I still have a couple of things to clean up and also need to actually deploy and test the new configuration. Hopefully this will be posted on gitlab during March, with an accompanying blog post here.

I’ve also been working on another Home Assistant related task, which was to get AppDaemon working. This was specifically so I could run Occusim, which provides occupancy simulation (turns things on and off when you’re not there) for Home Assistant. It didn’t take me long to get this up and running, but my first live test of Occusim it didn’t work, due to me not removing the test command properly. Now that I’ve fixed that issue, it works great.

I think that’s pretty much it for now. Hopefully there will be more to share next month.

Monthly Update: January 2017

So having (re-)discovered that writing blog posts takes an inordinate amount of time, I’ve not been updating this blog as I was attempting to. I found that in order to get out two or three longish technical posts per week would eat up most of my free time. As such I’ve decided to focus on completing projects and will attempt to write them up as part of the completion process.

Another non-new years resolution I’ve made is to just release more of the stuff I do to the world. This is more than just an effort at dumping stuff over the fence. I want to document things so that they are useful to others. Hopefully, this will mean more projects will show up on my Gitlab account. It will also include publishing any contributions I make to other projects.

As part of this I’m undertaking to write a monthly update here, detailing what I’ve managed to accomplish during the month. I’m aiming to publish these in the last few days of each month and this is the first. So without further ado…

The two projects I’ve mainly focused on this month have been:

  1. Contributing back the Kankun SP3 wifi switch component I made for Home Assistant. I’ve been running this component for ages on my own instance, but have never contributed it back. This took me quite some time, since the Home Assistant developers have a heavy focus on code quality and documentation (a good thing). All in all the experience I’ve had contributing that one small component was a good one and I’ll definitely be contributing more when I have time. I’m happy to say my changes were accepted and are in the 0.36 release. You can find the documentation for the Kankun SP3 component here.
  2. Another Home Assistant related project is the Home Assistant Mycroft Skill I’ve been working on. I’ve now released this as version 1.0.0 (in so far as pushing a git tag constitutes a release). The skill is now capable of turning on and off various entities within HASS and works quite well. I decided to implement fuzzy string matching for entity friendly names since when I was testing turning on and off my kettle, Mycroft would always think I said ‘cattle’. Using the python fuzzywuzzy module this was easy. Basically I look through all the available entities and select the one with the largest score as returned by fuzzywuzzy (which is based on Levenshtein Distance). I’m pretty happy with the result, which you can find here.

That’s all for now, see you next month (or before if I feel like writing in the meantime).

Simple Automated Video Transcoding…

This post has been sitting in my drafts since 2012. I still use the system described below (occasionally) and it seemed a shame not to post the approach for others to use.

I had a ton of transcoding of videos for storage on my home server/mythbox. My tool of choice has been HandBrake, specifically the CLI version. As I had a fair few videos to get through I wanted to set up some automated system for doing the transcoding. Here is the simple bash script I came up with:

The script requires that you set it up in a directory ( /mnt/media/transcoding  on my system) with three sub-directories ( queue , mkvs  and done ). The script will transcode one video from the queue  directory on each run. The idea is that the script should be run from cron several times a day when your machine isn’t doing very much else (I run mine overnight and when I’m at work). When the script is done it will send you an email to tell you and move the source file into the done  directory. The transcoded file will be dropped into the mkvs  directory. Obviously, the script will just exit if there’s nothing in the queue. This means that once the system is set up all you have to do is drop new videos into the queue  directory and they will be transcoded automatically.

Let me know if you find this useful, or suggest improvements in the comments.