<!--
Please DO NOT ERASE this template, but fill in the details as requested. T…his will ensure your issue is properly filed and will be considered. Otherwise, we may reserve the right to close it without further action.
-->
## The problem
I have a couple of items bound to the ZWave switches. They sit in the proper semantic location of my house. I created a non-semantic group to capture all lights in my house. The group has aggregation `Group:Number:SUM` to show the count of lights that are ON (however, the issue is valid for other aggregations like AVG for temperatures etc.).
The main UI model tree is shown correctly (if I tick "show non-semantic").
However, if I add metadata, for example, StateDescription or Default List Item widget, then all child items disappear in the tree view. If I remove metadata, they are visible again.
When children items are not visible, the relationship is still there, the group is updated accordingly, and only the tree view is affected.
This issue happens only for situation if the child Items are semantic ones, but the parent group is non-semantic. I tested out and that aggregation doesn't have any influence, so simply a plain Group item with any child items are sufficient to get this issue.
![Feb-24-2021 09-05-42](https://user-images.githubusercontent.com/4218395/108967351-b1bfe700-767f-11eb-84cb-e9fab1767ce0.gif)
<!--
Describe the issue you're having. In most cases it is appreciated to share screenshots or
even animated GIFs of your issue.
To make screenshots:
* On Windows: use Win+Shift+S
* On macOS: use Cmd+Shift+4
To make animated GIFs we recommend:
* On Windows: ShareX - https://getsharex.com/
* On macOS: Giphy Capture - https://giphy.com/apps/giphycapture
* On GNU/Linux: Peek - https://github.com/phw/peek
-->
## Expected behavior
Non-semantic group should show child items no matter what metadata is configured on non-semantic group Item.
<!--
Describe what you expected to happen or how it should look/behave.
-->
## Steps to reproduce
1. Create items and corresponding group using textual form. Items should be semantic
```
Group gTempSum
Number TempItem1 (gTempSum) ["Point"]
Number TempItem2 (gTempSum) ["Point"]
```
2. Go to the Model view and tick "Show non-semantic"
3. Click on the `gTempSum` group item and add metadata, e.g. `Default List Item Widget` and save it.
4. Notice that the Group item in the Model view stopped showing child items
5. Remove the metadata from Group Item. Model view starts showing child items again.
<!--
Provide accurate steps to reproduce the issue, including pastes of widget/page code if necessary.
-->
## Your environment
OH3.0.1 + Raspbian RPi4B
<!--
As an admin, in the main UI, choose *Help & About* on the left sidebar, expand *Technical information* and click on *View details*, then click *Copy* and paste the results here. You may omit information that is not pertinent to this issue if you feel it's divulging information you'd like not to share.
-->
```yaml
runtimeInfo:
version: 3.0.1
buildString: Release Build
locale: pl_PL
systemInfo:
configFolder: /etc/openhab
userdataFolder: /var/lib/openhab
logFolder: /var/log/openhab
javaVersion: 11.0.10
javaVendor: Azul Systems, Inc.
javaVendorVersion: Zulu11.45+27-CA
osName: Linux
osVersion: 5.10.11-v7l+
osArchitecture: arm
availableProcessors: 4
freeMemory: 82669320
totalMemory: 194904064
bindings:
- amazonechocontrol
- astro
- exec
- hpprinter
- http
- mqtt
- network
- ntp
- openweathermap
- robonect
- samsungtv
- spotify
- systeminfo
- zwave
clientInfo:
device:
ios: false
android: false
androidChrome: false
desktop: true
iphone: false
ipod: false
ipad: false
edge: false
ie: false
firefox: false
macos: true
windows: false
cordova: false
phonegap: false
electron: false
nwjs: false
webView: false
webview: false
standalone: false
os: macos
pixelRatio: 2
prefersColorScheme: dark
isSecureContext: true
locationbarVisible: true
menubarVisible: true
navigator:
cookieEnabled: true
deviceMemory: 8
hardwareConcurrency: 8
language: pl
languages:
- pl
- en-US
- en
onLine: true
platform: MacIntel
screen:
width: 1440
height: 900
colorDepth: 30
support:
touch: false
pointerEvents: true
observer: true
passiveListener: true
gestures: false
intersectionObserver: true
themeOptions:
dark: dark
filled: true
pageTransitionAnimation: default
bars: light
homeNavbar: default
homeBackground: default
expandableCardAnimation: default
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36
timestamp: 2021-02-23T15:34:18.019Z
```
## Browser console
<!--
Open the developer tools in your browser, go to the Console tab and paste errors and other messages that might be relevant to this issue.
You may also paste a screenshot if you prefer.
-->
There are no errors in console. However I switched on Verbose output and captured as below for the steps: Add metadata and save it
```txt
app.js:37 Stop tracking states
app.js:32 SSE connection closed: http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed, 0 open
app.js:32 []0: EventSourceonerror: ƒ ()onmessage: ƒ (e)arguments: (...)caller: (...)length: 1name: ""prototype: {constructor: ƒ}__proto__: ƒ ()[[FunctionLocation]]: app.js:32[[Scopes]]: Scopes[3]onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)
app.js:37 Proxy: need gTempSum
app.js:37 updateTrackingList: No connection id, not calling the API
app.js:37 Start tracking states
app.js:32 new SSE connection: http://openhab:8080/rest/events/states, 1 open
app.js:32 [EventSource]0: EventSourceonerror: ƒ ()onmessage: ƒ (e)onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)
app.js:37 Proxy: need gTempSum
app.js:37 updateTrackingList: No connection id, not calling the API
app.js:37 Setting initial tracking list: ["gTempSum"]
app.js:37 Start tracking states
app.js:37 Closing existing state tracker connection
app.js:32 SSE connection closed: http://openhab:8080/rest/events/states, 0 open
app.js:32 []0: EventSourceonerror: ƒ ()onmessage: ƒ (e)onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)
app.js:32 new SSE connection: http://openhab:8080/rest/events/states, 1 open
app.js:32 [EventSource]0: EventSourceonerror: ƒ ()onmessage: ƒ (e)onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)
app.js:37 Stop tracking states
app.js:32 SSE connection closed: http://openhab:8080/rest/events/states, 0 open
app.js:32 []0: EventSourceonerror: ƒ ()onmessage: ƒ (e)onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)
app.js:37 Proxy: need gTempSum
app.js:37 updateTrackingList: No connection id, not calling the API
app.js:32 new SSE connection: http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed, 1 open
app.js:32 [EventSource]0: EventSourceonerror: ƒ ()onmessage: ƒ (e)onopen: ƒ (e)readyState: 1url: "http://openhab:8080/rest/events?topics=openhab/items/*/added,openhab/items/*/updated,openhab/items/*/removed"withCredentials: false__proto__: EventSourcelength: 1__proto__: Array(0)concat: ƒ concat()constructor: ƒ Array()copyWithin: ƒ copyWithin()entries: ƒ entries()every: ƒ every()fill: ƒ fill()filter: ƒ filter()find: ƒ find()findIndex: ƒ findIndex()flat: ƒ flat()flatMap: ƒ flatMap()forEach: ƒ forEach()includes: ƒ includes()indexOf: ƒ indexOf()join: ƒ join()keys: ƒ keys()lastIndexOf: ƒ lastIndexOf()length: 0map: ƒ map()pop: ƒ pop()push: ƒ push()reduce: ƒ reduce()reduceRight: ƒ reduceRight()reverse: ƒ reverse()shift: ƒ shift()slice: ƒ slice()some: ƒ some()sort: ƒ sort()splice: ƒ splice()toLocaleString: ƒ toLocaleString()toString: ƒ toString()unshift: ƒ unshift()values: ƒ values()Symbol(Symbol.iterator): ƒ values()Symbol(Symbol.unscopables): {copyWithin: true, entries: true, fill: true, find: true, findIndex: true, …}__proto__: Object
```
## Browser network traffic
There are no fails in the network traffic. But I captured the request for getting list of items focused on the affected items.
Here is the response of that request when metadata is added to the group (child items not shown)
![image](https://user-images.githubusercontent.com/4218395/108966003-efbc0b80-767d-11eb-9002-1c8d09c9fcf4.png)
And here when metadata is removed from group (and child items are shown)
![image](https://user-images.githubusercontent.com/4218395/108965978-e632a380-767d-11eb-893a-2f98a640bb55.png)
<!--
Open the developer tools in your browser, go to the Network tab and paste
screenshots of the network traffic and the details of individual requests that failed.
-->
## Additional information
<!--
Provide any information not pertinent to the above sections that you'd still like to share.
-->