CFE-DeviceManager-3: Device does not have a valid config. Expected a dictionary.

This error occurs when MPF expects a dictionary in a config of a device but found something else.

Examples

For instance, the settings of a switch are a dictionary (switches -> s_flipper_left).

switches:
  s_flipper_left:
    number: 1
    label: My Left Flipper
This example is tested to be valid MPF config. However, it is not integration tested.
switches:
  s_flipper_left:
    number: 1
    label: My Left Flipper

Common Pitfalls

Forgetting the Device Name

This error usually occurs when you omit the device name. For example if you omit s_flipper_left this would look like this:

# BROKEN CONFIG
switches:
  number: 1
  label: My Left Flipper

Here MPF would see two switches with the names number and label. Each of them has an invalid config (just a single value but not a dictionary).

YAML Formatting Issues

See CFE-ConfigValidator-12: Item is not a dict for more general common pitfalls.

Need more help troubleshooting?

Have a look at our Troubleshooting section. It might give you some hints for certain classes of problems.

What if this did not fix your problem?

Please tell us about your error in the MPF Users Google Group and we might be able to update this page afterwards. Or even better: You help us to update it afterwards.

Is something missing here? Do you have a helpful hint for others experiencing this error?

Please create a Pull Request and add it. Alternatively, please tell us in the MPF Users Google Group.