-
+
To install Home Assistant, run:
pip3 install homeassistant
@@ -39,7 +39,7 @@
Here are some resources to get started.
-
+
- Home Assistant website
- Installation instructions
- Troubleshooting your installation
@@ -64,3 +64,20 @@
+
+
diff --git a/src/cards/ha-introduction-card.js b/src/cards/ha-introduction-card.js
deleted file mode 100644
index b1eac8d1f5..0000000000
--- a/src/cards/ha-introduction-card.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import Polymer from '../polymer';
-
-require('../components/ha-card');
-
-export default new Polymer({
- is: 'ha-introduction-card',
-
- properties: {
- showInstallInstruction: {
- type: Boolean,
- value: __DEMO__,
- },
- showHideInstruction: {
- type: Boolean,
- value: true,
- },
- },
-});
diff --git a/src/components/entity-list.html b/src/components/entity-list.html
index 637d66bede..40d1653c25 100644
--- a/src/components/entity-list.html
+++ b/src/components/entity-list.html
@@ -25,3 +25,34 @@
+
+
diff --git a/src/components/entity-list.js b/src/components/entity-list.js
deleted file mode 100644
index 72b6ccc43f..0000000000
--- a/src/components/entity-list.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import Polymer from '../polymer';
-
-export default new Polymer({
- is: 'entity-list',
-
- behaviors: [window.hassBehavior],
-
- properties: {
- hass: {
- type: Object,
- },
-
- entities: {
- type: Array,
- bindNuclear: hass => [
- hass.entityGetters.entityMap,
- (map) => map.valueSeq().sortBy((entity) => entity.entityId).toArray(),
- ],
- },
- },
-
- entitySelected(ev) {
- ev.preventDefault();
- this.fire('entity-selected', { entityId: ev.model.entity.entityId });
- },
-});
diff --git a/src/components/entity/ha-entity-marker.js b/src/components/entity/ha-entity-marker.js
index b92c4e2161..e08b1b8304 100644
--- a/src/components/entity/ha-entity-marker.js
+++ b/src/components/entity/ha-entity-marker.js
@@ -1,7 +1,5 @@
import Polymer from '../../polymer';
-require('../../components/ha-label-badge');
-
/*
Leaflet clones this element before adding it to the map. This messes up
our Poylmer object and we lose the reference to the `hass` object.
diff --git a/src/components/entity/ha-state-label-badge.js b/src/components/entity/ha-state-label-badge.js
index dcef86685f..490bd87788 100644
--- a/src/components/entity/ha-state-label-badge.js
+++ b/src/components/entity/ha-state-label-badge.js
@@ -2,8 +2,6 @@ import Polymer from '../../polymer';
import domainIcon from '../../util/domain-icon';
import stateIcon from '../../util/state-icon';
-require('../../components/ha-label-badge');
-
export default new Polymer({
is: 'ha-state-label-badge',
diff --git a/src/components/events-list.html b/src/components/events-list.html
index b9849f81d3..b7b3378037 100644
--- a/src/components/events-list.html
+++ b/src/components/events-list.html
@@ -28,3 +28,34 @@
+
+
diff --git a/src/components/events-list.js b/src/components/events-list.js
deleted file mode 100644
index 0b4579ce41..0000000000
--- a/src/components/events-list.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import Polymer from '../polymer';
-
-export default new Polymer({
- is: 'events-list',
-
- behaviors: [window.hassBehavior],
-
- properties: {
- hass: {
- type: Object,
- },
-
- events: {
- type: Array,
- bindNuclear: hass => [
- hass.eventGetters.entityMap,
- (map) => map.valueSeq().sortBy((event) => event.event).toArray(),
- ],
- },
- },
-
- eventSelected(ev) {
- ev.preventDefault();
- this.fire('event-selected', { eventType: ev.model.event.event });
- },
-});
diff --git a/src/components/ha-card.html b/src/components/ha-card.html
index 7626381ab0..48a4ff7584 100644
--- a/src/components/ha-card.html
+++ b/src/components/ha-card.html
@@ -25,3 +25,23 @@
+
+
\ No newline at end of file
diff --git a/src/components/ha-card.js b/src/components/ha-card.js
deleted file mode 100644
index 27600ea03b..0000000000
--- a/src/components/ha-card.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import Polymer from '../polymer';
-
-export default new Polymer({
- is: 'ha-card',
-
- properties: {
- header: {
- type: String,
- },
- /**
- * The z-depth of the card, from 0-5.
- */
- elevation: {
- type: Number,
- value: 1,
- reflectToAttribute: true,
- },
- },
-});
diff --git a/src/components/ha-cards.js b/src/components/ha-cards.js
index 61f40c857b..52d4488176 100644
--- a/src/components/ha-cards.js
+++ b/src/components/ha-cards.js
@@ -1,6 +1,5 @@
import Polymer from '../polymer';
-require('.//ha-demo-badge');
require('../cards/ha-badges-card');
require('../cards/ha-card-chooser');
@@ -109,8 +108,9 @@ export default new Polymer({
}
if (showIntroduction) {
cards.columns[getIndex(5)].push({
+ hass,
cardType: 'introduction',
- showHideInstruction: states.size > 0 && !__DEMO__,
+ showHideInstruction: states.size > 0 && !hass.demo,
});
}
diff --git a/src/components/ha-color-picker.html b/src/components/ha-color-picker.html
index 1bc8574d45..7eb6747be0 100644
--- a/src/components/ha-color-picker.html
+++ b/src/components/ha-color-picker.html
@@ -10,3 +10,134 @@
+
+
diff --git a/src/components/ha-color-picker.js b/src/components/ha-color-picker.js
deleted file mode 100644
index 63eb3c7369..0000000000
--- a/src/components/ha-color-picker.js
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Color-picker custom element
- * Originally created by bbrewer97202 (Ben Brewer). MIT Licensed.
- * https://github.com/bbrewer97202/color-picker-element
- *
- * Adapted to work with Polymer.
- */
-import Polymer from '../polymer';
-
-export default new Polymer({
- is: 'ha-color-picker',
-
- properties: {
- color: {
- type: Object,
- },
-
- width: {
- type: Number,
- },
-
- height: {
- type: Number,
- },
- },
-
- listeners: {
- mousedown: 'onMouseDown',
- mouseup: 'onMouseUp',
- touchstart: 'onTouchStart',
- touchend: 'onTouchEnd',
- },
-
- onMouseDown(ev) {
- this.onMouseMove(ev);
- this.addEventListener('mousemove', this.onMouseMove);
- },
-
- onMouseUp() {
- this.removeEventListener('mousemove', this.onMouseMove);
- },
-
- onTouchStart(ev) {
- this.onTouchMove(ev);
- this.addEventListener('touchmove', this.onTouchMove);
- },
-
- onTouchEnd() {
- this.removeEventListener('touchmove', this.onTouchMove);
- },
-
- onTouchMove(ev) {
- if (!this.mouseMoveIsThrottled) {
- return;
- }
- this.mouseMoveIsThrottled = false;
- this.processColorSelect(ev.touches[0]);
- this.async(() => { this.mouseMoveIsThrottled = true; }, 100);
- },
-
- onMouseMove(ev) {
- if (!this.mouseMoveIsThrottled) {
- return;
- }
- this.mouseMoveIsThrottled = false;
- this.processColorSelect(ev);
- this.async(() => { this.mouseMoveIsThrottled = true; }, 100);
- },
-
- processColorSelect(ev) {
- const rect = this.canvas.getBoundingClientRect();
-
- // boundary check because people can move off-canvas.
- if (ev.clientX < rect.left || ev.clientX >= rect.left + rect.width ||
- ev.clientY < rect.top || ev.clientY >= rect.top + rect.height) {
- return;
- }
-
- this.onColorSelect(ev.clientX - rect.left, ev.clientY - rect.top);
- },
-
- onColorSelect(x, y) {
- const data = this.context.getImageData(x, y, 1, 1).data;
-
- this.setColor({ r: data[0], g: data[1], b: data[2] });
- },
-
- setColor(rgb) {
- this.color = rgb;
-
- this.fire('colorselected', { rgb: this.color });
- },
-
- ready() {
- this.setColor = this.setColor.bind(this);
- this.mouseMoveIsThrottled = true;
- this.canvas = this.children[0];
- this.context = this.canvas.getContext('2d');
- this.drawGradient();
- },
-
- drawGradient() {
- let style;
- if (!this.width || !this.height) {
- style = getComputedStyle(this);
- }
- const width = this.width || parseInt(style.width, 10);
- const height = this.height || parseInt(style.height, 10);
-
- const colorGradient = this.context.createLinearGradient(0, 0, width, 0);
- colorGradient.addColorStop(0, 'rgb(255,0,0)');
- colorGradient.addColorStop(0.16, 'rgb(255,0,255)');
- colorGradient.addColorStop(0.32, 'rgb(0,0,255)');
- colorGradient.addColorStop(0.48, 'rgb(0,255,255)');
- colorGradient.addColorStop(0.64, 'rgb(0,255,0)');
- colorGradient.addColorStop(0.80, 'rgb(255,255,0)');
- colorGradient.addColorStop(1, 'rgb(255,0,0)');
- this.context.fillStyle = colorGradient;
- this.context.fillRect(0, 0, width, height);
-
- const bwGradient = this.context.createLinearGradient(0, 0, 0, height);
- bwGradient.addColorStop(0, 'rgba(255,255,255,1)');
- bwGradient.addColorStop(0.5, 'rgba(255,255,255,0)');
- bwGradient.addColorStop(0.5, 'rgba(0,0,0,0)');
- bwGradient.addColorStop(1, 'rgba(0,0,0,1)');
-
- this.context.fillStyle = bwGradient;
- this.context.fillRect(0, 0, width, height);
- },
-});
diff --git a/src/components/ha-demo-badge.html b/src/components/ha-demo-badge.html
index 810bb47acd..5f84c73385 100644
--- a/src/components/ha-demo-badge.html
+++ b/src/components/ha-demo-badge.html
@@ -16,3 +16,9 @@
>
+
+
diff --git a/src/components/ha-demo-badge.js b/src/components/ha-demo-badge.js
deleted file mode 100644
index 6732f80e39..0000000000
--- a/src/components/ha-demo-badge.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Polymer from '../polymer';
-
-require('./ha-label-badge');
-
-export default new Polymer({
- is: 'ha-demo-badge',
-});
diff --git a/src/components/ha-label-badge.html b/src/components/ha-label-badge.html
index c20d827af6..52a2f569c7 100644
--- a/src/components/ha-label-badge.html
+++ b/src/components/ha-label-badge.html
@@ -83,3 +83,54 @@