From 7508099cffa179d1484d83ae86d6711a0e45d998 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Fri, 25 Jan 2019 11:15:11 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=BA=20use=20new=20roke=20remote=20plat?= =?UTF-8?q?form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UI Editor added Breaking change: `title` renamed to `name` --- README.md | 11 ++- example.png | Bin 62626 -> 15036 bytes roku-card-editor.js | 104 ++++++++++++++++++++++++++++ roku-card.js | 165 +++++++++++++------------------------------- 4 files changed, 157 insertions(+), 123 deletions(-) create mode 100644 roku-card-editor.js diff --git a/README.md b/README.md index cf8d2f7..19ee2b4 100644 --- a/README.md +++ b/README.md @@ -22,20 +22,20 @@ This card is for [Lovelace](https://www.home-assistant.io/lovelace) on [Home Ass | ---- | ---- | ------- | ----------- | type | string | **Required** | `custom:roku-card` | entity | string | **Required** | `media_player` entity of Roku device -| ip_address | string | **Required** | IP address of the Roku device -| title | string | **Optional** | Card title +| name | string | **Optional** | Card name ## Installation ### Step 1 -Install `roku-card` by copying `roku-card.js`from this repo to `/www/roku-card.js` on your Home Assistant instanse. +Install `roku-card` by copying `roku-card.js` and `roku-card-editor.js` from this repo to `/www/roku-card.js` on your Home Assistant instance. **Example:** ```bash wget https://raw.githubusercontent.com/custom-cards/roku-card/master/roku-card.js -mv roku-card.js /config/www/ +wget https://raw.githubusercontent.com/custom-cards/roku-card/master/roku-card-editor.js +mv roku-card* /config/www/ ``` ### Step 2 @@ -55,6 +55,5 @@ Add a custom element in your `ui-lovelace.yaml` ```yaml - type: custom:roku-card entity: media_player.bedroom_tv - title: Bedroom TV - ip_address: 'http://192.168.1.4' + name: Bedroom TV ``` diff --git a/example.png b/example.png index be4b30da4f7843e2d9e6504217f127ba7ad9545c..2502d469b77ac229d4cd9bf5d775b37b1c09d3ec 100644 GIT binary patch literal 15036 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≻nqiCcmYK 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 QP|!NM@APze=zKKpPv{ { + options = options || {}; + detail = detail === null || detail === undefined ? {} : detail; + const event = new Event(type, { + bubbles: options.bubbles === undefined ? true : options.bubbles, + cancelable: Boolean(options.cancelable), + composed: options.composed === undefined ? true : options.composed + }); + event.detail = detail; + node.dispatchEvent(event); + return event; +}; + +const LitElement = Object.getPrototypeOf( + customElements.get("ha-panel-lovelace") +); +const html = LitElement.prototype.html; + +export class RokuCardEditor extends LitElement { + setConfig(config) { + this._config = config; + } + + static get properties() { + return { hass: {}, _config: {} }; + } + + get _name() { + return this._config.name || ""; + } + + + get _entity() { + return this._config.entity || ""; + } + + render() { + if (!this.hass) { + return html``; + } + + return html` +

+
+ + ${ + customElements.get("ha-entity-picker") + ? html` + + ` + : html` + + ` + } +
+
+ `; + } + + _valueChanged(ev) { + if (!this._config || !this.hass) { + return; + } + const target = ev.target; + if (this[`_${target.configValue}`] === target.value) { + return; + } + if (target.configValue) { + if (target.value === "") { + delete this._config[target.configValue]; + } else { + this._config = { + ...this._config, + [target.configValue]: target.value + }; + } + } + fireEvent(this, "config-changed", { config: this._config }); + } +} + +customElements.define("roku-card-editor", RokuCardEditor); \ No newline at end of file diff --git a/roku-card.js b/roku-card.js index db714b0..409048f 100644 --- a/roku-card.js +++ b/roku-card.js @@ -1,7 +1,7 @@ -var LitElement = - LitElement || - Object.getPrototypeOf(customElements.get("hui-error-entity-row")); -var html = LitElement.prototype.html; +const LitElement = Object.getPrototypeOf( + customElements.get("ha-panel-lovelace") +); +const html = LitElement.prototype.html; class RokuCard extends LitElement { static get properties() { @@ -12,8 +12,13 @@ class RokuCard extends LitElement { }; } - constructor() { - super(); + static async getConfigElement() { + await import("./roku-card-editor.js"); + return document.createElement("roku-card-editor"); + } + + static getStubConfig() { + return {}; } getCardSize() { @@ -21,66 +26,47 @@ class RokuCard extends LitElement { } setConfig(config) { - if (!config.entity || !config.ip_address) { + if (!config.entity) { console.log("Invalid configuration"); return; } this._config = config; - - const HttpApps = new XMLHttpRequest(); - HttpApps.open("GET", this._config.ip_address + ":8060/query/apps"); - HttpApps.send(); - HttpApps.onreadystatechange = e => { - if (HttpApps.responseXML) { - const appsXml = HttpApps.responseXML; - const tags = appsXml.getElementsByTagName("app"); - let apps = []; - for (let i = 0; i < tags.length && i < 4; i++) { - const HttpIcon = new XMLHttpRequest(); - HttpIcon.open( - "GET", - this._config.ip_address + - ":8060/query/icon/" + - String(tags[i].getAttribute("id")) - ); - HttpIcon.responseType = "arraybuffer"; - HttpIcon.onreadystatechange = e => { - if (HttpIcon.response) { - const data = new Uint8Array(HttpIcon.response); - const raw = String.fromCharCode.apply(null, data); - const base64 = btoa(raw); - apps.push({ - id: tags[i].getAttribute("id"), - name: tags[i].childNodes[0].nodeValue, - icon: "data:image/jpeg;base64," + base64 - }); - } - }; - HttpIcon.send(); - } - this._apps = apps; - } - }; } render() { - if (!this._config || !this._apps || !this.hass) { + if (!this._config || !this.hass) { return html``; } const stateObj = this.hass.states[this._config.entity]; return html` ${this.renderStyle()} - +
- ${ - stateObj.state === "playing" - ? html` -
${stateObj.attributes.source}
- ` - : "" - } +
+ + + ${ + stateObj.attributes.source_list.map(source => { + return html` + ${source} + `; + }) + } + + +
- ${ - this._apps && this._apps.length > 0 - ? html` - - ` - : "" - } - ${ - this._apps && this._apps.length > 1 - ? html` - - ` - : "" - }
@@ -155,39 +119,17 @@ class RokuCard extends LitElement {
- ${ - this._apps && this._apps.length > 2 - ? html` - - ` - : "" - } - ${ - this._apps && this._apps.length > 3 - ? html` - - ` - : "" - }
`; } launchApp(e) { - const Http = new XMLHttpRequest(); - const url = this._config.ip_address + ":8060/launch/" + e.currentTarget.app; - Http.open("POST", url); - Http.send(); + this.hass.callService("media_player", "select_source", { + entity_id: this._config.entity, + source: e.currentTarget.value + }); } handleActionClick(e) { - const Http = new XMLHttpRequest(); - const url = - this._config.ip_address + ":8060/keypress/" + e.currentTarget.action; - Http.open("POST", url); - Http.send(); + let remote = this._config.entity.split(".")[1]; + this.hass.callService("remote", "send_command", { + entity_id: "remote." + remote, + command: e.currentTarget.action + }); } }