These instructions assume an OpenHAB2 configuration with Mosquitto MQ enabled and working. However, HUE emulation must not necessarily be installed and configured since these instructions use a different binding. Furthermore, there is no need to install any TTS engine (ie: from Paper UI -> Add-Ons -> TTS) since the Amazon Echo itself will be used as the TTS device. These instructions partially synthesize the official Amazon Echo Control Binding documentation.
The Amazon Echo Control Binding since version 2.3 supports text-to-speech and thereby outdates hardware solutions. To make the Amazon Echo speak a message received on a given MQTT following, perform the following steps:
Amazon Echo Control Binding via the OpenHAB2 user interface (Paper UI -> Add-Ons -> Bindings -> Amazon Echo Control Binding).http://alexa.amazon.com and browse the menus to Settings -> Devices (select your device) -> Serial number and jot down the serial number for the next step./etc/openhab2/things/echo.things with the following contents:Bridge amazonechocontrol:account:AMAZON_ACCOUNT_NAME "Amazon Account" @ "Accounts" [amazonSite="amazon.com", email="AMAZON_ACCOUNT_EMAIL", password="AMAZON_ACCOUNT_PASSWORD", pollingIntervalInSeconds=60]
{
Thing AMAZON_ECHO_NAME AMAZON_ECHO_NAME "Alexa" @ "Living Room" [serialNumber="AMAZON_ECHO_SERIAL_NUMBER"]
Thing flashbriefingprofile flashbriefing "Flash Briefing Technical" @ "Flash Briefings"
}
and replace the following placeholders:
AMAZON_ACCOUNT_NAME - a descriptive name for your Amazon account,AMAZON_ACCOUNT_EMAIL - the E-Mail used to login to your Amazon account,AMAZON_ACCOUNT_PASSWORD - the Amazon account password,AMAZON_ECHO_NAME - a descriptive name for the Amazon echo device,AMAZON_ECHO_SERIAL_NUMBER - your echo device serial number obtained from the previous step./amazonechocontrol/account (ie: http://openhab2.home:8080/amazonechocontrol/AMAZON_ACCOUNT_NAME) where AMAZON_ACCOUNT_NAME is the descriptive name of the account from the echo.things file created in the previous step./etc/openhab2/items/MQTTSay.items with the following contents:String MQTTSay_String { mqtt="<[mosquitto:alexa/say:state:default]" }
String EchoTTS "Text to Speech" {channel="amazonechocontrol:echo: AMAZON_ACCOUNT_NAME: AMAZON_ECHO_NAME:textToSpeech"}
and replace the placeholders that must match the settings in /etc/openhab2/things/echo.things:
AMAZON_ACCOUNT_NAME - a descriptive name for your Amazon account,AMAZON_ECHO_NAME - a descriptive name for the Amazon echo device/etc/openhab2/rules/MQTTSay.rules with the following contents:rule "Make Alexa say an MQTT message"
when
Item MQTTSay_String received update
then
EchoTTS.sendCommand(MQTTSay_String.state.toString())
end
Finally, restart OpenHAB2.
For testing, tail the OpenHAB2 log file (usually, placed at /var/log/openhab2/openhab2.log and then from a different machine, use mosquitto_pub to send a message to the MQTT server, ie:
mosquitto_pub -h MQTT_SERVER_HOSTNAME -t 'alexa/say' -m "Program me daddy\!" -v
where:
MQTT_SERVER_HOSTNAME is the hostname or IP address of the MQTT server.For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.