diff --git a/js/integration.js b/js/integration.js index b78d18c..88443b9 100644 --- a/js/integration.js +++ b/js/integration.js @@ -96,6 +96,7 @@ const init = async () => { // Init client diagnostic initHeartbeat(); initErrors(); + initVersion(); // Integration initialized INTEGRATION.initialized = true; @@ -1107,6 +1108,33 @@ const updateErrors = async () => { publishAttributes("errors", history); }; +/** + * Initializes the version sensor. + */ +const initVersion = () => { + const root = `${INTEGRATION.root}/version`; + const config = { + name: "Version", + unique_id: `${INTEGRATION.node}_version`, + state_topic: `${root}/state`, + json_attributes_topic: `${root}/attributes`, + value_template: "{{ value }}", + entity_category: "diagnostic", + icon: "mdi:application-braces", + device: INTEGRATION.device, + }; + publishConfig("sensor", config); + updateVersion(); +}; + +/** + * Updates the version sensor via the mqtt connection. + */ +const updateVersion = async () => { + publishState("version", APP.version); + publishAttributes("version", APP.build); +}; + module.exports = { init, update,