Multiple http:// buttons

Hello @andysmith13,
Configuring more than one button in the same device card/tile is not available yet, but there are two alternatives:

  1. Create a multi-component device (Picture 1)

In the generated event of the button, you can identify the source component. Below, you will find a code snippet of the SmartThings Schema example.

const connector = new SchemaConnector()
    .enableEventLogging(2)
    .discoveryHandler((accessToken, response) => {
      const d1 = response.addDevice('st-schema-MultButton', 'ST schema MultButton', 'deviceProfileID')
      d1.manufacturerName('xxxx');
      d1.modelName('xxxx');
    })
    .stateRefreshHandler((accessToken, response) => {

      let d1 = response.addDevice('st-schema-MultButton')
      let main = d1.addComponent('main');
      main.addState('st.momentary')
      
      let comp2 = d1.addComponent('compone');
      comp2.addState('st.momentary')
      //...
    })
    .commandHandler((accessToken, response, devices) => {
      for (const device of devices) {
        for (const cmd of device.commands) {
          if (cmd.component === 'main' && cmd.command === 'push') {
            //HTTP request
          } 
        }
      }
    });
  1. Create a custom capability with a List display type (Picture 2)

You would select the option you want and receive a command with its argument to use it as a condition to make the HTTP request.
For more information about this option, you should see this post.
The function to create new capability presentations is being fixed and will be available as soon as possible, so you could take this option as a future enhancement.
The capability presentation to get an element similar to my example is:

"detailView": [
        {
            "label": "List Element",
            "displayType": "list",
            "list": {
                "state": {
                    "value": "listElement.value",
                    "alternatives": [
                        {
                            "key": "off",
                            "value": "Off",
                            "type": "inactive"
                        },
                        {
                            "key": "on",
                            "value": "On",
                            "type": "active"
                        },
                        {
                            "key": "autoOff",
                            "value": "Auto Off",
                            "type": "inactive"
                        }
                    ]
                },
                "command": {
                    "name": "setListElement",
                    "alternatives": [
                        {
                            "key": "off",
                            "value": "Off",
                            "type": "inactive"
                        },
                        {
                            "key": "on",
                            "value": "On",
                            "type": "active"
                        },
                        {
                            "key": "autoOff",
                            "value": "Auto Off",
                            "type": "inactive"
                        }
                    ]
                }
            }
        }
    ]