iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 13.5 kB
JavaScript
export const __webpack_ids__=["10745"];export const __webpack_modules__={43537:function(e,a,t){t.d(a,{Z:()=>n});const i=e=>e<10?`0${e}`:e;function n(e){const a=Math.floor(e/3600),t=Math.floor(e%3600/60),n=Math.floor(e%3600%60);return a>0?`${a}:${i(t)}:${i(n)}`:t>0?`${t}:${i(n)}`:n>0?""+n:null}},62590:function(e,a,t){t.d(a,{$:()=>s,P:()=>d});t(92745),t(9359),t(56475),t(70104),t(92519),t(42179),t(89256),t(24931),t(88463),t(57449),t(19814);var i=t(59847),n=t(96194),o=t(73850),r=t(1416);const s={alarm_control_panel:["armed_away","armed_custom_bypass","armed_home","armed_night","armed_vacation","arming","disarmed","disarming","pending","triggered"],assist_satellite:["idle","listening","responding","processing"],automation:["on","off"],binary_sensor:["on","off"],button:[],calendar:["on","off"],camera:["idle","recording","streaming"],cover:["closed","closing","open","opening"],device_tracker:["home","not_home"],fan:["on","off"],humidifier:["on","off"],input_boolean:["on","off"],input_button:[],lawn_mower:["error","paused","mowing","returning","docked"],light:["on","off"],lock:["jammed","locked","locking","unlocked","unlocking","opening","open"],media_player:["off","on","idle","playing","paused","standby","buffering"],person:["home","not_home"],plant:["ok","problem"],remote:["on","off"],scene:[],schedule:["on","off"],script:["on","off"],siren:["on","off"],sun:["above_horizon","below_horizon"],switch:["on","off"],timer:["active","idle","paused"],update:["on","off"],vacuum:["cleaning","docked","error","idle","paused","returning"],valve:["closed","closing","open","opening"],weather:["clear-night","cloudy","exceptional","fog","hail","lightning-rainy","lightning","partlycloudy","pouring","rainy","snowy-rainy","snowy","sunny","windy-variant","windy"]},l={alarm_control_panel:{code_format:["number","text"]},binary_sensor:{device_class:["battery","battery_charging","co","cold","connectivity","door","garage_door","gas","heat","light","lock","moisture","motion","moving","occupancy","opening","plug","power","presence","problem","running","safety","smoke","sound","tamper","update","vibration","window"]},button:{device_class:["restart","update"]},camera:{frontend_stream_type:["hls","web_rtc"]},climate:{hvac_action:["off","idle","preheating","defrosting","heating","cooling","drying","fan"]},cover:{device_class:["awning","blind","curtain","damper","door","garage","gate","shade","shutter","window"]},device_tracker:{source_type:["bluetooth","bluetooth_le","gps","router"]},fan:{direction:["forward","reverse"]},humidifier:{device_class:["humidifier","dehumidifier"],action:["off","idle","humidifying","drying"]},media_player:{device_class:["tv","speaker","receiver"],media_content_type:["album","app","artist","channel","channels","composer","contributing_artist","episode","game","genre","image","movie","music","playlist","podcast","season","track","tvshow","url","video"],repeat:["off","one","all"]},number:{device_class:["temperature"]},sensor:{device_class:["apparent_power","aqi","battery","carbon_dioxide","carbon_monoxide","current","date","duration","energy","frequency","gas","humidity","illuminance","monetary","nitrogen_dioxide","nitrogen_monoxide","nitrous_oxide","ozone","ph","pm1","pm10","pm25","power_factor","power","pressure","reactive_power","signal_strength","sulphur_dioxide","temperature","timestamp","volatile_organic_compounds","volatile_organic_compounds_parts","voltage","volume_flow_rate"],state_class:["measurement","total","total_increasing"]},switch:{device_class:["outlet","switch"]},update:{device_class:["firmware"]},water_heater:{away_mode:["on","off"]}},d=(e,a,t=void 0)=>{const d=(0,i.N)(a),c=[];switch(!t&&d in s?c.push(...s[d]):t&&d in l&&t in l[d]&&c.push(...l[d][t]),d){case"climate":t?"fan_mode"===t?c.push(...a.attributes.fan_modes):"preset_mode"===t?c.push(...a.attributes.preset_modes):"swing_mode"===t&&c.push(...a.attributes.swing_modes):c.push(...a.attributes.hvac_modes);break;case"device_tracker":case"person":t||c.push(...Object.entries(e.states).filter((([e,a])=>"zone"===(0,o.M)(e)&&"zone.home"!==e&&a.attributes.friendly_name)).map((([e,a])=>a.attributes.friendly_name)).sort(((a,t)=>(0,r.$K)(a,t,e.locale.language))));break;case"event":"event_type"===t&&c.push(...a.attributes.event_types);break;case"fan":"preset_mode"===t&&c.push(...a.attributes.preset_modes);break;case"humidifier":"mode"===t&&c.push(...a.attributes.available_modes);break;case"input_select":case"select":t||c.push(...a.attributes.options);break;case"light":"effect"===t&&a.attributes.effect_list?c.push(...a.attributes.effect_list):"color_mode"===t&&a.attributes.supported_color_modes&&c.push(...a.attributes.supported_color_modes);break;case"media_player":"sound_mode"===t?c.push(...a.attributes.sound_mode_list):"source"===t&&c.push(...a.attributes.source_list);break;case"remote":"current_activity"===t&&c.push(...a.attributes.activity_list);break;case"sensor":t||"enum"!==a.attributes.device_class||c.push(...a.attributes.options);break;case"vacuum":"fan_speed"===t&&c.push(...a.attributes.fan_speed_list);break;case"water_heater":t&&"operation_mode"!==t||c.push(...a.attributes.operation_list)}return t||c.push(...n.V_),[...new Set(c)]}},78555:function(e,a,t){t.a(e,(async function(e,a){try{var i=t(44249),n=t(72621),o=t(57243),r=t(15093),s=t(35359),l=t(92636),d=t(43537),c=t(59847),u=t(47194),b=t(62590),h=t(50602),m=t(96194),g=t(84428),p=(t(33101),t(51223)),_=e([p,h]);[p,h]=_.then?(await _)():_;const f="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z",v=["alarm_control_panel","device_tracker","person"],y=(e,a)=>(0,l.z)(v)(e)&&(0,l.z)(b.$[e])(a)?`${e}.${a}`:null;(0,i.Z)([(0,r.Mo)("ha-state-label-badge")],(function(e,a){class t extends a{constructor(...a){super(...a),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"state",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"name",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"image",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:"show-name",type:Boolean})],key:"showName",value:()=>!1},{kind:"field",decorators:[(0,r.SB)()],key:"_timerTimeRemaining",value:void 0},{kind:"field",key:"_connected",value:void 0},{kind:"field",key:"_updateRemaining",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,n.Z)(t,"connectedCallback",this,3)([]),this._connected=!0,this._startInterval(this.state)}},{kind:"method",key:"disconnectedCallback",value:function(){(0,n.Z)(t,"disconnectedCallback",this,3)([]),this._connected=!1,this._clearInterval()}},{kind:"method",key:"render",value:function(){const e=this.state;if(!e)return o.dy` <ha-label-badge class="warning" label="${this.hass.localize("state_badge.default.error")}" description="${this.hass.localize("state_badge.default.entity_not_found")}"> <ha-svg-icon .path="${f}"></ha-svg-icon> </ha-label-badge> `;const a=(0,c.N)(e),t=this.hass?.entities[e.entity_id],i=this.icon||this._computeShowIcon(a,e,t),n=this.icon?"":this.image?this.image:e.attributes.entity_picture_local||e.attributes.entity_picture,r=n||i?void 0:this._computeValue(a,e,t);return o.dy` <ha-label-badge class="${(0,s.$)({[a]:!0,"has-unit_of_measurement":"unit_of_measurement"in e.attributes})}" .image="${n}" .label="${this._computeLabel(a,e,this._timerTimeRemaining)}" .description="${this.showName?this.name??(0,u.C)(e):void 0}"> ${!n&&i?o.dy`<ha-state-icon .icon="${this.icon}" .stateObj="${e}" .hass="${this.hass}"></ha-state-icon>`:""} ${!r||n||i?"":o.dy`<span class="${r&&r.length>4?"big":""}">${r}</span>`} </ha-label-badge> `}},{kind:"method",key:"updated",value:function(e){(0,n.Z)(t,"updated",this,3)([e]),this._connected&&e.has("state")&&this._startInterval(this.state)}},{kind:"method",key:"_computeValue",value:function(e,a,t){switch(e){case"alarm_control_panel":case"binary_sensor":case"device_tracker":case"person":case"scene":case"sun":case"timer":return null;case"sensor":if("moon"===t?.platform)return null;default:return a.state===m.lz||a.state===m.nZ?"—":(0,h.SL)(a)?(0,h.uf)(a.state,this.hass.locale,(0,h.l4)(a,t)):this.hass.formatEntityState(a)}}},{kind:"method",key:"_computeShowIcon",value:function(e,a,t){if(a.state===m.nZ)return!1;switch(e){case"alarm_control_panel":case"binary_sensor":case"device_tracker":case"person":case"scene":case"sun":case"timer":return!0;case"sensor":return"moon"===t?.platform;default:return!1}}},{kind:"method",key:"_computeLabel",value:function(e,a,t=0){if((0,m.rk)(a.state))return this.hass.localize(`state_badge.default.${a.state}`);const i=y(e,a.state);return i?this.hass.localize(`state_badge.${i}`):"person"===e||"device_tracker"===e?a.state:"timer"===e?(0,d.Z)(t):a.attributes.unit_of_measurement||null}},{kind:"method",key:"_clearInterval",value:function(){this._updateRemaining&&(clearInterval(this._updateRemaining),this._updateRemaining=void 0)}},{kind:"method",key:"_startInterval",value:function(e){this._clearInterval(),e&&"timer"===(0,c.N)(e)&&(this._calculateTimerRemaining(e),"active"===e.state&&(this._updateRemaining=window.setInterval((()=>this._calculateTimerRemaining(this.state)),1e3)))}},{kind:"method",key:"_calculateTimerRemaining",value:function(e){this._timerTimeRemaining=(0,g.mK)(e)}},{kind:"field",static:!0,key:"styles",value:()=>o.iv`:host{cursor:pointer}.big{font-size:70%}ha-label-badge{--ha-label-badge-color:var(--label-badge-red)}ha-label-badge.has-unit_of_measurement{--ha-label-badge-label-text-transform:none}ha-label-badge.binary_sensor{--ha-label-badge-color:var(--label-badge-blue)}.red{--ha-label-badge-color:var(--label-badge-red)}.blue{--ha-label-badge-color:var(--label-badge-blue)}.green{--ha-label-badge-color:var(--label-badge-green)}.yellow{--ha-label-badge-color:var(--label-badge-yellow)}.grey{--ha-label-badge-color:var(--label-badge-grey)}.warning{--ha-label-badge-color:var(--label-badge-yellow)}`}]}}),o.oi);a()}catch(e){a(e)}}))},33101:function(e,a,t){var i=t(44249),n=t(72621),o=t(57243),r=t(15093),s=t(35359);(0,i.Z)([(0,r.Mo)("ha-label-badge")],(function(e,a){class t extends a{constructor(...a){super(...a),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,r.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"description",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"image",value:void 0},{kind:"method",key:"render",value:function(){return o.dy` <div class="badge-container"> <div class="label-badge" id="badge"> <div class="value"> <slot></slot> </div> ${this.label?o.dy` <div class="${(0,s.$)({label:!0,big:this.label.length>5})}"> <span>${this.label}</span> </div> `:""} </div> ${this.description?o.dy`<div class="title">${this.description}</div>`:""} </div> `}},{kind:"get",static:!0,key:"styles",value:function(){return[o.iv`.badge-container{display:inline-block;text-align:center;vertical-align:top;padding:var(--ha-label-badge-padding,0 0 0 0)}.label-badge{position:relative;display:block;margin:0 auto;width:var(--ha-label-badge-size,2.5em);text-align:center;height:var(--ha-label-badge-size,2.5em);line-height:var(--ha-label-badge-size, 2.5em);font-size:var(--ha-label-badge-font-size, 1.5em);border-radius:var(--ha-label-badge-border-radius,50%);border:.1em solid var(--ha-label-badge-color,var(--primary-color));color:var(--label-badge-text-color,#4c4c4c);white-space:nowrap;background-color:var(--label-badge-background-color,#fff);background-size:cover;transition:border .3s ease-in-out}.label-badge .label.big span{font-size:90%;padding:10% 12% 7% 12%}.label-badge .value{font-size:90%;overflow:hidden;text-overflow:ellipsis}.label-badge .label{position:absolute;bottom:-1em;left:-.2em;right:-.2em;line-height:1em;font-size:.5em}.label-badge .label span{box-sizing:border-box;max-width:100%;display:inline-block;background-color:var(--ha-label-badge-color,var(--primary-color));color:var(--ha-label-badge-label-color,#fff);border-radius:1em;padding:9% 16% 8% 16%;font-weight:500;overflow:hidden;text-transform:uppercase;text-overflow:ellipsis;transition:background-color .3s ease-in-out;text-transform:var(--ha-label-badge-label-text-transform,uppercase)}.badge-container .title{margin-top:1em;font-size:var(--ha-label-badge-title-font-size, .9em);width:var(--ha-label-badge-title-width,5em);font-weight:var(--ha-label-badge-title-font-weight,400);overflow:hidden;text-overflow:ellipsis;line-height:normal}`]}},{kind:"method",key:"updated",value:function(e){(0,n.Z)(t,"updated",this,3)([e]),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?`url(${this.image})`:"")}}]}}),o.oi)},84428:function(e,a,t){t.d(a,{rv:()=>d,mK:()=>l,aT:()=>n,mZ:()=>r,eF:()=>o,WH:()=>s});t(9359),t(70104);var i=t(43537);const n=e=>e.callWS({type:"timer/list"}),o=(e,a)=>e.callWS({type:"timer/create",...a}),r=(e,a,t)=>e.callWS({type:"timer/update",timer_id:a,...t}),s=(e,a)=>e.callWS({type:"timer/delete",timer_id:a}),l=e=>{if(!e.attributes.remaining)return;let a=function(e){const a=e.split(":").map(Number);return 3600*a[0]+60*a[1]+a[2]}(e.attributes.remaining);if("active"===e.state){const t=(new Date).getTime(),i=new Date(e.attributes.finishes_at).getTime();a=Math.max((i-t)/1e3,0)}return a},d=(e,a,t)=>{if(!a)return null;if("idle"===a.state||0===t)return e.formatEntityState(a);let n=(0,i.Z)(t||0)||"0";return"paused"===a.state&&(n=`${n} (${e.formatEntityState(a)})`),n}}};
//# sourceMappingURL=10745.5e45c2f6c916dd1f.js.map