:memo:Edge 365 Release Note
===
## Version Release
## Version: 2.0.28 (2023/10/12)
### Device Management
#### [Update]
* Web Page Update
* Modify header style according to UI design
* Device Management Portal
* To improve network security, use cookie in JWT format to store user information
* X.509
* Add the capability to run certification program in WISE-PaaS platform
#### [Fix]
* Web Page
* [#34906] [DPM] The style of header menu are not the same on DM and DPM
* [#32333] [UM] DPM should not show User Management item in header dropdown menu
* [#34928] [DPM] Use csv template to import device will show fail
* X.509
* [#34916] [DPM] Edgelink device can't connect to EdgeHub due to Cert Revoke API error
* [#34882] [DPM] Revoke cert regeneration task will not be executed if expired cert regeneration task is executed
* Others
* [#34940] [DPM] Platform agent login error due to GraphQL API is missing
* [#31212] [DPM] When IO Configurations in ADAM/WISE are changed, cloud sends only modified MQTT to device
* [#34941] [DPM] Formula of calcation parameter will be clear when editing
### Data Management
#### [Update]
- #### Core
- [api-portal] Limit single client login for a user account (This feature is disabled by default).
- [api-portal] API update
- (Add) ApiInfo.anyUsernameAuthEnable
- [Data Packer] Federate APIs to federation server after all DB connections are ready.
#### [Fix]
- #### Core
- [Data Packer] Startup incompletly while DBMaster not ready
- [Data Archiver] Wrong calculation for the recording rate data of cumulative parameter while the data upload frequency greater than recording rate.
- #### Data Management
- [Portal] The search for the object parameter list did not yield the correct page numbers.
- [#34196][DM] Plug in will continue to send even the related calculation parameter is deleted
- #### Command Center
- [#34905][CC] Alarm panel doesn't show anything
## Version: 2.0.27 (2023/09/28)
### Device Management
#### [Update]
* Web Page Update
* Modify header style according to new UI design
* Batch Create Device
* Modify web pages according to new UI design
* Display max. 50 errors if CSV file format contains errors
* EdgeLink Firmware OTA
* My Device: If OTA file is downloading, display progress bar in OTA History
* Device Group:
* If OTA file is downloading, display progress bar in OTA History.
* In OTA History, display detail OTA history instead of display OTA summary.
* Device Management Portal
* Add Upload/Remove Root and Intermediate Certificates buttons for Azure IoT Hub
#### [Fix]
* X.509
* [#34886] [DPM] EdgeHub will send the "Rotate" message even the rotate mission is done
### Data Management
#### [Update]
- #### Core
- [UI] Change logo from Edge365 to EdgeSync 360
- [log] Add logs of tag / device / object's modification in devTool page
- [DataWorker] add FreeMemThreshold env to force trigger full garbage collection
- [DataWorker] If there is no data update of Text parameter for an extended period, add a record to the RAWData collection every day.
- [dbmaster] hide legacy GraphQL APIs from federation server
- #### Data Management
- [Rule Management][Pivot environment only] parameter mapping rule import and export
#### [Fix]
- #### Core
- [UI][Data Archiving] Reload parameter's default value while updating recording rate
- [UI][Data Archiving] Update parameter's recording rate but it hasn't taken effect on the Archiver
- [Alarm] init redis Pub Sub nil bug in pivot environment
- [DataArchiver] Cumulative parameters' bugs
- some cases may cause min value = 0, avg (difference) = max value
- data rate = recording rate, wrong data process with * (bad) value
- data rate = recording rate, an error in calculation occurs when processing consecutive recording rates.
- [Evaluator] When the number of calculation parameters exceed 1000, the calculation thread might be stopped, resulting in the omission of certain calculations.
- [Evaluator] Load a calculation parameter with TimeMatch function will cause PG error: "Postgresql.getOneTagInfo SQLException: ERROR: column reference "devid" is ambiguous"
- #### Data Management
- [Alarm user group] "Send All Test" does not work.
- [#34522][DM] There is no error message in object import if uploading file fail.
- [#34456][DM] The profile search result is empty if first enter in the 'Add object from profile' page.
- [#34555][DM] SelectAll of Data Archiving functionality won't work when set the recording rate
- [#34470][DM] import template profile error
- [#34472][DM] The search result of profile's parameters is null
- [#34341][DM] Search result of parameter aren't the same on page1 and page2
- [#34618][DM] The calculation parameter doesn't work if export and import same object. (from Mirai reported)
- #### User Management
- [#34683][UM] Create a command center permission,but can't access the command center
- #### Command Center
- [Dashboard][Alarm panel] Export csv with UTC time, not local time
- [Dashboard][Ene report panel] decimal setting does not work
- [Datasource backend] it took long time to get alarm log back
- [#34828][CC] dashboard will load over 1 min to show the alarm data
- [#31426][Dashboard][Ene switch panel] The language of Switch panel label does not change when switching the Dashboard's language
## Version: 2.0.26 (2023/09/15)
### Device Management
#### [Update]
* Web Page Update
* Change logo from Edge365 to EdgeSync 360
* Modify Tab style in My Device and Device Group according to new UI design
* Adjust table column width in My Device List
* OTA Configuration File
* Increase the number of COTA files from three files to six files
* SCADA Model
* In device Copy Credential, add DCCS API in JSON format
* In On-premise environment, remove Azure IotHub info. in Connection Tab
* X.509
* Certificate Rotation: After perform root or intermediate certificates rotation, send result by E-Mail if user has set E-Mail in Device Management Portal.
* Certificate Revoke: Do not send new certificate notify MQTT message to device after new device certificates are created
* Device Management Portal
* Change logo from Edge365 to EdgeSync360
* Add version format of EdgeLink firmware OTA file: User could add a single letter(a~z or A~Z) in the last version number
* For example, user could use version 2.8.0, 2.8.3r or 2.8.3R
* Mail notify:
* Add support of STARTTLS protocol
* Add operation log for X.509 certificates related user operations
#### [Fix]
* X.509
* [#34617] [DPM] Cert Revoke button always show "In progress"
* [#34671] [DPM] Suggest to add a confirm dialog after clicking X.509 cert revoke button.
* [#34685] [DPM] It will continue sending Rotate MQTT msg after cert revoking
* Multi-Languages
* [#34550] [DPM] Some items need to tranlate to mandrain
* [#34549] [DPM] The translation of ADAM OTA should be the same
* [#34547] [DPM] The Tooltips in Scheduling should be translated to Mandarin
* Scheduling
* [#34170] [DPM] The periodic time setting should only be accessed by number
* [#34548] [DPM] The sehedule info page in schedule list can't be seen
* [#34425] [DPM] There is no warning message when the number of step1 and step 2 are not the same on doing schdule setting
* Others
* [#34474] [DPM] OTA FW list doesn't be sorted by release time on device group
* [#34466] [DPM] The confirm dialog message should have more information on it
* [#34650] [DPM] Reboot device error message content is inconsistent in GeneralPC
### Data Management
#### [New]
- #### Core
- [UI] New error message UI for following pages
- group
- object
- plugin
- forwarding
- alarm setting
- user
#### [Update]
- #### Core
- [Portal] Revise refresh token stretegy to ensure token will be refreshed properly.
- [dataworker] Add delKey interface to ensure delete Redis key successful
- [dbmaster] The limit for the maximum number of returned original data is 5000 records per query.
- #### Data Management
- [Parameter] Update TotalObjects formula description
- #### Command Center
- [Command center] add anonymous mode
#### [Fix]
- #### Core
- [Alarm][API] Fix highLowEvent logAnalysisInRange return format
- [api-portal] Create parameter with service secret will cause error
- [Import-export] Import calculation parameter with function formula failed.
- [Evaluator] calculation formula not working, getObjectAlarmStatus() is not working
- [Archiver] Fix app crash & OOM issues
- [dataworker] Did not delete tags completly while receive config with Action=3
- [dataworker] Set device offline due to timeout may set device.active twice
- [dataworker] prevent NullPointerException
- [#34577][DM] User cannot login if adding a user role with greater or equal to 65 character description.
- #### Data Management
- [#34694][DM] The search function doesn't work in calculation parameter Formula library
- [#34633][DM] Cannot create Edgelink device with X.509 in Data connectors page
- [#34627][UM] User cannot login if adding a user role with greater or equal to 65 character description.
- #### User Management
- [#34695][UM] Group permission will be wrong after clicking the last item
- [#34645][UM] The Role name is too long to set
- [#34632][UM] There will be extra fields in the group permission table.
- [#34630][UM] The self-defined user role name is out of the group permission table bound.
- #### Command Center
- [Dashboard Panel] export csv of ene-alarm-panel not completed
- [Datasource backend] objectType in datasource not filter objects properly
- [#34473][CC] Error occurred in dashboard Ene Alarm Panel.
## Version: 2.0.25 (2023/09/01), 2.1.0 (2023/10/16)
### Device Management
#### [Update]
* X.509
* Add Cert revoke
* When user revoke a device cert, Cloud will disable device connection and notify device to remove its certificates. Before establish connection, device also check if its certificates is revokes.
* Add Test API
* Test APIs are only enabled when system is deployed in Develop or QA environment.
#### [Fix]
* My Device
* [#34405] [DPM] The search device result won't work when pressing the next button
* [#34188] [DPM] Improve the user friendly of Remote Terminal in GeneralPC device
* Device Group Scheduling
* [#34170] [DPM] The periodic time setting should only be accessed by number
* [#34407] [DPM] The 50th tag only show half information when doing schedule setting
* Others
* [#34349] [DPM] OTA FW files are not sorted by release time
* [#34406] [DPM] The 50th tag can't be seen when creating primitive parameter
### Data Management
#### [New]
- #### User Management
- Role management
- Allow to create / edit / delete new role in `Root tenant`
- New role can be used in all other tenants
- Allow to assign each scope's permission (Manage/View/None) of a new role.
#### [Update]
- #### Core
- [Home][iFactory Enviroment] Rename Command center as `Command Center Editor`
- [Login] add error code and record to database while login failed
- [APIs]`highLowEvents` support logCountInRange / logElapsedInRange / logCountAndElapsedByAlarmLevelInRange / logAnalysisInRange
- #### Command center
- [UI] When SaaS Composer is installed in this environment, add a hyperlink for SaaS Composer
#### [Fix]
- #### Core
- [Portal] Did not redrect to the 'Sign In' page while token expired
- [API] Mutation auth - set IFPToken cookie only while ifpToken does not existed.
- [API] alarm's `eventId` will change after user update the alarm in UI
- [Packer] Reduce memory usage of parameter info to prevent service OOM
- [Cleaner] Data deletion is incomplete
- [DataWorker] Code refactor of Traffic Throttling strategy.
- [Dataworker] May loss some unwritten data while receives a stop command to halt internal DBthread.
- [Dataworker] The cfg message may be treated as an invalid message when it is delayed in its reception by the Dataworker
- [Archiver] Unnecessary parameter info will be stored in memory
- [Import-export] Fix integration issues with GraphQL Federation v2
- #### Data management
- [#34318][DM] It doesn't be created when consecutive creating parameters on new object
- [Parameter] Default value fields are not correctly validated; if the data type = 'Number', should only allow numeric input, including positive and negative numbers and decimals.
## Version: 2.0.24 (2023/08/18)
### Device Management
#### [Update]
* Firmware OTA(FOTA)/Configuration OTA(COTA)
* If the device is offline, disable the FOTA/COTA button
* Add the confirm dialog when the user clicks the FOTA/COTA button
* In Device Group, add Configuration OTA feature and Log query for ADAM/WISE models
* My Device
* When copy device credential, add CA cert so that device which uses mqtts connection could enable Cert secure check
* Hide Application Tab if the Cloud side does not install AppHub
#### [Fix]
* Device Group
* [#33585] [DPM] Some information page are missing in OTA History page(Device Group)
* [#33587] [DPM] The group 'Configure OTA Model' is missing in Device Group
* Others
* [#34185] [DPM] Error occurred if General PC enable security check when onboard via non-X.509 and SSL(8883) connection
* [#34312] [DPM] The Log page in IO Config History cannot be seen
* [#34239] [DPM] The exist device name will disappear if creating new device in certain steps
* [#34238] [DPM] Device model type error if creating device via "Paste from Clipboard" button
### Data Management
#### [Update]
- #### Core
- [Home][Edge365 only] If a tenant's subscription expired, disable all entries (data management / user management / command center / device management) on tenant home page.
- [API] support `mutation dcSetConstantParameterValues` for setting constant parameter's previous, current, or future data
- [External blob setting] While user disable external blob setting of a tenant, api-portal will modify all objects' `object data kept days` setting that above 731 days back to 731 days for this tenant.
- [Cleaner] Improve the efficiency of `delete` queries for MongoDB
- #### User Management
- [UI] Update role management UI
- #### Command Center
- [Datasource] Allow `FlowCharting` panel to use the functions of Edge365 datasource
#### [Fix]
- #### Core
- [Dataworker] Unable to leave the Traffic Throttling state because the worker did not perform garbage collection.
- [Archiver] Receive data update message from Dataworker without order by time may cause wrong calculation of historical data
- [Notification] If user assign parameter's full path in Notification message, notification service cannot get the correct data of this parameter.
- #### User Management
- [#34327][UM] Cannot add user into Group permission in 'Edit tenant user' page.
- #### Command Center
- [Datasource] If there is no data within the query time range, and the last data before the range is `offline`, the value should not be replenished until it goes `online`
## Version: 2.0.23 (2023/08/04)
### Device Management
#### [New]
* My Device
* For ADAM/WISE/SCADA device models: Add `Copy Credential` button when Edit Device
* Manage Portal
* Add support of Two-factor authentication(2FA) when user logins.
* To use 2FA, user must enable this feature in SSO portal, and use Google or Microsoft Authenticator to generate verification code.
* Add mail notify if X.509 certificate generation failed.
#### [Update]
* Web UI Modify
* My Device: In OTA tab, refresh data when switch tab between Firmware/Config List and Firmware/Config History
* My Device and Device Group: Remove upper space of right side bar
#### [Fix]
* Others
* [#34124] [DPM] Fix add Group Member error in Device Group.
### Data Management
#### [Update]
- #### Core
- [Visualization] Update the datasource of `SaaS Composer` and `Dashboard` to ensure getting the correct group list of a Tenant.
- [DataWorker] Change RAWData collection to 32 collections per day.
- #### Data management
- Viewer mode UI adjustment for the following pages:
- Data archiving
- Plugin
- Forwarding
- Profile management
- User management
- #### User management
- [Tenant User] Tenant users with `Manage` permission of `User list` scope could edit all user's attributes, including `Basic information`, `Contact information`, and `startup dashboard page`, on the Tenant user page.
- [Tenant User] Tenant users with `Manage` permission of the `User list` scope could edit their own attributes, including `Basic information`, `Contact information`, and `startup dashboard page`, on the Tenant user page.
#### [Fix]
- #### Core
- [#34111][DM] The device value on DPM is abnormal.
- [#34153][DM] Raw data weren't copied to external blob
- [Dataworker] The `number` type constant parameter is stored as a `string` type in the `rawdata` collection upon its first addition.
- [Subscribe] Add a new tenant but lost the expired data (Edge365 Environment only)
- #### Data management
- [parameter] Set default value of Constant / Calculation parameter failed.
- [#34189][DM] The query frequency in plugin setting can be input float value.
- [#34123][DM] The last parameter is missing in object parameter page.
- [#33764][DM] Cannot create profile from device with 5000 tags
- [#33761][DM] All the profiles are searchable even if the selection of creator filter is none.
- [#34113][DM] The password field should not show password directly and shoule be "****"
- [#33870][DM] Recording rate will be null when value of recording rate is wrong
- #### User management
- [#33814][UM] Tenant/Group role is Viewer but can operate dashboard panel (Click, Submit, Ack/Report alarm)
## Version: 2.0.22 (2023/07/21)
### Device Management
#### [Update]
* Device Group
* In Devices Tab, disable menu items(Move, Edit, Manage users) of each device if current user is not device owner.
* In Monitor Tab, do not display child group's device information.
* X.509 Certificate
* For certificate, use random serial number instead of sequence number
* Add Clean old data for X.509 related database tables.
#### [Fix]
* Others
* [#33800] [DPM] The information copied from ADAM Utility are not totally pasted on DPM device adding page.
### Data Management
#### [New]
- #### Data forwarding
- The Data forwarding service allows access to Edge365's Parameter data and forwards it to a customer-specified API/MQTT address.
- A Forwarding rule supports sending data to one API or MQTT address.
- The Message Format to be sent can be defined.
- Variables can be defined within the Message, and these variables are bound to the Object's parameters as the data source.
- Forwarding Rules can be defined at any level of the Organization.
- Forwarding Rules are isolated between Organizations.
- Forwarding Rules can define their own call frequency (between 5 to 1440 minutes, in minutes as the unit).
- #### External Blob setting
- Support to configure an external Blob as a data storage space for a tenant.
- Supported blob type:
- Azure storage account
- Ali OSS
- WISE-IoTSuite Blob (Minio)
- #### iMobile & notification integration (iFactory Environment only)
- Support to config iMobile as the destination of notification
- Configure the receiver of iMobile in `Event & action` -> `Alarm user group`
- Only allow the users in a group can be set as the iMobile receiver
#### [Fix]
- #### Core
- [#34061][DM] Error message popup when entering the plugin page
- [Subscribe] Subscription email notification with empty group name
- #### Data management
- [#34107][DM] Authentication item will not be shown when adding Plugin list in one authentication item.
- [#34042][DM] Plugin to set the weather, but didn't get output data
- [#34041][DM] There are 65 devices but only can see 52 when use Engineer right to login
- [#34015][DM] webpage will be white after selecting the "Complex" item when setting the parameter's alarm
- [#33874][DM] Select all check button can't be unchecked after checked when add object from device
- [#33761][DM] All the profiles are searchable even if the selection of creator filter is none.
- [#33755][DM] User can select excel file again when imprt the object is loading
- [#33715][DM] Cancel/Delete button is not very clear due to the longer warming message when delete alarm user group
- [#33588][DM] There are 200 tags , but only 50 tags are added when click the Select all on add object from device
## Version: 2.0.21 (2023/07/07)
### Device Management
#### [New]
* Add X.509 feature for EdgeLink and General-PC device models
* User could choose to use X.509 certification for device connection when create EdgeLink or General-PC device models
#### [Update]
* Device Parameter List
* Use backend pagination list instead of web front end pagination list
#### [Fix]
* Device Group
* [#33728] [DPM] There are 10 devices after searching, but there are shown 100 devices when click search all check box
* [#33732] [DPM] Device name will be cut when device name is too long on WISE OTA history
* Others
* [#33749] [DPM] Fix: Cancel the Guiding Messages by ESC and then the web page is frozen
* [#33828] [DPM] Fix API Self Signed Cert error in HPC environment
* [#33878] [DPM] Event parameter UI wording suggestion
* [#33558] [DPM] There are over 100 device groups, but only show 50 device group on file management
### Data Management
#### [New]
- #### Plugin service
- The Edge365 Plugin Service allows users to create Plugin Functions to import third-party API data into Edge365.
- A Plugin Function supports OAuth2 / Bearer / Basic Authentication / User defined Auth string for API authentication.
- A Plugin Function defines an API Call.
- A Plugin Function supports defining Input data sources.
- It can bind Parameter Values.
- It can accept fixed strings as input.
- A Plugin Function supports defining one or multiple output values from the returned JSON.
- Plugins can define their own call frequency (0 to 1440 minutes, with minutes as the unit; 0 represents the call frequency based on the calculation parameter).
- The newly added Plugin Functions must be invoked by the calculation parameter.
- When the calculation frequency is reached, the calculation point retrieves data from the Plugin Service, and the Plugin Service directly returns the result of the most recent API call to the calculation parameter.
- #### RESTFul api-hub (Edge365 environment only)
- Provide a RESTful API interface for users to access the configuration information and data from Edge365.
- Provide the most common APIs in this verison as follow:
- Login
- Refresh Token
- Set my tenant
- Logout
- Get groups
- Get objects (machines)
- Get parameters
- Get parameter's last value
- Set parameter's value
- #### Two-factor authentication (2FA) (Edge365 environment only)
- Allow user to open Two-factor authentication (2FA) setting in `Account settings` -> `User profile`
- Currently support Google or Microsoft Authenticator
- #### Login to Dashboard (Edge365 environment only)
- New login UI with Dashboard tab for user to login and be redirected to Dashboard website.
- System admin can also set a user's dashboard page to a specific homepage in `Root Tenant` -> `User management` -> `Edit user` -> `Set startup dashboard page` -> `Open a specific homepage` -> set a website for this user.
#### [Update]
- #### Core
- [Dataworker] (iSensing format) Change the data type of ai_stAVG tag from Analog to Discrete
- [Notification backend] Support imobile notification
- [Data Packer] Handle the blob data deletion while delete parameter / delete object / delete group.
- #### Data management
- [Portal] Use new api - "dcGateways.tagCount" to improve UI performance
- [Profile] Only creator can edit or delete the profile.
#### [Fix]
- #### Core
- [#33767][DM] Can't use the device #Mobile related tag to create Profile
- [#33731][DM] Parameter's recording rate data wasn't be deleted when delete the pararmeter
- [#33691][DM] Raw data of calculation parameter is not stable
- [UI] data-connect.json (translation file) will be cached even if the version updated.
-
- #### Data management
- [#33720][DM] The layout will be changed and can't enter any word when the length of alarm category or alarm level is too long
- [#32333][DM] User with Engineer role that without User Management privileges, the Menu list still appears at the top.
## Version: 2.0.20 (2023/06/21)
### Device Management
#### [Update]
* Multiple Languages
* Update some translation of Japanese
#### [Fix]
* Multiple Languages
* [#33713] [DPM] The text in pgrade firmware page(Device groups) is not translated
* [#33750] [DPM] Fix Some text typo in Guiding Messages.
* Device Group
* [#33432] [DPM] It takes over 10 seconds to open the existing device list when adding existing device to device group
* [#33433] [DPM] It takes time to closed the existing device list dialog
* [#33590] [DPM] The Viewer role should not execute OTA in Device Group
* Others
* [#33712] [DPM] Cannot find the latest history of Event(Alarm)
* [#33762] [DPM] Fix: copy credential fail when MQTT host name is IP address
* [#33744] [DPM] Search user on manage users, the result is not as excepted
* [#33799] [DPM] If the device search result is null, then it will enter the Guiding Mode when adding new device.
### Data Management
#### [Update]
- #### Core
- [api-portal] merge internal mqtt message to improve performance
- add parameters
- update parameters
- delete parameters
- [api-portal][API] if lang not include in (en-US,ja-JP,zh-CN,zh-TW),then response en-US as default value.
- #### Data management
- [Profile] Only owner of a profile can modify this profile
#### [Fix]
- #### Core
- [#33772][Alarm] Alarm cannot be triggered in DPM event parameter.
- [#33691][DM] Raw data of calculation parameter is not stable
- [#33642][DM] Lost #EdgeStatus tag when create a new device
- [#33714][Alarm] Alarm cannot be trigger according to deadband
- [Dataworker] When the device sets UsePlatformTimestamp, use the time of RabbitMQ/Azure IoTHub message timestamp instead of received time
- [Dataworker] Online Time same as Message time may cause message lost
- [Dataworker] Write data to db may delay
- [api-portal] GraphQL API modification
- groups: when groups param rootGroupsOnly,level exisit at the same time ,then ignore rootGroupsOnly
- [api-portal] Fix cookie maxAge unit=ms
- [api-portal] If create group failed, rollback the creation of Dashboard & SaaS Composer org.
- [Cleaner] Rabbitmq disconnect but no reconnect
- #### Data management
- [#33788][DM] "strconv.ParseFloat" error message popup if modify the parameter recording rate in Data archiving page.
- [#33510][DM] Error occurred when export specified object.
- [#33506][DM] Error occurred if adding object from device with 5000 parameter.
- [#33375][DM] Selected tags is not correct if selecting tags from block.
- [#33797][DM] Import parameter of object will be fail when the import excel with wrong recoeding rate
- [#33766][DM] Block type sort iresult s not correct
- [#33758][DM] There is a empty item on block type list
- [#33752][DM] import template profile error
- [#33721][DM] There is no any warming message (red box) when doesn't enter any word on required column
- [#33718][DM] Value of days to keep object data is null
- [#33694][login] Edge365 website will pop up a error message and can't login
- [#33656][DM] Calculation parameter name with special char can be saved.
- [#33641][DM] Data source is wrong when add duplicated tag name (add from device)
- [#33640][DM] There will created the same parameter name when 2 devices have the same tag name (add from device)
- [#33588][DM] There are 200 tags , but only 50 tags are added when click the Select all on add object from device
- [#33582][DM] Tag name won't be exported when using add object from device function to create object
- [#33756][DM] Data archiving UI with empty Days to keep object data field.
- #### User Management
- [#33804][UM] Viewer can enter the tenant user adding page.
-
## Version: 2.0.19 (2023/06/09)
### Device Management
#### [New]
* In My Device and Device Group, add pagination when side page is displayed
* Guiding Messages for device creation
* Add Guiding Messages when user creates new device. Guiding messages are only displayed when total device number is zero or user's last login time is null
#### [Update]
* Device Parameter
* User could delete parameter which has alarms binded without having to delete alarms before delete parameter
#### [Fix]
* Others
* [#33404] [DPM] UI enhancement for ADAM DI Configure digital filter
* [#33429] [DPM] WISE Config timeout but show "finished"
* [#33230] [DPM] Batch file field isn't translated to Chinese
* [#33595] [DPM] Suggest to modify the configure OTA download instructions text
* [#33603] [DM/DPM] Operability test for the dialog component
* [#33559] [DPM] When doing search on device group, the searched device group will be checked automatically
### Data Management
#### [New]
- #### Profile Management
- An profile is a model of an object, that defines object's basic information, parameters and alarm/event settings.
- This feature allows users to add or manage profiles of objects. - User can create an object profile by
- New blank
- Add from device
- Import
- Allow user to create public / private profile
- Public profile: All tenants in this Edge365 site can use this profile
- Private profile: This tenant and its sub-tenant can use this profile
- #### Create object from profile
- Allow user to create object from profile, which can generate objects with the same model.
#### [Update]
- #### Portal
- Modify the UI and backend APIs of `export objects` functionality to prevent export timeout.
- #### api-portal
- [MQTT notify] Internal mqtt message improving
- tagAdd,tagUpdate,tagDelete mqtt add scadaId
- mqtt notify with alarm event id
- #### alarm service
- [iFactory][Redis publish] publish `HighLowEventStatus` message
- #### data packer
- [MQTT notify] modify message format to data cleaner for improving the efficiency.
- #### import-export service
- [APIs] supprt early return Worker ID and query import/export progress with Worker ID.
- [Export] Export file as zip format and file name as <group's full path>.zip
- [Import] While got a new excel file of a group, support "overwrite" the setting of object / parameter / alarm.
- Items in excel, also in current group: **overwrite**
- Items in excel, not in current group: **create**
- Items not in excel, but in current group: **do nothing**
#### [Fix]
- #### Portal
- [#33655][DM] The value of saveFreq is null if parameter recording rate are set to "Do not record".
- [#33566][DM] Recording rate "Select All" function won't work when press SUBMIT button
- [#33565][DM] The group has 100 parameters, but it will show no parameter after editing the recording rate
- [#33508][DM] There is no parameter when entering the parameter editing page for the first time.
- [#33430][DM] Notification group will be deleted automatically when remove alarm user group
- [#33375][DPM] Selected tags is not correct if selecting tags from block.
- [#33333][DM] Set Alarm code will be fail when alarm message is null
- [AlarmGroup] alarm group cannot add more and will reset
- #### alarm service
- [#33552][DM] Alarm cannot be triggered again if alarm setting change.
- #### api-portal
- [#33334][DM] Can't import 100 object *100 parameters = 10,000 parameters
- [db] param batch action not operate pg.equipdevice table.
- #### import-export service
- [#33509][DM] Cannot export object with 1500 parameter.
- #### Archiver
- [Core] Allocated memory won't be released
## Version: 2.0.18(20230526)
### Device Management
#### [New]
* Add support for Aliyun OSS blob
* Aliyun OSS blob is used by Firmware OTA, Configuration OTA, EdgeLink Project File OTA
#### [Update]
* ADAM/WISE Modules
* Add button of Paste Credential when user creates ADAM or WISE module
* When perform OTA, use blue dialog instead of green dialog to indicate OTA is starting and not finished
* Device Group
* Enable ADAM Firmware Group OTA button
* Add scroll bar when Device Group side page is displayed
* If user role is viewer, hide buttons for device operations and scheduling creation
#### [Fix]
* File management
* [#33330] [DPM] File management didn't show the device group for user to select
* [#33209] [DPM] There are 100 Edgelink devices, but only list 50 edgelink devices and only list 10 devices on device list
* Others
* [#33329] [DPM] Can't add batch csv file
* [#32692] [DPM] Table shows there is one device in this device group but there is none when checking devices list
### Data Management
#### [Update]
- #### api-portal
- [device] Ensure data rollback while create device/delete device failed.
- [DB] Improve performance of getting multi-language settings
- [API] Add dataloader
- Tenant.dashboardOrgId
- #### Alarm
- [Core] Remove PG notification of Parameter change
- [Core] Receive Parameter change notification from rabbitmq
- #### Archiver
- [Core] Remove PG notification of Parameter change
- [Core] Receive Parameter change notification from rabbitmq
- #### Dataworker
- [Lib] Upgrade Azure IOT SDK version to 2.1.6 to solve CA expired
- [DB] Unsuccessful operations will be cached and re-executed later for redis
- [DB] Unsuccessful operations of RAWData saving will be cached and re-executed later for mongodb
- #### evaluator
- [iFactory] Support using primitive parameter, that bind with tag of ifactory's connector, as the source in calculation formula
#### [Fix]
- #### Portal
- [#33399][DM] Select all funciton won't be worked when setting the recording rate to 1 minute
- [#33386][DM] Text typo if adding SCADA data connector
- [#33385][DM] Set All function only worked at first time when setting the recording rate and it is text type
- [#33375] select tags from block may cause selected tag missing
- [#33339][DM] Import object UI will become idle status when import ini file
- [#33263][DM] Notify group will show n-1 group when number of notify group is over 10
- [Object] missing`+` icon in Object type dialog
-
- #### api-portal
- [#33402][DM] It will pop up a error message when delete group
- [#33331][Login] "Unauthorized" message will be pop up when open the Edge365 webpage
- [API] Cannot get correct mapping rules of parameter
- addParameter clear cache
- applyParameterMappingToParameters clear cache
- unbindParametersMapping clear cache
- [API] Missing highLowEvents in APIs
- [Alarm setting] Default Alarm level/Alarm category settings of a new tenant are missing
- #### dataworker
- [#33520][DM] The tag values of ECU-1051 are not synced with the device on DPM.
- #### archiver
- [RecordingRate] Set recording rate =10 min, but record every minute.
- [Avg] online / offline record time should use recording rate time, not data time
## Version: 2.0.17(20230512)
### Device Management
#### [Update]
* DeviceON Integration
* Disable icon of Remote Desktop/Terminal when device is offline
* Add UI loading icon for Remote Desktop/Terminal
* Display error message if Remote Terminal connection is closed
* EdgeLink Project File Dispatch
* Amount of maximum file dispatch within 30 days: Change from 100 to 200
* SCADA
* Add display of Azure Iot Hub host name in Connection Tab of devices
#### [Fix]
* Device Group
* [#33155] [DPM] there are only 10 devices be shown when setting the schduling on device group
* [#33206] [DPM] Can't add device when setting the schduling on device group
* [#33150] [DPM] There are 200 device group, but UI only show 10 device group
* [#33164] [DPM] The device list is missing in Device group "Upgrade firmware" page
* Batch Create Device
* [#33159] [DPM] There are two types in "ADD batch task" page.
* [#33088] [DPM] The attached csv file will be cleared when task name is too long
* [#33089] [DPM] Error message could change to "The limited of task name length is xx" or other easy to know words when the task name is too long
* [#33154] [DPM] "Add batch task" description field should be clearly explained.
* [#33125] [DPM] Remove the "Actions" field on device batch task
* DeviceON Integration
* [#33303] [DPM] Remote Desktop/Terminal still can be executed even if the device is offline
* Multi-languages
* [#32566] [DPM] In File Management, some items aren't translated to mandarin fully
* [#32553] [DPM] In Device group, some texts are not translated into Chinese
* File Management
* [#33123] [DPM] File Management: Wrong Edgelink project format shouldn't be created
* [#33209] [DPM] File Management: There are 100 Edgelink devices, but only list 50 edgelink devices and only list 10 devices on device list
### Data Management
#### [New]
- #### Data archiving
- Allow to quickly adjust the data kept days of an object in object list

- Allow to batch adjust the recording rate of multiple parameters in parameter list

#### [Update]
- #### api-portal
- [API] Provide "Group" related GraphQL APIs federation
- [API] remove dcLastValue and dcLimitToNthValue
- #### dbmaster
- [API] Remove "Group" related GraphQL APIs federation
- [API] Provide dcLastValue and dcLimitToNthValue
- #### Archiver
- [Core] Optimize reading param list, stablize the memory usage
- #### Archiver restore
- [Core] Optimize reading param list, stablize the memory usage
- #### Alarm
- [API] update marquee api response message format for iFactory integration
- [API] filter device alarm in marquee api
- [API] Update ifactory redis PubSub initialization
- #### import-export service
- [Core] improve import object performance and reduce memory usage
- Complete the test of importing 200 object, each object have 2000 parameter
- [Core] support profile import
- #### evaluator
- [Calculation] Support primitive parameter with iFactory gateway tags
#### [Fix]
- #### Portal
- [#32468][UM] Tenant user role/Root group role set as Operator, cannot see any device in DPM and allow to add device
- [#33271][DM] The tag value at DPM will be deleted if deleting primitive parameter at DM corresponding to same tag at DPM.
- [#33223][DM] Error occurred if select the specified tag when add object from device.
- [#33205][DM] The selected tags are with wrong quantity label when selecting tags from device/block
- [#33229][DM] Only one user on user tenant list
- #### api-portal
- [device] Cannot remove device clearly
- [device] Redis error while loading device list (add try catch)
- #### dataworker
- [MQTT] Cannot get new MQTT message due to local buffer full
- [Redis] Cannot update device update time, device status due to RedisFlushingExecutor faild
- #### dbmaster
- [API] Modify the problem that the date of Month and Year is incorrect in the fixInterval API
- #### datasource backend
- [Function] Cannot display Month data in reportGroupInfo function
- #### import-export service
- [#33251][DM] 2 errors occurred if import object with calc tag and const tag.
## Version: 2.0.16(20230427)
### Device Management
#### [New]
* DeviceON integration
* Add Remote Terminal and Remote Desktop for edge device which executes Windows or Linux
* Above features are integrated with DeviceON:
* Cloud side: DeviceON service must be installed
* Edge side: Platform Agent must integrate with DeviceON Agent
* Known issue: For Linux, some DeviceON agents report that they support Remote Desktop but in fact do not support
* Web UI Modify
* My Device: Add background color to indicate selected device
* Device Group: Add background color to indicate selected group
* iSensing Device: Add tooltip for System Time Stamp when create device
#### [Update]
* EdgeLink OTA
* Adjust timeout value for EdgeLink FW OTA and Project File OTA according to device amount
* FW OTA timeout value: 1~500 devices is 10 minutes, increase 10 minutes every 500 devices.
* Project File OTA timeout value: 1~50 devices is 3 minutes. 51~100 devices is 5 minutes, increase 1 minustes every 100 devices.
* Batch Create Device
* Add translation of multi-languages for Traditional Chinese and Simplified Chinese
* Database Cleaner: clean batch data which is 90 days before
#### [Fix]
* HPC On-Premise
* [#33060] For On-Premise environment: Fix MinIO file download related features (Firmware OTA, EdgeLink Project file)
* Multi-languages
* [#32561] [DPM] In Device group, group names for Traditional Chinese are not the same
* [#32566] [DPM] In File Management, some items aren't translated to mandarin fully
* [#32553] [DPM] In Device group, some texts are not translated into Chinese
* Others
* [#32811] [DPM] The WISE-4012E AI unit(V) in Monitor page is not correct.
* [#32887] [DPM] Can't add the same name device group after rename the device group
* [#33008] [DPM] The second device shouldn't be created with the same MAC address when adding Edgelink device first
* [#33111] [DPM] The creation Time of devices are all the same after doing device batch task
* [#33087] [DPM] All existing device will be selected if select all the "search result" in Device Group
### Data Management
#### [New]
- Datasource function - reportGroupInfo
- Support displaying basic information and parameter values for multiple groups.
- Support selecting multiple groups by ene switch panel, with each group displayed on a separate line.
- Currently only support month data (month of end time)
- When querying, if the object is not specified but the parameter is, the function will sort the parameters with the same object name under the same column. For example:
- When searching for parameter p1 under group A & B,
- O1, O2, and O3 are found in A to have p1.
- O1, O4, and O5 are found in B to have p1.
- The resulting table will have 5 columns:
| group name | O1 | O2 |O3 |O4 |O5 |
| ------ | ------ | ------ |------ |------ |------ |
| A | 1 | 1 | 1 | - | -|
|B |2 | - | - | 2 | 2|
#### [Update]
- #### portal
- [Edit Parameter] display searched parameter count / total parameter count
- #### api-portal
- [common] While saascomposer org not found, use tenant name to create a new org.
- [parameter] Use graphql dataloader to improve performance
- parameters: dcGateway / dcLastValue
- User.tenantUsers / User.groupUsers
#### [Fix]
- #### portal
- [#33149][DM] The device is with confused status icon in "add object from device page"
- [#33146][DM] Cannot select specified tag if the tag name from Selected tags page is the same
- [#33145][DM] Selected tags from device/block are not as expected.
- [#33100][DM] Block name will not be removed even if the last block tag have been removed. (Add object from device)
- #### api-portal
- [connector] Cannot get ifactory gateway tags in primitive parameter datasource
- [parameter] Cannot display primitive parameter's binding tag information because get ifactory dcGateway failed
- [User] Add user faild while this user is already existed in sso
- #### dataworker
- [log] Remove tag type log of isensing device to prevent crash
- #### archiver
- [Fix] Crash on "current" type parameter calculation
- #### archiver restore
- [Fix] Crash on "current" type parameter calculation
- #### import-export service
- [#32962][Fix] Deadband type import not correctly
## Version: 2.0.15(20230414)
### Device Management
#### [Update]
* WISE module
* Enable Add of WISE-4000/LAN series devices since Firmware OTA issue is fixed
* Update translation of multi-languages: Traditional Chinese and Simplified Chinese
* Web UI modify
* Remove header seperator in Device and Device Group pages
#### [Fix]
* Multi-languages
* [#32606] [DPM] Some items aren't translated to mandarin fully
* [#32561] [DPM] In Device group, group names for Traditional Chinese are not the same
* [#32566] [DPM] In File Management, some items aren't translated to mandarin fully
* [#32559] [DPM] For Traditional Chinese in DPM, change equipment name into device name
* [#32553] [DPM] In Device group, some texts are not translated into Chinese
* Device Group
* [#32747] [DPM] Device group treeview will be changed when checking the device group user
* [#32934] [DPM] Device group can't be sorted by All, shared with me, group owner
* [#32746] [DPM] Edit function should also be gray out without edit permission on device group
* [#32954] [DPM] New device group can't be searched at first time
* Others
* [#32933] [DPM] Edge365 will pop up error message when go to File management after clicking OTA tag
* [#32882] [DPM] "Clear All Lebels" can't be seen and clicked when creating over 23 labels
* [#32573] [DPM] In File Management, modify device selection UI for file dispatch
* [#32947] [DPM] alarm category name will over the field when category name is too long
### Data Management
#### [New]
- #### Object - Create object from device
- This function enables users to quickly generate objects from their devices(connectors).
- Use this function by click `Add from device` in Object list

- User can quickly select Devices or specific tags from device list.

- Select tags -> generate object and primitive parameter binding -> Save object, the object can be quickly generated.
#### [Update]
- #### portal
- [Parameter] Parameter change confirm dialog
- #### api-portal
- [system] Not execute subscribe process in iFactory environment
- #### Archiver
- [data] Revise and varify the data correctness of current / cumulative / discrete data
- #### Archiver restore
- [data] Revise and varify the data correctness of current / cumulative / discrete data
-
#### [Fix]
- #### portal
- [#32792][DM] User page doesn't renew when deleting an user
- [#32782][DM] It will pop out error message when access the parameter logs page if the parameter name include "#"
- [#32764][DM] The webpage message is not appropriate if the Cancel button in Alarm settings page is clicked.
- [#32625][DM] The number of parameter after "Parameter list" text is non-zero, even if search the parameter dosen't exist.
- [#32624][DM] default value will be cleared when delete/add item from state list on creating discreate parameter
- #### api-portal
- [Fix] Dashboard org not found, restore it back with the same name as tenant name.
- [Fix] Optimize the sql query to prevent sql injection
- #### worker
- [#32872][DPM] Device can onboard even if the connection info is incorrect.
- [#32781][CC] Controller Panel cannot control the WISE-4010LAN DO value
- [#31994][DM] SCADA uploads 5000 tags but only display 1738 tags in device
- [log] Remove unnecessary logs (20230418)
- #### dashboard
- [#32879][CC] Alarm history data shouldn't be modified on dashboard
--
## Version: 2.0.14(20230330)
### Device Management
#### [New]
* Batch Create Device
* User could upload one CSV file to create multiple devices with different model types. Please refer to user manual for detail operations.
* Device/Platform
* To improve network security, add support of new Platform Agent which uses new AppHub MQTT Topic
#### [Fix]
* Device Group
* [#32687] [DPM] The device group level of device group search result is wrong
* [#32801] [DPM] The user list information on device group isn't correct
* File Management
* [#32702] [DPM] Search function on File management doesn't work
* [#32703] [DPM] Error message could show the limited length of project name and description when adding new edgelink project
* Others
* [#32810] [DPM] OTA will be gray out when changing the webpage from file management to my device page
### Data Management
#### [Update]
- #### Portal
- [Parameter] parameter list with datasource/formula/value
- [Parameter] Negative mode of cumulative parameter
- [General] ellipsis text with hover tooltips
- [Home] Support SCADA iApp icon & dropdown
- #### Dataworker
- [Message broker] improve the reliability of receiving messages
- [Device Status] Ensure active status & #MSYS_EdgeStatus will be sync.
- [RAWData] Ensure that only the parameter that set the recording rate will record the RAWData as well.
- [RAWData] Add one rawdata data every day for the tags on a online device that do not change or upload for a long time
- [iSensing format] For iSensing device's tag without cfg, automatically set its data type according to its tagname ("ai"+number, "ao"+number, "di"+number, "do"+number)
- #### Import / export service
- [Performance] Improve the performance of importing objects
- #### Subscribe
- [Edge365] In Edge365 environment, send the following message to user / system administrator
- New Tenant: send welcome letter to Tenant owner's email
- Due day -5 days: Notice letter to Tenant owner's email
- Due day: Notice letter to tenant owner's email
- Daily trial information: To Edge365 PM/AE
#### [Fix]
- #### Portal
- [#32803][DM] The formula will be clear if "Reload data" is enable and then submit.
- [#32751][DM] Edge365 will popup "version update, need to refresh the page" error when login on incognito mode
- #### api-portal
- [#32832][DM] Devices info won't be deleted after deleting tenant
- #### Import / export service
- [Fix] import parameter with wrong device tag
- [Fix] Field validation for "recType" of object parameter
- #### Alarm service
- [Fix] Didn't record the Alarm record while alarm value restore and trigger at same rule before alarm closed.
- #### DBMaster / Notification
- [#32696][Fix] Edit group/object/parameter name will cause fail to send the notification with full path in message.
- #### Dataworker
- [#32538] When switching the Pulse Output mode on a DO Tag of the iSensing device, DPM still displays the data type as Discrete
- [#31994] After sending 5000 tags config from WebAccess, the corresponding device on Edge365 only has 1738+1 tags on it.
## Version: 2.0.13(20230317)
### Device Management
#### [Update]
* ADAM/WISE module
* Add unit name(ex: mV, V, mA...) in IO monitor chart
* Tag
* Tag Quality: Use yellow icon to display error code 40000(Device is online but no new value)
* Device
* Add Device Group name in Device Info Tab
#### [Fix]
* ADAM/WISE module
* [#32471] [DPM] WISE-4050/4060-LAN: Remove AI Alarm Drived in DO mode
* [#31723] [DPM] WISE-4012: Add AI value unit in Monitor tab
* OTA
* [#32469] [DPM] EdgeLink FW OTA Status does not update
* [#32508] [DPM] OTA status display error in Device group
* [#32530] [DPM] After EdgeLink OTA, status update is too long
* [#32351] [DPM] To long to change Firmware OTA Status to "Timeout" (about 20 mins)
* [#32498] [DPM] Add OTA History list default sort by time
* [#32516] [DPM] OTA Tab is disabled when switch web pages
* [#32623] [DPM] It is a OTA history, but the field name is shown as "Dispatch Status" on device group
* [#32690] [DPM] OTS History update time will not change and the same with set time
* File Management
* [#32532] [DPM] Pending status in File Management does not change
* [#32535] [DPM] Fix that Error Message in File Management contains OTA text
* [#32622] [DPM] File project can't be deledted when dispatch task is on going
* Others
* [#32577] [DPM] Child Group Can't Be Deleted
* [#32540] [DPM] Data Type: "String" is not translated
* [#32662] [DPM] Event info table field name are't the same between detail dialig and action dialog
### Data Management
#### [Update]
- #### portal
- [Parameter] Support batch create/update/delete parameter APIs to improve API call efficiency
- [Parameter] Show parameter count count based on search results
- [General] When a version update is found, a notification pops up to prompt the page to be refreshed
- [Import/Export objects] open new page when export object to avoid API timeout
- #### api-portal
- [API] API update
- [graphQL] mutation writeParameterValue
- [RESTFul] support client token in device & credentialkey APIs
- [User] Adjust email info when add user
- [User] Assign dashboard role by check dashboard scope of tenant user role
- scope = manage : dashboard role = Admin
- scope = view / none : dashboard role = viewer
#### [Fix]
- #### Portal
- [#32685][DM] It will focus on 1st parameter edit page when first enter parameter edit page.
- [#32578][CC] Cannot edit the i.App page
- [#32575][DM] After editing parameter done, the webpage display nothing if enter the same parameter edit page again.
- [#32555][DM] Tag list cannot display correctly while adding second primitive parameter
- [#32467][UM] A user with tenant user role = Viewer cannot display correctly in Command center page.
- #### api-portal
- [#32491][DM] Operator cannot see dashboard
- [#32345][DM] User with Editor/Viewer role cannot see the device list that created by Admin/Engineer in Device Management.
- [#31453][UM] After logging in with the Viewer permission, some pages display incorrect content
- #### Dataworker
- [#32589][DPM] "Tags" page is in loading status always when access 2nd time
- [#32588][DM] Error occured when access specified object
- [#32538][Worker] While WISE-4012E switch mode to Pulse Output, DPM still display data type = Discrete.
- #### Archiver
- [32054][DM] Restored data incorrectly in recording rate data
- #### Alarm Service
- [Fix] Disable alarm on parameter list but still trigger alarm
- #### Dashboard Datasource
- [#32670][CC] Cannot select any item in "Alarm State" in Alarm Panel
- #### Notification
- [Fix] Notification service crash while getting a non-exist object/parameter by full path
## Version: 2.0.12(20230303)
### Device Management
#### [Update]
* WISE module
* Shorten OTA file download blob URL length within 256 characters
* Device Group
* Add all device owners as Viewer in Device Group if device owner is not in Group
* Prevent the same group name within the same parent group
* When delete group, also delete all it's child groups which has no devices or scheduling task
#### [Fix]
* OTA
* [#32499] [DPM] EdgeLink OTA Status display error
* [#32515] [DPM] EdgeLink OTA History Status display error
* Device Group
* [#32477] [DPM] In Device Group, fix error message when perform Edgelink OTA
* [#32253] [DPM] In Device Group, group name can not be the same
* Others
* [#32231] [DPM] GeneralPC Monitor Info: Fix text string is too long
### Data Management
#### [New Feature]
- #### Portal
- [Parameter] Add sort & search functions in create / update parameter page
- [License] Edge365 default quota setting and License Setting page.
#### [Update]
- #### Portal
- [General] Prompt a banner to notice user with view permission in pages:
- Object list
- Parameter list
- Alarm settings
- Data connectors
- User list
- Role
- Command center
- Dashboard
- Menu list
- [Primitive Parameter] Support searching device in Tag list.
- #### Datasource backend
- [Function] PassRateTrend / FailRateTrend functions will not return "times" anymore.
#### [Fix]
- #### Portal
- [Calculation Parameter] Malfunction of user functions since lack of system parameters.
- [#32485][Parameter] Parameter list count error (could became a negative value)
- [#32444] After submit parameter change, the parameter page didn't refresh
- [#32432] Ellipsis too long parameter name in create / update parameter page
- [#32431] Ellipsis too long group name in group permission page.
- [#31403] Search function failed in create / update parameter page
- [#31663] The meaning of the text is unclear in create / update parameter page
- #### dataworker
- [#32422] Display special tag (ai_st0/ipaddr/macid/name/status) with tagType = "-"
- [#32348] Should replace the configuration of non-existed tag "ai2" with "ai_AVG"
## Version: 2.0.11(20230223)
### Device Management
#### [Update]
* ADAM/WISE module
* Remove Add of WISE-4000/LAN series devices due to Firmware OTA issue
#### [Fix]
* EdgeLink OTA
* [#32469] [DPM] OTA的狀態沒有更新
* Device Group
* [#32479] [DPM] 在Device group中處理設定的Alarm的資訊,發現Alarm message太長導致Action欄位被覆蓋不易操作
* [#32477] [DPM] Device group中的Edgelink裝置作Edgelink OTA卻出現此裝置不支援OTA的錯誤
* Others
* [#32233] [DPM] General PC的Monitor,Hardware Monitor的標籤反灰無法顯示相關資訊
* [#31442] [DPM] Event->Device Connection Status滑鼠指到的時間段與浮動視窗的時間不一致
### Data Management
#### [Update]
- #### Portal
- [Parameter] Primitive parameter name 不是空字串时,绑定tag时不自动填充name
- [Parameter] Data type多語言
#### [Fix]
- #### Portal
- [#32465][DM] Alarm設定頁面編輯警報submit之後沒有設定成功
- [#32439][DM] "Group"的繁中/簡中翻譯不一致
- [User] User search應該忽略大小寫
- [User] 直接Add group user, 自動生成的tenant role給空 (應該給Viewer)
- [Parameter] Range alarm不能輸入.(小數點) -(負號)
- #### alarm
- 處理iFactory不同device的同名tag送出的Redis Publish判斷有誤, 造成Primitive Parameter取得錯誤的tag而觸發Alarm
- #### api-portal
- [alarm setting] alarm default name "minor" became "mino"
## Version: 2.0.10(20230218)
### Device Management
#### [New Feature]
* ADAM/WISE module
* Add support for WISE-4000/LAN series
* Tag/Parameter
* Add "ACK" in Actions of Parameter Events Process
* Add Event Process actions for Parameter Events in Device Group
* Portal Manage
* Add new role AE_Admin which includes permission of Platform _AE, Device_AE, EdgeLink_AE
* Others
* Improve speed of getting device images in Device Group
* Modify Error message from "Tenant not found" to "Tenant or User Permission Error"
#### [Fix]
* ADAM/WISE module
* [#32243] [DPM] AI Average 不應有 Channel mask 設定
* [#32246] [DPM] WISE-4012E Low/High Alarm UI行為不正確
* [#32247] [DPM] WISE-4060 DO Mode List多一個"AI Alarm Drived"選項
* [#32239] [DPM] AI Alarm Driven對應參數文字建議與設備端相同
* General PC
* [#32231] [DPM] GeneralPC的顯示資訊,會因字串太長閱讀不易
* [#32233] [DPM] General PC的Monitor,Hardware Monitor的標籤反灰無法顯示相關資訊
* Device Object
* [#32144] [DPM] 已刪除的Parameter(with Alarm setting)仍然會被觸發且顯示在Event->Parameter分頁
* [#32283 ] [DPM] 裝置Tag新增數字參數時,若輸入字串應該要防呆阻擋不應該新增
* Device Group
* [#31918] [DPM] 當Device Group裡面放置非Edgelink設備時OTA圖示仍可點擊
* [#32320] [DPM] 修改Group名稱後,頁面沒有立即變更
* [#32279] [DPM] Device Group中新增管理者時,建議可以從同一個tenant下的使用者新增,而不是另外新增一個新的使用者
* Others
* [#32321] [DPM] File Management中新增Project名稱太長會遮蔽到Result資訊
### Data Management
#### [New Feature]
- #### Portal
- [Connector] inbound connector顯示dcGeneralPC類型的device
- [Connector] 處理 ADAM/WISE/General-PC的設備連線資訊頁面
#### [Update]
- #### Portal
- [User management] Add / Edit Tenant User, 強制必須執行第2步Group permission設定
- [Import/Export objects] 更新import dialog樣式
- [Import/Export objects] 更新import失敗錯誤訊息
- [General] 修正Data Management / User Management / Command Center文字首字大寫
- [General] 修正iFrame嵌入速度緩慢問題
- Data management - Event & Action
- Command center - Dashboard
- Command center - Menu management
- #### api-portal
- [API] API Update
- Group.machineCount: add arg includeDescendants
- parametersByIds, machinesByIds: if not found, return null
- #### Import / Export Objects
- [Export] Export時, 清除machineIndex欄位避免造成import到其他group發生衝突
- [Export] Export時, 預設不export groupObject
- #### Alarm
- [Core] Alarm沒有close前,都不會產生新的alarm ID
#### [Fix]
- #### Portal
- [#32365][DM] 在Data Management中新增Primitive參數時,切換到Alarm介面後再切回來,設定的data source被清除
- [#32333][DM] 使用Engineer權限,沒有User Management權限,在上方的Mune list卻顯示
- [#32343][DM] 在Dashboard切換畫面時,在讀取清單會有約15秒的延遲
- [#32142][DM] 新增Primitive參數時,裝置選單收和兩次後畫面呈現疑似被清空
- [#31740][DM] WISE/ADAM/UNO/TPC在Data connector設備連線資訊頁面為空
- [#31397][DM] 英文字母首字大寫,後面小寫規則不一
- [#31249][DM] 透過Data Connector建立Edgelink-WISE-PaaS MQTT,MQTT broker的IP address反灰無法點擊顯示
- [Parameter] 解決編輯parameter時, 切換parameter/ Basic information / Alarm/event 分頁後, 會造成切換回原分頁時, 原始設定消失的bug
-
- #### api-portal
- [#32367][DM] A使用者將B使用者從User Child group中刪除,會導致B使用者的Device List被清除
- [API] Delete device, Delete object會造成ifp-organizer panic重啟
- #### archiver
- [#32054][DM] GraphPanel在SCADA斷線期間補回來的資料RawData轉為RecordingRate異常
- #### dbmaster
- [#32258][DM] 更換設備參數的DataSource後,最近10筆記錄仍然持續記錄舊的DataSource的值
- #### dataworker
- [#32339][Dashboard] Controller Panel無法設定WISE-4050的DO3的值
- #### import / export
- [#32372][DM] 不同tenant中的group object匯入,Alarm資訊沒有跟著匯入
- [#32370][DM] 不同tenant中的group object匯入後無法刪除
- [#32369][DM] 不同tenant中的group object沒有完整匯入
- #### alarm
- [Fix] 處理Redis publish錯誤造成highLowEvent沒有觸發(應使用tag id訂閱topic)
---
## Version: 2.0.9(20230203)
### Device Management
#### [New Feature]
* Tag/Parameter
* Add tooltip description for Quality of Tag and Parameter
* Add Event Process actions for for Parameter Events
* General PC(Platform)
* Move UNO, TPC, ARK product categories to General PC
* In Add General PC Dialog, replace Platform Agent Download UI with button
* In Device Connection Information Tab, add Platform Agent Download button
* Classify Platform Agent file type by CPU architecture: Windows(amd64), Linux(amd64), Linux(arm64), Linux(armhf)
* Others
* Improve speed of getting device image in Device List
#### [Fix]
* ADAM/WISE module
* [#32065] [DPM] WISE-4012 AI Average range顯示異常
* [#32149] [DPM] Configure->AI Channel Settings,更改數值後會出現紅色框框,無法正常DISPATCH
* [#32150] [DPM] Configure->AI Channel Settings,Enable Configuration開啟後,反灰無法設定
* [#32176] [DPM] 裝置新增常數參數後儲存,無法變更數值或形態
* [#32178] [DPM] "Copy Credential" 功能不會複製IP Address與non-SSL
* [#32207] [DPM] Event 參數顯示,tagy名稱太長時會覆蓋到Parameter欄位
* Device Object
* [#32143] [DPM] Device->Event->Parameter的時間為UTC時間
* [#32144] [DPM] 已刪除的Parameter(with Alarm setting)仍然會被觸發且顯示在Event->Parameter分頁
* [#32213] [DPM] 裝置新增TagType沒有資訊的tag的Primitive參數後儲存,變成NaN
* [#32249] [DPM] 部分Event type篩選項目的選擇框會消失且名稱不正確
* Others
* [#32130] [DPM] 當設備描述太長,在DeviceGroup的設備清單畫面會超出範圍
* [#32233] [DPM] General PC的Monitor,HW的標籤反灰無法顯示相關資訊
* [#32251] [DPM] 變更Device Group裡的Device Name後,沒有立即變更
### Data Management
#### [New Feature]
- Batch import / export objects into / from a group
- Export objects of a group in .xlsx file format.
- Import objects, which ard definded in .xlsx file, into a group.
- Page permission by tenant / group user role
- Permission scopes of tenant / group user role of a user will affect the accessability to each function page. Scope value chould be one of the following values:
- Manage (with CRUD)
- View (view only)
- None (no access)
- Affected functional pages are as follow:
- Home Page entry (by scopes in **tenant** user role)
- Allow to access the following functionalities or not:
- Data Management
- User Management
- Command Center
- Data Management
- Group
- Object list (by scopes in **group** user role)
- Event & actions (by scopes in **group** user role)
- Alarm settings (by scopes in **tenant** user role)
- Data connectors (by scopes in **tenant** user role)
- User Management
- Tenant users (by scopes in **tenant** user role)
- Group users (by scopes in **group** user role)
- Roles (by scopes in **tenant** user role)
- Command Center
- Command center (by scopes in **tenant** user role)
- Dashboard (by scopes in **tenant** user role)
- dashboards in a group (by scopes in **group** user role)
- Menu list (by scopes in **tenant** user role)
#### [Update]
- #### Portal
- [DM] Hide Machine status & Rule management in Edge365 environment
- [DM] Hide iFactory connector type in Edge365 environment
- #### api-portal
- [API] API Update
- parametersByTag: 取得綁定特定點位的parameter
- unbindParametersMapping
- [API] Add dataloader cache (增加讀取效率)
- query machine(id)
- machinesByIds(ids:[])
- Group.machineByIndex(index:0)
- Group.machinesByIndexes(indexes:[0,1])
- Parameter.mchine()
- Machine.parameterByName
- Machine.parametersByNames
- parameter
- parametersByIds
- parametersByTag
- [alarm] iFactory環境, tenant預設的alarm level設定(blink / process / ack / log only)為none
- #### dbmaster
- [API] API Update
- group 的「descendants」field新增參數「skipChildren」
- #### dataworker
- [MQTT] 支援新版WISE_iSensingMQTT config消息定義
- [MQTT] 支援iSensing設備DO寫值時以true/false寫入
- #### redis-forwarder
- [Redis Publish] 轉發group / machine / parameter消息中添加tenantId字段
- #### data-packer
- [record] 保存紀錄時間改放到Redis
- #### datasource backend
- [alarm] alarm status number可依據markTimerange按鈕切換是否按照time range查詢
#### [Fix]
- #### portal
- [#32142][DM] 新增Primitive參數時,裝置選單收和兩次後畫面呈現疑似被清空
- [#32131][DM] 當AlarmLevel名稱長度達時,會壓縮到Complex/AlarmCode alarm value的輸入框寬度
- [#31454][UM] Engineer角色在In-Outbound Settings與Others (Data Hub)權限定義為空白
- [#31453][UM] 使用Viewr權限登入後,部分頁面顯示內容不正確
- [#30844][DM] 在User Management對group增加User,role權限是viewGroup,save後,使用剛剛增加的user登錄後卻可以看到所有group的資料
- #### data-worker
- [#32248][DM] 無法從dashboard Controller Panel修改WISE的DO值
- [#32173][DM] 裝置新增參數後儲存,變成NaN
- [#31575][DPM] WISE/ADAM設備上傳DI為counter/freq mode時,所顯示的Tag Type仍為Discrete
- #### api-portal
- [#32237][DM] Object Basic Information重新submit後會讓parameter的alarm rule消失
- [Fix] 处理update folder时报错"The folder has been changed by someone else"
- #### alarm-service
- [#32154][DM] 當Alarm觸發時會陸續收到異常多筆Notification
- [#32206][DPM] 新增Calc參數設定警報後,警報卻不會顯示
- [Fix] Cannot listen to iFactory's device value change
- [Fix] 修正如果device id是實體device,用該綁定的device object去查詢資料
- [Fix] alarm level downgrade會一直發送trigger
- [Fix] Parse parameter id失敗造成highLowEvent / alarmCodeEvent API無法正常呼叫
- [Fix] DPM rt alarm exist in his alarm
- #### redis-forwarder
- [Fix] Machine Index與實際的machine index不同
- #### datasource backend
- [Fix] Flowchart Panel issue with data device on data source (缺少refId字段)
## Version: 2.0.8(20230107)
### Device Management
#### [New Feature]
* Platform
* If platform agent is uploaded, display newest Platform Agent Download Info. in Edit Device Dialog.
* ADAM/WISE module
* Add Copy Credential for Device Connection Information
* WISE-4051: Add RS-485 IO Monitor display for new tag format: comXcoilXXX
#### [Fix]
* ADAM/WISE module
* [#31922] [DPM] ADAM-6217上傳至DPM上Model為ADAM-6017的device
* Device Label
* [#31707] [DPM] 在裝置中可以設定兩個相同名稱的Label,建議不讓使用者建立兩個相同名稱的標籤
* Device Object
* [#31965] [DPM] 在設定參數的Alarm,若Alarm名稱太長 會跑出欄位
* [#31964] [DPM] 參數設定,若長度過長時,其顯示會跑到其他欄位
* [#31963] [DPM] 參數設定,若長度太長會跳出兩個欄位的警告,但沒有tagname欄位
* Others
* [#31917] [DPM] 當Device Group裡面沒有設備切換至OTA History分頁會出現錯誤訊息
* [#31958] [DPM] 在裝置的Tag欄位中搜尋,最多只會出現10筆搜尋結果資料
* [#31981] [DPM] 沒有Watchdog功能的設備在DPM Configure頁面此功能仍可以操作
### Data Management
#### [New Feature]
- #### Portal
- #### Sort (sort by string / date in ASC or DESC mode)
- Parameter List
- Tenant User / Group User List
- Tag list in primitve parameter
- #### Search (fuzzy search by name)
- Parameter List
- Tenant User / Group User List
- Tag list in primitve parameter
- #### Pagination (20/50/100 per page, default 50)
- Parameter List
- Tag list in primitve parameter
#### [Update]
- #### Portal
- [Object] Create/Edit Object加上Serial Number欄位
- [Alarm] 開放Number/Discrete類的Parameter配置Alarm Code Alarm
- #### api-portal
- [API] Device tag list sort / search / pagination
- [System] Recreate dashboard folder while folder not found while:
- edit group
- set group user
- create user of a group
- save dashboard in dashboard wizard
- [System] Improve db connection efficiency in
- TenantUser.user
- Tenant.myTenantUser
- get devices
- [System] Improve login time
- #### Alarm
- [AlarmLog] 支援HighLowEventLog APIs
- lastLog
- logsInRange
- #### Dashboard Datasource
- [Datasource] Object選單隱藏#開頭的deviceObject
#### [Fix]
- #### Portal
- [Parameter] Bugs in create / edit parameters
- [Parameter] While create / edit parameter, switch to other parameter's setting will cause previous setting lost (no cache in UI)
- [#31988][DM] 新增參數時選擇不到5000測點的SCADA內的測點
- [#31968][DM] Event Notification message點擊"Others"的內容為空
- [#31953][DM] 當AlarmLevel名稱長度達時,會壓縮到Range alarm value的輸入框寬度
- [#31916][UM] 自己可以點擊移除自己Group權限的圖示
- [#31883][DM] 在將Parameter的Range Alarm改回None後,Event rule欄位仍然會存在可以設定
- [#31771][DM] 編輯計算點參數頁面出現無作用符號
- [#31649][DM] 在繁中/簡中環境下新增預設語言視窗的"ADD"沒有翻譯到
- #### api-portal
- [Bug] Didn't clean up the IFP cookies after logout
- [alarm setting] 刪除 alarm level 必須將有用到此 level 的rule刪掉
- [alarm setting] 刪除 alarm category 必須將有用到此 category 的rule刪掉
- #### dbmaster
- [#31969][DM] Alarm有觸發成功但Event Notification沒有通知
- [#31970][DM] Notification group的preview功能無法使用
- [Tag] Tag列表需要統一從Redis TagInfo表中讀取
- #### alarm service
- [#30817][DPM] 設定parameter的Alarm/Event條件後,實際值有符合觸發條件但沒有觸發
- [#31880][CC] Ene alarm panel的Category欄位只能顯示預設的Alarm/Fault/Warning
- [Bug]統計次數沒有過濾logOnly, deviceObject下的alarm
- [Bug]RT, HIS Alarm沒有過濾deviceObject下的alarm
- [Bug]datasource選擇object / parameter時, 統計資料永遠回傳group下的總數, 沒有按照object / parameter做filter
## Version: 2.0.7(20221223)
### Device Management
Version: 2.0.7 (2022/12/23)
#### [New Feature]
- #### Device/Platform
* Add "PC-General" device type for device creation
* Known issue: There may be error message in Application Tab due to slow response(more than 3 sec) of Device AppHub agent
* EdgeLink
* Add OS and Firmware version display if device uploads OS/FW information
#### [Fix]
- #### ADAM/WISE module
* [#31793] [DPM] ADAM-6017/6217/6018不支援Resolution或Enable burnout
* [#31792] [DPM] ADAM-6018當disable burnout function仍然可以編輯Scale/AI Filter mode欄位
* [#31783] [DPM] ADAM-6060 "Communication WDT"在Configure頁面顯示錯誤
* [#31528] [DPM] WISE-4012E Configure/AI/ChannelSettings的AIORangeList的欄位預設為空白
* [#31526] [DPM] WISE-4050/4060/4012/4012E的Pulse Output&H2L Delay&L2H Delay設定範圍有誤
* [#31525] [DPM] WISE-4012/4012E設定High/Low Alarm Value數值時,欄位提示的單位(mA)錯誤
* [#31505] [DPM] WISE-4012/4012E在DO的AI Alarm Drived mode設備端並無FSV設定
* [#31504] [DPM] WISE設備在Configure頁面DI Mode List出現”Invaild Mode”
* [#31506] [DPM] WISE-4012 AI Range List不應出現+/-2.5V與Unknown range
* [#31522] [DPM] WISE-4012 Configure/AI/Channel Settings裡Average的AI Range List出現Unknown range
* [#31466] [DPM] WISE-4051將DI設定Counter為最大值時,在DPM的Monitor會顯示NaN
* [#31445] [DPM] WISE-4050 Counter不能設定Filter的相關設定
- #### EdgeLink
* [#31720] [DPM] 在File Management中dispatch出現404 not found錯誤訊息
- #### Platform
* [#31761] [DPM] UNO-348 我在Edge365刪除重新建立之後, application就無法再使用
- #### Device Label
* [#31705] [DPM] 更改標籤的顏色或名稱後,畫面上不會立即呈現變更結果
* [#31704] [DPM] 新增或移除Label會呈現轉狀態沒有回應
* [#31702] [DPM] 欲使用Clear All Labels會出現錯誤訊息
* [#31701] [DPM] 建立新的標籤後,在裝置設定此新標籤會沒有作用
- #### Others
* [#31869] [DPM] 刪除已含設備的DeviceGroup後,前端畫面沒有刷新
* [#31656] [DPM] Tag Name 搜尋後,page rank沒有變更
* [#31434] [DPM] Event->Device Connection Status顯示的時間段不正確
### Data Management
#### [New Feature]
- #### Portal
- #### Sort (sort by string / date in ASC or DESC mode)
- Object List
- Inbound List
- #### Search (fuzzy search by name)
- Object List
- Inbound List
- #### Pagination (20/50/100 per page, default 50)
- Object List
- Inbound List
- Group User List
- Tenant User List
#### [Update]
- #### Portal
- [Common] UI欄位校驗
- alarm/event - Basic information
- alarm/event - Complex
- alarm/event - Range
- Parameter tab,點 object information 驗證錯誤不給切換
- [Parameter] group同名object下面的parameter,删除的复选框不能勾选,也不可删除
- #### api-portal
- api-portal新增環境變數(SI_PORTAL_QUOTA_CHECK) 判斷是否檢查quota
- API Update
- highLowEvents
- lastLog
- logsInRange
- #### Dashboard Datasource
- TimeInterval中的Original 取消 month , year 选项
#### [Fix]
- #### Portal
- [#31864][DM] 新增參數時Recording會預設為1分鐘,預期應為不記錄
- [#31737][DM] Parameter頁面提交取消數次後所設定的Alarm/Event會消失
- [Parameter] calcFreq校验错误导致constant & primitive无法submit
- [Parameter] current -> Maximum change rate / min後面要加 (%)
- [Parameter] primitive 選好 datasource 後 alarm info 如果刪除 dead band, Restore delay time, Delay time 會重新 render
- [Alarm] Alarm Complex 切換 alarm level 不會更新
- [Alarm] Alarm 內容不變, 但點下Submit仍呼叫updateAlarm API
- [Alarm] add alarm code rule 右側選完 datasource 後下面的 submit 看不到
- [User] Add / Edit group user時, UI"返回"樣式中應顯示group tree名字, Header應顯示是Add / Edit Group User
- [User] Add / Edit Tenant User時, UI"返回"樣式中應顯示”Tenant User”, Header應顯示是Add / Edit Tenant User
- #### api-portal
- [#31885][DM] Alarm User新增按鈕點擊無反應(後端回應錯誤訊息)
- [#31884][DM] 自定義AlarmCategory後,使用非定義內的AlarmCode會卡在Loading畫面
- [#31879][DM] Range alarm只設定一個Rule的話,切回去None會卡在Loading畫面
- [#31762][DM] 上傳UNO設備後,刪除重建立會出現MAC Address重覆
- [#31716][DPM] 新增設備參數時會出現 column "undefined" does not exist錯誤
- [Object] Object type key修改后,Object中绑定的Object type不会跟着变
- [Parameter] 刪除alarm, 再新增一次, 會出現duplicate ifp_alarmevent錯誤
- [Alarm] Alarm Range 若沒有填完 HH、 H、L、LL 會報錯 (其中一種有填就可以用才對)
- [etcd] etcd 服务重启后,服务注册有问题
- #### dbmaster
- [#31863][CC] Dashboard Graph panel選擇AutoScale/RecordingRate/HIS時數值會固定不動
- [API] digital 點 autoscale raw 資料不完整
- [API] Tag Type的排序功能不正確,Tag Name搜尋欄位不正確
- #### Dashboard Datasource
- 切换第一层Group时,之前选中的二层Group未重置未默认项
- #### alarm service
- [RT] RT alarm 沒有按照觸發時間反序排列
## Version: 2.0.6(20221212)
### Device Management
#### [New Feature]
- #### Device/Platform
* ADAM module
* Improve IO Confiuration for following modules: ADAM-6051、ADAM-6052、ADAM-6066、ADAM-6250、ADAM-6251、ADAM-6266、ADAM-6024、ADAM-6060、ADAM-6256、ADAM-6260、ADAM-6224、ADAM-6017、ADAM-6217、ADAM-6018+、ADAM-6050
* EdgeLink
* Add Firmware OTA for single device
* Add Firmware OTA for multiple devices in Device Group
#### [Fix]
- #### ADAM/WISE module
* [#31436] [DPM] Tags->Parameter裡的ai點的資料型態沒有翻譯成中文
* [#31522] [DPM] WISE-4012 Configure/AI/Channel Settings裡Average的AI Range List出現Unknown range
* [#31525] [DPM] WISE-4012/4012E設定High/Low Alarm Value數值時,欄位提示的單位(mA)錯誤
* [#31465] [DPM] WISE-4051上傳DPM後進到Configure頁面會出現錯誤訊息
* [#31524] [DPM] WISE-4012的Mapping Unit為必填欄位
* [#31466] [DPM] WISE-4051將DI設定Counter為最大值時,在DPM的Monitor會顯示NaN
- #### EdgeLink
* [#31604] [DPM] File Management,在 Add dispatch時,在Device List下方搜尋欄位所顯示的勾選數量異常
* [#31720] [DPM] 在File Management中dispatch出現404 not found錯誤訊息
- #### Others
* [#31637] [DPM] 在File Managment新增Project 失敗(ContainerNotFound error)
* [#31698] [DPM] 建立設備時的描述若填滿上限200字元會導致縮放元件被擠出畫面外
* [#31761] [DPM] UNO-348 在Edge365刪除重新建立之後, application就無法再使用
* [#31648] [DPM] 點擊新增Alarm/Event rule按扭無反應
### Data Management
#### [New Feature]
- #### Alarm Setting
每個Tenant可以針對下列項目進行設定
- Alarm level
- 可以設定最多8個Alarm Level
- 預設值為Level 1,3,5,7
- 可以配置Alarm的處理方式,與在Dashboard的Ene Alarm Panel顯示行為
- Blinking (是否在Panel上閃爍)
- Report process (該Alarm是否需要標記"已處理"才能結束)
- Acknowledge (該Alarm是否需要Ack)
- Log only (多少level以下的alarm只記錄, 不trigger notificaiton)
- Alarm category
- 可以設定最多10個Alarm category
- 可以配置category在Dashboard的Ene Alarm Panel顯示的Row底色
- #### Event & Action
針對每個group下, 支援原本DeviceOn/BI提供的下列功能
- Alarm group
- 對於該group內的parameter alarm rule進行Alarm group配置
- 可將1~n個alarm集合成一個alarm群組
- User group
- 可將1~n個User集合成一個User群組
- 每個User可指定下列幾種通訊方式
- email (需要先配置Channel setting才能正常使用)
- Line
- WeChat ID(企業版) (需要先配置Channel setting才能正常使用)
- Notification group
- 可以將Alarm群組+User群組配對後, 組成一個Notification群組
- 可以配置要發送的Notification訊息內容
- 允許輸入純文字
- 允許使用Variable Library取用與該警報相關的數據,例如: Rule name, Parameter Name, Alarm value....等
- 允許選取該group & sub-group下,其他parameter的資料來顯示
- Channel setting
- 設定該group要對外發送email與wechat的帳號資訊
- Email: 設定SMTP資訊
- WeChat: 設定WeChat企業版帳號資訊
- #### SI Portal整合 (iFactory environment only)
- 整合SI Portal quota API, 針對下列內容做quota上限判斷
- User
- 新增User時若超過quota上限則不允許新增
- Parameter
- 新增Parameter時若超過quota上限則不允許新增
#### [Update]
- #### Portal
- [Common] UI欄位校驗
- Group
- Object (Basic information)
- Parameter Information (Const / Calculation / Primitive)
- User (tenant user / group user)
- Inbound Connector
- Alarm Setting (Alarm Levels, Alarm Categories)
- [Common] Confirm dialog
- Group (delete)
- Object (delete)
- Parameter (delete, 未儲存離開)
- Inbound Connector (delete)
- User (tenant user / group user)(delete)
- #### api-portal
- [Object] 隱藏Root group下的Device Object(#開頭的object)
- [Parameter] Parameter log支援顯示Constant, Calculation, Primitive with DeviceOn/BI Devices的最近10筆資料
- [Parameter] Parameter 列表支援顯示Constant, Calculation, Primitive with DeviceOn/BI Devices的即時資料
- [API] API Update
- query alarmCodeEvents
- 支援顯示alarmCode Events配置與logs
- lastLog
- logsInRange
- logCountInRange
- logElapsedInRange
- logCountAndElapsedByAlarmLevelInRange
- logAnalysisInRange
- machine, parameter多語言部分加上dataloader減少query pg次數
- imageUrl和imageUrls回复object img base64
- #### Redis Forwarder
- [Message] 新增tenantId欄位
- ifp-organizer.Group.[id]
- ifp-organizer.Machine.[id]
- ifp-organizer.Parameter.[id]
#### [Fix]
- #### Portal
- [#31737] [Parameter] Parameter頁面提交取消數次後所設定的Alarm/Event會消失
- [Parameter] TimeMatch function description顯示不全
- [Parameter] Days to keep Object data與後端API錯誤對應
- [Parameter] Calculation Frequency / Recording Rate欄位顯示錯誤
- [Parameter] Edit Calculation Parameter, Formula Code list會顯示undefined
- [Group] 刪除 group , group tree 沒刷新
- [Alarm] 新增 alarm code 時 region 與 symbol API 欄位錯誤對應
- #### api-portal
- [#31402] 新增object type有特殊符號造成失敗
- [#31627] [Login] 輸入錯誤密碼登入時頁面會卡住1分鐘並出現不明錯誤訊息
- [#31652] [DM] dashboard panel選擇不到parameter也讀取不到RT/HIS值 (MQTT通知未正確送出)
- #### Dashboard
- [#31755] EnE Dashboard Switch搭配Advanced datatable無法顯示多個測點RT值
- [#31794] tagname若包含# 則會查詢不到HIS資料
- [Datasource Plugin] 切換第一層Group時,之前選中的子Group未重置為默認項
## Version: 2.0.5(20221129)
### Device Management
* In order to match DataConnect version, Device Management v2.0.3, v2.0.4 is bypassed.
#### [New Feature]
* Device/Platform
* ADAM module
* Improve IO Confiuration for following modules: ADAM-6051、ADAM-6052、ADAM-6066、ADAM-6250、ADAM-6251、ADAM-6266、ADAM-6024、ADAM-6060、ADAM-6256、ADAM-6260、ADAM-6224、ADAM-6017、ADAM-6217、ADAM-6018+、ADAM-6050
* ARK module
* Add ARK-1220L in Create Device Menu
* Common
* When create device, not give default IO channel tags to prevent channel No. error. Since in new ADAM/WISE firmware, channel No. starts from 0 (old version is 1).
* Display error message with related DM Object name when user tries to delete device with Object bounded
#### [Fix]
* ADAM/WISE module
* [#31140] [DPM] 透過DPM Configure設定"Universal Input"後查看下位機WISE-4012沒有設定成功
* [#31274] [DPM] WISE-4012E透過config切換至L2H/H2L delay mode後,無法編輯時間
* [#31418] [DPM] WISE不支援4600系列,建議移除選項
* [#31471] [DPM] WISE-4051在Monitor/RS-485沒有顯示任何資訊
* [#31379] [DPM] WISE-4012上拋的AI測點值在Monitor頁面顯示NaN
* [#31444] [DPM] WISE-4050上拋的DI設定為Frequency在Monitor頁面顯示NaN
* [#31466] [DPM] ISE-4051將DI設定Counter為最大值時,在DPM的Monitor會顯示NaN
* EdgeLink
* [#31307] [DPM] File management 在dispatch edgelink project後Result顯示空白
* [#31320] [DPM] File management 在dispatch edgelink project後Action無作用
* UNO/TPC
* [#31335] [DPM] UNO-137在Monitor/Network頁面異常
* Device Object Parameter
* [#31271] [DPM] Alarm Category會出現多個Warning/Fault/Alarm
* [#31273] [DPM] 進入已建立好的discrete參數編輯畫面,類型會變成Number
* Others
* [#31304] [DPM] 新增設備時的上傳設備圖片無作用
* [#31405] [DPM] 設備右側浮動視窗縮回去再拉出只會選擇第一台資訊
* [#31433] [DPM] 無法刪除被其它使用者使用在DeviceGroup的設備
### Data Management
#### [New Feature]
- api-portal
- add /healthz api
#### [Update]
- api-portal
- API Update
- query machines
- 新增showGroupObject input, showGroupObject:false則不顯示與Group同名的Object
- query Group.machines
- 新增showGroupObject input, showGroupObject:false則不顯示與Group同名的Object
- query machines.highLowEvents
- 與Range Alarm配置同步
- query.tenantByDashboardOrgId
- role改由api-portal提供
- RESTFul api : /orgnode/update/notifysender
- api-dbmaster
- API Update
- 移除role定義
- portal
- iFactory環境下, 不顯示與Group同名的Object
- dbcreator
- machine index migration - 將group下的GroupObject的index設定為0, 其餘依序往後+1
#### [Fix]
- portal
- [common] 首頁右上3個icon, disable Marketplace & 鈴鐺圖示
- [common] User profile的cancel按鈕無作用, 改成回上一頁
- [common] 更改密碼增加密碼規則提示
- [tenant] Add Tenant 下方 name & password 需隱藏
- [tenant] 在Switch Tenant功能下方標示當前tenant名稱
- [Cmdc/Menu List] ”Fail to load the page“ shows under the menu list.
- [Cmdc/Command Center] "指揮中心“ 翻譯
- [Cmdc / iApp / Add dialog] 系統設定 > 進階設定 > 顯示語言設定, 文字誤植
- [alarm]alarm code drawer,formula data source search功能修复
- [alarm] alarmType值校正,range=1,complex=3,alarmCode=2
- [alarm] complex symbol2下拉选单加上none并默认选中
- [Parameter] radio style 跑掉
- [Parameter] 点击左侧栏tab高亮不回显
- [Connector] gateways懒加载后search功能修复
- [Parameter] tags懒加载后search功能修复
- [Parameter] edit parameter时,切换tag导致data source页面重新渲染问题
- [general] 翻譯問題修正
- [User] Account欄位placeholder
- [Connector] 新增SCADA/EdgeLink Data Connector時的文字說明有誤
- [Parameter] 計算點 formula data source選不到自己
- api-portal
- [alarm] Fix not trigger alarms because not provide correct paramId
- [alarm] tagalmcfg's tagname filed should be tagname in devicetaginfo
- [parameter] fix 有多个IO param绑定相同的tag,MQTT almflag发送错误
- [parameter] 新增Primitive parameter跳出Enum "parameterKind" cannot represent value: "null"的錯誤
- [token] /refreshtoken 添加IFPToken的刷新
- [token] /refreshtoken添加sameSite: 'none'
- [object] 处理machinetype name中带'的问题
- [alarm config] /alarmcategory/all 根据rootorgid查询
- [System] 修正api-portal環境變數, 增加一組saascomposer_url
- [DM] Create device時, 自動產生的object命名規則不一致(應該#開頭)
- [parameter] Alarm level/category API格式修改
- [parameter] 修正第二次加primitive parameter引用iFactory grateway會報錯
- dbcreator
- PG缺少一個表 ifp_alarmevent造成machine.highLowEvents呼叫失敗
## Version: 2.0.2(20221028)
### Device Management
#### [New Feature]
* Device/Platform
* UNO/TPC
* Add UNO General, TPC General category when create UNO or TPC device
* Add Paste Device information from Clipboard when create device
* Add Watchdog setting if UNO/TPC supports it
* EdgeLink Project Dispatch
* Add Project Overwrite Setting: enable setting only when user select one device
* Add dispatch by Device Group
* Add Paste Device information from Clipboard when create device
* Common
* Add Switch Tenant item in right side menu
* Add Device Object Parameter feature
* Add Device Object Parameter event query
* Web UI changes icons
#### [Fix]
* Device Group
* [#30941] [DPM] Device Group Name可輸入32個字元但提交時卻提示只能輸入16個
* [#30942] [DPM] 點擊左側已建立Device Group後,右方彈出視窗的Group設定無作用
* [#30943] [DPM] Device 父Group 底下的設備無法移動至 子Group
* [#30944] [DPM] Device Group無法移動至同一層的Group底下
* ADAM/WISE module
* [#30895] [DPM] WISE/ADAM Configure頁面上沒有標示Pulse/DelayTime/Frequency/...等單位
* [#30897] [DPM] ADAM pulse signal width/DelayTime 可設定範圍有誤
* [#30926] [DPM] 透過DPM Configure功能修改數值後往下至ADAM的延遲時間過長
* [#30933] [DPM] 在非AI Alarm Drived mode時仍可設定DO Channel Index與Driving Alarm Mode
* [#30937] [DPM] WISE Enable Low/High Alarm與AI High/Low Alarm mode兩者功能衝突
* [#30940] [DPM] WISE AI Range多一個"unknown range"選項
* Device Object Parameter
* [#30814] [DPM] 新增Parameter的Data Source頁面 無分頁功能
* [#30866] [DPM] 在Parameter List 裡面的data type的資料是顯示1跟2
* [#30869] [DPM] parameter內的alarm/event設定11組,但頁面只能顯示10組,似乎少了scroll bar
* [#30877] [DPM] Edit Calculation Parameter裡面的Parameter name,按sumbit會出現error
* Others
* [#30723] [UI] 登出按扭消失
* [#30737] [DPM] 編輯設備,但Edit device沒有顯示
* [#30812] [DPM] Connection頁面的NODE ID缺少複製的圖示
* [#30949] [DPM] 新增Edgelink設備時的"Paste from Clipboard"功能貼上後,無法直接按Save
* [#31053] [DPM] UNO設備Configure→OS Reboot頁面文字錯誤
### Data Management
#### [New Feature]
- Portal
- [Home] Edge365環境新首頁
- [Object] 可配置 ObjectType / ObjectType Category
- [Group] Tenant User進入尚未有權限的Group時, 若檢查權限足夠, 會出現"Join to group"按鈕, 允許把自己加入該Group
- Tenant User scope中, OrgAclScope.Gmp=manage & OrgAclScope.User=manage
- [Parameter] 上傳 Alarm Code File & 配置Alarm Code Alarm
- api-portal
- 新增Parameter Kind (For ifactory)
- Prediction
- Transformation
- Kpi
- OpcUa
- Modbus
- New API (For ifactory)
- query.machineByIndex
- query.machinesBySerialNumber
- MachineType.machines
- query.machinesWithoutMachineType
- machine (handle by dataloader)
- api-dbmaster
- New API (For ifactory)
- query.getGroupByNames
#### [Update]
- Portal
- [CMDC] 優化loading Dashboard / Menu management畫面
- [Home] Banner APP下拉選單, 顯示 Data Management / User Management / Command Center版號
- [Group] Group tree若登入用戶沒權限, 會顯示disable無法點擊
- [User] 在Group直接新增非Tenant User時, 預設給該User的Tenant Role = "Viewer"
- api-portal
- [User] 在Tenant User中新增一個Admin權限的User, 則自動加入該Tenant的所有groups中
- [Devices] Create device时root org 及子org下面的有权限的人, 全部加入deviceownermapping (成為DPM畫面中該Device的owner)
- api-dbmaster
- [etcd] fix etcd lease expired
#### [Fix]
- Tenant Service
- [#30883] 在Tenant Management去編輯Tenant會出現error
- Portal
- [Data Connector] device tag若被object parameter綁定, 仍可以刪除device
- 修正為不允許刪除 & 跳出錯誤訊息
- 支援的Connector Type
- ADAM
- WISE
- UNO
- TPC
- WebAccess (WISE-PaaS MQTT)
- Edgelink
- [Parameter] 修复第一次编辑formula时自动跳到Basic info的问题
- [#30972] [Tenant User] disable tenant user後,登入的訊息內容有誤
- [#30970] [DM] Advanced Settings新增語言會出現錯誤畫面
- [#30929] [DPM] 新增相同MAC address設備時出現的提示訊息建議修改
- [#30913] [Login] 輸入錯誤密碼後的提示訊息不明確
- [#30882] 新增tenant後,再點switch tenant,tenant list沒有出現剛剛新增的tenant
- [#30832] [DM] 新增object頁面的Object type欄位下拉選單展開後無內容
- [#30803] [UI] 進人指揮中心的標題顯示錯誤
- [#30875] [DM] 在discrete parameter設定status,刪除button格式沒置中
- [#30862] [DM] 在Data connectors內的入站連接器清單,排序功能異常
- [#30860] [DM] Alarm啟用/關閉圖示異常
- [#30859] [DM] 新增設備參數頁面部分內容未翻譯
- [#30857] [DM] 新增參數時選擇"Add from parameter profile"沒有反應
- [#30856] [DM] 在object裡面按+新增parameter時,無法取消選單動作
- [#30844] [DM] 在User Management對group增加User,role權限是viewGroup,save後,使用剛剛增加的user登錄後卻可以看到所有group的資料
- [#30728] 從object management快速切換到user management/Command Center失敗
- api-portal
- [#30843][DM] User Management增加Tenant Users,role權限是admin,save後,但group usuer卻沒自動加入
- [#30709] 在Account Settings/User Profile,修改name後,按save會出現error
- [#30948] [Data connectors] 可以新增相同MAC address的Edgelink設備
- [#30867] [DM] 察看"隨著Org建立時自動產生的Object"內容為空
- [#30846][#30845] api-portal發送mqtt 通知 "objAdd" 格式錯誤
- [#30831] [DM] 新增child group失敗後,無法再建立同名child group
- [#30821] [DPM] 編輯uno-ching這台設備,save後沒有跳出成功訊息,也沒失敗訊息,F12有看到error
- [#30818] [DM] 新增一個設備點,然後點選設備點,會出現error
- [#30813] [DM] 在Data connectors新增SCADA - WISE-PaaS MQTT,但連線資訊不足,無法上傳成功
- [#30809] [DPM] 新增parameter會出現out of range錯誤
- [#30726] DPM有上傳設備,但增加primitive parameter在設定data source卻沒資料可以綁定
- api-alarm
- [#30817] [DPM] 設定parameter的Alarm/Event條件後,實際值有符合觸發條件但沒有觸發
- [#30804] [DPM] 進到Event的History界面會出現get his alarm by device id failed錯誤訊息
- api-dbmaster
- [#30847] [DM] graph panel無法看到rawdata
- evaluator
- [DM] calculation tag運作異常
## Version: 2.0.1(20220916)
### Device Management
#### [New Feature]
* Device/Platform
* UNO
* Show iBMC related configurations if UNO supports iBMC
* Disable not supported Monitor Item
* EdgeLink
* Use MAC address to add EdgeLink device
* Common
* Add Device Label
* Add Device Object Parameter feature
* Add Device Object Parameter event query
* Device Group
* Add Device Scheduling feature
* Add Group Monitor feature
* Add Device Object Parameter event query
* EdgeLink Project
* Add EdgeLink Project file upload
* Add EdgeLink Project file dispatch feature
### Data Management
#### [New Feature]
- Portal
* [Inbound Connector] 新版UI設計, 整合dcGateway CRUD APIs
* Edge Software
* Edgelink - WISE-PaaS MQTT
* [Inbound Connector] Connector列表顯示
* 可顯示連線資訊
* Edgelink - WISE-PaaS MQTT
#### [Update]
- Portal
* [Parameter] Primitive Parameter支援綁定DPM device類型
* SCADA - WISE-PaaS MQTT
* Edgelink - WISE-PaaS MQTT
* ADAM
* WISE
* UNO
* TPC
* [Parameter] 暫時停用Alarm Code Alarm功能
- api-portal
* [Connector] dcGateway API支援 DcEdgelink顯示mqtt username & password
* [Common] DcSystemInfo API 補上 mqttsPort
#### [Fix]
- Portal
* [Common] 修正loading樣式無反應
- api-portal
* [alarm] not change almflag status cause alarm not enabled
* [tag] dcGateway’s tagid 重複
* [User] 新增user->新增SaaS Composer user報錯卻沒處理, 造成新增user失敗
* [pg] 修正未關閉session造成連線失敗
## Product Timeline
:::success

:::
## Appendix and FAQ
:::info
**Readmine** [(http://advrm.advantech.com:3012/my/page)]
:::
###### tags: `Documentation`