Add Z-Wave Entity Information/more-info button (#1664)

* Add Entity Info button

* Cleanup
This commit is contained in:
Charles Garwood 2018-09-17 03:43:13 -04:00 committed by Paulus Schoutsen
parent 6c262c20ce
commit 443e083a79

View File

@ -231,6 +231,7 @@ class HaConfigZwave extends LocalizeMixin(EventsMixin(PolymerElement)) {
service="refresh_entity"
hidden$="[[!showHelp]]">
</ha-service-description>
<paper-button on-click="_entityMoreInfo">Entity Information</paper-button>
</div>
<div class="form-group">
<paper-checkbox checked="{{entityIgnored}}" class="form-control">
@ -253,18 +254,6 @@ class HaConfigZwave extends LocalizeMixin(EventsMixin(PolymerElement)) {
Save
</ha-call-service-button>
</div>
<div class="content">
<div class="card-actions">
<paper-button toggles="" raised="" noink="" active="{{entityInfoActive}}">Entity Attributes</paper-button>
</div>
<template is="dom-if" if="{{entityInfoActive}}">
<template is="dom-repeat" items="[[selectedEntityAttrs]]" as="state">
<div class="node-info">
<span>[[state]]</span>
</div>
</template>
</template>
</div>
</template>
</template>
@ -356,19 +345,12 @@ class HaConfigZwave extends LocalizeMixin(EventsMixin(PolymerElement)) {
computed: 'computeEntities(selectedNode)',
},
entityInfoActive: Boolean,
selectedEntity: {
type: Number,
value: -1,
observer: 'selectedEntityChanged',
},
selectedEntityAttrs: {
type: Array,
computed: 'computeSelectedEntityAttrs(selectedEntity)'
},
values: {
type: Array,
},
@ -505,16 +487,6 @@ class HaConfigZwave extends LocalizeMixin(EventsMixin(PolymerElement)) {
});
}
computeSelectedEntityAttrs(selectedEntity) {
if (selectedEntity === -1) return 'No entity selected';
const entityAttrs = this.entities[selectedEntity].attributes;
const att = [];
Object.keys(entityAttrs).forEach((key) => {
att.push(key + ': ' + entityAttrs[key]);
});
return att.sort();
}
computeSelectCaption(stateObj) {
return computeStateName(stateObj) + ' (Node:' +
stateObj.attributes.node_id + ' ' +
@ -562,6 +534,9 @@ class HaConfigZwave extends LocalizeMixin(EventsMixin(PolymerElement)) {
_nodeMoreInfo() {
this.fire('hass-more-info', { entityId: this.nodes[this.selectedNode].entity_id });
}
_entityMoreInfo() {
this.fire('hass-more-info', { entityId: this.entities[this.selectedEntity].entity_id });
}
_saveEntity() {
const data = {