[SOLVED] Alexa not discovering devices - yes one of these threads

Hello everyone,

First: Yes. This is another Alexa thread. I’ve read through many and have not found an answer, though they have given me good information.

I cannot for the life of me get Alexa to discover my devices whether it be zigbee or zwave. I have OH 2.4.0-1 setup and running on Ubuntu 18.04 (used openHABian config tool). I’ve already disconnected WINK from Alexa before connecting myopenhab.

Here’s where I’m at:

I have my Nortek controller installed and bindings for both zwave and zigbee installed and working. I can find and pair devices within paper ui and they do function.

I have myopenhab setup and logged in. My Alexa account shows up under “applications” and myopenhab shows as “Online” in the top menu. I have NOT exposed any items because 1) I’m not using IFTTT, and 2) I read that you do not need to expose anything to discover/use with Alexa.

I’ve made sure to toggle the device state (on/off, or brighten/dim). Alexa cannot find any devices.

I have simple mode disabled. So after discovering and adding the thing (leviton plug), I created an Item of type Switch. Then I went back to the thing config and linked that Item to the Switch channel. I can go into the “Control” tab and successfully switch the plug on/off.

I used the rest api to add the alexa tags. Here’s my config (as given by rest api) for my Leviton zwave switch: (I’m assuming the escape character of \ for the quotes within the alexa tag are normal, as these were automatically added when using rest api put for the item tag.)

  "statusInfo": {
    "status": "ONLINE",
    "statusDetail": "NONE"
  "editable": true,
  "label": "Test Outlet",
  "bridgeUID": "zwave:serial_zstick:d7e9050d",
  "configuration": {
    "config_7_1": 255,
    "switchall_mode": 255,
    "node_id": 4
  "properties": {
    "zwave_class_basic": "BASIC_TYPE_ROUTING_SLAVE",
    "zwave_class_generic": "GENERIC_TYPE_SWITCH_BINARY",
    "zwave_frequent": "false",
    "zwave_neighbours": "",
    "modelId": "DZPA1",
    "zwave_version": "0.5",
    "zwave_listening": "true",
    "manufacturerId": "001D",
    "manufacturerRef": "1A02:0334,3601:0001",
    "dbReference": "305",
    "zwave_deviceid": "820",
    "zwave_nodeid": "4",
    "vendor": "Leviton",
    "defaultAssociations": "1",
    "zwave_routing": "true",
    "zwave_beaming": "true",
    "zwave_secure": "false",
    "zwave_class_specific": "SPECIFIC_TYPE_SCENE_SWITCH_BINARY",
    "zwave_manufacturer": "29",
    "zwave_devicetype": "6658"
  "UID": "zwave:device:d7e9050d:node4",
  "thingTypeUID": "zwave:leviton_dzpa1_00_000",
  "channels": [
      "linkedItems": [
      "uid": "zwave:device:d7e9050d:node4:switch_binary",
      "id": "switch_binary",
      "channelTypeUID": "zwave:switch_binary",
      "itemType": "Switch",
      "kind": "STATE",
      "label": "Switch",
      "description": "Switch the power on and off",
      "defaultTags": [],
      "properties": {
      "configuration": {}

And the corresponding item, also from rest api:

  "link": "",
  "state": "OFF",
  "editable": true,
  "type": "Switch",
  "name": "TestOutlet",
  "label": "Test Outlet",
  "category": "Switch",
  "tags": [
  "groupNames": []

What do y’all think?


You’ve tried to add metadata as a tag.

Please try this:

  • In Paper UI, make sure that the Addon Misc -> REST Documentation is installed.
  • Open the REST Documentation: http://…:8080/doc/index.html
  • Open items, PUT /items/{itemname}/tags/{tag}
  • Enter the name of the item and then the tag and press “Try it out”

where {tag} is: Switchable

Your “item” in rest api should result like this:

"tags": [

Yes rest api is installed, which is how I added the alexa tags to begin with.

I assume I should leave the alexa tag on the item? So I’ll see “Switchable” and “alexa=…” on the item, correct? Or remove alex and use just “Switchable”?

Yes, only: “Switchable”.

Beautiful. That worked great. Thank you!

1 Like

Is this a persistent change? Where does that tag get “saved” so that it’s still there on the next reboot?

Yes. After you have pressed “Try it out” it’s been written into JSONDB.