def METHOD_NAME(ip_address: str, modbus_id: int, read_counter: str = "False", read_battery: str = "False") -> None:
    components_to_read = ["inverter"]
    if read_counter.lower() == "true":
        components_to_read.append("counter")
    if read_battery.lower() == "true":
        components_to_read.append("bat")
    log.debug("components to read: " + str(components_to_read))
    device_config = Huawei()
    device_config.configuration.ip_address = ip_address
    device_config.configuration.modbus_id = modbus_id
    dev = Device(device_config)
    for component_type in components_to_read:
        if component_type in COMPONENT_TYPE_TO_MODULE:
            component_config = COMPONENT_TYPE_TO_MODULE[component_type].component_descriptor.configuration_factory()
        else:
            raise Exception(
                "illegal component type " + component_type + ". Allowed values: " +
                ','.join(COMPONENT_TYPE_TO_MODULE.keys())
            )
        if component_type == "counter" or component_type == "bat":
            num = None
        else:
            num = 1
        component_config.id = num
        dev.add_component(component_config)
    log.debug('Huawei IP-Adresse: ' + ip_address)
    log.debug('Huawei Modbus-ID: ' + str(modbus_id))
    dev.update()