* API discovery (SYNO.API.Info) + use Exceptions
- remove dsm_version
- use SynologyDSMRequestException for failed requests
* _discover_apis any time
* simplify requests
- Add api.request(api, method, params=None)
* Add connection failed tests
* Finalized ?
* Fix SynologyDSMRequestException not beeing SynologyDSMException
* Fix SynologyDSMAPINotExistsException not beeing SynologyDSMException
* Add Virtual Machine Manager API documentation
* Can get and post request
- Add error handling by API code
* Pylint
* Add get + post tests + SynologyDSMAPIErrorException
* Add tests + some fixes
Fixes:
- [utilization] cpu_total_load returns `None` if one load is 0
- [storage] volume_disk_temp_avg + volume_disk_temp_max were global, not volume related
Add:
- [storage] env
- [storage] storage_pools
Changes:
- api.password is now private
- api.storage_url is now private
- use API_KEY on each of APIs/services
* Fix encoding
* Use future division
* Add test_disk + test_volume to check error handling cases