First working version supporting setting device names (lynix/aerotools-ng#27). Still needs some cleanup