       super()
 
     parseAction: (input, context) =>
-      console.log "-----parseAction----", input
       selectorDevices = _(@framework.deviceManager.devices).values().filter(
         (device) => device.config.class is 'DenonAvrInputSelector'
       ).value()

      @_variableManager = @framework.variableManager
      super()

#    setup: ->
#      @dependOnDevice(@device)
#      super()

    executeAction: (simulate) =>
      console.log "----executeAction----", value
      @_variableManager.evaluateStringExpression(@valueTokens)
      .then (value) =>
        @selectInput value, simulate

    selectInput: (input, simulate) =>
      if simulate
        return Promise.resolve(__("would set input #{input}"))
      else
        @device.buttonPressed input
        return Promise.resolve(__("set input #{input}"))

  class DenonAvrInputSelectActionProvider extends env.actions.ActionProvider

          match = next.getFullMatch()
        )

      if match?
        assert device?
        assert valueTokens?
