UNPKG

iobroker.lovelace

Version:

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

2 lines 12.4 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["6892"],{18344:function(t,e,i){i.a(t,(async function(t,n){try{i.r(e),i.d(e,{HuiHumidifierCard:()=>x});var r=i(61701),s=i(72621),a=(i(52247),i(71695),i(40251),i(47021),i(18672)),o=i(57243),h=i(50778),u=i(69634),d=i(82393),l=i(36522),c=i(47194),m=i(42818),y=(i(54977),i(23334),i(12243)),f=i(64349),v=i(69223),_=i(62577),b=t([y,f,a]);[y,f,a]=b.then?(await b)():b;let g,p,k,$,C=t=>t;const w="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z";let x=(0,r.Z)([(0,h.Mo)("hui-humidifier-card")],(function(t,e){class n extends e{constructor(...e){super(...e),t(this)}}return{F:n,d:[{kind:"field",key:"_resizeController",value(){return new a.Z(this,{callback:t=>{var e;const i=null===(e=t[0])||void 0===e||null===(e=e.target.shadowRoot)||void 0===e?void 0:e.querySelector(".container");return null==i?void 0:i.clientHeight}})}},{kind:"method",static:!0,key:"getConfigElement",value:async function(){return await Promise.all([i.e("40955"),i.e("41437")]).then(i.bind(i,16273)),document.createElement("hui-humidifier-card-editor")}},{kind:"method",static:!0,key:"getStubConfig",value:function(t,e,i){return{type:"humidifier",entity:(0,v.j)(t,1,e,i,["humidifier"])[0]||"",features:[{type:"humidifier-toggle"}]}}},{kind:"field",decorators:[(0,h.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,h.SB)()],key:"_config",value:void 0},{kind:"method",key:"getCardSize",value:function(){return 7}},{kind:"method",key:"setConfig",value:function(t){if(!t.entity||"humidifier"!==t.entity.split(".")[0])throw new Error("Specify an entity from within the humidifier domain");this._config=t}},{kind:"method",key:"_handleMoreInfo",value:function(){(0,l.B)(this,"hass-more-info",{entityId:this._config.entity})}},{kind:"method",key:"updated",value:function(t){if((0,s.Z)(n,"updated",this,3)([t]),!this._config||!this.hass||!t.has("hass")&&!t.has("_config"))return;const e=t.get("hass"),i=t.get("_config");e&&i&&e.themes===this.hass.themes&&i.theme===this._config.theme||(0,d.R)(this,this.hass.themes,this._config.theme)}},{kind:"method",key:"render",value:function(){var t;if(!this.hass||!this._config)return o.Ld;const e=this.hass.states[this._config.entity];if(!e)return(0,o.dy)(g||(g=C` <hui-warning> ${0} </hui-warning> `),(0,_.i)(this.hass,this._config.entity));const i=this._config.name||(0,c.C)(e),n=(0,m.Hh)(e),r=this._resizeController.value?`${this._resizeController.value}px`:void 0;return(0,o.dy)(p||(p=C` <ha-card> <p class="title">${0}</p> <div class="container"> <ha-state-control-humidifier-humidity style="${0}" prevent-interaction-on-scroll .showCurrentAsPrimary="${0}" show-secondary .hass="${0}" .stateObj="${0}"></ha-state-control-humidifier-humidity> </div> <ha-icon-button class="more-info" .label="${0}" .path="${0}" @click="${0}" tabindex="0"></ha-icon-button> ${0} </ha-card> `),i,(0,u.V)({maxWidth:r}),this._config.show_current_as_primary,this.hass,e,this.hass.localize("ui.panel.lovelace.cards.show_more_info"),w,this._handleMoreInfo,null!==(t=this._config.features)&&void 0!==t&&t.length?(0,o.dy)(k||(k=C`<hui-card-features style="${0}" .hass="${0}" .stateObj="${0}" .features="${0}"></hui-card-features>`),(0,u.V)({"--feature-color":n}),this.hass,e,this._config.features):o.Ld)}},{kind:"method",key:"getGridOptions",value:function(){var t;let e=5,i=2;if(null!==(t=this._config)&&void 0!==t&&null!==(t=t.features)&&void 0!==t&&t.length){const t=Math.ceil(2*this._config.features.length/3);e+=t,i+=t}return{columns:12,rows:e,min_columns:6,min_rows:i}}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)($||($=C`:host{position:relative;display:block;height:100%}ha-card{position:relative;height:100%;width:100%;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.title{width:100%;font-size:18px;line-height:36px;padding:8px 30px 8px 30px;margin:0;text-align:center;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}.container{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;max-width:100%;box-sizing:border-box;flex:1}.container:before{content:"";display:block;padding-top:100%}.container>*{padding:8px}.more-info{position:absolute;cursor:pointer;top:0;right:0;inset-inline-end:0px;inset-inline-start:initial;border-radius:100%;color:var(--secondary-text-color);direction:var(--direction)}hui-card-features{width:100%;flex:none;padding:0 12px 12px 12px}`))}}]}}),o.oi);n()}catch(g){n(g)}}))},12243:function(t,e,i){i.a(t,(async function(t,e){try{var n=i(61701),r=i(72621),s=(i(71695),i(47021),i(57243)),a=i(50778),o=i(69634),h=i(5839),u=i(42818),d=i(34593),l=i(22381),c=i(1703),m=(i(5906),i(75138),i(37583),i(96194)),y=i(59519),f=i(97419),v=i(3015),_=t([c,y,v]);[c,y,v]=_.then?(await _)():_;let b,g,p,k,$,C,w,x,A,O,j,H,S,M,V,I=t=>t;const Z="M19,13H5V11H19V13Z",L="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",z="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",B="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,a.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,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:"show-secondary",type:Boolean})],key:"showSecondary",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({attribute:"use-current-as-primary",type:Boolean})],key:"showCurrentAsPrimary",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:Boolean,attribute:"prevent-interaction-on-scroll"})],key:"preventInteractionOnScroll",value(){return!1}},{kind:"field",decorators:[(0,a.SB)()],key:"_targetHumidity",value:void 0},{kind:"field",key:"_sizeController",value(){return(0,v.$)(this)}},{kind:"method",key:"willUpdate",value:function(t){(0,r.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,l.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,s.dy)(b||(b=I` <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,s.dy)(g||(g=I` <p class="label"> ${0} </p> `),t&&"off"!==t?this.hass.formatEntityAttributeValue(this.stateObj,"action"):e?this.hass.formatEntityState(this.stateObj):s.Ld)}},{kind:"method",key:"_renderButtons",value:function(){return(0,s.dy)(p||(p=I` <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,Z,this._step,this._handleButton,L)}},{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,s.dy)(k||(k=I` <p class="primary-state"> ${0} </p> `),this.hass.formatEntityState(this.stateObj)):s.Ld:this._renderTarget(this._targetHumidity,"big")}},{kind:"method",key:"_renderSecondary",value:function(){if(!this.showSecondary)return(0,s.dy)($||($=I`<p class="label"></p>`));const t=this.stateObj.attributes.current_humidity;return null==t||this.showCurrentAsPrimary?null!=this._targetHumidity&&this.showCurrentAsPrimary?(0,s.dy)(w||(w=I` <p class="label"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </p> `),z,this._renderCurrent(this._targetHumidity,"normal")):(0,s.dy)(x||(x=I`<p class="label"></p>`)):(0,s.dy)(C||(C=I` <p class="label"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </p> `),B,this._renderCurrent(t,"normal"))}},{kind:"method",key:"_renderTarget",value:function(t,e){const i={maximumFractionDigits:0};return"big"===e?(0,s.dy)(A||(A=I` <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,s.dy)(O||(O=I` ${0} `),this.hass.formatEntityAttributeValue(this.stateObj,"humidity",t))}},{kind:"method",key:"_renderCurrent",value:function(t,e){const i={maximumFractionDigits:1};return"big"===e?(0,s.dy)(j||(j=I` <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,s.dy)(H||(H=I` ${0} `),this.hass.formatEntityAttributeValue(this.stateObj,"current_humidity",t))}},{kind:"method",key:"_renderInfo",value:function(){return(0,s.dy)(S||(S=I` <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,h.v)(this.stateObj),i=this.stateObj.attributes.action;let n;i&&"idle"!==i&&"off"!==i&&e&&(n=(0,u.Hh)(this.stateObj,f.Sp[i]));const r=this._targetHumidity,a=this.stateObj.attributes.current_humidity,d=this._sizeController.value?` ${this._sizeController.value}`:"";if(null!=r&&this.stateObj.state!==m.nZ){const i=this.stateObj.attributes.device_class===f.Qr.DEHUMIDIFIER;return(0,s.dy)(M||(M=I` <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",r,this._min,this._max,this._step,a,this._valueChanged,this._valueChanging,this._renderInfo(),this._renderButtons())}return(0,s.dy)(V||(V=I` <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,a,this._min,this._max,this._step,this._renderInfo())}},{kind:"get",static:!0,key:"styles",value:function(){return v.r}}]}}),s.oi);e()}catch(b){e(b)}}))}}]); //# sourceMappingURL=6892.b40ab892819c3a17.js.map