UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

2 lines 12 kB
export const __webpack_ids__=["85078"];export const __webpack_modules__={56032:function(t,i,e){e.a(t,(async function(t,i){try{var s=e(44249),a=e(80519),o=e(1261),n=e(57243),r=e(15093),d=e(85605),l=t([a]);a=(l.then?(await l)():l)[0],(0,d.jx)("tooltip.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150,easing:"ease"}}),(0,d.jx)("tooltip.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:400,easing:"ease"}});(0,s.Z)([(0,r.Mo)("ha-tooltip")],(function(t,i){return{F:class extends i{constructor(...i){super(...i),t(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[o.Z,n.iv`:host{--sl-tooltip-background-color:var(--secondary-background-color);--sl-tooltip-color:var(--primary-text-color);--sl-tooltip-font-family:Roboto,sans-serif;--sl-tooltip-font-size:12px;--sl-tooltip-font-weight:normal;--sl-tooltip-line-height:1;--sl-tooltip-padding:8px;--sl-tooltip-border-radius:var(--ha-tooltip-border-radius, 4px);--sl-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 8px);--sl-z-index-tooltip:var(--ha-tooltip-z-index, 1000)}`]}]}}),a.Z);i()}catch(t){i(t)}}))},95818:function(t,i,e){e.a(t,(async function(t,s){try{e.r(i);var a=e(44249),o=e(72621),n=(e(9359),e(70104),e(99619),e(56820),e(57243)),r=e(15093),d=e(27486),l=e(46467),h=e(33570),c=e(50602),p=(e(37583),e(56032)),u=e(49319),v=e(95975),b=e(51223),m=e(47194),f=t([p,v,b,h,l,c]);[p,v,b,h,l,c]=f.then?(await f)():f;const y="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",g="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z",x="M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z",_="M4,10A1,1 0 0,1 3,9A1,1 0 0,1 4,8H12A2,2 0 0,0 14,6A2,2 0 0,0 12,4C11.45,4 10.95,4.22 10.59,4.59C10.2,5 9.56,5 9.17,4.59C8.78,4.2 8.78,3.56 9.17,3.17C9.9,2.45 10.9,2 12,2A4,4 0 0,1 16,6A4,4 0 0,1 12,10H4M19,12A1,1 0 0,0 20,11A1,1 0 0,0 19,10C18.72,10 18.47,10.11 18.29,10.29C17.9,10.68 17.27,10.68 16.88,10.29C16.5,9.9 16.5,9.27 16.88,8.88C17.42,8.34 18.17,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H5A1,1 0 0,1 4,13A1,1 0 0,1 5,12H19M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z";(0,a.Z)([(0,r.Mo)("more-info-weather")],(function(t,i){class e extends i{constructor(...i){super(...i),t(this)}}return{F:e,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_forecastEvent",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_forecastType",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_subscribed",value:void 0},{kind:"method",key:"_unsubscribeForecastEvents",value:function(){this._subscribed&&(this._subscribed.then((t=>t())),this._subscribed=void 0),this._forecastEvent=void 0}},{kind:"method",key:"_subscribeForecastEvents",value:async function(){this._unsubscribeForecastEvents(),this.isConnected&&this.hass&&this.stateObj&&this._forecastType&&(this._subscribed=(0,u.MC)(this.hass,this.stateObj.entity_id,this._forecastType,(t=>{this._forecastEvent=t})))}},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(e,"connectedCallback",this,3)([]),this.hasUpdated&&this._subscribeForecastEvents()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(e,"disconnectedCallback",this,3)([]),this._unsubscribeForecastEvents()}},{kind:"method",key:"shouldUpdate",value:function(t){if(t.has("stateObj"))return!0;const i=t.get("hass");return!i||i.locale!==this.hass.locale||i.config.unit_system!==this.hass.config.unit_system}},{kind:"method",key:"willUpdate",value:function(t){if((0,o.Z)(e,"willUpdate",this,3)([t]),!t.has("stateObj")&&this._subscribed||!this.stateObj)t.has("_forecastType")&&this._subscribeForecastEvents();else{const i=t.get("stateObj");i?.entity_id===this.stateObj?.entity_id&&this._subscribed||(this._forecastType=(0,u.k5)(this.stateObj),this._subscribeForecastEvents())}}},{kind:"field",key:"_supportedForecasts",value:()=>(0,d.Z)((t=>(0,u.mm)(t)))},{kind:"method",key:"render",value:function(){if(!this.hass||!this.stateObj)return n.Ld;const t=(0,u.M0)(this.stateObj.state),i=this._supportedForecasts(this.stateObj),e=(0,u.Rt)(this.stateObj.attributes,this._forecastEvent),s=e?.forecast,a="hourly"===e?.type,o="twice_daily"===e?.type,r=(0,u.Cq)(this.stateObj.state,this,void 0,this.hass.auth.accessToken);return n.dy` <div class="content"> <div class="icon-image"> ${r||n.dy` <ha-state-icon class="weather-icon" .stateObj="${this.stateObj}" .hass="${this.hass}"></ha-state-icon> `} </div> <div class="info"> <div class="name-state"> <div class="state"> ${t?(0,m.C)(this.stateObj):this.hass.formatEntityState(this.stateObj)} </div> <div class="time-ago"> <ha-tooltip> <ha-relative-time .hass="${this.hass}" .datetime="${this.stateObj.last_changed}" capitalize></ha-relative-time> <div slot="content"> <div class="row"> <span class="column-name"> ${this.hass.localize("ui.dialogs.more_info_control.last_changed")}: </span> <ha-relative-time .hass="${this.hass}" .datetime="${this.stateObj.last_changed}" capitalize></ha-relative-time> </div> <div class="row"> <span> ${this.hass.localize("ui.dialogs.more_info_control.last_updated")}: </span> <ha-relative-time .hass="${this.hass}" .datetime="${this.stateObj.last_updated}" capitalize></ha-relative-time> </div> </div> </ha-tooltip> </div> </div> <div class="temp-attribute"> <div class="temp"> ${void 0!==this.stateObj.attributes.temperature&&null!==this.stateObj.attributes.temperature?n.dy` ${(0,c.uf)(this.stateObj.attributes.temperature,this.hass.locale)} <span>${(0,u.pv)(this.hass.config,this.stateObj,"temperature")}</span> `:n.Ld} </div> <div class="attribute"> ${(0,u.k2)(this.hass,this.stateObj,s)} </div> </div> </div> </div> ${this._showValue(this.stateObj.attributes.pressure)?n.dy` <div class="flex"> <ha-svg-icon .path="${g}"></ha-svg-icon> <div class="main"> ${this.hass.localize("ui.card.weather.attributes.air_pressure")} </div> <div> ${this.hass.formatEntityAttributeValue(this.stateObj,"pressure")} </div> </div> `:n.Ld} ${this._showValue(this.stateObj.attributes.humidity)?n.dy` <div class="flex"> <ha-svg-icon .path="${x}"></ha-svg-icon> <div class="main"> ${this.hass.localize("ui.card.weather.attributes.humidity")} </div> <div> ${this.hass.formatEntityAttributeValue(this.stateObj,"humidity")} </div> </div> `:n.Ld} ${this._showValue(this.stateObj.attributes.wind_speed)?n.dy` <div class="flex"> <ha-svg-icon .path="${_}"></ha-svg-icon> <div class="main"> ${this.hass.localize("ui.card.weather.attributes.wind_speed")} </div> <div> ${(0,u.NF)(this.hass,this.stateObj,this.stateObj.attributes.wind_speed,this.stateObj.attributes.wind_bearing)} </div> </div> `:n.Ld} ${this._showValue(this.stateObj.attributes.visibility)?n.dy` <div class="flex"> <ha-svg-icon .path="${y}"></ha-svg-icon> <div class="main"> ${this.hass.localize("ui.card.weather.attributes.visibility")} </div> <div> ${this.hass.formatEntityAttributeValue(this.stateObj,"visibility")} </div> </div> `:n.Ld} ${s?n.dy` <div class="section"> ${this.hass.localize("ui.card.weather.forecast")}: </div> ${i.length>1?n.dy`<mwc-tab-bar .activeIndex="${i.findIndex((t=>t===this._forecastType))}" @MDCTabBar:activated="${this._handleForecastTypeChanged}"> ${i.map((t=>n.dy`<mwc-tab .label="${this.hass.localize(`ui.card.weather.${t}`)}"></mwc-tab>`))} </mwc-tab-bar>`:n.Ld} <div class="forecast"> ${s.map((t=>this._showValue(t.templow)||this._showValue(t.temperature)?n.dy` <div> <div> ${o?n.dy` ${(0,l.U8)(new Date(t.datetime),this.hass.locale,this.hass.config)} <div class="daynight"> ${!1!==t.is_daytime?this.hass.localize("ui.card.weather.day"):this.hass.localize("ui.card.weather.night")}<br> </div> `:a?n.dy` ${(0,h.mr)(new Date(t.datetime),this.hass.locale,this.hass.config)} `:n.dy` ${(0,l.U8)(new Date(t.datetime),this.hass.locale,this.hass.config)} `} </div> ${this._showValue(t.condition)?n.dy` <div class="forecast-image-icon"> ${(0,u.Cq)(t.condition,this,!(t.is_daytime||void 0===t.is_daytime),this.hass.auth.accessToken)} </div> `:n.Ld} <div class="temp"> ${this._showValue(t.temperature)?n.dy`${(0,c.uf)(t.temperature,this.hass.locale)}°`:"—"} </div> <div class="templow"> ${this._showValue(t.templow)?n.dy`${(0,c.uf)(t.templow,this.hass.locale)}°`:a?n.Ld:"—"} </div> </div> `:n.Ld))} </div> `:n.Ld} ${this.stateObj.attributes.attribution?n.dy` <div class="attribution"> ${this.stateObj.attributes.attribution} </div> `:n.Ld} `}},{kind:"method",key:"_handleForecastTypeChanged",value:function(t){this._forecastType=this._supportedForecasts(this.stateObj)[t.detail.index]}},{kind:"get",static:!0,key:"styles",value:function(){return[u.A$,n.iv`ha-svg-icon{color:var(--paper-item-icon-color);margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}mwc-tab-bar{margin-bottom:4px}.section{margin:16px 0 8px 0;font-size:1.2em}.flex{display:flex;height:32px;align-items:center}.flex>div:last-child{direction:ltr}.main{flex:1;margin-left:24px;margin-inline-start:24px;margin-inline-end:initial}.attribution{text-align:center;margin-top:16px}.attribute,.time-ago{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attribute,.attribution,.daynight,.templow,.time-ago{color:var(--secondary-text-color)}.content{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;margin-bottom:16px}.icon-image{display:flex;align-items:center;min-width:64px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}.icon-image>*{flex:0 0 64px;height:64px}.weather-icon{--mdc-icon-size:64px}.info{display:flex;justify-content:space-between;flex-grow:1;overflow:hidden}.temp-attribute{text-align:var(--float-end)}.temp-attribute .temp{position:relative;margin-right:24px;direction:ltr}.temp-attribute .temp span{position:absolute;font-size:24px;top:1px}.state,.temp-attribute .temp{font-size:28px;line-height:1.2}.attribute{font-size:14px;line-height:1}.name-state{overflow:hidden;padding-right:12px;padding-inline-end:12px;padding-inline-start:initial;width:100%}.state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast{display:flex;justify-content:space-around;padding:16px;padding-bottom:0px;overflow-x:auto;scrollbar-color:var(--scrollbar-thumb-color) transparent;scrollbar-width:thin;mask-image:linear-gradient(90deg,transparent 0%,black 5%,black 94%,transparent 100%)}.forecast>div{text-align:center;padding:0 10px}.forecast .icon,.forecast .temp{margin:4px 0}.forecast .temp{font-size:16px}.forecast-image-icon{padding-top:4px;padding-bottom:4px;display:flex;justify-content:center}.forecast-image-icon>*{width:40px;height:40px;--mdc-icon-size:40px}.forecast-icon{--mdc-icon-size:40px}`]}},{kind:"method",key:"_showValue",value:function(t){return null!=t}}]}}),n.oi);s()}catch(t){s(t)}}))}}; //# sourceMappingURL=85078.587d89a6cc602e34.js.map