diff --git a/README.md b/README.md index c20192e..b2f71ac 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ show(); * (klein0r) Added hide if value for My Data (DIY) * (klein0r) Remove frames without text from My Data (DIY) +* (klein0r) Allow dynamic states for My Data (DIY) icons ### 1.1.3 diff --git a/admin/index_m.html b/admin/index_m.html index 22d5cf8..4cd03ba 100644 --- a/admin/index_m.html +++ b/admin/index_m.html @@ -112,8 +112,8 @@ - - + + diff --git a/main.js b/main.js index 10e8af4..2116f82 100644 --- a/main.js +++ b/main.js @@ -911,7 +911,17 @@ class LaMetric extends utils.Adapter { this.myDataDiyRegex, (m, id) => { if (foreignStates.indexOf(id) === -1) { - this.log.debug('My Data (DIY) found dynamic state: ' + id); + this.log.debug('My Data (DIY) found dynamic state in text: ' + id); + foreignStates.push(id); + } + } + ); + + f.icon.replace( + this.myDataDiyRegex, + (m, id) => { + if (foreignStates.indexOf(id) === -1) { + this.log.debug('My Data (DIY) found dynamic state in icon: ' + id); foreignStates.push(id); } } @@ -965,7 +975,7 @@ class LaMetric extends utils.Adapter { let replacedText = f.text.replace( this.myDataDiyRegex, (m, id) => { - this.log.debug('My Data (DIY) replacing {' + id + '} in frame'); + this.log.debug('My Data (DIY) replacing {' + id + '} in frame text'); return this.myDataDiyForeignStates.filter(item => { return item.id === id; })[0].val; } @@ -983,7 +993,14 @@ class LaMetric extends utils.Adapter { }; if (f.icon) { - newObj.icon = f.icon; + newObj.icon = f.icon.replace( + this.myDataDiyRegex, + (m, id) => { + this.log.debug('My Data (DIY) replacing {' + id + '} in frame icon'); + + return this.myDataDiyForeignStates.filter(item => { return item.id === id; })[0].val; + } + ); } return newObj;
icontexticontext hide if