@@ -39,7 +39,8 @@ import {
3939 mdiWaterPercent ,
4040 mdiWindowOpenVariant ,
4141 mdiSunThermometer ,
42- mdiLeaf
42+ mdiLeaf ,
43+ mdiThermometer ,
4344} from "@mdi/js" ;
4445import {
4546 HassEntity
@@ -73,7 +74,9 @@ const modeIcons: {
7374 dry : mdiWaterPercent ,
7475 window_open : mdiWindowOpenVariant ,
7576 eco : mdiLeaf ,
76- summer : mdiSunThermometer
77+ summer : mdiSunThermometer ,
78+ temperature : mdiThermometer ,
79+ humidity : mdiWaterPercent
7780} ;
7881
7982/* eslint no-console: 0 */
@@ -154,6 +157,7 @@ export class BetterThermostatUiCard extends LitElement {
154157 stateObj . attributes . temperature :
155158 stateObj . attributes . min_temp ;
156159
160+
157161 const slider =
158162 stateObj . state === UNAVAILABLE ?
159163 html ` <bt- round- slider dis abled= "true" > </ bt- round- slider> ` :
@@ -226,25 +230,48 @@ export class BetterThermostatUiCard extends LitElement {
226230 </ svg>
227231 ` ;
228232
233+ const currentHumidity = svg `
234+ <div class= "humindity" >
235+ <ha- svg- icon
236+ class= "info-icon"
237+ tabindex = "0"
238+ .path = ${ modeIcons [ 'humidity' ] }
239+ .title = ${ localize ( `common.current` ) }
240+ >
241+ </ ha- svg- icon>
242+ <span>
243+ ${ svg `${ this . formatNumber (
244+ stateObj . attributes . humidity ,
245+ this . hass . locale
246+ ) } `}
247+ <span class= "h-indication" > %</ span>
248+ </ span>
249+ </ div>
250+ ` ;
251+
229252 const currentTemperature = svg `
230- <svg id= "set-values" >
231- <g>
232- <text text- anchor= "middle" dy = "-22"> ${ localize ( `common.current` ) } </ text>
233- <text text- anchor= "middle" class = "set- value">
234- ${
235- stateObj . attributes . current_temperature !== null &&
236- ! isNaN ( stateObj . attributes . current_temperature )
237- ? svg `${ this . formatNumber (
238- stateObj . attributes . current_temperature ,
239- this . hass . locale
240- ) }
241- <tspan dx= "-1" dy = "-4.5" style= "font- size: 10px;">
242- ${ this . hass . config . unit_system . temperature }
243- </ tspan> `
244- : ""
245- }
246- </ text>
247- <!- - <text
253+ <div class= "temperature" >
254+ <ha- svg- icon
255+ class= "info-icon"
256+ tabindex = "0"
257+ .path = ${ modeIcons [ 'temperature' ] }
258+ .title = ${ localize ( `common.current` ) }
259+ >
260+ </ ha- svg- icon>
261+ <span>
262+ ${ svg `${ this . formatNumber (
263+ stateObj . attributes . current_temperature ,
264+ this . hass . locale
265+ ) } `}
266+ ${ svg `<svg id= "set-values" style = "transfor m: translateY(-2px);"> <g> <text text- anchor= "middle" class = "set- value"> <tspan dx= "-1" dy = "-8.5" style= "font- size: 10px;">
267+ ${ this . hass . config . unit_system . temperature }
268+ </ tspan> </ text> <g> </ svg> ` }
269+ </ span>
270+ </ div>
271+ ` ;
272+
273+ /*
274+ <!--<text
248275 dy="22"
249276 text-anchor="middle"
250277 id="set-mode"
@@ -259,9 +286,7 @@ export class BetterThermostatUiCard extends LitElement {
259286 )
260287 }
261288 </text>-->
262- </ g>
263- </ svg>
264- ` ;
289+ */
265290
266291 setTimeout ( ( ) => this . _rescale_svg ( ) , 100 ) ;
267292
@@ -316,6 +341,9 @@ export class BetterThermostatUiCard extends LitElement {
316341 </ div>
317342 <div id= "current-infos" >
318343 ${ currentTemperature }
344+ ${
345+ stateObj . attributes . humidity !== null && stateObj . attributes . humidity > 0 ? currentHumidity : ""
346+ }
319347 </ div>
320348 </ div>
321349 </ ha- card>
@@ -371,7 +399,6 @@ export class BetterThermostatUiCard extends LitElement {
371399 if ( ! stateObj ) {
372400 return ;
373401 }
374-
375402 const oldHass = changedProps . get ( "hass" ) as HomeAssistant | undefined ;
376403
377404 if ( ! oldHass || oldHass . states [ this . _config . entity ] !== stateObj ) {
@@ -694,6 +721,21 @@ export class BetterThermostatUiCard extends LitElement {
694721 : host {
695722 dis play: block;
696723 }
724+ .humindity, .temperature {
725+ display : grid;
726+ justify- items: center;
727+ gap: 0.3em;
728+ font- weight: bold;
729+ }
730+ .info-icon {
731+ opacity : 0.75 ;
732+ height : 20px ;
733+ }
734+ .h-indication {
735+ font-size : 10px ;
736+ transform : translateY (-4px );
737+ display : inline-block;
738+ }
697739 ha-card {
698740 height : 100% ;
699741 position : relative;
@@ -725,7 +767,7 @@ export class BetterThermostatUiCard extends LitElement {
725767 min-height : 30px ;
726768 }
727769 ha-svg-icon .status-icon .window_open {
728- color : # 1d9187 !important ;
770+ color : # 00bcd4 !important ;
729771 }
730772 ha-svg-icon .status-icon .eco {
731773 color : # 6cff71 !important ;
@@ -808,7 +850,7 @@ export class BetterThermostatUiCard extends LitElement {
808850 position : relative;
809851 }
810852 .window bt-round-slider {
811- --round-slider-bar-color : # 00bcd461 !important ;
853+ --round-slider-bar-color : # 00bcd4 !important ;
812854 }
813855
814856 # slider-center {
@@ -836,7 +878,8 @@ export class BetterThermostatUiCard extends LitElement {
836878 flex-flow : row;
837879 justify-content : center;
838880 gap : 1.2em ;
839- padding-bottom : 1em ;
881+ padding-bottom : 0.5em ;
882+ padding-top : 0.3em
840883 font-size: 16px ;
841884 }
842885 # set-values {
0 commit comments