Webapp refactored to permit multiple sensor types