UNPKG

iobroker.lovelace

Version:

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

2 lines 14.6 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["66881"],{44732:function(t,e,i){var n=i(61701),s=(i(71695),i(47021),i(57243)),a=i(50778),r=i(35359);let o,l,u=t=>t;(0,n.Z)([(0,a.Mo)("ha-more-info-control-select-container")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"method",key:"render",value:function(){const t=`items-${this.childElementCount}`;return(0,s.dy)(o||(o=u` <div class="controls"> <div class="controls-scroll ${0}"> <slot></slot> </div> </div> `),(0,r.$)({[t]:!0,multiline:this.childElementCount>=4}))}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(l||(l=u`.controls{display:flex;flex-direction:row;justify-content:center}.controls-scroll{display:flex;flex-direction:row;justify-content:flex-start;gap:12px;margin:auto;overflow:auto;-ms-overflow-style:none;scrollbar-width:none;margin:-2px -24px;padding:2px 24px}.controls-scroll::-webkit-scrollbar{display:none}::slotted(*){min-width:120px;max-width:160px;flex:none}@media all and (hover:hover),all and (min-width:600px) and (min-height:501px){.controls-scroll{justify-content:center;flex-wrap:wrap;width:100%;max-width:450px}.controls-scroll.items-4{max-width:300px}.controls-scroll.items-3 ::slotted(*){max-width:140px}.multiline ::slotted(*){width:140px}}`))}}]}}),s.oi)},12173:function(t,e,i){i.d(e,{b:()=>s});let n;const s=(0,i(57243).iv)(n||(n=(t=>t)`:host{display:flex;flex-direction:column;flex:1;justify-content:space-between}.controls{display:flex;flex-direction:column;align-items:center}.controls:not(:last-child){margin-bottom:24px}.controls>:not(:last-child){margin-bottom:24px}.buttons{display:flex;align-items:center;justify-content:center;margin-bottom:12px}.buttons>*{margin:8px}ha-attributes{display:block;width:100%}ha-more-info-control-select-container+ha-attributes:not([empty]){margin-top:16px}`))},9198:function(t,e,i){i.a(t,(async function(t,n){try{i.r(e);var s=i(61701),a=i(72621),r=(i(71695),i(9359),i(70104),i(40251),i(47021),i(57243)),o=i(50778),l=i(49976),u=i(75278),d=(i(34058),i(7285),i(13642)),h=i(96194),c=i(97419),m=i(12243),y=(i(44732),i(12173)),b=t([d,m]);[d,m]=b.then?(await b)():b;let v,f,p,_,g,$,k,x=t=>t;const C="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13",O="M8 13C6.14 13 4.59 14.28 4.14 16H2V18H4.14C4.59 19.72 6.14 21 8 21S11.41 19.72 11.86 18H22V16H11.86C11.41 14.28 9.86 13 8 13M8 19C6.9 19 6 18.1 6 17C6 15.9 6.9 15 8 15S10 15.9 10 17C10 18.1 9.1 19 8 19M19.86 6C19.41 4.28 17.86 3 16 3S12.59 4.28 12.14 6H2V8H12.14C12.59 9.72 14.14 11 16 11S19.41 9.72 19.86 8H22V6H19.86M16 9C14.9 9 14 8.1 14 7C14 5.9 14.9 5 16 5S18 5.9 18 7C18 8.1 17.1 9 16 9Z";let j=(0,s.Z)(null,(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_mode",value:void 0},{kind:"method",key:"willUpdate",value:function(t){var e;((0,a.Z)(i,"willUpdate",this,3)([t]),t.has("stateObj"))&&(this._mode=null===(e=this.stateObj)||void 0===e?void 0:e.attributes.mode)}},{kind:"method",key:"render",value:function(){if(!this.stateObj)return r.Ld;const t=this.hass,e=this.stateObj,i=(0,u.e)(e,c.lN.MODES);return(0,r.dy)(v||(v=x` <div class="current"> ${0} </div> <div class="controls"> <ha-state-control-humidifier-humidity .hass="${0}" .stateObj="${0}"></ha-state-control-humidifier-humidity> </div> <ha-more-info-control-select-container> <ha-control-select-menu .label="${0}" .value="${0}" .disabled="${0}" fixedMenuPosition naturalMenuWidth @selected="${0}" @closed="${0}"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> <ha-list-item value="off"> ${0} </ha-list-item> <ha-list-item value="on"> ${0} </ha-list-item> </ha-control-select-menu> ${0} </ha-more-info-control-select-container> `),null!=this.stateObj.attributes.current_humidity?(0,r.dy)(f||(f=x` <div> <p class="label"> ${0} </p> <p class="value"> ${0} </p> </div> `),this.hass.formatEntityAttributeName(this.stateObj,"current_humidity"),this.hass.formatEntityAttributeValue(this.stateObj,"current_humidity")):r.Ld,this.hass,this.stateObj,this.hass.localize("ui.card.humidifier.state"),this.stateObj.state,this.stateObj.state===h.nZ,this._handleStateChanged,l.U,C,this.hass.formatEntityState(this.stateObj,"off"),this.hass.formatEntityState(this.stateObj,"on"),i?(0,r.dy)(p||(p=x` <ha-control-select-menu .label="${0}" .value="${0}" .disabled="${0}" fixedMenuPosition naturalMenuWidth @selected="${0}" @closed="${0}"> ${0} ${0} </ha-control-select-menu> `),t.localize("ui.card.humidifier.mode"),e.attributes.mode,this.stateObj.state===h.nZ,this._handleModeChanged,l.U,e.attributes.mode?(0,r.dy)(_||(_=x` <ha-attribute-icon slot="icon" .hass="${0}" .stateObj="${0}" attribute="mode" .attributeValue="${0}"></ha-attribute-icon> `),this.hass,e,e.attributes.mode):(0,r.dy)(g||(g=x` <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> `),O),e.attributes.available_modes.map((t=>(0,r.dy)($||($=x` <ha-list-item .value="${0}" graphic="icon"> <ha-attribute-icon slot="graphic" .hass="${0}" .stateObj="${0}" attribute="mode" .attributeValue="${0}"></ha-attribute-icon> ${0} </ha-list-item> `),t,this.hass,e,t,this.hass.formatEntityAttributeValue(e,"mode",t))))):r.Ld)}},{kind:"method",key:"_handleStateChanged",value:function(t){const e=t.target.value||null;this._callServiceHelper(this.stateObj.state,e,"on"===e?"turn_on":"turn_off",{})}},{kind:"method",key:"_handleModeChanged",value:function(t){const e=t.target.value||null;this._mode=e,this._callServiceHelper(this.stateObj.attributes.mode,e,"set_mode",{mode:e})}},{kind:"method",key:"_callServiceHelper",value:async function(t,e,i,n){if(t===e)return;n.entity_id=this.stateObj.entity_id;const s=this.stateObj;await this.hass.callService("humidifier",i,n),await new Promise((t=>{setTimeout(t,2e3)})),this.stateObj===s&&(this.stateObj=void 0,await this.updateComplete,void 0===this.stateObj&&(this.stateObj=s))}},{kind:"get",static:!0,key:"styles",value:function(){return[y.b,(0,r.iv)(k||(k=x`:host{color:var(--primary-text-color)}.current{display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;margin-bottom:40px}.current div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1}.current p{margin:0;text-align:center;color:var(--primary-text-color)}.current .label{opacity:.8;font-size:14px;line-height:16px;letter-spacing:.4px;margin-bottom:4px}.current .value{font-size:22px;font-weight:500;line-height:28px;direction:ltr}`))]}}]}}),r.oi);customElements.define("more-info-humidifier",j),n()}catch(v){n(v)}}))},12243:function(t,e,i){i.a(t,(async function(t,e){try{var n=i(61701),s=i(72621),a=(i(71695),i(47021),i(57243)),r=i(50778),o=i(69634),l=i(5839),u=i(42818),d=i(34593),h=i(22381),c=i(1703),m=(i(5906),i(75138),i(37583),i(96194)),y=i(59519),b=i(97419),v=i(3015),f=t([c,y,v]);[c,y,v]=f.then?(await f)():f;let p,_,g,$,k,x,C,O,j,w,H,S,A,M,V,E=t=>t;const L="M19,13H5V11H19V13Z",Z="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",P="M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z",I="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";(0,n.Z)([(0,r.Mo)("ha-state-control-humidifier-humidity")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,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.Cb)({attribute:"show-secondary",type:Boolean})],key:"showSecondary",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({attribute:"use-current-as-primary",type:Boolean})],key:"showCurrentAsPrimary",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,attribute:"prevent-interaction-on-scroll"})],key:"preventInteractionOnScroll",value(){return!1}},{kind:"field",decorators:[(0,r.SB)()],key:"_targetHumidity",value:void 0},{kind:"field",key:"_sizeController",value(){return(0,v.$)(this)}},{kind:"method",key:"willUpdate",value:function(t){(0,s.Z)(i,"willUpdate",this,3)([t]),t.has("stateObj")&&(this._targetHumidity=this.stateObj.attributes.humidity)}},{kind:"field",key:"_step",value(){return 1}},{kind:"get",key:"_min",value:function(){var t;return null!==(t=this.stateObj.attributes.min_humidity)&&void 0!==t?t:0}},{kind:"get",key:"_max",value:function(){var t;return null!==(t=this.stateObj.attributes.max_humidity)&&void 0!==t?t:100}},{kind:"method",key:"_valueChanged",value:function(t){const e=t.detail.value;isNaN(e)||(this._targetHumidity=e,this._callService())}},{kind:"method",key:"_valueChanging",value:function(t){const e=t.detail.value;isNaN(e)||(this._targetHumidity=e)}},{kind:"field",key:"_debouncedCallService",value(){return(0,h.D)((()=>this._callService()),1e3)}},{kind:"method",key:"_callService",value:function(){this.hass.callService("humidifier","set_humidity",{entity_id:this.stateObj.entity_id,humidity:this._targetHumidity})}},{kind:"method",key:"_handleButton",value:function(t){var e;const i=t.currentTarget.step;let n=null!==(e=this._targetHumidity)&&void 0!==e?e:this._min;n+=i,n=(0,d.u)(n,this._min,this._max),this._targetHumidity=n,this._debouncedCallService()}},{kind:"method",key:"_renderLabel",value:function(){if(this.stateObj.state===m.nZ)return(0,a.dy)(p||(p=E` <p class="label disabled"> ${0} </p> `),this.hass.formatEntityState(this.stateObj,m.nZ));const t=this.stateObj.attributes.action,e=null!=this.stateObj.attributes.current_humidity&&this.showCurrentAsPrimary||null!=this._targetHumidity&&!this.showCurrentAsPrimary;return(0,a.dy)(_||(_=E` <p class="label"> ${0} </p> `),t&&"off"!==t?this.hass.formatEntityAttributeValue(this.stateObj,"action"):e?this.hass.formatEntityState(this.stateObj):a.Ld)}},{kind:"method",key:"_renderButtons",value:function(){return(0,a.dy)(g||(g=E` <div class="buttons"> <ha-outlined-icon-button .step="${0}" @click="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-outlined-icon-button> <ha-outlined-icon-button .step="${0}" @click="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-outlined-icon-button> </div> `),-this._step,this._handleButton,L,this._step,this._handleButton,Z)}},{kind:"method",key:"_renderPrimary",value:function(){const t=this.stateObj.attributes.current_humidity;return null!=t&&this.showCurrentAsPrimary?this._renderCurrent(t,"big"):null==this._targetHumidity||this.showCurrentAsPrimary?this.stateObj.state!==m.nZ?(0,a.dy)($||($=E` <p class="primary-state"> ${0} </p> `),this.hass.formatEntityState(this.stateObj)):a.Ld:this._renderTarget(this._targetHumidity,"big")}},{kind:"method",key:"_renderSecondary",value:function(){if(!this.showSecondary)return(0,a.dy)(k||(k=E`<p class="label"></p>`));const t=this.stateObj.attributes.current_humidity;return null==t||this.showCurrentAsPrimary?null!=this._targetHumidity&&this.showCurrentAsPrimary?(0,a.dy)(C||(C=E` <p class="label"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </p> `),P,this._renderCurrent(this._targetHumidity,"normal")):(0,a.dy)(O||(O=E`<p class="label"></p>`)):(0,a.dy)(x||(x=E` <p class="label"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </p> `),I,this._renderCurrent(t,"normal"))}},{kind:"method",key:"_renderTarget",value:function(t,e){const i={maximumFractionDigits:0};return"big"===e?(0,a.dy)(j||(j=E` <ha-big-number .value="${0}" .unit="${0}" .hass="${0}" .formatOptions="${0}" unit-position="bottom"></ha-big-number> `),t,y.F_.humidifier.current_humidity,this.hass,i):(0,a.dy)(w||(w=E` ${0} `),this.hass.formatEntityAttributeValue(this.stateObj,"humidity",t))}},{kind:"method",key:"_renderCurrent",value:function(t,e){const i={maximumFractionDigits:1};return"big"===e?(0,a.dy)(H||(H=E` <ha-big-number .value="${0}" .unit="${0}" .hass="${0}" .formatOptions="${0}" unit-position="bottom"></ha-big-number> `),t,y.F_.humidifier.current_humidity,this.hass,i):(0,a.dy)(S||(S=E` ${0} `),this.hass.formatEntityAttributeValue(this.stateObj,"current_humidity",t))}},{kind:"method",key:"_renderInfo",value:function(){return(0,a.dy)(A||(A=E` <div class="info"> ${0}${0}${0} </div> `),this._renderLabel(),this._renderPrimary(),this._renderSecondary())}},{kind:"method",key:"render",value:function(){const t=(0,u.Hh)(this.stateObj),e=(0,l.v)(this.stateObj),i=this.stateObj.attributes.action;let n;i&&"idle"!==i&&"off"!==i&&e&&(n=(0,u.Hh)(this.stateObj,b.Sp[i]));const s=this._targetHumidity,r=this.stateObj.attributes.current_humidity,d=this._sizeController.value?` ${this._sizeController.value}`:"";if(null!=s&&this.stateObj.state!==m.nZ){const i=this.stateObj.attributes.device_class===b.Qr.DEHUMIDIFIER;return(0,a.dy)(M||(M=E` <div class="container${0}" style="${0}"> <ha-control-circular-slider .preventInteractionOnScroll="${0}" .inactive="${0}" .mode="${0}" .value="${0}" .min="${0}" .max="${0}" .step="${0}" .current="${0}" @value-changed="${0}" @value-changing="${0}"> </ha-control-circular-slider> ${0} ${0} </div> `),d,(0,o.V)({"--state-color":t,"--action-color":n}),this.preventInteractionOnScroll,!e,i?"end":"start",s,this._min,this._max,this._step,r,this._valueChanged,this._valueChanging,this._renderInfo(),this._renderButtons())}return(0,a.dy)(V||(V=E` <div class="container${0}" style="${0}"> <ha-control-circular-slider .preventInteractionOnScroll="${0}" .current="${0}" .min="${0}" .max="${0}" .step="${0}" disabled="disabled"> </ha-control-circular-slider> ${0} </div> `),d,(0,o.V)({"--state-color":t,"--action-color":n}),this.preventInteractionOnScroll,r,this._min,this._max,this._step,this._renderInfo())}},{kind:"get",static:!0,key:"styles",value:function(){return v.r}}]}}),a.oi);e()}catch(p){e(p)}}))}}]); //# sourceMappingURL=66881.a6c0ccdff098f2e5.js.map