node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
37 lines (36 loc) • 1.27 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = issueCheck;
exports.isTagNodeProperties = isTagNodeProperties;
const IssueService_1 = require("../../common/services/IssueService");
const utils_1 = require("../../common/services/IssueService/utils");
const const_1 = require("../../const");
const globals_1 = require("../../globals");
function issueCheck(config) {
const issues = [];
const ha = (0, utils_1.getHomeAssistant)(config);
if (!ha) {
return issues;
}
const states = ha.websocket.getStates();
const tagStates = Object.values(states).filter((state) => state.entity_id.startsWith('tag.'));
for (const tag of config.tags) {
if (tag === const_1.TAGS_ALL) {
continue;
}
if (!tagStates.find((state) => state.attributes.tag_id === tag)) {
const message = globals_1.RED._(`home-assistant.service.issue.tag_not_found`, {
tag_id: tag,
});
issues.push({
type: IssueService_1.IssueType.TagId,
message,
identity: tag,
});
}
}
return issues;
}
function isTagNodeProperties(node) {
return node.type === const_1.NodeType.Tag;
}
;