Connecting an iHome SmartPlug to Home Assistant

We moved recently into an apartment with a detached garage, and naturally, I wanted to incorporate that space into our home automation. To extend our network to the garage, I opted for powerline ethernet adapters, but soon discovered that the garage’s fluorescent light cuts the powerline connection.

To overcome this, I purchased an iHome iSP8 SmartPlug. It connects via wifi, which was a requirement since I don’t have a smart hub in the garage nor do I wish to add one there. It also includes a physical remote that I can mount near the now-disabled switch for the fluorescent lights.

Unfortunately, the setup process for the iSP8 was not a smooth one. I’m an Android user, and the iHome products are intended to be set up from an iOS device. They purport to support Android setup, but I was unsuccessful despite several attempts. I did manage to connect it to my network once, but the device wasn’t recognized by iHome’s cloud, leaving it orphaned.

In the course of debugging the setup, I noticed that my MacBook’s wifi adapter detected the plug’s wifi network not as a standard network, but as that of an accessory. This proved to be the key to joining the plug to Home Assistant via its HomeKit component.

To pair the iSP8 to Home Assistant via the HomeKit component:

  1. Reset the SmartPlug by holding down the device button for 15 seconds, until the wifi indicator alternates between red and green.
  2. Ensure the MacBook’s wifi adapter is enabled.
  3. From the MacBook’s list of detected wifi networks, select the iHome network from the “Accessories” section of the list (this will appear after, and separately from, the list of standard wifi networks).
  4. Airport Utility will open to configure the plug’s connection. When prompted, select the wifi network that the plug should join; only 2.4GHz networks are supported.
  5. After the plug joins the network (indicated by a solid green wifi light), unplug and replug the device. This is necessary for the device to fully join the network and be visible to Home Assistant.
  6. Confirm that the plug is visible on your network. This can generally be done via the admin interface or app that is used to configure your wifi.
  7. Restart Home Assistant to trigger it to scan the network for new HomeKit devices.
  8. Open Home Assistant and go to Configuration > Integration. If the plug doesn’t appear for configuration, click the plus icon to open the configuration wizard and select “HomeKit Accessory” from the choices.
  9. Select the iHome device from the list presented, then when prompted, enter the plug’s HomeKit PIN, including the dashes. If the dashes are omitted, pairing will fail.
  10. Confirm via the States developer tool that the switch is available in Home Assistant.

After one of the myriad failed attempts to set up the iSP8 via the iHome Control app, the plug was left in a state where it was connected to my network, but wasn’t recognized by the iHome cloud. At that point, I attempted to pair the device with Home Assistant, but the existing pairing with the app prevented Home Assistant from connecting to the plug. It is for this reason that the plug must be reset and joined to the network via Apple’s Airport Utility.

Another Home Assistant Update

Yesterday, after moving my GitLab instance, I noticed that the public clone of my Home Assistant configurations was a bit stale, so I decided that it was time to refresh.

In so doing, I also discovered that I was a few releases behind (three, to be exact), and that those intervening releases included several breaking changes. Fortunately, updating my configurations to support Home Assistant 0.57.3 also resolved several longstanding bugs. 🎉

Continue reading Another Home Assistant Update

Flic controller for Home Assistant updated with breaking changes

While it’s no longer necessary because Home Assistant 0.35 introduced native support for Flic buttons, I’m still using the controller I released just before Home Assistant updated. In part, this is because I haven’t taken the time to switch the integrations over to Home Assistant automations. Also, having spent some time on the controller, I am not ready to abandon it.

Continue reading Flic controller for Home Assistant updated with breaking changes

Flic buttons, my next adventure

It’s been a while since I’ve posted anything new about my experiences with home automation, largely because I haven’t done anything new in a few months. I’ve been busy, and at the same time, things are working as expected, so I haven’t come up with new ideas to test or dreamt up something else to automate (much to my husband’s relief).

That said, I’ve been thinking about replacing our hacked Amazon Dash buttons with something purpose-built. While the hijacked buttons work well-enough, there’s a noticeable delay between button press and response, and their battery life is quite finite. Also, there’s only so much one can do with vinyl tape to make the Dash buttons less of an eyesore.

Enter Flic, one of the only “smart buttons” available right now, and the only one I’ve found that doesn’t require its own hub. Fortunately, they offer a Linux SDK, so I can associate the buttons with one of my Raspberry Pis, rather than a smartphone (alleviating a common complaint about the product). Since the SDK requires exclusive use of a device’s Bluetooth controller, I benefit from having two Pis, and this project is simplified because the Pi I intended to use with the Flic happens to be the one whose Bluetooth isn’t in use.

My first project is to configure the Flic button to toggle the lights on our Christmas Tree. The lights are connected to a SmartThings outlet, which turns up in our Home Assistant instance thanks to MQTT, but Home Assistant is only accessible to my husband and I, while any of our guests should be able to turn on the tree. 🎄

Give me a Raspberry Pi and I’ll want 12

For quite some time, I avoided acquiring any Rasbperry Pis. I already have four VPS, and I genuinely wanted to avoid expanding the number of Linux instances I was responsible for. My hesitation was for good reason; less than a month after acquiring my first Pi 3, I found a reason to add a second to our home network.

To be clear, I’ve nothing against the Raspberry Pi; I simply knew that my addictive personality would compel me to find ever-more uses for the devices, compelling their multiplication.

Continue reading Give me a Raspberry Pi and I’ll want 12

My latest Home Assistant configuration

In the month since I first posted about how I am using Home Assistant, I’ve made a number of improvements to my configuration. These changes were mostly focused around usability–removing clutter from the interface and simplifying the layout–without losing any functionality. Two changes in particular really simplified the default view, making our light groupings more manageable and less overwhelming.

Continue reading My latest Home Assistant configuration