when working with options that effect price, you need to have a column in the cart object for the price increment and the option name, so where you have 2 options effecting the price, you will need to have 2 price increment columns:
the select lists for those options should pass the option ID to a Lookup recordset that looks up the option name and the Price Increment value
to add the price increment, you need create a calculation:
[Price] + [DimmablePriceInc] + [SensorPriceInc]
to show the actual price in the cart display, Substitute the Price cart binding for the truePrice cart binding from the bindings panel.
you can show the incremental price also by using the DimmablePriceInc and SensorPriceInc bindings in the cart display.
If the wrong option name is being added to the cart, there is either a problem with the recordset that looks up the option name, or the biding in the add to cart button code.