Help, "Pages" Pages endless loading

Can anyone tell me why the “Pages” section remains in loading?
Has it happened to anyone?
Openhab 3

app.js:7 TypeError: (t.config.label || t.uid).substring is not a function
at app.js:32
at Array.reduce ()
at o.indexedPages (app.js:32)
at fn.get (app.js:7)
at fn.evaluate (app.js:7)
at o.indexedPages (app.js:7)
at o. (app.js:32)
at o.e._render (app.js:7)
at o.a (app.js:7)
at fn.get (app.js:7)
Ge @ app.js:7
app.js:32 Uncaught TypeError: Cannot read property ‘update’ of undefined
at app.js:32
2app.js:7 TypeError: (t.config.label || t.uid).substring is not a function
at app.js:32
at Array.reduce ()
at o.indexedPages (app.js:32)
at fn.get (app.js:7)
at fn.evaluate (app.js:7)
at o.indexedPages (app.js:7)
at o. (app.js:32)
at o.e._render (app.js:7)
at o.a (app.js:7)
at fn.get (app.js:7)
Ge @ app.js:7
app.js:32 Uncaught TypeError: Cannot read property ‘update’ of undefined
at app.js:32
2app.js:7 TypeError: (t.config.label || t.uid).substring is not a function
at app.js:32
at Array.reduce ()
at o.indexedPages (app.js:32)
at fn.get (app.js:7)
at fn.evaluate (app.js:7)
at o.indexedPages (app.js:7)
at o. (app.js:32)
at o.e._render (app.js:7)
at o.a (app.js:7)
at fn.get (app.js:7)
Ge @ app.js:7
app.js:32 Uncaught TypeError: Cannot read property ‘update’ of undefined
at app.js:32
2app.js:7 TypeError: (t.config.label || t.uid).substring is not a function
at app.js:32
at Array.reduce ()
at o.indexedPages (app.js:32)
at fn.get (app.js:7)
at fn.evaluate (app.js:7)
at o.indexedPages (app.js:7)
at o. (app.js:32)
at o.e._render (app.js:7)
at o.a (app.js:7)
at fn.get (app.js:7)
Ge @ app.js:7

It looks like somewhere you have an error that has snuck into the YAML that defines one of your pages. You need to either role back the uicomponents_ui_page.json in the jasondb folder to one of the versions in the backup folder or manually edit that file if you know where the error is. In either case make sure you first read Editing the JSONDB, a last resort in

Thanks, I try

this is what’s in the uicomponents_ui_page.json file
I looked but I didn’t understand anything, I hope you can help me

{
“overview”: {
“class”: “org.openhab.core.ui.components.RootUIComponent”,
“value”: {
“uid”: “overview”,
“timestamp”: “May 25, 2021, 9:05:28 PM”,
“component”: “oh-layout-page”,
“config”: {
“label”: “House”
},
“slots”: {
“default”: [
{
“component”: “oh-block”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-row”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-col”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-clock-card”,
“config”: {}
}
]
}
}
]
}
}
]
}
}
]
}
}
},
“page_6e42106934”: {
“class”: “org.openhab.core.ui.components.RootUIComponent”,
“value”: {
“uid”: “page_6e42106934”,
“timestamp”: “May 11, 2021, 5:39:10 PM”,
“component”: “oh-layout-page”,
“config”: {
“item”: “\u003d(props.colorTemperature)”,
“scale”: true,
“label”: true,
“unit”: “Fredda/Calda”,
“style”: {
“margin-top”: “7px”,
“–f7-range-bar-size”: “18px”,
“–f7-range-bar-border-radius”: “10px”,
“–f7-range-knob-size”: “20px”,
“–f7-range-bar-active-bg-color”: “transparent”,
“–f7-range-bar-bg-color”: “linear-gradient(to right, rgba(215, 226, 255), rgba(255, 255, 255),rgba(255, 147, 44, 0.5),rgba(255, 147, 44, 0))”,
“–f7-range-knob-box-shadow”: “0 2px 4px rgba(0, 0, 0, 0.3)”,
“–f7-range-label-text-color”: “black”,
“width”: “100%”
}
},
“slots”: {}
}
},
“page_fd564637f6”: {
“class”: “org.openhab.core.ui.components.RootUIComponent”,
“value”: {
“uid”: “page_fd564637f6”,
“timestamp”: “May 28, 2021, 8:21:24 PM”,
“component”: “oh-layout-page”,
“config”: {
“label”: “Home”,
“sidebar”: true
},
“slots”: {
“default”: [
{
“component”: “oh-block”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-row”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-col”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “widget:OH3LivioZigbeeWidget”,
“config”: {
“typeDisp”: “Door”,
“title”: “Aperto”,
“showdynamicItems”: true,
“itemItem”: “Contatto_Magnetico_Ingresso_contact”,
“iconItem”: “f7:lock”,
“batterylevelItem”: “Contatto_Magnetico_Ingresso_battery”,
“lowbatteryItem”: “Contatto_Magnetico_Ingresso_battery_low”,
“actionToDo”: “popup”,
“nome”: “Contatto Ingresso”
}
}
]
}
}
]
}
}
]
}
}
]
}
}
},
“page_d032e2b20f”: {
“class”: “org.openhab.core.ui.components.RootUIComponent”,
“value”: {
“uid”: “page_d032e2b20f”,
“timestamp”: “May 10, 2021, 8:50:33 PM”,
“component”: “oh-layout-page”,
“config”: {
“label”: “zigbee2mqtt”
},
“slots”: {
“default”: [
{
“component”: “oh-block”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-row”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “oh-grid-col”,
“config”: {},
“slots”: {
“default”: [
{
“component”: “widget:OH3LivioZigbeeWidget”,
“config”: {
“typeDisp”: “Thermometer”,
“itemItem”: “Sensore_Temperatura_temperature”,
“iconItem”: “f7:thermometer”,
“batterylevelItem”: “Sensore_Temperatura_battery”,
“temperatureItem”: “Sensore_Temperatura_temperature”,
“humidityItem”: “Sensore_Temperatura_humidity”,
“title”: “Sensore Temperatura”,
“nome”: “Temperatura Rilevata”,
“actionToDo”: “popup”,
“pagetoShow”: “widget:OH3LivioZigbeeWidget”
}
}
]
}
}
]
}
}
]
}
}
]
}
}
},
“home”: {
“class”: “org.openhab.core.ui.components.RootUIComponent”,
“value”: {
“uid”: “home”,
“timestamp”: “May 11, 2021, 6:26:23 PM”,
“component”: “oh-home-page”,
“config”: {
“label”: “Home Page”
},
“slots”: {
“locations”: [
{
“component”: “oh-locations-tab”,
“config”: {},
“slots”: {
“bathroom”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “pink”
}
}
],
“corridor”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “green”
}
}
],
“livingroom”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundImage”: “c://desktop/domotica/soggiorno.jpg”
}
}
],
“bedroom”: [
{
“component”: “oh-location-card”,
“config”: {}
}
],
“childrensroom”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “purple”
}
}
],
“kitchen”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “yellow”
}
}
],
“storagefood”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “teal”
}
}
],
“House”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “deeporange”
}
}
],
“groundfloor”: [
{
“component”: “oh-location-card”,
“config”: {}
}
],
“Glaundry”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “lime”
}
}
],
“lunchroom”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “yellow”
}
}
],
“firstfloor”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “deeporange”
}
}
],
“secondfloor”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “yellow”
}
}
],
“Gbathroom”: [
{
“component”: “oh-location-card”,
“config”: {
“backgroundColor”: “lightblue”
}
}
]
}
}
],
“equipment”: [
{
“component”: “oh-equipment-tab”,
“config”: {},
“slots”: {}
}
],
“properties”: [
{
“component”: “oh-properties-tab”,
“config”: {},
“slots”: {}
}
]
}
}
}
}

This looks pretty suspect. This is a layout page that has no widgets on it, seems to have an attempt to define an item which doesn’t make any sense on a page, and, most importantly, has a label that is set to the boolean true instead of a string. The error you’ve cited is complaining about an the label property of an object, so I suspect this true label is the issue.

ok, i need to replace true with false or i need to delete it?
Thanks

a question, is there a way to delete the “pages” I created to see if it fits? I don’t know, maybe delete some json files

You should NOT just delete the whole uicomponents_ui_page.json file. But you can (and in this case, I think, should) delete the entire entry for that malformed page. You need to stop OH, use a text editor to delete all of the lines I highlighted in my previous post (from the “page_6e42106934”: { to the }, AFTER the “slots”: {} line). Then you can restart OH. If you delete the wrong lines you will not fix the problem; the UI will still not be able to render the pages.

The alternative as outlined in the link I posted is to look in the backups folder and find one of the automated back ups of uicomponents_ui_page.json that does not contain the error and restore that to the main jsondb folder.

The label is expecting a string, some sort of text value that is a human readable label to display to identify the page. Look at the other examples of label in the file you posted. true and false are boolean values that do not make sense as a human readable page identifier. If you want to try and repair the file without deleting that page entry then you need to at the very least replace true with something that is a basic text value: “Broken Page” or “New Label” or whatever you want. You might also need to delete the item line although I think the parser should just be able to ignore that one.

1 Like

thank you thank you thank you, I solved it !!!