def setup_platform(hass, config, add_devices_callback, discovery_info=None):
    rollershutters = config.get('rollershutters', {})
    devices = []

    for dev_name, properties in rollershutters.items():
        devices.append(
            CommandRollershutter(
                hass,
                properties.get('name', dev_name),
                properties.get('upcmd', 'true'),
                properties.get('downcmd', 'true'),
                properties.get('stopcmd', 'true'),
                properties.get('statecmd', False),
                properties.get(CONF_VALUE_TEMPLATE, '{{ value }}')))
    add_devices_callback(devices)


# pylint: disable=too-many-arguments, too-many-instance-attributes
First implementation did not force the cache to be at the root
dataset/ETHPy150Open home-assistant/home-assistant/homeassistant/components/rollershutter/command_line.py/setup_platform--crossover with--dataset/ETHPy150Open biocore/scikit-bio/skbio/tree/tests/test_tree.py/TreeTests.test_find_cache_bug