zigpy / bellows

A Python 3 project to implement EZSP for EmberZNet devices
GNU General Public License v3.0
179 stars 87 forks source link

Allow configuration options to be disabled #508

Closed puddly closed 1 year ago

puddly commented 1 year ago

For example:

app = bellows.zigbee.application.ControllerApplication({
    "device": {
        "path": "socket://localhost:9999"
    },
    "ezsp_config": {
        # Do not set any configuration on startup
        "CONFIG_SOURCE_ROUTE_TABLE_SIZE": None,
        "CONFIG_END_DEVICE_POLL_TIMEOUT": None,
        "CONFIG_SECURITY_LEVEL": None,
        "CONFIG_APPLICATION_ZDO_FLAGS": None,
        "CONFIG_MULTICAST_TABLE_SIZE": None,
        "CONFIG_ADDRESS_TABLE_SIZE": None,
        "CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S": None,
        "CONFIG_SUPPORTED_NETWORKS": None,
        "CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE": None,
        "CONFIG_INDIRECT_TRANSMISSION_TIMEOUT": None,
        "CONFIG_STACK_PROFILE": None,
        "CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD": None,
        "CONFIG_PACKET_BUFFER_COUNT": None,
    }
})

I've also cleaned up the configuration packages and inherit the previous config as opposed to copy/pasting the entire configuration from scratch. This makes the differences more explicit.