node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

pimatic-echo

Build Status Version downloads

pimatic-echo

pimatic-echo is a pimatic plugin that enables Amazon's echo to control pimatic devices. It does this by simulating Philips Hue lights, which are natively supported by the echo. All network communication happens on the local network, so pimatic doesn't have to be accessible from the internet.

These device classes are supported currently:

If you are the developer of a pimatic plugin that defines a device class, that implements switch functionality, just create a feature request.

Commands

The supported commands for Alexa are very limited, due to the fact that pimatic-echo doesn't implement an Alexa smart home skill. Instead it supports switching on/off and dimming. Soe the commands are

  • Alexa, turn on living room
  • Alexa, switch off living room
  • Alexa, dim living room to 50 percent
  • Alexa, turn on Thermostat

These commands also apply to thermostats. Switching a thermostat off will set the temperature to the configured ecoTemp. Switching on will use the comfyTemp. Setting a dimlevel will set the temperature to this value.

Installation

To install the plugin just add the plugin to the config.json of pimatic:

    {
      "plugin": "echo" 
    }

This will fetch the most recent version from npm-registry on the next pimatic start and install the plugin.

After that you tell your Amazon echo to search for your devices or use the web frontend.

For configuration parameters of pimatic-echo and their documentation please see the plugin config schema.

Please note that pimatic-echo will use port 80 by default, as this is needed for the newer echo, so make sure that this port is either free or change it to another free port. If your pimatic instance is using port 80, pimatic-echo will reuse the port.

Configuration

The configuration of pimatic can be extended by adding an attribute called "echo" on every supported device.

Example:

"devices"[
  {
    "id": "switch",
    "class": "DummySwitch",
    "name": "Switch",
    "echo": {
      "name": "EchoSwitch",
      "additionalNames": ["AnotherNameForMyEchoSwitch", "YetAnotherName"],
      "active": true,
      "debug": false,
      "comfyTemp": 21,
      "ecoTemp": 17
    }
  }
]
 

The name setting will change how the device is called when using your voice. This might be helpful if you have multiple devices in different rooms with the same name or if you just want to have a more meaningful name. To work with Alexa these names must be unique. You can also define additional names for your device. For every additional name a new device will be listed in the Alexa app.

To make devices available to Alexa, just set the "active" flag to true. You must manually activate them.

Please make sure that pimatic-echo is placed at the top of the plugins configuration. This helps avoiding misleading error messages, that the echo configuration is unsupported and also enables the configuration via web ui.

Frequently Asked Questions

Alexa doesn't find any devices. What's wrong?
  • Make sure to enable the pairing mode by using the device discovery feature of pimatic found under Settings -> Devices. Then you've got 20 seconds start the device scanning of Alexa.
  • If you are using an Echo or Echo plus, make sure you have configured pimatic-echo to use port 80. Also make that the port isn't used already.
  • Just try to scan again. Sometimes Alexa needs another try to find all devices.

Sponsoring

Do you like this plugin? Then consider a donation to support development.

PayPal donate button Flattr pimatic-hap

Changelog

0.5.0

  • Add pairing mode using the built in discovery feature of pimatic.
  • #38 add Tradfri RGB
  • fix issues when mixing echoes of different generations
  • reuse port of pimatic if port is equal to piamtic-echo
  • bind express server to single ip

0.4.0

  • #28 support for new Amazon Echo 2
  • #29 support for heating thermostat

0.3.1

  • fix echo config migration from blacklist to whitelist

0.3.0

  • #11 support all buttons on ButtonsDevice
  • #22 implement whitelist

0.2.4

0.2.3

  • fix getting state for pimatic-led-light

0.2.2

  • dim lights without turning on before

0.2.1

  • bugfixes and imporvements

0.2.0

  • #8 support changing dimlevel

0.1.0

  • add support for trafri devices
  • #20 randomizing device discovery responses befor sending them out. This way you can discover more than 16 devices within a few scans with the echo.

0.0.6

  • fixed error when switching ButtonsDevice

0.0.5

  • #10 additional names for supported devices

0.0.4

  • #3 Rename devices
  • extend device config schema to get rid of error message
  • Copied files from fauxmo dependency into lib folder and removed dependency
  • Reuse UDP port 1900 for UPNP

0.0.3

  • #5 Exclude specific devices from being available to Alexa.

0.0.2

  • minor bugfixes

0.0.1

  • initial release