Driver variable not updating This is probably a dumb question, but I can't see what I'm doing wrong.

I want to animate a material (actually the y offset of a procedural texture) according to the value of a shape key that's applied to a different object.

The object with the shape key is shown here:



The object is "LATTICE_HP_bladder_for_pistoned". This is a lattice modifier for a geometric object. The shape key's value changes as expected when I scrub through my timeline.

When I copy the data path of the shape key's value, I get

key_blocks["Pistoned"].value

So I apply this to the driver I've added to the texture's y offset as follows:



However, nothing happens when I scrub the timeline. The "Value" field never changes from 0.000, even though the shape key is certainly animating correctly in my scene.

What am I doing wrong? Thanks!
Please note material drivers can be different than a Scale driver. Sometimes you will need to take this somewhat inconvenient step of adding a driver to datablocks view of the outliner.  Get ready for a surprise.

Your material is not shown above.

Select key from the menu ... note the key on panel below.



Note the note from the tooltip from the Lattice Panel which you have already seen. Keys["Key.002"] in my case. Adjust to your case please.  So the toolip is showing two items which must be noted.  Two Strings. 



Tooltip above for reference.



Panel entries.  The two pieces of information from the tooltip are entered above.

In Blender User Preferences verify that scripts are enabled.  You may want to seek fuller explanations of that concept here at BSE.

You may want to see this link about materials.
Driver Expression