UPDATED Amazon Echo X10 Home Control

In my original post last August I detailed how I was able to control my X10 equipment with an Amazon Echo.  Now with the release of BWS Systems’ ha-bridge version 2.0.0+ we can make script calls! This is awesome news, I no longer need an Apache server and PHP installed on my RPi to make the exec() commands to call the HEYU scripts, I can make them from the ha-bridge. I’ll show you how.

It should be noted that you will need a physical Amazon Echo, Dot, Tap or Google Home to discover your ha-bridge devices. Discovering devices with just a Fire TV or Fire Stick with voice remote will not be successful. However, after discovery by an Echo or Dot, you will be able to use the Fire TV with voice remote to control your discovered devices.

 

If you use the ha-bridge, I urge you to Donate to BWS Systems (Donate link at bottom), the ha-bridge is distributed freely and continuously updated.

 

Step 1 – Raspberry Pi goodness?

RPiThe first step is to get your Raspberry Pi up and running. There are plenty of guides how to download and install either NOOBS, or RASPBIAN on a memory card for your RPi, so I won’t go into those details unnecessarily. Suffice it to say, you’ll need to have your RPi booted into Raspbian and configured to your location and language, including SSH enabled.

Once you have the RPi working you can SSH (remote) into it and log in as the user Pi. For PC you can use PUTTY, or MAC use the Terminal Window to SSH into the Pi. At this point I would also recommend you update and upgrade your RPi, by entering the following:

  • $ sudo apt-get update
  • $ sudo apt-get upgrade

I also recommend changing the default password.

Once updated and upgraded, power down your RPi, and make all the following connections:

  • Install batteries into the CM11A
  • Plug the control cable into the CM11A jack
  • Connect the Serial Adapter to the X10 CM11A’s serial cable
  • Plug the CM11A into a wall socket
  • Plug the USB to Serial Adapter into the RPi

In my original post I detail the parts I used, but I recommend USB TO RS-232 DB9 Serial Adapter = $15 Plugable brand – don’t go cheap here.

Power your RPi back on, and SSH back into it.

Step 2 – Heyu turn on my lights!

Let’s install heyu, which is a text-based console program for remotely controlling lights and appliances in the home or office. I put heyu in a directory I created named ‘src’.

Here are the steps I completed:

  • $ ls -l /dev/ttyUSB0
  • You should get something like the following:
    crw-rw---T 1 root dialout 188, 0 Aug 10 20:44 /dev/ttyUSB0
    Make note* of the last part, you’ll need it later.
  • $ mkdir src
  • $ cd src/
  • $ wget https://github.com/HeyuX10Automation/heyu/archive/v2.11-rc2.tar.gz
    (Or current version)
  • $ tar xfvz v2.11-rc2.tar.gz
  • $ cd heyu-2.11-rc2/
  • $ sh ./Configure.sh

The installer will run, make a cup of coffee.

  • $ make

More installation, drink the coffee you made.

  • $ sudo make install

You should then see the following:

I did not find a Heyu configuration file.
Where would you like the sample Heyu configuration file installed?
1. In directory /home/pi/.heyu/
2. In subdirectory .heyu/ under a different user home directory
3. In directory /etc/heyu (for system-wide access)
4. No thanks, I'll take care of it myself
Choice [1, 2, 3, 4] ?

Enter 3 for system wide access, and you’ll see:

Creating directory /etc/heyu
The sample configuration file will be installed as /etc/heyu/x10config

The next question the program will ask is the following:

I will add the TTY port for your CM11 to the config file
Specify /dev/ttyS0, /dev/ttyS1, etc., or the word dummy
To which port is the CM11 attached?

Enter /dev/ttyUSB0 (or whatever you noted* earlier).

Next we need to make the /etc/heyu directory writable:

  • $ sudo chmod -R 777 /etc/heyu

Now you can test the install, enter $ heyu info, and you should get an output with details about the heyu install that look similar to the following:

Heyu version 2.11-rc1
Configuration at /etc/heyu/x10config
Powerline interface on /dev/ttyUSB0
Firmware revision Level = 1
Interface battery usage = 0:00 (hh:mm)
Raw interface clock: Sat, Day 212, 14:07:35
(--> Civil Time: Sat 01 Aug 2015 15:07:35 EDT)
Uploaded schedule will expire in 154 days.
Housecode = M
0 = off, 1 = on, unit 16.......8...4..1
Last addressed device = 0x0002 (0000000000010000)
Status of monitored devices = 0x0042 (0000000000010001)
Status of dimmed devices = 0x1112 (1110000000010000)

Now let’s test to see that you can turn a light on and off. My housecode is M, but use your chosen housecode. Try the following: $ heyu on M2 and the module set to M2 should turn on, alternatively $ heyu off M2 and the module set to M2 should turn off.

You can configure your setup and upload schedules to your CM11A.

Step 3 – Hue talking to me?

X10 does not ‘interface’ with any technology that the Amazon Echo can control.  Crush from BWS Systems forked and created the ha-bridge.  It is a Phillips Hue emulator that runs as a java file (.jar) so it can be run on virtually any device.  The Amazon Echo will discover the emulator as a Phillips Hue bridge, and discover the configured devices.  When asked, the Echo will call the configured ON,OFF or DIM URL for each discovered device, this can now be script calls brilliant!  I can make the HEYU calls directly from the bridge.

The following steps download and get the bridge to run on the RPi:

Navigate to your root directory:

  • $ cd

Make a new directory named habridge:

  • $ mkdir habridge

Then navigate to the habridge directory:

  • $ cd habridge

Now download the latest JAR into the directory, you can get the latest here:

  • $ wget https://github.com/bwssytems/ha-bridge/releases/download/v5.0.0/ha-bridge-5.0.0.jar

Then rename the jar file to something ‘generic’ so we don’t have to keep changing the auto-start script when we download a new version:

  • $ mv ha-bridge-5.0.0.jar ha-bridge.jar

Now we want the ha-bridge to auto-run after reboot on your RPi, you will need to get it added into a startup script. Let’s do that now, enter the following command:

  • $ nano starthabridge.sh

Add the following to this file:
cd /home/pi/habridge
rm /home/pi/habridge/habridge-log.txt
nohup java -jar /home/pi/habridge/ha-bridge.jar > /home/pi/habridge/habridge-log.txt 2>&1 &
chmod 777 /home/pi/habridge/habridge-log.txt

Press CTRL + X, select to save the file. Then execute the following commands:

  • $ chmod u+x starthabridge.sh
  • $ sudo passwd root

Enter your RPi password (it asks twice). Next we’ll change to superuser to finish our install and autostart:

  • $ su -

It will ask you for the root password that you just created in the previous step. Enter it.
Your terminal will now switch to root@raspberrypi, enter the following commands:

  • # sudo su
  • # touch /etc/systemd/system/habridge.service
  • # chmod 664 /etc/systemd/system/habridge.service
  • # cd /etc/systemd/system/
  • # nano habridge.service

Add the following to this new file:
[Unit]
Description=HA Bridge
Wants=network.target
After=network.target
 
[Service]
Type=simple
WorkingDirectory=/home/pi/habridge
ExecStart=/usr/bin/java -jar -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar
 
[Install]
WantedBy=multi-user.target

Press CTRL + X, select to save the file. Then execute the following commands:

  • # systemctl daemon-reload
  • # systemctl start habridge.service
  • # systemctl enable habridge

The service should have now started and will start every time you plug in or reboot your RPi. If you want to check the status of the service type:

  • # systemctl status habridge.service -l

To return to normal user and leave superuser, enter the following command:

  • # cd
  • # exit

Once you’ve got the bridge running, add discoverable devices. The bridge comes with a configurator to make adding and editing devices a snap. As of release 3.2.0, the default HTTP port for the bridge is 80, to navigate to it I enter my RPi’s IP address in a modern browser (like Chrome, not MS EDGE):

  • http://192.168.1.19

Note: Now that the default HTTP port is 80, the “:80” portion is NOT required, this is the default HTTP port. Prior releases 3.1.0 and older use the default HTTP port of 8080.

 

The bridge supports dim commands from the Echo. The bridge returns three variable options, they are: ${intensity.percent} (for 1-100), ${intensity.byte} (for 0-255) or ${intensity.math} (for 0-255). By saying, “Alexa, dim the kitchen lights to 50%” that percentage will be passed in the ‘Dim URL’.  I’ve chosen to use ${intensity.math}, with X10 the dimming gets a bit tricky since X10 dim/bright is from 1 to 22. The ${intensity.math} allows me to manipulate the returned variable to fit my X10 needs, namely using ${intensity.math(((X*-22)/255)+22)} will get me the correct output.

Enter the Name of your new device, the On URL and the Off URL, and click Add Device. For my example device of M2, I would enter the following:

  • Name: kitchen
  • Device Type (Informational): Execute Script/Program
  • Map Type (Legacy): Execute Command/Script/Program
  • On Items:
    • Type: Execute Command/Script/Program
    • Target Item: heyu on M2

    Click the green “Add” button to the right.

  • Dim Items:
    • Type: Execute Command/Script/Program
    • Target Item: heyu dimb M2 ${intensity.math(((X*-22)/255)+22)}

    Click the green “Add” button to the right.
    (See Notes below…)

  • Off Items:
    • Type: Execute Command/Script/Program
    • Target Item: heyu off M2

    Click the green “Add” button to the right.

Click the ‘Add Bridge Device’ button. That’s it, you configured your first device.  Add all your devices.

Note 1: I chose to use dimb, this turns the X10 module on first then dims to the requested level. The dimb command more closely follows how Philips HUE dim commands will work with Alexa, since successive X10 dim commands will progressively dim the module to maximum dim level. Philips HUE devices will go dim or bridge to the reach the requested dim level rather than successively getting dimmer, hence the usage of the dimb command in my example.
Note 2: If using the X10 wall switch WS467 I suggest using obdim because these switches have a last dim level memory.

Step 4 – Alexa take control!

alexaOnce you have a device(s) configured, it’s time to tell your Amazon Echo to discover your devices.  Simply say, “Alexa, discover my devices”, she will go into discovery mode (approx. 20 second), and find the devices you’ve configured above.  Of note, you can manage the devices the Echo has discovered by visiting: http://echo.amazon.com going to ‘Settings’ -> ‘Smart Home’, or directly at http://echo.amazon.com/#smart-home.  This can be helpful if you remove or rename a device on your Hue Bridge Emulator.

Once discovered, the fun can begin, ask Alexa to turn your lights on and off!  For me house code M2 is my kitchen.  So I can say, “Alexa, turn on the kitchen”, and viola they turn on.

Step 5 – Easy ha-bridge version updates?

So, how do you update the ha-bridge jar file when a new release comes out? I’ll show you, replace the {version} text below with the version you wish to download.
Navigate to the ha-bridge folder:
$ cd habridge
Halt the ha-bridge systemctl service:
$ sudo systemctl stop habridge
Download the latest ha-bridge from github:
$ wget https://github.com/bwssytems/ha-bridge/releases/download/{version}/ha-bridge-{version}.jar
Rename the current ha-bridge file for reference:
$ mv ha-bridge.jar ha-bridge_LAST.jar
Rename the one you downloaded to the generic “ha-bridge.jar”:
$ mv ha-bridge-{version}.jar ha-bridge.jar
Restart the ha-bridge systemctl service:
$ sudo systemctl start habridge
Done!

Notes:

Below I’ll compile information discovered along the way.

  • If you already have a real Phillips Hue bridge, you have to disconnect it first before searching for devices. – (Thanks Mitch)
  • If most of your X10 stuff is setup to run off radio, you can install a CM17A inline with the CM11a. – (Thanks Mitch)
  • The X10 “All lights on” command is: heyu lightson – (Thanks Mitch)
  • If your RPi is on WiFi, you’ll need to have Alexa and the Pi on the same wifi SID. This was essential. These days almost everyone uses WPA2 with AES so you need to reconfigure raspbian a bit ( https://coderwall.com/p/v290ta/raspberry-pi-wifi-setup-with-wpa2-psk-aes ). – (Thanks Elmer)
  • Java 8 is required for the ha-bridge to run. To check your Java version type $ java -version if it is not JAVA 8, then enter the following command $ sudo apt-get install oracle-java8-jdk. If you are getting “Unsupported major.minor version” error messages, then enter $ sudo update-alternatives --config javac and $ sudo update-alternatives --config java. This will set your RPi to use Java 8 globally. – (Thanks Max)
  • To control multiple modules (m1, m3, m4, m8, m10 & m16 for example) with one command, create the On and Off URLs just like any other module On/Off, but use this format for the house unit portion of the URL: heyu on m1,3,4,9,10,16. This will act on each device from one command. Also if you have units in succession, like m3, m4, m5 & m6 it can be expressed as m3-6. – (Thanks Frank)
  • Using the Raspberry Pi with a Firecracker CM17A is possible. HEYU is Firecracker compatible, you need to use the HEYU Firecracker “f” command construct. The ‘turn’ command also supports the CM17A commands fon, foff, fdim, fbright, flightson, flightsoff, falloff, and the applicable “fast” implementations of these commands. William reports, “I installed between the cm11 and the usb/serial interface, plugged in a receiver module tuned to appropriate house code and transmits a much stronger signal over the powerline. I had to change the scripts in the HA Bridge from “heyu on A1” to “heyu fon A1” or off to foff to activate the firecracker and viola it works.” (Thanks William)

I wrote a complimentary Bridge Control interface coded in PHP, that post is here.  It allows you to control all your configured ha-bridge devices on any PC, tablet or phone connected to your home’s internet.

665 thoughts on “UPDATED Amazon Echo X10 Home Control

  1. Corey,

    I installed this about a year ago and everything was working so I know all my hardware should be ok. I started over with the new instructions and when I test Heyu on A4 I’m not able to turn A4 on. When it is on, Heyu off A4 works for just 1 of the x10 switches. Any idea where I should look. I’ve unplugged anything that I think may be interfering with the x10 signal.

    Thanks,

    Hal

    1. What do you get with this command $ heyu info?

      I would try a reset of the CM11a, remove it from the wall and remove the plug, then remove the batteries. Leaving the batteries out of the unit, plug the it in the wall and out a few times. Replace the batteries, plug it in and the plug.

  2. Corey,
    I plugged one of my X10 controllers directly into the CM11A and tried the heyu commands and it worked great. Seems like it’s not sending out a strong enough signal to get to my controllers.

    When I try to send my heyu info I get the following error:

    Not Acceptable!

    An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.

    Thanks,
    Hal

    1. So with that error there is a communication problem between the RPi and the CM11a. With $ heyu info you should get a reply like the following:

      Heyu version 2.11-rc1
      Configuration at /etc/heyu/x10config
      Powerline interface on /dev/ttyUSB0
      Firmware revision Level = 1
      Interface battery usage = 0:00 (hh:mm)
      Raw interface clock: Sat, Day 212, 14:07:35
      (--> Civil Time: Sat 01 Aug 2015 15:07:35 EDT)
      Uploaded schedule will expire in 154 days.
      Housecode = M
      0 = off, 1 = on, unit 16.......8...4..1
      Last addressed device = 0x0002 (0000000000010000)
      Status of monitored devices = 0x0042 (0000000000010001)
      Status of dimmed devices = 0x1112 (1110000000010000)

      Try turning off the RPi. Then take apart the USB to Serial Adapter and the plug out of the CM11a and re-assemble it all again and reboot the RPi.

      1. Corey,

        I move the receiver to another room and got everything to work.

        Thanks for the help.

        Hal

  3. Corey,

    Sorry, I didn’t communicate very well. When I past my heyu info and click “post”, that’s what gives me the error message. I’ve tried in Chrome and Firefox.

    My heyu info looks correct.

    Hal

  4. hi I’m new to raspberry pi but this is awesome i have a cm15 pro that i want to use instead of the cm11A has anyone managed to get this to work?

      1. Awesome thanks Corey 🙂
        Ive just jumped on the bandwagon as they say lol.
        Ok so i followed your amazing tutorial / guide and have most things working / setup ( im a complete noob as today is the 1st of Pi ownership, Pi3B+) Its been a steep learning curve but i think i’m most of the way there.
        I have my test light drive_lights A14 configured in ha-bridge v4.5.6, i added the device to x10.conf (don’t know if i needed to) and can operate the light in the ha-bridge devices on/off successfully. Alexa discovered the device drive lights and i can operate the light in the ios app, when i ask Alexa to turn drive lights on she replies ok but nothing happens and the same for off she says ok but nothing happens. If i turn off the light in ha-bridge and ask Alexa to turn drive light on she replies drive light is not responding.
        Have you come across this or have an idea of what i’ve missed?

        1. I have not heard of this happening. In the HA Bridge, did you name the device “drive_lights” or “drive lights”? The preferred would be without the underscore in HA Bridge.

          It was not necessary to add the device to the x10.conf file. This would be used with other heyu options.

          1. I tried both ways Corey, with and without…
            when i use the test buttons for the bridge device they do not show up in the log but i go into bridge control and bridge reinitialize that shows up in the log. the test buttons actually change the state of the x10 module though, and Echo still discovers the bridge…
            I have heyu working perfectly and have a cronjob running via sunwait telling heyu to turn A14 on 30 mins before sunrise which is kinda neat 🙂

            1. Another thing occurred to me “lights” is technically a reserved word with the Echo, you do not need to use it in the name.
              Try this:

              • Create and save another device in the ha-bridge, call it something simple like “front”, but with the same heyu ON / OFF as your “drive lights”.
              • Click the blue “Renumber Devices” on the Bridge Devices tab in ha-bridge.
              • In the Alexa app:
                • If you have a lot of devices and macros already configured find your “drive lights” device and click the blue “Forget” link.
                • If you do not a lot of devices and macros already configured click the grey “Forget All” button.
              • In the Alexa app, click the blue “Discover” button.

              Let me know what happens when you try to operate the new “front” device in the: ha-bridge, the alexa app and with the echo voice control. You can say, “Alexa, turn on the front” OR “Alexa, turn on the front light”.

              Let me know what happens when you try to operate the existing “drive lights” device in the: ha-bridge, the alexa app and with the echo voice control.

  5. Damn….
    Well done sir, that’s some crazy minor detail 😉 so it was the fact light(s) is reserved.
    I have added a couple more modules (devices,lights) to test and all is working except that when the lights is off and i call for on Alexa reports it is not responding but it does turn the light on?? when it is on and i call for off Alexa replies “ok”
    Is there a command / setting to report the state of the module perhaps? or do i remember something along the lines of the module can be pinged subsequent times to confirm state? its been 15 years since i installed the X10

    (still smiling 🙂 )

      1. I put the devices.py file into /home/pi/habridge and configured it, added the “START_ENGINE AUTO” in the HEYU x10.config file and typed $ python devices.py into terminal but get the response python cant open file ‘devices.py” : [ERRNO2] no such file or directory.
        What am i missing, the file is there, is python already installed in my raspbian os?

        1. Yes python comes installed. Let’s try making the file executable. Navigate to the habridge directory, then type $ chmod +x devices.py. Now you can execute simply with $ ./devices.py while in the habridge directory OR $ ./habridge/devices.py while in the root directory.

  6. update
    Just the module A14 seems to be the issue, Alexa reports not responding to on when in the off state, but it does actually turn on, the other 2 lights work and Alexa reports ok to on/off.
    thought’s?
    Ive cleared the cm11 eeprom, cleared the heyu x10.config and restarted heyu. rebooted ha-bridge.

    1. Yeah, an eprom clear, heyu restart and reboot of the ha-bridge would be about the only other things to try, short of a power cycle of the RPi and the Echo.

      I would delete the existing A14 initially configured device in the ha-bridge and manually re-create it. Then do the “Forget” device in the Alexa App again. Then do a discovery in the Alexa App. I see no reason why that one device isn’t working properly, especially when the others do work. Let me know how that works for you.

  7. Corey
    How would i make heyu auto start at reboot like ha-bridge does?

    Ive found a TM13 wall unit that doesnt report on in heyu but reports off, faulty TM13 maybe?

    1. $ sudo nano /etc/rc.local
      Add the following below the “fi”:
      su -l -c "heyu start" pi &
      Press CTRL + X, select to save the file.
      You will also need to auto-start the heyu engine:
      Set the directive “START_ENGINE AUTO” in the HEYU configuration file

        1. Awesome, thanks Corey.
          I updated the bits we talked about, added the heyu auto start and added another item to the crontab but got an error this morning, i left heyu monitor running to see.
          # m h dom mon dow command
          01 00 * * * /usr/local/bin/sunwait sun up -1:00:00 52.879884N 2.108399W; /usr/local/bin/heyu off A14
          02 00 * * * /usr/local/bin/sunwait sun down -0:30:00 52.879884N 2.108399W; /usr/local/bin/heyu on A14
          00 05 * * 1 tar -zcf /var/backups/home.tgz /home/
          03 00 * * * /usr/local/bin/sunwait sun up -1:00:00 52.879884N 2.108399W; /usr/local/bin/heyu off B1
          04 00 * * * /usr/local/bin/sunwait sun down -0:30:00 52.879884N 2.108399W; /usr/local/bin/heyu on B1
          I added lines 3 and 4 for lamp B1 based on the 1st 2 work, (not sure if the back up works yet or not)
          the error
          11/23 06:47:39 sndc addr unit 14 : hu A14 (drive)
          11/23 06:47:39 sndc addr unit 1 : hu B1 (landing)
          11/23 06:47:39 Poll received unknown value (1 bytes), leading byte = 6c
          11/23 06:47:40 sndc addr unit 14 : hu A14 (drive)
          11/23 06:47:40 sndc addr unit 1 : hu B1 (landing)
          11/23 06:47:40 Poll received unknown value (1 bytes), leading byte = 6c
          11/23 06:47:40 Poll received unknown value (1 bytes), leading byte = ea
          11/23 06:47:41 sndc addr unit 14 : hu A14 (drive)
          11/23 06:47:41 sndc addr unit 1 : hu B1 (landing)
          11/23 06:47:41 Poll received unknown value (1 bytes), leading byte = 6c
          Ive commented out the last 2 lines for now to see if everything is fine but i dont understand what went wrong??

          1. Turn on the crontab log file to see the error(s):
            $ nano /etc/rsyslog.conf
            Uncomment the line:
            # cron.* /var/log/cron.log
            by removing the hash tag. Then restart the rsyslog:
            $ /etc/init.d/rsyslog restart
            Then you can check the error(s) in the cron.log file.

        2. Great thanks Corey,
          I’ve successfully updated to the new version but its all stopped working??
          i renumbered the devices in ha-bridge browser and reinitialized the bridge, in the log it says “The requested route[/api//lights/2/state] has not been mapped in Spark for accept: [application/json, text/plain, */*]
          So im guessing i need to configure it differently now? i checked out the update blog but didnt understand the later configs.
          On a side note heyu no longer works either but thats because the bridge is not configured right 😉
          Could you explain what changed and wnd what and why i need to reconfigure 🙂

          J

            1. There are a few reported issues with the latest 5.0.0 so maybe reverting for you fixes your issue.

          1. Ok so i updated it to 4.5.6 but still bridge is not working, could you help me figure it out please as its too complicated for me to delve into habridge code?
            Its obviously the update changed something but i would not know where to start??
            appreciated.
            J

            1. Yes that would be best at this point.
              $ cd to get to the root directory
              $ rm -r habridge to delete the ha-bridge and it’s files
              Go to the Alexa App and forget all devices
              Start at Step 3 of my tutorial

            2. Ok so ive removed habridge and reinstalled 5.0.0. no joy so removed again installed 4.5.6. still no joy…
              I noticed even after clearing the browser cashe the logs are still present in the browser for habridge so it cant be removing everything when using rm -r habridge.
              i removed the bridge items and removed them from alexa. After reinstall and adding the new devices in habridge alexa doesnt find any new devices and bridge does not work still.
              Although heyu is running and monitor confirms commands i get “unable to send address bytes” with heyu on A14 or heyu off A14
              what ever that update changed its broken heyu also??
              Im still really early on in learning the programming by reading some books, ive started with Pi for dummies 3rd edition lol, so im not really sure where to turn now…
              How do i completely remove everything inc logs and config files for habridge and heyu, what other files did v5.0.0. change / update?
              All i can think of is go back to the begining or worse scrap the whole install and start afresh with the os?
              Could you tell by the log files whats going on or not as the case maybe?

            3. Do you have somewhere i could send you some log files or the status of the service type? if i copy n paste them here there will be pages of them??

            4. Emailed back Corey THANKS 🙂
              just to keep the blog upto date if anybody else has this issue i formatted the SD and reinstalled Noobs and reinstalled Heyu, Habridge V5.0.0. and everything is working perfectly. No idea what happened but can report on a clean install V5.0.0. works as it should with X10 devices.
              Sunwait and cronjobs next 🙂

              Thanks for the support Corey.
              J

      1. FYI, I set all of the devices in X10.config and they all stopped responding, i hashed them and they all worked again, habridge v.5.0.0. heyu 2.11 rc3.

  8. Corey –
    I implemented the ha-bridge many months ago from your earlier post, and have been using python scripts to send commands to an IR blaster to control things (also to control X10 stuff, but using my own X10 control program). Recently when I told Alexa to turn on the DVD, she (it???) reported that DVD is not responding. Other devices still work…I say “Alexa turn on the stereo” every morning. So I said, “Alexa discover devices,” and she reports that there are none. She also says to be sure to enable the Smart Home skill in the Alexa app, so I thought that might be the issue, but enabling the app requires pressing the button on the Philips Hue box… that I don’t have.
    Several of the commands still work, but some don’t. Any idea what is going on? Is Alexa now smart enough that she realizes I don’t have a physical Hue box? Or do the new instructions in this post include something critical that was lacking in the post I followed before? Any help would be appreciated.
    Thanks,
    Tom

  9. Corey –
    Or do I just need to update ha-bridge; if that’s it, what’s the latest version?
    Tom

  10. Hi Corey
    Would you have any idea what could cause Amazon echo to stop commanding the lights? Similar situation to when i inserted the word light, alexa responds ok to commands but doesn’t change the state of the light.
    Nothing has changed, Pi has just been sat running in the background, everything functions via heyu and habridge on the pi…
    Confirmed heyu is running but restarted it anyway, confirmed ha-bridge is still running since yesterday 07.30am
    I’ve restarted the pi and check the status of heyu and ha-bridge (both started on reboot) making no difference but after cycling the lights on the Echo app the lights then start to respond to command from alexa / echo.
    Could this be some sort of power saver or sleep on the pi? I understood that the pi doesnt have sleep mode however i can confirm it does something of that nature as my screen is off and cant ssh into it unless i press a key on the keyboard or click the mouse. Lots of questions again apologies…

    1. Corey do you think if i change wireless power management to off it might sort the issue?

      wlan0 IEEE 802.11 ESSID:”XxXxXxXxXxXx”
      Mode:Managed Frequency:2.442 GHz Access Point: 20:C9:D0:A2:49:16
      Bit Rate=72.2 Mb/s Tx-Power=31 dBm
      Retry short limit:7 RTS thr:off Fragment thr:off
      Power Management:on
      Link Quality=70/70 Signal level=-37 dBm
      Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
      Tx excessive retries:2 Invalid misc:0 Missed beacon:0

      As you can see it is on by default.

  11. I am trying to set up a voice command to Mute/Unmute the audio on my computer so I can simply say “Alexa, mute on”. I simply copied a desk lamp bridge device to a Mute device and changed the commands from “heyu on A1” to “amixer -D pulse sset Master mute” and ” amixer -D pulse sset Master unmute” which works perfectly from bash. However it doesn’t work testing with the bridge, or Alexa for that matter. Any idea why it isn’t working?

    1. Hey Jim,

      It is one of two things:

      • the path
      • permissions

      I am not fully positive, but I think exec commands will be run relative to the directory that the ha-bridge is installed, “habridge” for example.

      You might also try the command with a sudo prefix, “sudo amixer -D pulse sset Master mute”.

      You could also write a bash script with your command, that you make executable and call that bash script rather than the command directly.

      1. I have tried the bash scripts, and it halfway works. The command “Garage Audio off” works with the mute script, but the muteoff script does not when using “Garage Audio on”. The scripts are basically identical too. Alexa just spins and then beeps twice. However, the scripts are fully functional from the ha-bridge interface. BTW, I also had to change the name from “Mute” to “Garage Audio”, as apparently Mute is a reserved word lol. Of course it is!! 🙂

        Here are my scripts:
        #/bin/bash
        #mute.sh
        su -c “amixer -D pulse sset Master mute” myusername

        #/bin/bash
        #unmute.sh
        su -c “amixer -D pulse sset Master unmute” myusername

        I will try creating a soft link in my homeautomation directory to /usr/bin/amixer, where my scripts are saved and that is also where the data directory for ha-bridge is, and see if that will allow me to run the command directly. I will let you know my results.

        Thanks for your reply. 🙂

        1. Well, I think maybe my update to v5.0.0 has something to do with it. Now, ANY new device I add Alexa gives me this message when saying the on command: “I’m not quite sure how to help you with that”. All the off commands work fine, but no longer the on commands on newly added devices, even when copied from a previously added device. The previously added devices still work normally unless copied.

          Also, in the pop up menu for “Device Type”, there are three new entries above “Execute Script/Program/Command” which are “Custom”, “TCP”, “UDP”. These additional 3 items ONLY appear on newly added devices and not the previously added ones.

          Have you tried using v5.0.0?

          1. That is weird. I am using 5.0.0 since it’s release without issue. Have you tried clicking the Bridge Reinitialize button?

  12. For the past 10 months, I have really enjoyed using Corey’s project to bring my 20-year-old X10 HA into the 21st century. As I posted sometime back, I was able to integrate Voice Control with my extensive existing CM11A routines (IBM Home Director) using an Amazon Dot, a Raspberry Pi Model B, the recommended USB-Serial Adapter, and an X10 Firecracker device that I received for free 18 years ago with an x10.com order!

    The free version of the Hue Hello Android app gives me decent access to all of my HABridge devices from either a phone or a tablet.

    And using the free Home Remote app (thehomeremote.com), I actually can voice actuate my X10 from remote locations using the same commands that work at home.

    I also have a Wink hub, a Lightify Gateway, zigbee bulbs, a Z-wave thermostat, motion sensors, and assorted zigbee and z-wave plugs and switches. Incandescent bulbs are the only ones that can truly soft-start from 1% to the desired/requested brightness level(s), and with the exception of color LED bulbs and strips, my X10 routines and legacy hardware continue offer an experience that rivals anything that can be achieved with latest technology.

    Corey, thank you again so much for this incredible gift that keeps on giving.

Leave a Reply

Your email address will not be published. Required fields are marked *