iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 3.33 kB
JavaScript
export const __rspack_esm_id=11600;export const __rspack_esm_ids=[11600];export const __webpack_modules__={63130(t,a,e){e.d(a,{l:()=>s});var o=e(50248);const s=async(t,a)=>{if(navigator.clipboard)try{return void await navigator.clipboard.writeText(t)}catch{}const e=a||(0,o.n)()?.getRootNode()||document.body,s=document.createElement("textarea");s.value=t,s.setAttribute("readonly",""),s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.opacity="0",e.appendChild(s),s.select(),document.execCommand("copy"),e.removeChild(s)}},80243(t,a,e){e.a(t,async function(t,o){try{e.r(a);e(18111),e(61701),e(33110);var s=e(62826),i=e(5124),r=e(22441),l=e(1087),h=e(63130),n=e(18350),c=(e(93444),e(72554)),d=e(81619),p=t([n,c]);[n,c]=p.then?(await p)():p;class b extends i.WF{async showDialog(t){this._params=t,this._open=!0}closeDialog(){this._open=!1}_dialogClosed(){this._params=void 0,(0,l.r)(this,"dialog-closed",{dialog:this.localName})}showDataAsHex(t){return(t.match(/.{2}/g)??[]).map(t=>`0x${t.toUpperCase()}`).join(" ")}async _copyToClipboard(){this._params&&(await(0,h.l)(JSON.stringify(this._params.entry)),(0,d.P)(this,{message:this.hass.localize("ui.common.copied_clipboard")}))}render(){return this._params?i.qy` <ha-dialog .open="${this._open}" header-title="${this.hass.localize("ui.panel.config.bluetooth.device_information")}" ="${this._dialogClosed}"> <p> <b>${this.hass.localize("ui.panel.config.bluetooth.address")}</b>: ${this._params.entry.address} <br> <b>${this.hass.localize("ui.panel.config.bluetooth.name")}</b>: ${this._params.entry.name} <br> <b>${this.hass.localize("ui.panel.config.bluetooth.source")}</b>: ${this._params.entry.source} </p> <h3> ${this.hass.localize("ui.panel.config.bluetooth.advertisement_data")} </h3> <h4> ${this.hass.localize("ui.panel.config.bluetooth.manufacturer_data")} </h4> <table width="100%"> <tbody> ${Object.entries(this._params.entry.manufacturer_data).map(([t,a])=>i.qy` <tr> <td><b>${t}</b></td> <td>${this.showDataAsHex(a)}</td> </tr> `)} </tbody> </table> <h4>${this.hass.localize("ui.panel.config.bluetooth.service_data")}</h4> <table width="100%"> <tbody> ${Object.entries(this._params.entry.service_data).map(([t,a])=>i.qy` <tr> <td><b>${t}</b></td> <td>${this.showDataAsHex(a)}</td> </tr> `)} </tbody> </table> <h4> ${this.hass.localize("ui.panel.config.bluetooth.service_uuids")} </h4> <table width="100%"> <tbody> ${this._params.entry.service_uuids.map(t=>i.qy` <tr> <td>${t}</td> </tr> `)} </tbody> </table> ${this._params.entry.raw?i.qy` <h4> ${this.hass.localize("ui.panel.config.bluetooth.raw_advertisement")} </h4> <div class="raw"> ${this.showDataAsHex(this._params.entry.raw)} </div> `:i.s6} <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" ="${this._copyToClipboard}"> ${this.hass.localize("ui.panel.config.bluetooth.copy_to_clipboard")} </ha-button> </ha-dialog-footer> </ha-dialog> `:i.s6}constructor(...t){super(...t),this._open=!1}}b.styles=i.AH`.raw{word-break:break-all;font-family:var(--ha-font-family-code);font-size:var(--ha-font-size-s)}`,(0,s.Cg)([(0,r.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,s.Cg)([(0,r.wk)()],b.prototype,"_params",void 0),(0,s.Cg)([(0,r.wk)()],b.prototype,"_open",void 0),b=(0,s.Cg)([(0,r.EM)("dialog-bluetooth-device-info")],b),o()}catch(t){o(t)}})}};