semanticHomeMenu for openHAB 4 - Discussions

Aha, I’ll try to figure that out! Thanks for pointing me in that direction :slight_smile:

1 Like

Support for Lightstripes is added to the marketplace.

2 Likes

first of all, thanks for this great Home Menu.

currently im working on integrating it into my setup but facing one strange issue with the RollerShutter binding.
I have 3 Rollershutter in my office, where the controls are working perfectly however the name in the items is in the widget for all 3 items the same.
i just cant figure out why.

item config:

Group                       		RollershutterOffice_frontleft                               "Rollershutter Front Left"          <rollershutter>       	(GF_Office, allRollers)                            ["Blinds"] 				           {uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"]}
Rollershutter						RollershutterOffice_frontleft_control						"Control"							<rollershutter>			(RollershutterOffice_control, RollershutterOffice_frontleft,GF_gShutter)		["Control" ,"Opening"]		{uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"], channel="zwave:device:17332cd161b:node15:blinds_control1", alexa="Blind"}
Switch                      		RollershutterOffice_frontleft_scheduleControl               "Schedule"                          <time>					(RollershutterOffice_frontlef)                     ["Control", "Timestamp"]
DateTime                    		RollershutterOffice_frontleft_openWeek                      "Open Weekdays"                     <time>                	(RollershutterOffice_frontlef)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontleft_closeWeek                     "Close Weekdays"                    <time>                	(RollershutterOffice_frontlef)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontleft_openWeekend                   "Open Weekend"                      <time>                	(RollershutterOffice_frontlef)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontleft_closeWeekend                  "Close Weekend"                     <time>                	(RollershutterOffice_frontlef)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}


Group                       		RollershutterOffice_frontright                               "Rollershutter Front Right"         <rollershutter>       	(GF_Office, allRollers)                            ["Blinds"] 				           {uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"]}
Rollershutter						RollershutterOffice_frontright_control						 "Control"							 <rollershutter>		(RollershutterOffice_control, RollershutterOffice_frontright,GF_gShutter)		["Control" ,"Opening"]		{uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"], channel="zwave:device:17332cd161b:node16:blinds_control1", alexa="Blind"}
Switch                      		RollershutterOffice_frontright_scheduleControl               "Schedule"                          <time>					(RollershutterOffice_frontright)                     ["Control", "Timestamp"]
DateTime                    		RollershutterOffice_frontright_openWeek                      "Open Weekdays"                     <time>                	(RollershutterOffice_frontright)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontright_closeWeek                     "Close Weekdays"                    <time>                	(RollershutterOffice_frontright)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontright_openWeekend                   "Open Weekend"                      <time>                	(RollershutterOffice_frontright)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_frontright_closeWeekend                  "Close Weekend"                     <time>                	(RollershutterOffice_frontright)                     ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}


Group                       		RollershutterOffice_right                            	     "Rollershutter Right"		         <rollershutter>       	(GF_Office, allRollers)                            ["Blinds"] 				           {uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"]}
Rollershutter						RollershutterOffice_right_control							 "Control"						 	 <rollershutter>		(RollershutterOffice_control, RollershutterOffice_right,GF_gShutter)		["Control" ,"Opening"]		{uiSemantics="uiSemantics"[preposition=" in the", equipment="Rollershutter", location="Office"], channel="zwave:device:17332cd161b:node17:blinds_control1", alexa="Blind"}
Switch                      		RollershutterOffice_right_scheduleControl           	     "Schedule"                          <time>					(RollershutterOffice_right)             	       ["Control", "Timestamp"]
DateTime                    		RollershutterOffice_right_openWeek                     		 "Open Weekdays"                     <time>                	(RollershutterOffice_right)                 	   ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_right_closeWeek                    		 "Close Weekdays"                    <time>                	(RollershutterOffice_right)            		       ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_right_openWeekend                        "Open Weekend"                      <time>                	(RollershutterOffice_right)                 	   ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}
DateTime                    		RollershutterOffice_right_closeWeekend                 		 "Close Weekend"                     <time>                	(RollershutterOffice_right)                		   ["Control", "Timestamp"]           {stateDescription=" "[pattern="%1$tH:%1$tM"], widget="widget:timepicker"[timeFormat="24h"], listWidget="widget:timepicker"[timeFormat="24h"]}

Thanks for your feedback. Reason is quite simple, your items have 100% identical uiSemantics.

You need to alter the equipment part, which is used for the name in the widget.

thanks a lot.
overlooked this part :man_facepalming:

1 Like

I’ve got a Shelly RGBW2, which has 4 channels for white LED stripes. The yaml code searches for ? props.groupItem + "_brightness. But each LED stripe is its own channel of the same RGBW2 item.

How should I name these channels…? I assume ..._brightness1, ..._brightness2 etc. doesn’t work…

Sorry, but this is not supported.
You need to model separate equipments for those different LED stripes. Please note that the widgets do not represent your things directly. E.g. I have a Shelly 2.5 with two outputs, controlling different lights in the bathroom. Each output is defined as individual light in the bathroom (mirror light and ceiling light)

I see.

Something else…

My RadiatorControls are all placed in the same room, being the alphabetically first room of the floor in question:

Here Berging is the first room (alphabetically speaking), but the heatings are in resp. Eetkamer, Gang gelijkvloers and Keuken. There is no heating in the Berging

Any idea what the problem is here? (I think the actual names of the room items are not used in the yaml code?)

I need to see your equipment group definition.
Seems to be missing or incorrect uiSemantics.

I’m working via the MainUI, so I don’t know how I could get a useful overview? The yaml code of Eetkamer e.g.:

label: Eetkamer
type: Group
category: ""
groupNames:
  - Gelijkvloers
tags:
  - DiningRoom
groupType: None
function: None

In the demo overview (https://github.com/hmerk/semanticHomeMenu/blob/main/demo.items), what is the 6th column for? I can’t figure that out:

Those are the semantic tags, defining what room type or what kind of equipment you want to define.

But I need to see the equipment items for your radiator controls.
And please do not compare to the demo.items file on github, but check the examples in the marketplace posts. Need to update some github files.

label: Verwarming eetkamer
type: Group
category: heating
groupNames:
  - Eetkamer
tags:
  - RadiatorControl
groupType: None
function: None

Noted. Didn’t realize they had examples…

How do I add the order (and the prepositions) via the MainUI?

Both are metadata values. When you open the item in MainUI, the is a menu for adding them.
The prepositions are custom metadata. There is a link to the community discussion in the widget docs.

I now discovered you can create items with the textual approach within the MainUI… That saves time :smile:

I used that method to create the items for the weather widget. But that way (copying from the documentation on the marketplace), I created OneCallAPIweatherandforecast_Current_Sunrise, while the weather widget seems to look for OneCallAPIweatherandforecast_ForecastToday_Sunrise (line 128). The same goes for item OneCallAPIweatherandforecast_Current_Sunset, while the widget seems to look for OneCallAPIweatherandforecast_ForecastToday_Sunset (line 166).

Looks like a typo? Or am I missing something (once again :slight_smile:)?

That’s what is written in my posts, examples for textual import :wink:

I will check later, thanks for reporting. I might have overlooked this, as I have all OWM Items in my Installation…
BTW, you can open issues for bug reports at my github repository…

I know, but I interpreted them as .item files. I didn’t know the textual method could be used within MainUI. :slight_smile:

Mmm, I’m not familiar with how that works. I’ll try to figure it out next week somewhere.

No worries, this would just be to not forget to fix things. As this one is actually the only one reported, I can track it easily :wink:

It was indeed a mistake by myself, fixed it on github and updated Marketplace post.
Thanks again for reporting. :+1: