How do I test for items with a data value, like gray dye or purple wool, using the {Item:id}
command?
I have tried using {Item:{id:minecraft:dye:7}}
and {Item:{id:351/7}}
You are looking for the Damage
tag. It is of type short, so you also need to suffix the number with an 's':
{Item:{id:minecraft:dye,Damage:7s}}