Added
- Tests with `pytest` tested with esp32 (websocket, serial, ble), esp8266(websocket, serial), pyboard (serial) and nrf52832 (colmi p8 with wasp-os) (ble)
- `Device` function that returns Device class based on address type
- Pytest with devices
- `__repr__` that returns device info
- Raise `DeviceException` on raised Exception in device
- Raise `DeviceNotFound` after connection attempt fail or if device is not reachable.
- `ble_scan`, `net_scan`, `serial_scan`, to scan for devices
Fix
- Base code refactoring