An air suspension system comprising: a plurality of air spring assemblies, each air spring assembly including a piston airbag and a primary air bag mounted adjacent to the piston airbag such that said piston airbag operates as a rolloff piston surface for said primary airbag, and wherein each air spring assembly is set at an initial ride height; a plurality of valve assemblies (58, 60), including at least one valve assembly for each primary airbag and a separate valve assembly for each piston airbag such that air can be supplied independently to each primary airbag and each piston airbag; a plurality of ride height sensors continuously monitoring ride height and communicating ride height data to a controller; said controller being configured to adjust and maintain a desired ride height and spring rate wherein said controller actively varies pressure within said primary and said piston airbags (30, 28) to achieve the desired ride height and spring rate by simultaneously adjusting flow rates into and/or out of both said primary and said piston airbag (30, 28) within a common air spring assembly, wherein said controller is configured to identify hardware differences between various suspension components, said hardware differences including the various defined volumes (VI, V2) within the primary and piston airbags and the differences between the orifice sizes of the primary and piston valve assemblies (60, 58) and modifies said flow rates to accomodate these hardware differences such that each airbag volume can be inflated and/or deflated simultaneously at a different flow rate until the desired ride height is reached in order to provide a smooth ride height change, without introducing oscillating behaviour. a plurality of air spring assemblies, each air spring assembly including a piston airbag and a primary air bag mounted adjacent to the piston airbag such that said piston airbag operates as a rolloff piston surface for said primary airbag, and wherein each air spring assembly is set at an initial ride height; a plurality of valve assemblies (58, 60), including at least one valve assembly for each primary airbag and a separate valve assembly for each piston airbag such that air can be supplied independently to each primary airbag and each piston airbag; a plurality of ride height sensors continuously monitoring ride height and communicating ride height data to a controller; said controller being configured to adjust and maintain a desired ride height and spring rate wherein said controller actively varies pressure within said primary and said piston airbags (30, 28) to achieve the desired ride height and spring rate by simultaneously adjusting flow rates into and/or out of both said primary and said piston airbag (30, 28) within a common air spring assembly, wherein said controller is configured to identify hardware differences between various suspension components, said hardware differences including the various defined volumes (VI, V2) within the primary and piston airbags and the differences between the orifice sizes of the primary and piston valve assemblies (60, 58) and modifies said flow rates to accomodate these hardware differences such that each airbag volume can be inflated and/or deflated simultaneously at a different flow rate until the desired ride height is reached in order to provide a smooth ride height change, without introducing oscillating behaviour.