Sim
(Sim)
November 28, 2025, 11:08am
1
With the transition from OH4 to OH5 the “climate” icon no longer appears in the cards.
Referring to this:
opened 03:24PM - 24 Nov 20 UTC
closed 10:39PM - 28 Nov 20 UTC
enhancement
main ui
This issue discusses the design and features of the header of a location card, w… hen not customized by users using slots.
As a semantic card it inherits a number of common properties described in #555 (like background color/image).
## Title
By default, the title is the label of the item (or its name if it has none).
## Subtitle
If the location has a parent, the label or name of the parent is the default (but it should be possible to remove it, for instance if the cards are manually put in groups by the user (see #555).
## At-a-glance modules
The built-in at-a-glance modules (or "complications" as in watch screens) use the semantic model to gather information about the location and display it in a summarized manner with little icons and eventually a short label, "rewarding" the time taken to build a well-designed model by automatically providing information in the header of the card. The goal is not to be exhaustive, rather cover what should be the most popular scenarios. There will still of course be cases outside this anticipated well-known scenarios, and esoteric needs; therefore ideally users should be able to customize these modules, or add more (with slots). It should also be possible to hide automatically shown modules that doesn't work well or aren't desired.
A location card with all modules having something to display should resemble the following example ("worst case scenario"):

It is a little busy, but the average card should be much less so since a module isn't displayed when there is nothing to show.
### General principles for querying data from the model
- Normally the user will have put Equipment in the Locations. Most of these pieces of equipment will have Points. Gathering states from Points is always preferred as opposed to gathering states from Equipment item themselves, but we do it anyway if we couldn't find any matching Point. For instance, for blinds, look for OpenState points in equipment tagged Blinds (the preferred default), but if we can't find any, analyze the state of the Equipment items themselves - and consider a state of OPEN, or CLOSED appropriately.
- In order to leave out any ambiguity about which Points to consider, the admin has the option of relating Points directly to the Location without any Equipment in between. There are many ways to do it:
* a Point can be made a member of both its parent Equipment, and also the Location it's in.
* the item could be duplicated at the Location level and linked to the same channel so that it reflects the same data
* a Group with an aggregation function (e.g. average) can be added as a Point to the Location to compute a state for the location from the state of the desired items.
<br />we should therefore prioritize the results by considering first only the Points which have a direct _hasLocation_ relation to the location; but if none match, we can consider those indirectly related through their equipment items.
### Built-in glance modules
####  Number of alarms (after the title)
__Point_Alarm__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Alarm__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
Count those with the state `ON`: if any result, display the count after the title as shown.
####  Nb. Lights on
__Point_Control*__ _relatedTo_ __Property_Light__ _hasLocation_ __(the location)__ with the state
___If no matching item found:___
__Point_Control*__ _relatedTo_ __Property_Light__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
Count those with the state `ON`, integer>0 or H,S,B with B > 0: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Open Windows
__Point_Status_OpenState__ _isPointOf_ __Equipment_Window__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Window__ _hasLocation_ __(the location)__
Count those with the state `OPEN`: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Open Doors
__Point_Status_OpenState__ _isPointOf_ __Equipment_Door__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Door__ _hasLocation_ __(the location)__
Count those with the state `OPEN`: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Open Garage Doors
__Point_Status_OpenState__ _isPointOf_ __Equipment_GarageDoor__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_GarageDoor__ _hasLocation_ __(the location)__
Count those with the state `OPEN`: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Open Blinds
__Point_Status_OpenState__ _isPointOf_ __Equipment_Blinds__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Blinds__ _hasLocation_ __(the location)__
Count those with the state `OPEN` or integer=0: single result, display the icon only; multiple results, display the icon and the count.
####  Presence Detected
__Point_Status__ _relatedTo_ __Property_Presence__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Status__ _relatedTo_ __Property_Presence__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
If any result has the state `ON` or `OPEN`, display the icon.
####  Locks
__Point_Status__ or __Point_Control*__ _isPointOf_ __Equipment_Lock__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Lock__ _hasLocation_ __(the location)__
If all results have the state `CLOSED` or `OFF`: display 
If any result has the state `ON` or `OPEN`: single result, display the icon ; multiple results, display the icon and the count.
####  Climate Control Powered On (A/C, Heating)
__Point_Status__ or __Point_Control*__ __relatedTo_ __Property_Power__ _isPointOf_ __Equipment_HVAC__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_HVAC__ _hasLocation_ __(the location)__
If any result has the state `ON`, display the icon.
####  Nb. of Screens Powered On
__Point_Status__ or __Point_Control*__ __relatedTo_ __Property_Power__ _isPointOf_ __Equipment_Screen__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Screen__ _hasLocation_ __(the location)__
Count those with the state `ON`: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Speakers/AV Receivers Powered On
__Point_Status__ or __Point_Control*__ __relatedTo_ __Property_Power__ _isPointOf_ __Equipment_Speaker__ or __Equipment_Receiver__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Speaker__ or __Equipment_Receiver__ _hasLocation_ __(the location)__
Count those with the state `ON`: single result, display the icon only; multiple results, display the icon and the count.
####  Nb. of Projectors Powered On
__Point_Status__ or __Point_Control*__ __relatedTo_ __Property_Power__ _isPointOf_ __Equipment_Projector__ _hasLocation_ __(the location)__
___If no matching item found:___
__Equipment_Projector__ _hasLocation_ __(the location)__
Count those with the state `ON`: single result, display the icon only; multiple results, display the icon and the count.
####  Temperature (Measurement & Setpoint)
##### Measurement part:
__Point_Measurement__ _relatedTo_ __Property_Temperature__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Measurement__ _relatedTo_ __Property_Temperature__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
Compute the average of the valid values (if single result, take the result a fortiori), and display if valid.
##### Setpoint part:
__Point_Setpoint__ _relatedTo_ __Property_Temperature__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Setpoint__ _relatedTo_ __Property_Temperature__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
There should be only one result in theory; out of an abundance of caution, compute the average of the valid values (if single result, take the result a fortiori), and display if valid between parentheses after the measurement.
####  Humidity (Measurement)
__Point_Measurement__ _relatedTo_ __Property_Humidity__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Measurement__ _relatedTo_ __Property_Humidity__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
Compute the average of the valid values (if single result, take the result a fortiori), and display if valid.
####  Luminance/Ambient Light (Measurement)
__Point_Measurement__ _relatedTo_ __Property_Light__ _hasLocation_ __(the location)__
___If no matching item found:___
__Point_Measurement__ _relatedTo_ __Property_Light__ _isPointOf_ __(any equipment)__ _hasLocation_ __(the location)__
Compute the average of the valid values (if single result, take the result a fortiori), and display if valid.
Climate Control Powered On (A/C, Heating)
Point_Status or Point_Control* _relatedTo Property_Power isPointOf Equipment_HVAC hasLocation (the location)
If no matching item found:
Equipment_HVAC hasLocation (the location)
If any result has the state ON, display the icon.
Has something changed or is it a bug?
Others, like lights/open windows/etc, work fine.
This is one “Location” configuration and the HVAC with the Status item:
Thanks!
JustinG
(JustinG)
November 28, 2025, 5:17pm
2
Which version of OH5? There are some significant changes going on in the recent milestones and snapshots with the UI which very easily could have caused this issue.
If you are only on some 5.0 stable version then it might be related to the changes in many of the model definitions.
If it is not the model issue mentioned above then it is a bug and you should report the issue to the webui repository.
Sim
(Sim)
December 1, 2025, 8:20am
3
Thanks for your feedback.
I upgraded from the stable 4.x versions (where it has always worked) to the latest 5.0.3 and noticed the issue. It only works for Equipment, but not for Point/Equipment_HVAC, as you can see.
So, do you think I can report it?
JustinG
(JustinG)
December 1, 2025, 2:21pm
4
Yes, that should definitely be reported.
Sim
(Sim)
December 3, 2025, 9:58am
5
I’ve opened a GitHub issue with all details:
https://github.com/openhab/openhab-webui/issues/3537
Anyone who wants to contribute or provide additional information is welcome!
kdmsch
(Klaus Schäfer)
December 3, 2025, 11:41am
6
Maybe it is like the post i have made yesterday
Thank you very much for your hints. I have made some trials and have gone through your suggestions. I have two OH-systems running.One is OH4.3.x running for my home since version 2.8 where I have never had such behaviour. The new system OH5.1.0.M3 is for a different project an is running on Raspberry 5.And as I just said, the issue is dirctly appeared after upgrade from OH5.1.0M2 to M3. Before all worked fine.
new SD-card doesn’t change anything
all images are correct in the indicated folders,…
boehan
(Hans Böhm)
December 3, 2025, 11:50am
7
I think the issue is related to the changes made to tags and location cards in OH 5. If I interpret the changes in https://github.com/openhab/openhab-webui/pull/3245 correctly, for climate the item now has to additionally be tagged with property Power to be recognized by the card. AFAICT from your screenshot, this is missing in yours.
2 Likes
Sim
(Sim)
December 3, 2025, 3:55pm
8
Oh, that fixed it!
Thanks, I’m closing the bug and reporting the effect.