Hi
Dont have a /static folder
So i create it ?
Hi
Dont have a /static folder
So i create it ?
Hi,
No need to create a static folder - it is just the default (pretend its the HTML folder)
If you do create sub folders then you would state /static/subfolder etc.
Also I think you should remove the g_isabbelas: between the slots: and the -component.
I have included my full configuration to help you
config:
label: Home Page
locations:
- component: oh-locations-tab
config:
cardOrder:
- separator: 2nd Floor
- Inside
- F2Bedroom
- F2Chillout
- gSecondFloor
- separator: 1st Floor
- FFLanding
- MasterBedroom
- FFBedroom2
- FFBedroom3
- gFirstFloor
- separator: Ground Floor
- Garage
- Gym
- Kennel
- Kitchen
- Office
- PlantRoom
- Snug
- gGroundFloor
- separator: Guest Floor
- GEChillout
- GERearBedroom
- gGuestFloor
- separator: Outdoors
- Outside
- GreenHouse
- Terrace
- SecurityRoom
- WeatherStation
slots:
Snug:
- component: oh-location-card
config:
title: Snug
subtitle: Ground Floor
backgroundImage: /static/files/snug.jpg
disableBadges: false
invertText: false
GEChillout:
- component: oh-location-card
config:
backgroundImage: /static/files/chillout3.jpg
invertText: false
disableBadges: false
FFBedroom2:
- component: oh-location-card
config:
backgroundImage: /static/files/bedroom2.jpg
FFBedroom3:
- component: oh-location-card
config:
backgroundImage: /static/files/bedroom3.jpg
F2Chillout:
- component: oh-location-card
config:
backgroundImage: /static/files/chillout4.jpg
gGroundFloor:
- component: oh-location-card
config:
disableBadges: false
backgroundImage: /static/files/groundfloor3.jpg
badges:
- lights
- windows
- doors
- garagedoors
- blinds
- presence
- lock
- climate
- screens
- projectors
- speakers
- temperature
- humidity
- luminance
Office:
- component: oh-location-card
config:
invertText: false
title: Ian's Office
subtitle: Ground Floor
backgroundImage: /static/files/office.jpg
gSecondFloor:
- component: oh-location-card
config:
backgroundImage: /static/files/2ndfloor2.jpg
badges:
- lights
- windows
- doors
- garagedoors
- blinds
- presence
- lock
- climate
- screens
- projectors
- speakers
- temperature
- humidity
- luminance
gFirstFloor:
- component: oh-location-card
config:
title: First Floor
subtitle: Bedrooms
backgroundImage: /static/files/1stfloor2.jpg
Kitchen:
- component: oh-location-card
config:
backgroundImage: /static/files/kitchen3.jpg
MasterBedroom:
- component: oh-location-card
config:
backgroundImage: /static/files/masterbedroom.jpg
Inside:
- component: oh-location-card
config:
backgroundImage: /static/files/gelivingroom.jpg
GreenHouse:
- component: oh-location-card
config:
backgroundImage: /static/files/greenhouse.jpg
Gym:
- component: oh-location-card
config:
backgroundImage: /static/files/gym.jpg
Garage:
- component: oh-location-card
config:
backgroundImage: /static/files/garage.jpg
gGuestFloor:
- component: oh-location-card
config:
backgroundImage: /static/files/guestfloor.jpg
F2Bedroom:
- component: oh-location-card
config:
backgroundImage: /static/files/bedroom4.jpg
PlantRoom:
- component: oh-location-card
config:
backgroundImage: /static/files/plantroom.jpg
badges:
- lights
- windows
- doors
- garagedoors
- blinds
- presence
- lock
- climate
- screens
- projectors
- speakers
- temperature
- humidity
- luminance
Terrace:
- component: oh-location-card
config:
backgroundImage: /static/files/terrace.jpg
badges:
- lights
- windows
- doors
- garagedoors
- blinds
- presence
- lock
- climate
- screens
- projectors
- speakers
- temperature
- humidity
- luminance
Outside:
- component: oh-location-card
config:
backgroundImage: /static/files/outside.jpg
Storage:
- component: oh-location-card
config:
backgroundImage: /static/files/lounge3.jpg
Kennel:
- component: oh-location-card
config:
backgroundImage: /static/files/kennel2.jpg
SecurityRoom:
- component: oh-location-card
config:
backgroundImage: /static/files/securityroom.jpg
WeatherStation:
- component: oh-location-card
config:
backgroundImage: /static/files/weatherstation.jpg
FFLanding:
- component: oh-location-card
config:
backgroundImage: /static/files/landing.jpg
invertText: true
GERearBedroom:
- component: oh-location-card
config:
backgroundImage: /static/files/guestbedroom.jpg
invertText: true
equipment:
- component: oh-equipment-tab
config: {}
slots:
Battery:
- component: oh-equipment-card
config:
backgroundImage: /static/files/battery.jpg
slots:
header:
- component: oh-gauge
config:
labelText: Powerwall
item: TeslaPowerwall_BatteryState
size: 250
value: 60
type: semicircle
borderColor: white
borderBgColor: rgba(255,255,255,0.4)
valueTextColor: white
labelTextColor: white
borderWidth: 20
style:
margin-left: 30px
Blinds:
- component: oh-equipment-card
config:
backgroundImage: /static/files/blinds.jpg
Camera:
- component: oh-equipment-card
config:
backgroundImage: /static/files/camera.jpg
Dishwasher:
- component: oh-equipment-card
config:
backgroundImage: /static/files/dishwasher.jpg
Dryer:
- component: oh-equipment-card
config:
backgroundImage: /static/files/dryer.jpg
invertText: true
Equipment:
- component: oh-equipment-card
config:
backgroundImage: /static/files/equipment.jpg
GarageDoor:
- component: oh-equipment-card
config:
backgroundImage: /static/files/garagedoor.jpg
HVAC:
- component: oh-equipment-card
config:
backgroundImage: /static/files/hvac.jpg
Inverter:
- component: oh-equipment-card
config:
backgroundImage: /static/files/inverter.jpg
invertText: true
Lightbulb:
- component: oh-equipment-card
config:
backgroundImage: /static/files/lightbulb.jpg
NetworkAppliance:
- component: oh-equipment-card
config:
backgroundImage: /static/files/networkappliance.jpg
invertText: false
Oven:
- component: oh-equipment-card
config:
backgroundImage: /static/files/oven.jpg
Pump:
- component: oh-equipment-card
config:
backgroundImage: /static/files/pump.jpg
RemoteControl:
- component: oh-equipment-card
config:
backgroundImage: /static/files/remotecontrol.jpg
Screen:
- component: oh-equipment-card
config:
backgroundImage: /static/files/screen.jpg
Speaker:
- component: oh-equipment-card
config:
backgroundImage: /static/files/speaker.jpg
Valve:
- component: oh-equipment-card
config:
backgroundImage: /static/files/valve.jpg
WashingMachine:
- component: oh-equipment-card
config:
backgroundImage: /static/files/washingmachine.jpg
invertText: false
WeatherService:
- component: oh-equipment-card
config:
backgroundImage: /static/files/weatherservice.jpg
WebService:
- component: oh-equipment-card
config:
backgroundImage: /static/files/webservice.jpg
WhiteGood:
- component: oh-equipment-card
config:
backgroundImage: /static/files/whitegoods.jpg
MotionDetector:
- component: oh-equipment-card
config:
backgroundImage: /static/files/MotionDetector.jpg
Television:
- component: oh-equipment-card
config:
backgroundImage: /static/files/Television.jpg
Doorbell:
- component: oh-equipment-card
config:
backgroundImage: /static/files/Doorbell.jpg
Boiler:
- component: oh-equipment-card
config:
backgroundImage: /static/files/Boiler.jpg
invertText: true
properties:
- component: oh-properties-tab
config: {}
slots:
Water:
- component: oh-property-card
config:
backgroundImage: /static/files/water.jpg
Light:
- component: oh-property-card
config:
backgroundImage: /static/files/light.jpg
Temperature:
- component: oh-property-card
config:
title: Temperatures
subtitle: "='Setpoint: ' + items.MT_AmbientSetpointPAD12.state"
backgroundImage: /static/files/temperature.jpg
slots:
glance:
- component: oh-link
config:
text: "='Supply: ' + items.MT_ActualHotWaterSupply.state"
iconF7: thermometer
iconColor: red
color: white
style:
font-size: 12px
margin-top: 8px
- component: oh-link
config:
text: "='Outside: ' + items.MT_OutsideTemperature.state"
iconF7: thermometer
iconColor: blue
color: white
style:
font-size: 12px
margin-top: 3px
CO:
- component: oh-property-card
config:
backgroundImage: /static/files/co2.jpg
title: ='CO ' + items.LocalAirQuality_CO.state
slots:
glance:
- component: oh-link
config:
text: "='Air Quality Index: ' + items.LocalAirQuality_AirQualityIndex.state"
iconF7: staroflife
iconColor: white
color: white
style:
font-size: 12px
margin-top: 8px
font-weight: bold
- component: oh-link
config:
text: "='Air Quality Today: ' + items.LocalAirQuality_AQIDescription.state"
color: white
style:
font-size: 12px
margin-top: 3px
font-weight: bold
Energy:
- component: oh-property-card
config:
backgroundImage: /static/files/energy.jpg
slots:
header:
- component: f7-block
config:
style:
color: white
display: flex
flex-direction: column
width: 320px
padding: 0
margin: 0
slots:
default:
- component: f7-row
config:
style:
padding: 0
display: flex
margin: 0
slots:
default:
- component: Label
config:
text: Energy
style:
font-size: 24px
- component: oh-gauge
config:
labelText: Coverage (Yr)
item: SolarEdgeAggregateYear_SelfConsumptionCoverage
size: 175
value: 8
type: semicircle
borderColor: white
borderBgColor: rgba(255,255,255,0.4)
valueTextColor: white
labelTextColor: white
borderWidth: 8
style:
margin-left: auto
- component: f7-row
config:
style:
padding: 0
justify-content: flex-start
margin: 0
slots:
default:
- component: Label
config:
text: Today's
style:
font-size: 14px
- component: f7-row
config:
style:
padding: 0
justify-content: flex-start
margin: 0
slots:
default:
- component: Label
config:
text: ="Production " + items.SolarEdgeAggregateDay_Production.state
style:
font-size: 12px
Humidity:
- component: oh-property-card
config:
backgroundImage: /static/files/humidity.jpg
slots:
header:
- component: oh-gauge
config:
labelText: Humidity (Avg)
item: LocalAirQuality_Humidity
size: 250
value: 60
type: semicircle
borderColor: white
borderBgColor: rgba(255,255,255,0.4)
valueTextColor: white
labelTextColor: white
borderWidth: 15
style:
margin-left: 30px
Illuminance:
- component: oh-property-card
config:
backgroundImage: /static/files/illuminance.jpg
Noise:
- component: oh-property-card
config:
backgroundImage: /static/files/noise.jpg
Opening:
- component: oh-property-card
config:
backgroundImage: /static/files/opening.jpg
Power:
- component: oh-property-card
config:
backgroundImage: /static/files/power.jpg
slots:
header:
- component: f7-block
config:
style:
color: white
display: flex
flex-direction: column
width: 320px
margin: 0
slots:
default:
- component: f7-row
config:
style:
padding: 0
justify-content: space-between
margin: 0
slots:
default:
- component: Label
config:
text: Power
style:
font-size: 30px
- component: oh-label
config:
item: TeslaPowerwall_BatteryState
style:
font-size: 30px
- component: oh-icon
config:
icon: ="battery-" + items.TeslaPowerwall_BatteryState.state
size: 30px
- component: f7-row
config:
style:
justify-content: space-between
slots:
default:
- component: Label
config:
text: ="Battery " + items.TeslaPowerwall_InstantPowerBattery.state
style:
font-size: 14px
- component: Label
config:
text: ="Load " + items.TeslaPowerwall_InstantPowerLoad.state
style:
font-size: 14px
- component: Label
config:
text: ="Site " + items.TeslaPowerwall_InstantPowerSite.state
style:
font-size: 14px
- component: Label
config:
text: ="Solar " + items.TeslaPowerwall_InstantPowerSolar.state
style:
font-size: 14px
Presence:
- component: oh-property-card
config:
backgroundImage: /static/files/presence.jpg
slots:
glance:
- component: oh-link
config:
text: ='Motion Detected ' + items.WottonVideoCam2811_MP4History.state
iconF7: camera
iconColor: white
color: white
style:
font-size: 12px
margin-top: 10px
Pressure:
- component: oh-property-card
config:
title: Pressure
subtitle: "='Pressure: ' + items.localCurrentBarometricPressure.state"
backgroundImage: /static/files/pressure.jpg
slots:
glance:
- component: oh-link
config:
text: "='Tomorrow Forecast: ' + items.localDailyForecastTomorrowPressure.state"
iconF7: gauge
iconColor: white
color: white
style:
font-size: 12px
margin-top: 8px
Rain:
- component: oh-property-card
config:
title: Rain
subtitle: "='Expected: ' + items.localCurrentRain.state"
backgroundImage: /static/files/rain.jpg
slots:
glance:
- component: oh-link
config:
text: "='Rain Tomorrow: ' + items.localDailyForecastTomorrowRain.state"
iconF7: cloud_rain
iconColor: white
color: white
style:
font-size: 12px
margin-top: 8px
SoundVolume:
- component: oh-property-card
config:
backgroundImage: /static/files/soundvolume.jpg
slots:
header:
- component: f7-link
config:
text: Multiroom Audio Volume
style:
text-transform: uppercase
font-size: 14px
color: white
- component: f7-block
config:
title: Multiroom Audio Volume
style:
color: white
display: flex
flex-direction: row
width: 320px
justify-content: space-around
slots:
default:
- component: oh-knob
config:
item: SonosGym_Volume
size: 75
max: 110
primaryColor: white
secondaryColor: gray
textColor: white
class:
- card-prevent-open
- component: oh-knob
config:
item: SonosOffice_Volume
size: 75
max: 50
primaryColor: white
secondaryColor: gray
textColor: white
class:
- card-prevent-open
- component: oh-knob
config:
item: SonosSnug_Volume
size: 75
max: 30
primaryColor: white
secondaryColor: gray
textColor: white
class:
- card-prevent-open
Timestamp:
- component: oh-property-card
config:
backgroundImage: /static/files/timestamp.jpg
Ultraviolet:
- component: oh-property-card
config:
title: Ultraviolet
subtitle: "='UV Index: ' + items.localTodayUVIndex.state"
backgroundImage: /static/files/ultraviolet.jpg
slots:
glance:
- component: oh-link
config:
text: "='UV Tomorrow: ' + items.localTomorrowForecastedUVIndex.state"
iconF7: sun_max
iconColor: yellow
color: white
style:
font-size: 12px
margin-top: 8px
Wind:
- component: oh-property-card
config:
title: Wind
subtitle: "='Wind Speed: ' + items.localCurrentWindSpeed.state"
backgroundImage: /static/files/wind.jpg
slots:
glance:
- component: oh-link
config:
text: "='Wind Tomorrow: ' + items.localDailyForecastTomorrowWindSpeed.state"
iconF7: wind
iconColor: white
color: white
style:
font-size: 12px
margin-top: 8px
- component: oh-link
config:
text: "='Wind Direction: ' +
items.localDailyForecastTomorrowWindDirection.state"
iconF7: wind
iconColor: white
color: white
style:
font-size: 12px
margin-top: 3px
Voltage:
- component: oh-property-card
config:
backgroundImage: /static/files/voltage.jpg
invertText: true
Duration:
- component: oh-property-card
config:
backgroundImage: /static/files/Duration.jpg
Frequency:
- component: oh-property-card
config:
backgroundImage: /static/files/Frequency.jpg
Gas:
- component: oh-property-card
config:
backgroundImage: /static/files/Gas.jpg
title: Gas & Flow
Level:
- component: oh-property-card
config:
backgroundImage: /static/files/Level.jpg
does not bother but does not need to be there.
by the way i liked that you set up here
hi
Thank you for your help.
But i am really unsure what you mean.
If this is the path /static/static/isabellas_vearelse.jpg
I need to create folder ,dont i …Sorry for the NOOB question
no
/etc/openhab/html/ = /static/
you have the pictures in the folder /etc/openhab/html/static/
subfolder from /etc/openhab/html/
it is simpler to transfer files from /etc/openhab/html/static/ folder to /etc/openhab/html/
Hi again
thx for your patience.
Still have an issue.
Actually it looks like a VERY small picture is added in top left corner.
Not sure what to do.
Solved …Tried another picture
Do you see the readme.txt file?
Open it open it open it.
Hi
i guess you are asking me.
Believe or not but yes i did.
Issue was that i did not really understand the “static koncept”
The readme file did not adress anything in regards to spaces ,or local charaters .
All of this likely something i should have known ,but i try to not let my non technical background come in between my love for Openhab.
Thankfully several people here have been very helpfull here and given me a push in the right direction.
On your screenshot it seems that there is a space between isabellas_vaerelse
and .jpg
.
Hi Marcel
You are right.
Problem is fixed. It is working now.
What an amazing setup Andy, a great inspiration.
I was looking at your rule and I don’t think that it currently works as you intended. In both if
statements the requiredPosition = 100
and requiredPosition = 0
should be changed to requiredPosition == 100
and requiredPosition == 0
respectively. Currently you are assigning (=) the value to requiredPosition whereas I think you want to compare (==) requiredPosition with the value.
Hi Marcel!
Thanks so much. You are absolutely correct - it was work in progress - and I’m just about to complete the final testing on the latest version and I will report it.
Thanks again, and Happy New Year!
Hi Andy,
Is this an Openhab default setting that you can select between Equipment and Properties in the location-card you posted? If not, I would be grateful if you could post the corresponding yaml-code - unfortunately I could not find anything in the forum so far.
With my Openhab, the Points of a piece of an Equipment are displayed directly in the list of the respective location-card in the location cards generated automatically by Openhab. With many lamps, for example, this can become very confusing due to the large number of list entries. I would therefore like to display only the Equipment in the list of the location-card, which then lists its points in its list view or directly accesses the point elements in a separate view. I have the impression that this is the case with your solution, isn’t it?
Hi Benny,
Just back at my desk. Give me an hour and I’ll reply properly.
Best Andy
Hi Benny,
Sorry that this took a little longer; time in Thailand goes slower than the rest of the world
I have posted examples below of how I easily got this look and feel; but I think it’s also important to point out why I did it this way. It is clear to me from your question that you understand all the principles very well so I thought I would give both a short and long answer in case that also helps others
So the easy and simple answer for you is – the way in which the Light items (Point_Control) belonging to a piece of Equipment (Equipment_Lightbulb) are displayed by default is specified via Metadata / using the Metadata option at the Equipment level.
If nothing is specified, which is the default, then effectively you end up with a simple list of lights.
So from the Model, select the Equipment like:
The Snug Room (location) has Snug Lights (the Equipment)
If you click on Add Metadata, you get these options:
And then to achieve your goal of showing a Single / Summary / Group line on a list of Equipment items – you want to select the Default List Item Widget
Which then gives you this configuration page:
The Long answer is I wanted the best of all worlds.
In the example below, like your multiple Lamp requirement, I didn’t want the Room (Location Card) to show every single Point in ‘list fashion’ but to show the Equipment in summary form , HOWEVER I did want to take advantage of the built-in at-a-glance modules - there is an excellent write up on these here - these are the fabulous icons automatically generated on the Location card indicating Windows open, Blinds open, Lights on etc.
Also, in the case of my Sonos devices I wanted to show the device; but once selected I wanted an accordion list providing two sub-options - the first option being the brilliant Sonos Multi Room widget from @buschif4 and the 2nd option being a list of all the Sonos points should a user want to play around with an individual Point/Channel of the Sonos thing.
And then finally I also wanted on the same Equipment tab on the Location Card to also display an individual Point (the Sonos Volume) as I guessed that one of the reasons the users would come here would be to control the volume quickly.
I know – best of all worlds – super greedy of me
I achieved this by adding an intermediate, ‘dummy’ piece of equipment, in this case a Sonos Speaker within another Speaker Group.
The Default List Item metadata on the holding / dummy equipment speaker is configured like this.
Here is the UI for the metadata.
All I actually changed / added was to specify
And here is the YAML for the default list item widget
value: " "
config:
action: popup
actionModal: widget:widget_sonoslist
actionModalConfig:
item: SonosSnug
zone: Snug
item: SonosSnug_State
So, when you click on the Location (Room) card; it looks like this
When you click on the dummy equipment group, you are then calling the accordion widget below
Again; thank you again @buschif4 for your wonderful Sonos Multi Room widget; which I just slightly adapted
The YAML for the accordion list is:
uid: widget_sonoslist
tags: []
props:
parameters:
- context: item
description: An item to control
label: Item
name: item
required: false
type: TEXT
- label: Zone
name: zone
required: false
type: TEXT
timestamp: Dec 15, 2020, 10:13:06 AM
component: f7-block
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-grid-row
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-grid-col
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-list
config:
padding: 0px
margin: 0px
accordionList: true
slots:
default:
- component: oh-list-item
config:
padding: 0px
margin: 0px
title: Sonos Music System
icon: oh:speaker
badge: OK
badgeColor: green
slots:
accordion:
- component: oh-list
config:
accordionList: true
slots:
default:
- component: oh-list-item
config:
title: Sonos Multi Room
action: popup
actionModal: widget:widget_SonosPlayer
actionModalConfig:
itemTitle: =props.item + '_MediaTitle'
itemAlbum: =props.item + '_CurrentAlbum'
itemArtist: =props.item + '_MediaArtist'
itemCover: =props.item + '_CurrentAlbumCoverArt'
itemPlayer: =props.item + '_MediaControl'
itemVolume: =props.item + '_Volume'
itemShuffle: =props.item + '_Shuffle'
itemRepeat: =props.item + '_Repeat'
propZoneName: =props.zone
itemMaster: =props.item
propZoneArray: '["Snug", "SonosSnug_MediaControl", "SonosSnug_Volume", "SonosSnug_Coordinator"]["Office", "SonosOffice_MediaControl", "SonosOffice_Volume", "SonosOffice_Coordinator"]["Kitchen", "SonosKitchen_MediaControl", "SonosKitchen_Volume", "SonosKitchen_Coordinator"]["Guest Chillout", "SonosGEChillout_MediaControl", "SonosGEChillout_Volume", "SonosGEChillout_Coordinator"]["F2 Chillout", "SonosF2Chillout_MediaControl", "SonosF2Chillout_Volume", "SonosF2Chillout_Coordinator"]["Gym", "SonosGym_MediaControl", "SonosGym_Volume", "SonosGym_Coordinator"]["Master Bedroom", "SonosMasterBedroom_MediaControl", "SonosMasterBedroom_Volume", "SonosMasterBedroom_Coordinator"]["Bedroom3", "SonosFFBedroom3_MediaControl", "SonosFFBedroom3_Volume", "SonosFFBedroom3_Coordinator"]["Kennel", "SonosKennel_MediaControl", "SonosFFBedroom3_Volume", "SonosKennel_Coordinator"]'
propWidgetTitle: =props.zone
itemCoordinator: =props.item + '_Coordinator'
itemSonosRule: Sonos_Multiroom_Control
- component: oh-list-item
config:
title: Sonos Single Room
action: popup
actionModal: widget:widget_SonosPlaySingleRoom
actionModalConfig:
item: =props.item
Which then gives the multi room function
The 2nd option on my two option accordion list (It felt good at the time ) then provides the Sonos Points – this is what we/I didn’t want showing on the initial Location card for the Room
And here is the Yaml for that
uid: widget_SonosPlaySingleRoom
tags:
- LG TV
- TV
props:
parameters:
- context: item
description: An item to control
label: Item
name: item
required: false
type: TEXT
parameterGroups: []
timestamp: Dec 15, 2020, 10:46:30 AM
component: f7-block
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-grid-row
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-grid-col
config:
padding: 0px
margin: 0px
slots:
default:
- component: oh-list
config:
padding: 0px
margin: 0px
accordionList: true
slots:
default:
- component: oh-label-item
config:
item: =props.item + '_CurrentAlbum'
title: Current Album
icon: oh:album
- component: oh-label-item
config:
item: =props.item + '_CurrentTrack'
title: Current Track
icon: oh:song_name
- component: oh-label-item
config:
item: =props.item + '_MediaArtist'
title: Media Artist
icon: oh:artist
- component: oh-label-item
config:
action: options
actionItem: =props.item + '_Repeat'
item: =props.item + '_Repeat'
title: Repeat
icon: oh:repeat
- component: oh-toggle-item
config:
item: =props.item + '_Shuffle'
title: Shuffle
icon: oh:shuffle
iconUseState: true
- component: oh-player-item
config:
item: =props.item + '_MediaControl'
title: Sonos Media Control
icon: oh:MediaControl
- component: oh-slider-item
config:
scale: true
label: true
scaleSubSteps: 5
min: 0
max: 100
item: =props.item + '_Volume'
title: Sonos Volume
icon: oh:SoundVolume
iconUseState: true
- component: oh-list-item
config:
title: Playlist Favorites 1
icon: f7:heart
- component: oh-list-item
config:
title: Playlist Favorites 2
icon: f7:heart
Hoping the short one answers your question, and the longer explanation comes in handy for others
Hi Andy,
Thanks for taking the time to explain your approach in detail - especially the trick with the dummy group is really great.
Thanks again, and Happy New Year
Thanks a lot for your awesome example, what i still don’t get is how you achieve to have tabs for equipment and properties displayed in the location card:
This is automatic if you have both equipment and points/properties directly below the location.
Thanks, that was the missing link
I don’t think it would do any harm to point out the very nice demo, which can be accessed via the link https://demo.openhab.org.
You can also log in as an admin (User: demo, PW: demo) and take your time to see how some basic things can be realised under OH 3.