iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 10.9 kB
JavaScript
export const __rspack_esm_id=75598;export const __rspack_esm_ids=[75598];export const __webpack_modules__={92020(t,e,i){i.a(t,async function(t,a){try{i.d(e,{d:()=>c});var s=i(83309),r=i(12010),o=i(95747),n=i(30162),h=t([n,o]);[n,o]=h.then?(await h)():h;const c=(t,e,i,a)=>{const h=a??new Date;return(0,s.r)(t,h)?(0,n.fU)(t,e,i):(0,r.s)(t,h)?(0,o.ZS)(t,e,i):(0,o.aQ)(t,e,i)};a()}catch(t){a(t)}})},81244(t,e,i){i.a(t,async function(t,e){try{var a=i(62826),s=i(5124),r=i(22441),o=i(36158),n=i(34127),h=i(74281),c=t([o,n,h]);[o,n,h]=c.then?(await c)():c;class l extends s.WF{render(){if(!this.hass||!this.stateObj)return s.s6;const t=this.hass.formatEntityName(this.stateObj,{type:"entity"});return s.qy`<state-badge .hass="${this.hass}" .stateObj="${this.stateObj}" .stateColor="${!0}" .color="${this.color}"></state-badge> <div class="info"> <div class="name ${this.inDialog?"in-dialog":""}" .title="${t}"> ${t} </div> ${this.inDialog?s.qy`<div class="time-ago"> <ha-tooltip for="relative-time"> <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> </ha-tooltip> <ha-relative-time id="relative-time" .hass="${this.hass}" .datetime="${this.stateObj.last_changed}" capitalize></ha-relative-time> </div>`:s.qy`<div class="extra-info"><slot></slot></div>`} </div>`}constructor(...t){super(...t),this.inDialog=!1}}l.styles=s.AH`: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,r.MZ)({attribute:!1})],l.prototype,"hass",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],l.prototype,"stateObj",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"in-dialog",type:Boolean})],l.prototype,"inDialog",void 0),(0,a.Cg)([(0,r.MZ)()],l.prototype,"color",void 0),l=(0,a.Cg)([(0,r.EM)("state-info")],l),e()}catch(t){e(t)}})},70773(t,e,i){i.a(t,async function(t,e){try{var a=i(62826),s=i(92913),r=i(35932),o=i(83339),n=i(5124),h=i(22441),c=i(92020),l=t([c]);c=(l.then?(await l)():l)[0];const d=5e3;class p extends n.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,r.o)(t),1),i=(0,o.b)(e,t)+d;this._timeout=window.setTimeout(()=>{this._updateNextDay(),this._updateAbsolute()},i)}_updateAbsolute(){this.datetime?this.innerHTML=(0,c.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,h.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,h.MZ)({attribute:!1})],p.prototype,"datetime",void 0),p=(0,a.Cg)([(0,h.EM)("ha-absolute-time")],p),e()}catch(t){e(t)}})},6531(t,e,i){i.a(t,async function(t,e){try{var a=i(62826),s=i(5124),r=i(22441),o=i(70773),n=i(36158),h=i(22675),c=i(64808),l=i(62688),d=t([o,n,l]);[o,n,l]=d.then?(await d)():d;class p extends s.WF{_localizeState(){return this.stateObj.attributes.device_class===c.Sn&&this.stateObj.state!==h.Hh&&this.stateObj.state!==h.HV?s.qy` <hui-timestamp-display .hass="${this.hass}" .ts="${new Date(this.stateObj.state)}" format="relative" capitalize></hui-timestamp-display> `:this.hass.formatEntityState(this.stateObj)}_toggleAbsolute(){this._absoluteTime=!this._absoluteTime}render(){const t=this.stateOverride??this._localizeState();return s.qy` <p class="state">${t}</p> <div class="time-row"> <p class="last-changed" ="${this._toggleAbsolute}"> ${this._absoluteTime?s.qy` <ha-absolute-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}"></ha-absolute-time> `:s.qy` <ha-relative-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}" capitalize></ha-relative-time> `} </p> <slot name="after-time"></slot> </div> `}constructor(...t){super(...t),this._absoluteTime=!1}}p.styles=s.AH`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,r.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"stateObj",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"stateOverride",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"changedOverride",void 0),(0,a.Cg)([(0,r.wk)()],p.prototype,"_absoluteTime",void 0),p=(0,a.Cg)([(0,r.EM)("ha-more-info-state-header")],p),e()}catch(t){e(t)}})},46557(t,e,i){i.a(t,async function(t,a){try{i.r(e);var s=i(62826),r=i(5124),o=i(22441),n=i(71769),h=i(68246),c=i(81244),l=(i(48374),i(28624),i(3587),i(36158)),d=i(67431),p=i(22675),u=i(84025),v=i(6531),b=t([c,l,d,v]);[c,l,d,v]=b.then?(await b)():b;const g="M8,5.14V19.14L19,12.14L8,5.14Z",m="M18,18H6V6H18V18Z";class _ extends r.WF{connectedCallback(){super.connectedCallback(),this._unsubMediaQuery=(0,n.m)("(max-width: 870px)",t=>{this.narrow=t})}disconnectedCallback(){super.disconnectedCallback(),this._unsubMediaQuery&&(this._unsubMediaQuery(),this._unsubMediaQuery=void 0)}render(){if(!this.hass||!this.stateObj)return r.s6;const t=this.stateObj,e=this.hass.services.script[this.entry?.unique_id||(0,h.Y)(this.stateObj.entity_id)],i=e?.fields,a=i&&Object.keys(i).length>0,s=t.attributes.current||0,o="queued"===t.attributes.mode,n="parallel"===t.attributes.mode,c=o&&s>1;return r.qy` <ha-more-info-state-header .stateObj="${t}" .hass="${this.hass}" .stateOverride="${s>0?n&&s>1?this.hass.localize("ui.card.script.running_parallel",{active:s}):this.hass.localize("ui.card.script.running_single"):this.hass.localize("ui.card.script.idle")}" .changedOverride="${this.stateObj.attributes.last_triggered||0}"></ha-more-info-state-header> ${e?.description?r.qy`<ha-markdown breaks .content="${e.description}"></ha-markdown>`:r.s6} <div class="${"queue "+(c?"has-queue":"")}"> ${c?r.qy` ${this.hass.localize("ui.card.script.running_queued",{queued:s-1})} `:""} </div> ${a?r.qy` <div class="fields"> <div class="title"> ${this.hass.localize("ui.card.script.run_script")} </div> <ha-service-control hide-picker hide-description .hass="${this.hass}" .value="${{...this.data?{data:this.data}:{},...this._scriptData}}" .narrow="${this.narrow}" -changed="${this._scriptDataChanged}"></ha-service-control> </div> `:r.s6} <ha-control-button-group> <ha-control-button ="${this._cancelScript}" .disabled="${!s}" class="cancel-button"> <ha-svg-icon .path="${m}"></ha-svg-icon> ${(o||n)&&s>1?this.hass.localize("ui.card.script.cancel_all"):this.hass.localize("ui.card.script.cancel")} </ha-control-button> <ha-control-button class="run-button" ="${this._runScript}" .disabled="${t.state===p.Hh||!this._canRun()}"> <ha-svg-icon .path="${g}"></ha-svg-icon> ${this.hass.localize("ui.card.script.run")} </ha-control-button> </ha-control-button-group> `}willUpdate(t){if(super.willUpdate(t),t.has("stateObj")){const e=t.get("stateObj"),i=this.stateObj;!i||e&&e.entity_id===i.entity_id||(this._scriptData={action:this.entry?.entity_id===i.entity_id?`script.${this.entry.unique_id}`:i.entity_id})}if(this.entry?.unique_id&&t.has("entry")){const t=`script.${this.entry?.unique_id}`;this._scriptData?.action!==t&&(this._scriptData={...this._scriptData,action:t})}}_cancelScript(t){t.stopPropagation(),this._callService("turn_off")}async _runScript(t){t.stopPropagation(),this.hass.callService("script",this.entry?.unique_id||(0,h.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={...this._scriptData,...t.detail.value}}_canRun(){return!!(!(0,u.GA)(this.hass,this.stateObj.entity_id)||(0,u.sW)(this.hass,this.stateObj.entity_id,this._scriptData.data)&&(0,u.Q2)(this.stateObj)||"restart"===this.stateObj.attributes.mode)}constructor(...t){super(...t),this._scriptData={},this.narrow=!1}}_.styles=r.AH`.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,o.MZ)({attribute:!1})],_.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],_.prototype,"stateObj",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],_.prototype,"entry",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],_.prototype,"data",void 0),(0,s.Cg)([(0,o.wk)()],_.prototype,"_scriptData",void 0),(0,s.Cg)([(0,o.wk)()],_.prototype,"narrow",void 0),_=(0,s.Cg)([(0,o.EM)("more-info-script")],_),a()}catch(t){a(t)}})},83309(t,e,i){i.d(e,{r:()=>r});var a=i(74816),s=i(35932);function r(t,e,i){const[r,o]=(0,a.x)(i?.in,t,e);return+(0,s.o)(r)===+(0,s.o)(o)}},12010(t,e,i){i.d(e,{s:()=>s});var a=i(74816);function s(t,e,i){const[s,r]=(0,a.x)(i?.in,t,e);return s.getFullYear()===r.getFullYear()}}};