Home Automation Improvements!

Filed under: — Stormwind @ 9:47 am


I went on a home automation improvement kick recently! The changes include:

OpenHAB – I switched from Misterhouse to OpenHAB for home automation. Why? OpenHAB has a cleaner codebase, more active development community, more efficient event-driven model, increasing device support, a better UI, charting, and a functional mobile client. I completed most of the conversion in a few hours, and further lingering issues within few days.

WeeWX – instead of WView for my weather station. WeeWX uses the same DB format as WView so all the historical data is still present. WeeWX has a more active development community, lacks a rainfall bug that was plaguing me in WView, and supports MQTT (see below) allowing me to get weather station data from WeeWX to OpenHAB.

MQTT – an IoT (Internet of Things – another buzzword) message bus becoming more common in home automation. It allows publishing of data and subscription to data channels, decoupling devices enough to make it easier to connect devices lacking explicit support for each other.

DoorBird – a video intercom, motion-sensing doorbell with a documented local (non-cloud) API and hard-wired power (no batteries to worry about). I integrated it into my OpenHAB instance – here are example instructions.

Garage door automation – I added garage door controllers and sensors, so now when I ask “did I remember to close the garage door?” after driving 30 (or 300) miles I can check, and close it if I did forget.

More intelligence – Decorative lights come on at dusk instead of a fixed time, adapting to the season automatically. The container herb garden on the back porch skips drip irrigation if it has rained more than 0.2 inches in the last 24 hours. A reminder is pushed to our phones if the garage door has been left open for more than 30 minutes. If motion is detected on the front porch, a photo is taken by the doorbell camera and archived.

Whew! I have a few more ideas too, but I better wait a little bit and have a burn in period before making more changes.


lvmcache doesn’t support snapshots yet

Filed under: — Stormwind @ 5:51 pm

Watch out – lvmcache doesn’t support snapshots yet! I discovered this when my backup system tried to create a snapshot of a filesystem to back up after I enabled lvmcache on it.

I removed the cache pool logical volume (disabling lvmcache for the volume) using lvremove, and will re-visit once lvmcache’d volumes have snapshot support (since snapshots are very important for consistent backups).

Background on lvmcache – it is a new LVM feature that uses dm-cache to cache blocks for slower storage (like a HDD) on faster storage (like a SSD) for faster access.


Workaround to Drupal 8.1.x “Call to a member function get() on a non-object” error

Filed under: — Stormwind @ 2:53 pm


Trouble getting Drupal 8.1.x development branch to install due to the following error or similar?

PHP Fatal error: Call to a member function get() on a non-object in Drupal.php on line 285

There is a workaround – go to your site’s /core/install.php URL directly.

SplashID Safe mobile sync corrupt your password DB?

Filed under: — Stormwind @ 2:26 pm

SplashID Safe icon

Was your SplashID Safe database corrupted with many duplicate and non-ASCII character entries?

It happened to me multiple times when syncing between the mobile and desktop SpashID Safe clients – so I created a script to remove the entries, reducing my DB size from 2500 entries back to the actual 900 entries.

I put the quick script on GitHub in case anyone else finds it useful. It is based on linuxsquad’s Convert-SplashID-to-KeePassX scripts.

(I started using SplashID Safe during the PalmOS days and have not since switched – though I’ve considered KeePass and KeePassX.)


Fed up with FedUp? or Upgrading from Fedora 18 to Fedora 20

Filed under: — Stormwind @ 10:04 am

I like the concept and convenience of over-the-network upgrades with minimal downtime, but FedUp (Fedora‘s new official method) did not work quite right for my Fedora 18 to Fedora 20 upgrade without some hackery.

Here is what I had to do to get the upgrade to work:

  • Moved the FedUp cache directories off the /var filesystem (hosted on RAID1 LVM) and into the root filesystem (which required expanding my root filesystem size by reallocating space from elsewhere) and modified FedUp to use the new directories. See Common Fedora 20 Bugs and Bug 1045168 Comment #33 for a workaround.
  • Added missing LVM kernel parameters to the System Upgrade grub boot section so the upgrade could see the other LVM hosted filesystems. See Common Fedora 20 Bugs and Bug 974000 for more info.
  • Added missing startup kernel boot parameters to the same System Upgrade grub boot section so it would start the upgrade process instead of booting to a login prompt. See Bug 1038863 for info.
  • Otherwise I followed the FedUp directions, then after the upgrade completed I tested services and fixed up configs and file permissions that had been changed during the upgrade.

    If you are having other problems with a FedUp upgrade, you may want to browse the FedUp bug list to see if any apply and if workarounds have been posted in the comments.

    Hope this helps!


    GNU parted partition alignment warnings – solution

    Filed under: — Stormwind @ 9:25 pm

    Getting those pesky “Warning: The resulting partition is not properly aligned for best performance” messages when creating partitions on your new 3TB-4TB disk using GNU parted under Linux?

    Start parted with the “-a optimal” command line parameter to tell parted to use optimal alignment!

    /sbin/parted -a optimal /dev/sdd

    Thanks go to this post on Ask Ubuntu!


    Fedora 16 Upgrade

    Filed under: — Stormwind @ 2:24 pm

    I upgraded our server to Fedora 16 from Fedora 14 recently, so I thought I’d continue my tradition of posting the solutions to the problems I encountered to help others.

    Two major changes in Fedora recently increased the difficulty of this upgrade: the switch to grub2 from the grub legacy bootloader, and the switch to systemd from Upstart and SysV-style init.

    I used the PreUpgrade method once again to reduce downtime and avoid burning a disc.

    References to read first:

    1. How to use PreUpgrade
    2. Common Fedora 16 bugs



    New Weather Station!

    Filed under: — Stormwind @ 11:45 am

    The new Vantage Pro2 Plus weather station worked, recording about one inch of precipitation during the recent rainfall! Now I just need to get the USB interface working and wview set up to analyze the results.

    We installed the weather station up on the roof along with the new Wineguard HS-1000 omnidirectional HD antenna, which is also working well. Dropped cable over a year ago – Netflix + other streaming + broadcast is good enough and costs a lot less!

    I hope to combine the data from the weather station (including the UV and solar radiation sensors) and the TED 5000 whole-house energy monitor to correlate temperature and other weather changes with energy usage and solar PV power generation from the solar arrays also on the roof.

    Update: Success!  The weather station is online (after much fighting with hardware and interfaces)!  Check out Wumple Weather and station KTXAUSTI146 on the WeatherUnderground.


    Fedora 14 could not find root filesystem on RAID-1 array, solution

    Filed under: — Stormwind @ 8:45 am

    Here’s a problem I ran into recently: I temporarily switched the root filesystem of my Fedora 14 install from RAID-5 to non-RAID. After I received the new SSD drives, I switched it to RAID-1 but the dracut boot sequence could not find the RAID-1 array and mount the root filesystem, ending in the errors ‘Can’t mount root filesystem. Boot has failed, sleeping forever’.

    Using the dracut rdshell and rdinitdebug kernel boot options to get a shell prompt from the dracut initramfs led me to the RAID assembly failing during boot during “dracut: Autoassembling MD Raid”. I discovered manually assembling the array using mdadm –assemble … then exiting the shell would allow the boot to continue, so at least I had a temporary workaround.

    To fix the dracut auto assembly of the RAID array, I did the following:

    1. Booted up a Fedora Live CD so I could manipulate the RAID partitions without them being mounted/used (since they contained the root filesystem).
    2. After noticing that the volume type was wrong on one of the RAID-1 member partitions by running blkid (TYPE was not “linux_raid_member”) and making sure the other partition was up-to-date with the data, I used wipefs (remember to use the -a option) on the partition with the incorrect data (and let the next step sync the data from the correct partition).
    3. Set the system hostname via the hostname command, then did “mdadm –assemble /dev/md1 /dev/sda2 /dev/sdb2 –update=name –update=uuid”. This fixed the array name to be hostname:1.
    4. After booting the system back up normally with the workaround, made a backup of /etc/mdadm.conf then did “mdadm –examine –scan > /etc/mdadm.conf” and made sure /etc/mdadm.conf looked correct afterward.

    After these steps, the dracut boot sequence was able to auto-assemble the RAID array on boot and mount the root filesystem.

    I hope this writeup helps someone who runs into a similar problem. 🙂


    nut 2.6.0 not working with USB CyberPower System UPS, fixed in trunk

    Filed under: — Stormwind @ 6:13 pm

    Have a USB-attached CyberPower System UPS but can’t get it to work with Network UPS Tools aka nut 2.6.0 (such as from the Fedora 14 or 15 rpms)? See the link to the rpms below I built.

    The errors you might see (especially when running usbhid-ups -D -D -D) include “could not connect to ups”, “libusb_get_report: error sending control message: Operation not permitted”, and “Can’t retrieve Report 03: Operation not permitted”.

    There is a workaround for a libusb issue affecting communication with USB CyberPower Systen UPSs in the trunk branch of the nut source code that will get into nut 2.7, but was not part of nut 2.6. See the fix here in change 2893 on nut’s trac system. Read more about the problem in this message on nut-upsuser.

    To get the fix now (before the 2.7 rpms are released), I rebuilt nut 2.6 rpms (with small changes to the spec file) using the latest source snapshot from nut’s buildbot, r2978. You can download these r2978 rpm’s from here.

    Previous Posts

    || RSS 2.0 || Comments RSS 2.0 || XHTML || Powered by WordPress ||