Sitemap error when useing text item as link to a new page

I Have this error in my openhab log and i know which line is causing it. But this is a bug or just a wrong use of the item?
I’m Using OH2 Build #820

 [ERROR] [xtext.validation.CompositeEValidator] - Error executing EValidator java.lang.IllegalArgumentException: The sources EClass 'Sitemap' does not expose the feature 'Widget.LabelColor'
    at org.eclipse.xtext.validation.FeatureBasedDiagnostic.<init>(FeatureBasedDiagnostic.java:33)
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.createDiagnostic(AbstractDeclarativeValidator.java:613)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.acceptError(AbstractDeclarativeValidator.java:556)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.error(AbstractDeclarativeValidator.java:441)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.error(AbstractDeclarativeValidator.java:420)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.error(AbstractDeclarativeValidator.java:408)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.smarthome.model.validation.SitemapValidator.checkFramesInWidgetList(SitemapValidator.java:53)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_121]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_121]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151)[145:org.eclipse.xtext:2.9.2]
    at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171)[68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158)[68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)[68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:108)[68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
    at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.validateModel(ModelRepositoryImpl.java:264)[126:org.eclipse.smarthome.model.core:0.9.0.201702171712]
    at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:90)[126:org.eclipse.smarthome.model.core:0.9.0.201702171712]
    at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:272)[126:org.eclipse.smarthome.model.core:0.9.0.201702171712]
    at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.access$1(FolderObserver.java:265)[126:org.eclipse.smarthome.model.core:0.9.0.201702171712]
    at org.eclipse.smarthome.model.core.internal.folder.FolderObserver$WatchQueueReader.processWatchEvent(FolderObserver.java:146)[126:org.eclipse.smarthome.model.core:0.9.0.201702171712]
    at org.eclipse.smarthome.core.service.AbstractWatchQueueReader.run(AbstractWatchQueueReader.java:122)[102:org.eclipse.smarthome.core:0.9.0.201702171712]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

It is caused by this past of the code in default.sitemap. If a remove the Text item and give the frame a text its oke. But then I’m not getting a nice flat linkage to a next page.

    	Text item=Weather_Temperature label="Weer [%.1f °C]" icon="sun"  { 
			Frame  {
				Text item=Weather_Temperature
			}
	}
1 Like

Hello,
your sitemap snippet looks okay, besides the \ which shouldn’t be there. Could you please test some more, there must be a different problem.

sorry the \ should not be there… I edited the post…
I tested it and the Text line is the problem. But i forgot to say i’m using OH2 #820

@ThomDietrich, I think it has something to do with maybe BASIC-UI because it displays like this

There is no label color around the item as it is done with a frame.

Also adding labelcolor=[Weather_Temperature>=0="green"] doesn’t help stopping the error from showing in the log.

If this is a problem with the latest build, could you please file an issue at https://github.com/eclipse/smarthome/issues (check for existing first).
Could you provide a minimal example for that?

@levers Jan, hope I don’t misunderstood your goal. If you will put your ‘group replacing’ text item into a frame that will vanish your log.

Something like this:

Frame {	
Text item=Weather_Temperature label="Weer [%.1f °C]" icon="sun"  { 
			Frame  {
				Text item=Weather_Temperature
			}
	}
}
1 Like

@AndrewZ, Andrew, that is correct the error is solved if you place an additional before it.
But i don’t want the use frames… I want to have a frameless BASIC-UI

But if you place any item GROUP, TEXT, SWITCH ect they all give this error… but first I will install the latest build before reporting it.

OK, I see…
That was my issue - slightly different but still close:

Hi, I’ having this too, after installing my sitemap in my today’s (fresh) installed snapshot.

I too have frames embedded in text items (to create “pages”)

Hi
I’m having the same issue since I changed to snapshot build some weeks ago, when using a Group item directly in the sitemap:

sitemap s2 label=“My home” {
Group item=gHue label=“Hue” icon=“light”
}

I’m noticing the same thing in my logs.

this is the part of the sitemap:

Text item=SpeedtestSummary {
		Frame label="Results" {
			Text item=SpeedtestResultDown
			Text item=SpeedtestResultUp
			Text item=SpeedtestResultPing
		}
		
		Frame label="Control" {
			Text item=SpeedtestResultDate
			Text item=SpeedtestRunning label="Speedtest [%s]" visibility=[SpeedtestRunning != "-"]
			Switch item=SpeedtestRerun mappings=[ON="Start"]
		}
		
		Frame label="Statistics" {
			Text label="..." icon="speedtest_analytics8"
		}
	}

If wrap all of that inside another Frame, the error goes away. But think we should not need to do that?