UNPKG

@iotize/device-client.js

Version:

IoTize Device client for Javascript

1,114 lines (540 loc) 38.9 kB
# Change Log All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. <a name="0.0.2"></a> ## 0.0.2 (2019-12-20) ### Bug Fixes * **Tap:** improved security for Scram login (password in memory issue) <a name="0.0.1-alpha.113"></a> ## [0.0.1-alpha.113](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.112...v0.0.1-alpha.113) (2019-12-20) <a name="0.0.1-alpha.112"></a> ## [0.0.1-alpha.112](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.111...v0.0.1-alpha.112) (2019-12-13) ### Features * **Tap:** new Tap api features ([3ebe65a](https://bitbucket.org/iotize-solutions/device-api.project/commits/3ebe65a)) <a name="0.0.1-alpha.111"></a> ## [0.0.1-alpha.111](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.110...v0.0.1-alpha.111) (2019-12-12) <a name="0.0.1-alpha.110"></a> ## [0.0.1-alpha.110](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.109...v0.0.1-alpha.110) (2019-12-12) * BREAKING CHANGES: api changed for Scram ([93244f8](https://bitbucket.org/iotize-solutions/device-api.project/commits/93244f8)) ### BREAKING CHANGES * renamed ScramInterceptorOptions to EncryptionOptions <a name="0.0.1-alpha.109"></a> ## [0.0.1-alpha.109](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.108...v0.0.1-alpha.109) (2019-12-03) ### Features * **Tap:** added `Tap.changePassword()` parameter to give the current user password * **Tap:** added `Tap.getSecurityOptions()` method <a name="0.0.1-alpha.108"></a> ## [0.0.1-alpha.108](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.107...v0.0.1-alpha.108) (2019-11-22) ### Bug Fixes * Using `logger.log` instead of `logger.info` as it may not be defined in webview * Removed references to `SharedArrayBuffer` as it may not be defined in some environments <a name="0.0.1-alpha.107"></a> ## [0.0.1-alpha.107](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.106...v0.0.1-alpha.107) (2019-11-04) <a name="0.0.1-alpha.106"></a> ## [0.0.1-alpha.106](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.105...v0.0.1-alpha.106) (2019-10-30) ### Bug Fixes * **TaskQueue:** fix process clear when task throw an error ([984821a](https://bitbucket.org/iotize-solutions/device-api.project/commits/984821a)) ### Features * **Apdu:** improved APDU related errors ([a7c5c92](https://bitbucket.org/iotize-solutions/device-api.project/commits/a7c5c92)) * **Tap:** update Tap ([2a2d090](https://bitbucket.org/iotize-solutions/device-api.project/commits/2a2d090)) <a name="0.0.1-alpha.105"></a> ## [0.0.1-alpha.105](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.104...v0.0.1-alpha.105) (2019-10-23) ### Bug Fixes * ByteSwapConverter when starting by B0 ([bc01441](https://bitbucket.org/iotize-solutions/device-api.project/commits/bc01441)) * fix TapError.initializationVectorNotSupported() error code ([3186325](https://bitbucket.org/iotize-solutions/device-api.project/commits/3186325)) * fix typo Tap.setInitializationVectorRefreshPeriod ([2f65641](https://bitbucket.org/iotize-solutions/device-api.project/commits/2f65641)) * improved error message for connect/disconnect timeout in QueueComProtocol ([529043e](https://bitbucket.org/iotize-solutions/device-api.project/commits/529043e)) ### Features * added KeepAliveEngine and Tap.keepAlive extension ([3761510](https://bitbucket.org/iotize-solutions/device-api.project/commits/3761510)) <a name="0.0.1-alpha.104"></a> ## [0.0.1-alpha.104](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.103...v0.0.1-alpha.104) (2019-10-21) ### Bug Fixes * NumberConverter fix Litle/big ending parameter ([e3b1013](https://bitbucket.org/iotize-solutions/device-api.project/commits/e3b1013)) * ScramInterceptor when IV refresh period > 1 and forcing encrypted communication ([139cf42](https://bitbucket.org/iotize-solutions/device-api.project/commits/139cf42)) ### Features * **NumberConverter:** added converter factory functions int8(), int16(), int32(), uint8()... ([0f78b51](https://bitbucket.org/iotize-solutions/device-api.project/commits/0f78b51)) * **Scram:** added scram resource ([58468c3](https://bitbucket.org/iotize-solutions/device-api.project/commits/58468c3)) * added CCOM IV feature (encrypted communication with IV refreshed for each frame) ([b5c5d10](https://bitbucket.org/iotize-solutions/device-api.project/commits/b5c5d10)) * added get/set/put TargetService.ProtocolConfiguration method ([0317444](https://bitbucket.org/iotize-solutions/device-api.project/commits/0317444)) * added scram initialization vector feature Tap.refreshEncryptionInitializationVector() and Tap.encryption(enabled,refreshSessionKey, refreshInitializationVector) ([14ae335](https://bitbucket.org/iotize-solutions/device-api.project/commits/14ae335)) * added tlv serializer implementation ([8ea57e5](https://bitbucket.org/iotize-solutions/device-api.project/commits/8ea57e5)) <a name="0.0.1-alpha.103"></a> ## [0.0.1-alpha.103](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.102...v0.0.1-alpha.103) (2019-09-18) ### BREAKING CHANGES * `ProtocolConfiguration` type has 2 new fields * `ServiceCallType`.`methodType` type changed ### Features * **Tap**: added multi requests feature (method `multiRequests()`) <a name="0.0.1-alpha.102"></a> ## [0.0.1-alpha.102](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.100...v0.0.1-alpha.102) (2019-09-12) ### Bug Fixes * **Scram:** fix salt generator to generate non null salt ([2ea4f42](https://bitbucket.org/iotize-solutions/device-api.project/commits/2ea4f42)) * **Tap:** fix enable encryption return type ([7f97701](https://bitbucket.org/iotize-solutions/device-api.project/commits/7f97701)) ### Features * FormatHelper.toAsciiString() now accepts number[] as a parameter ([fb908f0](https://bitbucket.org/iotize-solutions/device-api.project/commits/fb908f0)) * **DataLogger:** improved DataLogger ([8ec1461](https://bitbucket.org/iotize-solutions/device-api.project/commits/8ec1461)) * **Tap:** added changePassword implementation when security is activated ([8fa8c5a](https://bitbucket.org/iotize-solutions/device-api.project/commits/8fa8c5a)) * **Tap:** added Tap.currentSessionState() method ([4703031](https://bitbucket.org/iotize-solutions/device-api.project/commits/4703031)) <a name="0.0.1-alpha.101"></a> ## [0.0.1-alpha.101](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.100...v0.0.1-alpha.101) (2019-08-26) ### Bug Fixes * **Scram:** fix salt generator to generate non null salt ([2ea4f42](https://bitbucket.org/iotize-solutions/device-api.project/commits/2ea4f42)) ### Features * **Tap:** added changePassword implementation when security is activated ([8fa8c5a](https://bitbucket.org/iotize-solutions/device-api.project/commits/8fa8c5a)) <a name="0.0.1-alpha.100"></a> ## [0.0.1-alpha.100](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.99...v0.0.1-alpha.100) (2019-08-22) <a name="0.0.1-alpha.99"></a> ## [0.0.1-alpha.99](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.98...v0.0.1-alpha.99) (2019-08-22) ### Features * added ProtocolChangeEvent ([fc5d6ac](https://bitbucket.org/iotize-solutions/device-api.project/commits/fc5d6ac)) * **Client:** added onProtocolChange() method. ([0aa8332](https://bitbucket.org/iotize-solutions/device-api.project/commits/0aa8332)) <a name="0.0.1-alpha.98"></a> ## [0.0.1-alpha.98](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.97...v0.0.1-alpha.98) (2019-08-09) ### Bug Fixes * **ResponseError:** fix circular dependency and changed ResponseError constructor to add second argmument) ([d1b7481](https://bitbucket.org/iotize-solutions/device-api.project/commits/d1b7481)) * **StringConverter:** added missing import Buffer for StringConverter ([ff2402f](https://bitbucket.org/iotize-solutions/device-api.project/commits/ff2402f)) * fixed circular dependencies ([b2310ab](https://bitbucket.org/iotize-solutions/device-api.project/commits/b2310ab)) ### Features * added lwm2m HeaderInterface ([b7e8c66](https://bitbucket.org/iotize-solutions/device-api.project/commits/b7e8c66)) * aded MockProtocol and MockClient into the core library ([e7e9684](https://bitbucket.org/iotize-solutions/device-api.project/commits/e7e9684)) <a name="0.0.1-alpha.97"></a> ## [0.0.1-alpha.97](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.96...v0.0.1-alpha.97) (2019-07-29) ### Features * **StringConverter:** improved StringConverter to handle other string encoding types ([2a949d2](https://bitbucket.org/iotize-solutions/device-api.project/commits/2a949d2)) <a name="0.0.1-alpha.96"></a> ## [0.0.1-alpha.96](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.95...v0.0.1-alpha.96) (2019-07-23) ### Bug Fixes * **Tap:** do not complete SessionState observable on disconnection anymore. ([a18222b](https://bitbucket.org/iotize-solutions/device-api.project/commits/a18222b)) <a name="0.0.1-alpha.95"></a> ## [0.0.1-alpha.95](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.94...v0.0.1-alpha.95) (2019-07-22) ### Bug Fixes * **TlvBundleConverter:** improved TlvBundleConverter class to support multiple variables that points to a same variable id ([1d07de8](https://bitbucket.org/iotize-solutions/device-api.project/commits/1d07de8)) ### Features * **TapClient:** improved error handling by adding TapClientError class and errors codes ([5c369f3](https://bitbucket.org/iotize-solutions/device-api.project/commits/5c369f3)) * improved error handling ([ebca30e](https://bitbucket.org/iotize-solutions/device-api.project/commits/ebca30e)) <a name="0.0.1-alpha.94"></a> ## [0.0.1-alpha.94](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.93...v0.0.1-alpha.94) (2019-06-25) ### Features * **Monitoring:** added VariableMonitorState enum ([b3208d4](https://bitbucket.org/iotize-solutions/device-api.project/commits/b3208d4)) <a name="0.0.1-alpha.93"></a> ## [0.0.1-alpha.93](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.91...v0.0.1-alpha.93) (2019-06-06) ### Bug Fixes * **Bundle:** fix create from bundle config to properly initialized converter ([54b14b2](https://bitbucket.org/iotize-solutions/device-api.project/commits/54b14b2)) ### Features * **BundleManager:** allow `addFromConfig` now accept an array of config ([29a3d29](https://bitbucket.org/iotize-solutions/device-api.project/commits/29a3d29)) * **ComProtocol:** improved error codes ([d5c0aba](https://bitbucket.org/iotize-solutions/device-api.project/commits/d5c0aba)) <a name="0.0.1-alpha.92"></a> ## [0.0.1-alpha.92](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.91...v0.0.1-alpha.92) (2019-05-24) ### Features * **ComProtocol:** improved error codes ([d5c0aba](https://bitbucket.org/iotize-solutions/device-api.project/commits/d5c0aba)) <a name="0.0.1-alpha.91"></a> ## [0.0.1-alpha.91](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.90...v0.0.1-alpha.91) (2019-05-22) ### Bug Fixes * **SinglePacket:** `SinglePacket.fillComputedField` is now using actual payload data length to compute padding ([c1c49ce](https://bitbucket.org/iotize-solutions/device-api.project/commits/c1c49ce)) * **SinglePacketConverter:** fix CRC computation ([ebd9118](https://bitbucket.org/iotize-solutions/device-api.project/commits/ebd9118)) <a name="0.0.1-alpha.90"></a> ## [0.0.1-alpha.90](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.89...v0.0.1-alpha.90) (2019-05-21) <a name="0.0.1-alpha.89"></a> ## [0.0.1-alpha.89](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.88...v0.0.1-alpha.89) (2019-05-17) ### Bug Fixes * **VariableMonitoring:** check tap response code when fetching variable value ([b042658](https://bitbucket.org/iotize-solutions/device-api.project/commits/b042658)) ### Features * **Tap:** `Tap.loadSinglePacketInStore()` can now be cancel by unsubscribing from observable ([3e78dd1](https://bitbucket.org/iotize-solutions/device-api.project/commits/3e78dd1)) <a name="0.0.1-alpha.88"></a> ## [0.0.1-alpha.88](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.87...v0.0.1-alpha.88) (2019-05-14) ### Bug Fixes * **QueueComProtocol:** cancel breaking api changes ([0c40771](https://bitbucket.org/iotize-solutions/device-api.project/commits/0c40771)) <a name="0.0.1-alpha.87"></a> ## [0.0.1-alpha.87](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.86...v0.0.1-alpha.87) (2019-05-14) ### Bug Fixes * **QueueComProtocol:** revert _send method visiblity change to private ([7e2c2fd](https://bitbucket.org/iotize-solutions/device-api.project/commits/7e2c2fd)) <a name="0.0.1-alpha.86"></a> ## [0.0.1-alpha.86](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.85...v0.0.1-alpha.86) (2019-05-14) ### Bug Fixes * **QueueComProtocol:** bug unhandled promise rejection when there is a timeout during send ([6ac419d](https://bitbucket.org/iotize-solutions/device-api.project/commits/6ac419d)) <a name="0.0.1-alpha.85"></a> ## [0.0.1-alpha.85](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.84...v0.0.1-alpha.85) (2019-05-10) ### Features * **Client:** added interceptor feature ([8935e88](https://bitbucket.org/iotize-solutions/device-api.project/commits/8935e88)) <a name="0.0.1-alpha.84"></a> ## [0.0.1-alpha.84](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.83...v0.0.1-alpha.84) (2019-05-09) ### Features * added AdpService to available tap service ([ea28c23](https://bitbucket.org/iotize-solutions/device-api.project/commits/ea28c23)) <a name="0.0.1-alpha.83"></a> ## [0.0.1-alpha.83](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.82...v0.0.1-alpha.83) (2019-05-09) <a name="0.0.1-alpha.82"></a> ## [0.0.1-alpha.82](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.82) (2019-05-07) ### Bug Fixes * TapStreamCore.readU2/readU4/readF4 are now calling the right method according to endianess ([61b63e0](https://bitbucket.org/iotize-solutions/device-api.project/commits/61b63e0)) ### Features * added debug lib ([e5cd6bf](https://bitbucket.org/iotize-solutions/device-api.project/commits/e5cd6bf)) * **Target:** added converter for getAdpStats() ([acda38e](https://bitbucket.org/iotize-solutions/device-api.project/commits/acda38e)) <a name="0.0.1-alpha.81"></a> ## [0.0.1-alpha.81](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.81) (2019-05-06) ### Features * added debug lib ([e5cd6bf](https://bitbucket.org/iotize-solutions/device-api.project/commits/e5cd6bf)) <a name="0.0.1-alpha.80"></a> ## [0.0.1-alpha.80](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.80) (2019-05-06) <a name="0.0.1-alpha.79"></a> ## [0.0.1-alpha.79](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.78...v0.0.1-alpha.79) (2019-04-30) ### Bug Fixes * **TlvConverter:** fix buffer convertion from uint8array (using byteOffset) ([cbf00f6](https://bitbucket.org/iotize-solutions/device-api.project/commits/cbf00f6)) ### Features * **DataLogger:** added data logger features ([e53acc2](https://bitbucket.org/iotize-solutions/device-api.project/commits/e53acc2)) * added `VariableService.putName`, VariableService.putUnit`, `BundleService.putName` methods. Added AdpControlIn.Command and AdpControlOut.ResultCode extra values ([73bc468](https://bitbucket.org/iotize-solutions/device-api.project/commits/73bc468)) <a name="0.0.1-alpha.78"></a> ## [0.0.1-alpha.78](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.77...v0.0.1-alpha.78) (2019-03-27) ### Bug Fixes * **Tap:** fix useComProtocol to actually change protocol when there was already a protocol ([9a0e98b](https://bitbucket.org/iotize-solutions/device-api.project/commits/9a0e98b)) <a name="0.0.1-alpha.77"></a> ## 0.0.1-alpha.77 (2019-03-27) ### Features * **Client:** added function `send()` * **Tap:** added `nfcPairing()` function <a name="0.0.1-alpha.76"></a> ## 0.0.1-alpha.76 (2019-03-27) ### Features * **Tap:** added `useComProtocol()` function to change current communication protocol <a name="0.0.1-alpha.75"></a> ## 0.0.1-alpha.75 (2019-03-27) ### Features * **InterfaceService:** added `getNfcAutologProfileId()` and `putNfcAutologProfileId()` ### BREAKING CHANGES * **ScramService:** renamed `getScramHashIt()` to `getHashIteration()` and changed return type to `number` <a name="0.0.1-alpha.74"></a> ## 0.0.1-alpha.74 (2019-03-19) ### Bug Fixes * **BundleService:** getAcl() now returns a uint16 (instead of uint8) * **VariableService:** putBundleId() now takes a uint16 as body (instead of uint32) <a name="0.0.1-alpha.73"></a> ## [0.0.1-alpha.73](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.72...v0.0.1-alpha.73) (2019-03-19) ### Bug Fixes * **EnumConverter:** fix encoding ([566772b](https://bitbucket.org/iotize-solutions/device-api.project/commits/566772b)) * **TargetProtocol:** fix TargetService.getAvailableProtocols() response converter ([fce3773](https://bitbucket.org/iotize-solutions/device-api.project/commits/fce3773)) <a name="0.0.1-alpha.72"></a> ## [0.0.1-alpha.72](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.71...v0.0.1-alpha.72) (2019-03-13) ### Bug Fixes * **Typings**: * removed `PQueue` export <a name="0.0.1-alpha.71"></a> ## 0.0.1-alpha.71 (2019-03-12) ### Bug Fixes * **Typings**: * removed `Buffer` export in Tlv class (it fix tsc error TS2580: Cannot find name 'Buffer') * added `@types/crypto-js` as a dependency ### Features * **Tap:** added static factory methods `Tap.create()` and `Tap.fromProtocol()` * **TargetService**: * added `putProtocol()` method * **BundleService** * added `create()` method * **VariableService** * added `create()` method * changed return type of `getFormat()` to `VariableFormat` * changed parameter type of `putFormat()` to `VariableFormat` * **GroupService** * added `create()` method * **InterfaceService** * added `getSpecialFeatureProfile()`, `setSpecialFeatureProfile()`, `putSpecialFeatureProfile()` methods * **Models**: added `TargetProtocol.NONE` type ### BREAKING CHANGES * Change model `ReadWriteRights` (added field `groupId`) * Changed `GroupService.putAcl()` method arguments * Renamed method `TargetService.getModbusSubProtocol()` to `TargetService.getSubProtocol()` * Renamed method `TargetService.postModbusSubProtocol()` to `TargetService.setSubProtocol()` <a name="0.0.1-alpha.70"></a> ## 0.0.1-alpha.70 (2019-03-06) ### Bug Fixes * **AdpService:** fix getControlIn() parameter ### Features * **TargetService:** added get TargetService.getReceivedCount() ### Others * Removed log messages. Most of theme are now displayed with `console.debug` <a name="0.0.1-alpha.69"></a> ## 0.0.1-alpha.69 (2019-03-04) ### Bug Fixes * **Tap:** fix function loadSinglePacketInStore as it was never completed + properly catch error <a name="0.0.1-alpha.68"></a> ## 0.0.1-alpha.68 ### Bug Fixes * **TargetService.modbusWrite:** fix method type for modbusWrite (now POST) ### Features * **Monitoring:** added DefaultVariableMonitor.fromVariable() monitor factory function * **Monitoring:** improved monitor to work with modbus registers and memory address. * **Tap:** added Tap.loadSinglePacketInStore() function ### BREAKING CHANGES * **Monitoring:** renamed class Variable to VariableConfig <a name="0.0.1-alpha.67"></a> ## 0.0.1-alpha.67 (2019-02-25) ### Features * **AdpControl:** added setter (setAdpControlOut) and getter (getAdpControlIn) ([2109827](https://bitbucket.org/iotize-solutions/device-api.project/commits/2109827)) ### Bug fixes * **ModbusOptions**: fix encoding/decoding of ModbusOptions model <a name="0.0.1-alpha.66"></a> ## 0.0.1-alpha.66 (2019-02-19) ### BREAKING CHANGES: * `ServiceCallType` now take an `EncoderFct` instead of `ConverterFunction` as `bodyEncoder` attribute ### Bug Fixes * **Client:** return error observable instead of throwing errors (impact encryption() and command()) ### Features * **Api:** Added ConverterFunctionAdapter * **Api:** added encoder/decoder function definition * **Converter:** added ByteSwapConverter * **TapStreamWriter:** add constructor from buffer <a name="0.0.1-alpha.65"></a> ## 0.0.1-alpha.65 (2019-02-18) ### Bug Fixes * **UartSettings:** fix converter ### Features * added adp methds in new service called *AdpService* * added **Variable::readProfile** resource * added **Interface::setAdpContronIn** resource * added **Interface::getAdpControlOut** resource <a name="0.0.1-alpha.64"></a> ## 0.0.1-alpha.64 (2019-02-12) ### Bug Fixes * **TapStream:** fix TapStreamReader.fromArray() method when using array where its buffer is different <a name="0.0.1-alpha.63"></a> ## 0.0.1-alpha.63 (2019-02-08) ### Bug Fixes * **InterfaceLock** fix scram option encoding/decoding * **EnumConverters** fix all enum converters <a name="0.0.1-alpha.62"></a> ## 0.0.1-alpha.62 (2019-02-06) ### Bug Fixes * **build** removed missing dependency <a name="0.0.1-alpha.60"></a> ## 0.0.1-alpha.59 (2019-01-22) ### Features * **TapDevice**: * Added experimental `sendSinglePacket(packet)` function to send `SinglePacket` (not fully tested) ### BREAKING CHANGES: Api has been regenerted, some services have been added. * Services * **DatalogService** renamed to **DataLogService** * All functions containing **datalog** have been renamed to **dataLog** * **DeviceService::getPublicPassword()** has been **removed** * **InterfaceService::postLoginUid()** has been **renamed** to **loginWithUID(uid)** * **InterfaceService::getAuthorizedHostProtocol()** return type has been changed to **Array\<HostProtocol\>** * **InterfaceService::postAuthorizedHostProtocol(Array\<HostProtocol\>)** parameter type changed * **InterfaceService::multiCommands()** renamed to **multiRequests()** * **InterfaceService::getCloudMqttPeriod()** renamed to **getUploadPeriod()** * **GroupService::postPassword()** renamed to **changePassword()** * **TargetService::getProtocolList()** renamed to **getAvailableProtocols()** and return type changed to **Array\<TargetProtocol\>** * Added function **GroupService:changePasswordKey()** * Secure element related functions have been moved to **SecureElementService** * Models: * **ListAclEntry** renamed to **AclEntries** <a name="0.0.1-alpha.59"></a> ## 0.0.1-alpha.59 (2018-12-17) ### Bug Fixes * **TargetService:** fix readBytes() and deprecated read() ([9c451da](https://github.com/iotize-solutions/iotize-device-client.js/commit/9c451da)) <a name="0.0.1-alpha.58"></a> ## 0.0.1-alpha.58 (2018-12-17) ### Features * **FormatHelper:** FormatHelper now accept a null parameter (returns empty string) ([af4136f](https://github.com/iotize-solutions/iotize-device-client.js/commit/af4136f)) * **testing:** ConverterHelper::buffer() now checks if it's a valid hexadecimal string (throw error otherwise) ([8299f8c](https://github.com/iotize-solutions/iotize-device-client.js/commit/8299f8c)) * **testing:** improve unit tests. they can now be run against a real or a mock device ([ec098c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/ec098c2)) <a name="0.0.1-alpha.57"></a> ## 0.0.1-alpha.57 (2018-11-19) ### Bug Fixes * **NumberConverter:** fix toOpaqueMsb() when passing 16 bits number ([03ba12f](https://github.com/iotize-solutions/iotize-device-client.js/commit/03ba12f)) ### Features * **NumberConverter:** fix NumberConverter with SIGNED value ([c6cd694](https://github.com/iotize-solutions/iotize-device-client.js/commit/c6cd694)) * **Tap:** add alias type Tap on IoTizeDevice. Renamed TapDevice to TapInterface ([0863a28](https://github.com/iotize-solutions/iotize-device-client.js/commit/0863a28)) * **TapDevice:** add second argument to ([9b20ff2](https://github.com/iotize-solutions/iotize-device-client.js/commit/9b20ff2)) * **TLVParser:** logger can be pass as a parameter. Default value is console ([e4253ff](https://github.com/iotize-solutions/iotize-device-client.js/commit/e4253ff)) <a name="0.0.1-alpha.56"></a> ## 0.0.1-alpha.56 (2018-11-16) ### Bug Fixes * **NumberConverter:** fix toOpaqueMsb() when passing 16 bits number ([03ba12f](https://github.com/iotize-solutions/iotize-device-client.js/commit/03ba12f)) ### Features * **Tap:** add alias type Tap on IoTizeDevice. Renamed TapDevice to TapInterface ([0863a28](https://github.com/iotize-solutions/iotize-device-client.js/commit/0863a28)) * **Tap:** add second argument to ([9b20ff2](https://github.com/iotize-solutions/iotize-device-client.js/commit/9b20ff2)) * **TLVParser:** logger can be pass as a parameter. Default value is console ([e4253ff](https://github.com/iotize-solutions/iotize-device-client.js/commit/e4253ff)) <a name="0.0.1-alpha.55"></a> ## 0.0.1-alpha.55 (2018-11-13) ### Bug Fixes * **NumberConverter:** fix NumberConverter with SIGNED value ([c6cd694](https://github.com/iotize-solutions/iotize-device-client.js/commit/c6cd694)) <a name="0.0.1-alpha.54"></a> ## 0.0.1-alpha.54 (2018-11-06) ### Bug Fixes * **bundle service:** fix putAclGroupId method ([eb44d9b](https://github.com/iotize-solutions/iotize-device-client.js/commit/eb44d9b)) <a name="0.0.1-alpha.53"></a> ## 0.0.1-alpha.53 (2018-11-06) ### Bug Fixes * **converter:** fix ipv4 string ENCODER ([34a54cd](https://github.com/iotize-solutions/iotize-device-client.js/commit/34a54cd)) * **converter:** fix TargetCoreType ([324414f](https://github.com/iotize-solutions/iotize-device-client.js/commit/324414f)) ### Features * **client:** add 4th parameter to lwm2m path for resource id (for example /1/2/3/4) ([9162f10](https://github.com/iotize-solutions/iotize-device-client.js/commit/9162f10)) <a name="0.0.1-alpha.52"></a> ## 0.0.1-alpha.52 ### Bug Fixes * **MaskConverter:** fix mask converter when input array is too big to be converted as a number. It will now take at max the 4 first bytes of the input ([7c18be4](https://github.com/iotize-solutions/iotize-device-client.js/commit/7c18be4)) * **service:** fix how absctact service deduce the return type of the request ([5848b77](https://github.com/iotize-solutions/iotize-device-client.js/commit/5848b77)) ### Features * **unit test:** add functions to load device from a snapshot file for unit tests ([265ffaf](https://github.com/iotize-solutions/iotize-device-client.js/commit/265ffaf)) <a name="0.0.1-alpha.51"></a> ## 0.0.1-alpha.51 <a name="0.0.1-alpha.50"></a> ## 0.0.1-alpha.50 (2018-11-02) ### BREAKING CHANGES: * removed function `IoTizeDevice.lwm2mCall()` function in favor of object `IoTizeDevice.lwm2m` * Splited api default config and ApiConfig class * Removed getter `IoTizeDevice::converter` in favor of `IoTizeDevice::apiConfig` ### Features * **Encoder:** added encoder function type ([859f661](https://github.com/iotize-solutions/iotize-device-client.js/commit/859f661)) * **PathParameter:** added function fillAllParams() ([3800c0c](https://github.com/iotize-solutions/iotize-device-client.js/commit/3800c0c)) <a name="0.0.1-alpha.49"></a> ## 0.0.1-alpha.49 (2018-11-01) The api has been regenerated. There are several breaking changes. ### BREAKING CHANGES: **Be carefull, this list not exaustive** * **services**: - **DeviceService**: - `postFactoryReset()` renamed to `factoryReset()` - `postConfigVersion()` renamed to `reloadConfig()` - **TargetService**: - `postDisconnect()` renamed to `disconnect()` - `postConnect()` renamed to `connect()` * **models** - **UartSettings** - field `parity` renamed to `bitParity` - **LoginCredential** - field `hash_password` renamed to `hashPassword` - **InterfaceLock** - field `scram_activated` renamed to `scramActivated` <a name="0.0.1-alpha.48"></a> ## 0.0.1-alpha.48 (2018-10-15) ### Bug Fixes * **tlv:** removed lwm2m-codec dependency as it's not working in a browser and it's too heavy <a name="0.0.1-alpha.47"></a> ## 0.0.1-alpha.47 (2018-10-12) ### BREAKING CHANGES: * **rxjs**: rxjs@^6 is now a peer dependency ### Bug Fixes * **converter:** fixing target protocol decoding ([1a44038](https://github.com/iotize-solutions/iotize-device-client.js/commit/1a44038)) * **service:** fix return type of TargetService::read ([5d96504](https://github.com/iotize-solutions/iotize-device-client.js/commit/5d96504)) ### Features * **TargetServer:** added send() function for transparent send to target without waiting for response ([b2fce34](https://github.com/iotize-solutions/iotize-device-client.js/commit/b2fce34)) <a name="0.0.1-alpha.46"></a> ## 0.0.1-alpha.46 (2018-10-03) ### Bug Fixes * **converter:** fixing target protocol decoding ([1a44038](https://github.com/iotize-solutions/iotize-device-client.js/commit/1a44038)) ### Features * **TargetServer:** added send() function for transparent send to target without waiting for response ([b2fce34](https://github.com/iotize-solutions/iotize-device-client.js/commit/b2fce34)) <a name="0.0.1-alpha.45"></a> ## 0.0.1-alpha.45 (2018-10-02) ### Features * **device:** added target memory read / write services (usefull for tapnpass) ([beea38c](https://github.com/iotize-solutions/iotize-device-client.js/commit/beea38c)) <a name="0.0.1-alpha.44"></a> ## 0.0.1-alpha.44 (2018-09-28) ### BREAKING CHANGES: * **Mock protocol**: Mock protocol/Mock client is now part of an external library ### Features * **Device Configurator:** Added device configurator feature. Usefull for example to setup list of variables/bundles ([8902f1e](https://github.com/iotize-solutions/iotize-device-client.js/commit/8902f1e)) * **Device Response:** method body() now take the decoder as an optional parameter ([73656cd](https://github.com/iotize-solutions/iotize-device-client.js/commit/73656cd)) * **Optimization:** Cleanup and size optimization of bundle + added zipped output file ([fd8add7](https://github.com/iotize-solutions/iotize-device-client.js/commit/fd8add7)) <a name="0.0.1-alpha.43"></a> ## 0.0.1-alpha.43 (2018-09-11) ### Bug Fixes * **device:** Device login when scram activated is now returning true promise when successful ([c447a89](https://github.com/iotize-solutions/iotize-device-client.js/commit/c447a89)) ### Features * **ByteByffer:** addNumber with endianess ([0c77849](https://github.com/iotize-solutions/iotize-device-client.js/commit/0c77849)) <a name="0.0.1-alpha.42"></a> ## 0.0.1-alpha.42 (2018-09-05) ### Features * **ByteByffer:** addNumber with endianess ([0c77849](https://github.com/iotize-solutions/iotize-device-client.js/commit/0c77849)) <a name="0.0.1-alpha.41"></a> ## 0.0.1-alpha.41 (2018-09-05) ### Features * **ByteBuffer:** Add setter for offset and improve readNumber function ([1654192](https://github.com/iotize-solutions/iotize-device-client.js/commit/1654192)) * **monitoring:** Added bundle monitoring feature ([ebb47e4](https://github.com/iotize-solutions/iotize-device-client.js/commit/ebb47e4)) * **utility:** add utility function to compute padding accoding to a length and a module ([68b3605](https://github.com/iotize-solutions/iotize-device-client.js/commit/68b3605)) <a name="0.0.1-alpha.38"></a> ## 0.0.1-alpha.38 (2018-08-23) ### Features * Added scram login / encrypted communication feature ### Features * Renamed actual VariableMonitor::stop() to VariableMonitor::pause() and added new function VariableMonitor::stop() that terminate observable (breaking change) ([072fb42](https://github.com/iotize-solutions/iotize-device-client.js/commit/072fb42)) <a name="0.0.1-alpha.37"></a> ## 0.0.1-alpha.37 (2018-08-03) ### Bug Fixes * bug service passing data to lwm2m ([719163f](https://github.com/iotize-solutions/iotize-device-client.js/commit/719163f)) <a name="0.0.1-alpha.36"></a> ## 0.0.1-alpha.36 (2018-07-30) ### Bug Fixes * fix vulerability issues ([0a10b64](https://github.com/iotize-solutions/iotize-device-client.js/commit/0a10b64)) ### Features * added template type for payload in single packet ([45d7eac](https://github.com/iotize-solutions/iotize-device-client.js/commit/45d7eac)) <a name="0.0.1-alpha.35"></a> ## 0.0.1-alpha.35 (2018-07-25) <a name="0.0.1-alpha.34"></a> ## 0.0.1-alpha.34 (2018-07-02) ### Breaking change * Body converter do not expect a Response object anymore but only a Uint8Array <a name="0.0.1-alpha.33"></a> ## 0.0.1-alpha.33 (2018-06-28) ### Bug Fixes * browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e)) ### Features * **device:** added login feature ([19978e6](https://github.com/iotize-solutions/iotize-device-client.js/commit/19978e6)) * add isConnected function in device ([2a36c94](https://github.com/iotize-solutions/iotize-device-client.js/commit/2a36c94)) <a name="0.0.1-alpha.31"></a> ## 0.0.1-alpha.31 (2018-06-22) ### Bug Fixes * browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e)) <a name="0.0.1-alpha.30"></a> ## 0.0.1-alpha.30 (2018-06-22) ### Bug Fixes * browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e)) <a name="0.0.1-alpha.29"></a> ## 0.0.1-alpha.29 (2018-06-22) ### Features * added hasher to api ([5dcb9c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/5dcb9c2)) * added single packet converter ([5fd8ab1](https://github.com/iotize-solutions/iotize-device-client.js/commit/5fd8ab1)) * updated generated device api ([45455bd](https://github.com/iotize-solutions/iotize-device-client.js/commit/45455bd)) <a name="0.0.1-alpha.23"></a> ## 0.0.1-alpha.23 (2018-06-12) ### Bug Fixes * several fixes ([fa59f80](https://github.com/iotize-solutions/iotize-device-client.js/commit/fa59f80)) * **comunication:** Copy send data before queuing the request. This will fix monitoring bug ([97bc3ed](https://github.com/iotize-solutions/iotize-device-client.js/commit/97bc3ed)) ### Features * first commit for device scanner definition ([928cd33](https://github.com/iotize-solutions/iotize-device-client.js/commit/928cd33)) <a name="0.0.1-alpha.20"></a> ## 0.0.1-alpha.20 (2018-06-11) ### Bug Fixes * several fixes ([fa59f80](https://github.com/iotize-solutions/iotize-device-client.js/commit/fa59f80)) ### Features * first commit for device scanner definition ([928cd33](https://github.com/iotize-solutions/iotize-device-client.js/commit/928cd33)) <a name="0.0.1-alpha.19"></a> ## 0.0.1-alpha.19 (2018-06-08) <a name="0.0.1-alpha.18"></a> ## 0.0.1-alpha.18 (2018-06-08) <a name="0.0.1-alpha.17"></a> ## 0.0.1-alpha.17 (2018-06-08) <a name="0.0.1-alpha.16"></a> ## 0.0.1-alpha.16 (2018-06-08) <a name="0.0.1-alpha.15"></a> ## 0.0.1-alpha.15 (2018-06-08) ### Features * **device:** add device factory utility function ([3f514e9](https://github.com/iotize-solutions/iotize-device-client.js/commit/3f514e9)) * **protocol:** add queuing protocol system ([6ae391c](https://github.com/iotize-solutions/iotize-device-client.js/commit/6ae391c)) * add utility functions ([895d3ae](https://github.com/iotize-solutions/iotize-device-client.js/commit/895d3ae)) * Adding target variable feature to monitor variables ([cc063c3](https://github.com/iotize-solutions/iotize-device-client.js/commit/cc063c3)) # Change log <a name="0.0.1-alpha.14"></a> ## 0.0.1-alpha.14 (2018-06-07) ### Bug Fixes * bugfix in constructor. Remove unexpected call to service function ([d405544](https://github.com/iotize-solutions/iotize-device-client.js/commit/d405544)) * fix client update for iotize device. It will now also change client reference for services ([d4c92c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/d4c92c2)) ### Features * **device:** getters/setters for converter map for Iotize Device ([df9ce38](https://github.com/iotize-solutions/iotize-device-client.js/commit/df9ce38)) * add result code translation file ([bd9f120](https://github.com/iotize-solutions/iotize-device-client.js/commit/bd9f120)) * Added password hasher converter feature ([bc2b095](https://github.com/iotize-solutions/iotize-device-client.js/commit/bc2b095)) * added reponse error class for device response error ([7c2e5b3](https://github.com/iotize-solutions/iotize-device-client.js/commit/7c2e5b3)) * errorcode is now an optional parameter for Response.ERROR() ([8773bdb](https://github.com/iotize-solutions/iotize-device-client.js/commit/8773bdb)) <a name="0.0.1-alpha.13"></a> ## 0.0.1-alpha.13 (2018-06-06) ### Features * Added connect/disconnect functions ([fdfd662](https://github.com/iotize-solutions/iotize-device-client.js/commit/fdfd662)) * added float converter ([c1fca37](https://github.com/iotize-solutions/iotize-device-client.js/commit/c1fca37))