So this was an interesting experiment. My windows xp computer that ran AHP and HA-Bridge died about three weeks ago and with it I lost all my Alexa Voice Controlled X10 devices (about 30 devices and macros). So I replaced the computer, and reinstalled everything. After spending almost 60 hours and trying every conceivable thing, I could not get Alexa to discover the devices on the new HA-Bridge. So, I bought the Broadlink Pro. I was already using their IR only version to control my TV with Alexa, so I thought this should be easy. Yes, I got it hooked up, and yes, it will send out an RF signal, and yes, the X10 CM15 will hear the signal. But most of the time, it only sends out the correct code once. After that, when I say fireplace on, it turns the bedroom lights off. Or something else completely crazy. It does this with the E-control android app too, so it is not an Alexa or RM Plug In problem. The Broadlink Pro repeatedly sends out the wrong commands. I'm sure there's a reason for this malfunction, and if anyone has any suggestions, I'd be open to hear them. I used the HR12A to send the RF signals to the Broadlink Pro to learn them. Maybe that was my problem.
Meanwhile, I said, to heck with this, and I decided to write my own ALEXA skills to control my system, using the Server32 program that Tuicemen developed several years ago. It took a day to learn how to write an Alexa skill, but it only took four lines of new code to make it work. So now I am back up and running using a separate Alexa skill for each device. It takes about 5 minutes to create each skill/command. I'm sure it could be done very elegantly for someone with some actual knowledge. Anyway, thanks for all of the guidance on this forum.
'use strict';
const Alexa = require('alexa-sdk');
const http = require('http'); //this I had to add to the sample code
const APP_ID = undefined;
const SKILL_NAME = 'http for me';
const GET_DATA_MESSAGE = "Okay: ";
const HELP_MESSAGE = 'What can I help you with?';
const HELP_REPROMPT = 'What can I help you with?';
const STOP_MESSAGE = 'Goodbye!';
const handlers = {
'LaunchRequest': function () {
this.emit('HttpGetIntent');
},//this I had to add to the sample code
'HttpGetIntent': function () {
http.get ('http://xxx.xx.xxx.xxx:8086/?~sendplc e9 on');
},//this I had to add to the sample code
'AMAZON.HelpIntent': function () {
const speechOutput = HELP_MESSAGE;
const reprompt = HELP_REPROMPT;
this.response.speak(speechOutput).listen(reprompt);
this.emit(':responseReady');
},
'AMAZON.CancelIntent': function () {
this.response.speak(STOP_MESSAGE);
this.emit(':responseReady');
},
'AMAZON.StopIntent': function () {
this.response.speak(STOP_MESSAGE);
this.emit(':responseReady');
},
};
exports.handler = function (event, context, callback) {
const alexa = Alexa.handler(event, context, callback);
alexa.APP_ID = APP_ID;
alexa.registerHandlers(handlers);
alexa.execute();
};