UNPKG

iobroker.lovelace

Version:

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

1 lines 11.9 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[75598],{92020:function(t,e,i){i.a(t,async function(t,a){try{i.d(e,{d:function(){return h}});var s=i(83309),n=i(12010),r=i(95747),o=i(30162),l=t([o,r]);[o,r]=l.then?(await l)():l;const h=(t,e,i,a)=>{const l=null!=a?a:new Date;return(0,s.r)(t,l)?(0,o.fU)(t,e,i):(0,n.s)(t,l)?(0,r.ZS)(t,e,i):(0,r.aQ)(t,e,i)};a()}catch(h){a(h)}})},81244:function(t,e,i){i.a(t,async function(t,e){try{i(62953);var a=i(40445),s=i(5124),n=i(67576),r=i(36158),o=i(34127),l=i(74281),h=t([r,o,l]);[r,o,l]=h.then?(await h)():h;let c,d,u,p,v=t=>t;class g extends s.WF{render(){if(!this.hass||!this.stateObj)return s.s6;const t=this.hass.formatEntityName(this.stateObj,{type:"entity"});return(0,s.qy)(c||(c=v`<state-badge .hass="${0}" .stateObj="${0}" .stateColor="${0}" .color="${0}"></state-badge> <div class="info"> <div class="name ${0}" .title="${0}"> ${0} </div> ${0} </div>`),this.hass,this.stateObj,!0,this.color,this.inDialog?"in-dialog":"",t,t,this.inDialog?(0,s.qy)(d||(d=v`<div class="time-ago"> <ha-tooltip for="relative-time"> <div class="row"> <span class="column-name"> ${0}: </span> <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div> <div class="row"> <span> ${0}: </span> <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div> </ha-tooltip> <ha-relative-time id="relative-time" .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div>`),this.hass.localize("ui.dialogs.more_info_control.last_changed"),this.hass,this.stateObj.last_changed,this.hass.localize("ui.dialogs.more_info_control.last_updated"),this.hass,this.stateObj.last_updated,this.hass,this.stateObj.last_changed):(0,s.qy)(u||(u=v`<div class="extra-info"><slot></slot></div>`)))}constructor(...t){super(...t),this.inDialog=!1}}g.styles=(0,s.AH)(p||(p=v`:host{min-width:120px;white-space:nowrap;display:flex;align-items:center}state-badge{flex:none}.info{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0;text-align:var(--float-start);position:relative}.name{color:var(--primary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name.in-dialog,:host([secondary-line]) .name{line-height:var(--ha-line-height-condensed)}.extra-info,.extra-info>*,.time-ago{color:var(--secondary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{display:flex;flex-direction:row;flex-wrap:no-wrap;width:100%;justify-content:space-between;margin:0 2px 4px 0}.row:last-child{margin-bottom:0px}`)),(0,a.Cg)([(0,n.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,a.Cg)([(0,n.MZ)({attribute:!1})],g.prototype,"stateObj",void 0),(0,a.Cg)([(0,n.MZ)({attribute:"in-dialog",type:Boolean})],g.prototype,"inDialog",void 0),(0,a.Cg)([(0,n.MZ)()],g.prototype,"color",void 0),g=(0,a.Cg)([(0,n.EM)("state-info")],g),e()}catch(c){e(c)}})},70773:function(t,e,i){i.a(t,async function(t,e){try{var a=i(40445),s=i(92913),n=i(35932),r=i(83339),o=i(5124),l=i(67576),h=i(92020),c=t([h]);h=(c.then?(await c)():c)[0];const d=5e3;class u extends o.mN{disconnectedCallback(){super.disconnectedCallback(),this._clearTimeout()}connectedCallback(){super.connectedCallback(),this.datetime&&this._updateNextDay()}createRenderRoot(){return this}firstUpdated(t){super.firstUpdated(t),this._updateAbsolute()}update(t){super.update(t),this._updateAbsolute()}_clearTimeout(){this._timeout&&(window.clearTimeout(this._timeout),this._timeout=void 0)}_updateNextDay(){this._clearTimeout();const t=new Date,e=(0,s.f)((0,n.o)(t),1),i=(0,r.b)(e,t)+d;this._timeout=window.setTimeout(()=>{this._updateNextDay(),this._updateAbsolute()},i)}_updateAbsolute(){this.datetime?this.innerHTML=(0,h.d)(new Date(this.datetime),this.hass.locale,this.hass.config):this.innerHTML=this.hass.localize("ui.components.absolute_time.never")}}(0,a.Cg)([(0,l.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],u.prototype,"datetime",void 0),u=(0,a.Cg)([(0,l.EM)("ha-absolute-time")],u),e()}catch(d){e(d)}})},6531:function(t,e,i){i.a(t,async function(t,e){try{i(62953);var a=i(40445),s=i(5124),n=i(67576),r=i(70773),o=i(36158),l=i(22675),h=i(64808),c=i(62688),d=t([r,o,c]);[r,o,c]=d.then?(await d)():d;let u,p,v,g,b,m=t=>t;class y extends s.WF{_localizeState(){return this.stateObj.attributes.device_class===h.Sn&&this.stateObj.state!==l.Hh&&this.stateObj.state!==l.HV?(0,s.qy)(u||(u=m` <hui-timestamp-display .hass="${0}" .ts="${0}" format="relative" capitalize></hui-timestamp-display> `),this.hass,new Date(this.stateObj.state)):this.hass.formatEntityState(this.stateObj)}_toggleAbsolute(){this._absoluteTime=!this._absoluteTime}render(){var t,e,i;const a=null!==(t=this.stateOverride)&&void 0!==t?t:this._localizeState();return(0,s.qy)(p||(p=m` <p class="state">${0}</p> <div class="time-row"> <p class="last-changed" @click="${0}"> ${0} </p> <slot name="after-time"></slot> </div> `),a,this._toggleAbsolute,this._absoluteTime?(0,s.qy)(v||(v=m` <ha-absolute-time .hass="${0}" .datetime="${0}"></ha-absolute-time> `),this.hass,null!==(e=this.changedOverride)&&void 0!==e?e:this.stateObj.last_changed):(0,s.qy)(g||(g=m` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,null!==(i=this.changedOverride)&&void 0!==i?i:this.stateObj.last_changed))}constructor(...t){super(...t),this._absoluteTime=!1}}y.styles=(0,s.AH)(b||(b=m`p{text-align:center;margin:0}.state{font-style:normal;font-weight:var(--ha-font-weight-normal);font-size:36px;line-height:var(--ha-line-height-condensed)}.time-row{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--ha-space-5)}::slotted([slot=after-time]){position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%)}.last-changed{font-style:normal;font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal);letter-spacing:.1px;padding:var(--ha-space-1) 0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}`)),(0,a.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,a.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"stateObj",void 0),(0,a.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"stateOverride",void 0),(0,a.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"changedOverride",void 0),(0,a.Cg)([(0,n.wk)()],y.prototype,"_absoluteTime",void 0),y=(0,a.Cg)([(0,n.EM)("ha-more-info-state-header")],y),e()}catch(u){e(u)}})},46557:function(t,e,i){i.a(t,async function(t,a){try{i.r(e);i(89463),i(3362),i(62953);var s=i(40445),n=i(5124),r=i(67576),o=i(71769),l=i(68246),h=i(81244),c=(i(48374),i(28624),i(3587),i(36158)),d=i(67431),u=i(22675),p=i(84025),v=i(6531),g=t([h,c,d,v]);[h,c,d,v]=g.then?(await g)():g;let b,m,y,_,f,w=t=>t;const $="M8,5.14V19.14L19,12.14L8,5.14Z",O="M18,18H6V6H18V18Z";class x extends n.WF{connectedCallback(){super.connectedCallback(),this._unsubMediaQuery=(0,o.m)("(max-width: 870px)",t=>{this.narrow=t})}disconnectedCallback(){super.disconnectedCallback(),this._unsubMediaQuery&&(this._unsubMediaQuery(),this._unsubMediaQuery=void 0)}render(){var t;if(!this.hass||!this.stateObj)return n.s6;const e=this.stateObj,i=this.hass.services.script[(null===(t=this.entry)||void 0===t?void 0:t.unique_id)||(0,l.Y)(this.stateObj.entity_id)],a=null==i?void 0:i.fields,s=a&&Object.keys(a).length>0,r=e.attributes.current||0,o="queued"===e.attributes.mode,h="parallel"===e.attributes.mode,c=o&&r>1;return(0,n.qy)(b||(b=w` <ha-more-info-state-header .stateObj="${0}" .hass="${0}" .stateOverride="${0}" .changedOverride="${0}"></ha-more-info-state-header> ${0} <div class="${0}"> ${0} </div> ${0} <ha-control-button-group> <ha-control-button @click="${0}" .disabled="${0}" class="cancel-button"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </ha-control-button> <ha-control-button class="run-button" @click="${0}" .disabled="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </ha-control-button> </ha-control-button-group> `),e,this.hass,r>0?h&&r>1?this.hass.localize("ui.card.script.running_parallel",{active:r}):this.hass.localize("ui.card.script.running_single"):this.hass.localize("ui.card.script.idle"),this.stateObj.attributes.last_triggered||0,null!=i&&i.description?(0,n.qy)(m||(m=w`<ha-markdown breaks .content="${0}"></ha-markdown>`),i.description):n.s6,"queue "+(c?"has-queue":""),c?(0,n.qy)(y||(y=w` ${0} `),this.hass.localize("ui.card.script.running_queued",{queued:r-1})):"",s?(0,n.qy)(_||(_=w` <div class="fields"> <div class="title"> ${0} </div> <ha-service-control hide-picker hide-description .hass="${0}" .value="${0}" .narrow="${0}" @value-changed="${0}"></ha-service-control> </div> `),this.hass.localize("ui.card.script.run_script"),this.hass,Object.assign(Object.assign({},this.data?{data:this.data}:{}),this._scriptData),this.narrow,this._scriptDataChanged):n.s6,this._cancelScript,!r,O,(o||h)&&r>1?this.hass.localize("ui.card.script.cancel_all"):this.hass.localize("ui.card.script.cancel"),this._runScript,e.state===u.Hh||!this._canRun(),$,this.hass.localize("ui.card.script.run"))}willUpdate(t){var e;if(super.willUpdate(t),t.has("stateObj")){const e=t.get("stateObj"),a=this.stateObj;var i;if(a&&(!e||e.entity_id!==a.entity_id))this._scriptData={action:(null===(i=this.entry)||void 0===i?void 0:i.entity_id)===a.entity_id?`script.${this.entry.unique_id}`:a.entity_id}}if(null!==(e=this.entry)&&void 0!==e&&e.unique_id&&t.has("entry")){var a,s;const t=`script.${null===(a=this.entry)||void 0===a?void 0:a.unique_id}`;(null===(s=this._scriptData)||void 0===s?void 0:s.action)!==t&&(this._scriptData=Object.assign(Object.assign({},this._scriptData),{},{action:t}))}}_cancelScript(t){t.stopPropagation(),this._callService("turn_off")}async _runScript(t){var e;t.stopPropagation(),this.hass.callService("script",(null===(e=this.entry)||void 0===e?void 0:e.unique_id)||(0,l.Y)(this.stateObj.entity_id),this._scriptData.data)}_callService(t){this.hass.callService("script",t,{entity_id:this.stateObj.entity_id})}_scriptDataChanged(t){this._scriptData=Object.assign(Object.assign({},this._scriptData),t.detail.value)}_canRun(){return!!(!(0,p.GA)(this.hass,this.stateObj.entity_id)||(0,p.sW)(this.hass,this.stateObj.entity_id,this._scriptData.data)&&(0,p.Q2)(this.stateObj)||"restart"===this.stateObj.attributes.mode)}constructor(...t){super(...t),this._scriptData={},this.narrow=!1}}x.styles=(0,n.AH)(f||(f=w`.queue{visibility:hidden;color:var(--secondary-text-color);text-align:center;margin-bottom:var(--ha-space-4);height:21px}.queue.has-queue{visibility:visible}.fields{padding:var(--ha-space-4);border:1px solid var(--divider-color);border-radius:var(--ha-border-radius-md);margin-bottom:var(--ha-space-4)}.fields .title{font-weight:var(--ha-font-weight-bold)}ha-control-button ha-svg-icon{z-index:-1;margin-right:var(--ha-space-1)}ha-service-control{--service-control-padding:0;--service-control-items-border-top:none}ha-markdown{text-align:center;padding:0 var(--ha-space-4)}`)),(0,s.Cg)([(0,r.MZ)({attribute:!1})],x.prototype,"hass",void 0),(0,s.Cg)([(0,r.MZ)({attribute:!1})],x.prototype,"stateObj",void 0),(0,s.Cg)([(0,r.MZ)({attribute:!1})],x.prototype,"entry",void 0),(0,s.Cg)([(0,r.MZ)({attribute:!1})],x.prototype,"data",void 0),(0,s.Cg)([(0,r.wk)()],x.prototype,"_scriptData",void 0),(0,s.Cg)([(0,r.wk)()],x.prototype,"narrow",void 0),x=(0,s.Cg)([(0,r.EM)("more-info-script")],x),a()}catch(b){a(b)}})},83309:function(t,e,i){i.d(e,{r:function(){return n}});i(62953);var a=i(74816),s=i(35932);function n(t,e,i){const[n,r]=(0,a.x)(null==i?void 0:i.in,t,e);return+(0,s.o)(n)===+(0,s.o)(r)}},12010:function(t,e,i){i.d(e,{s:function(){return s}});i(62953);var a=i(74816);function s(t,e,i){const[s,n]=(0,a.x)(null==i?void 0:i.in,t,e);return s.getFullYear()===n.getFullYear()}}}]);