homebridge-easy-mqtt 1.0.0-beta.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,37 +2,6 @@
2
2
 
3
3
  All notable changes to homebridge-dummy will be documented in this file.
4
4
 
5
- ## 1.0.0-beta.4 (2025-07-03)
5
+ ## 1.0.0 (2025-07-14)
6
6
 
7
- _RELEASE CANDIDATE_
8
-
9
- ### Changed
10
- - Force cache miss for ui.js on version update
11
- - Use explicit identifier from config to allow for name changes
12
-
13
- ## 1.0.0-beta.3 (2025-07-01)
14
-
15
- ### Changed
16
- - Current lock state is always set by MQTT
17
- - Enum names in config are translateable
18
-
19
- ## 1.0.0-beta.2 (2025-06-26)
20
-
21
- ### Fixed
22
- - State issues in LockMechanism
23
-
24
- ## 1.0.0-beta.1 (2025-06-26)
25
-
26
- ### ⚠️ BREAKING
27
- - Several topics were renamed for consistency so some accessories may have to be reconfigured
28
-
29
- ### Added
30
- - Username/password can now be set in the UI or supplied via config
31
- - Outlet accessory type
32
-
33
- ### Fixed
34
- - Unnecessary idle timer in mqtt library
35
-
36
- ## 1.0.0-beta.0 (2025-06-25)
37
-
38
- - Initial beta release
7
+ - First public release
@@ -186,11 +186,6 @@
186
186
  }
187
187
  },
188
188
  "default": []
189
- },
190
- "verbose": {
191
- "type": "boolean",
192
- "title": "${config.title.verbose}",
193
- "description": "${config.description.verbose}"
194
189
  }
195
190
  }
196
191
  },
@@ -198,7 +193,7 @@
198
193
  {
199
194
  "type": "array",
200
195
  "key": "accessories",
201
- "title": "${config.title.accessories}",
196
+ "notitle": true,
202
197
  "items": [
203
198
  {
204
199
  "type": "fieldset",
@@ -446,7 +441,6 @@
446
441
  ]
447
442
  }
448
443
  ]
449
- },
450
- "verbose"
444
+ }
451
445
  ]
452
446
  }
@@ -1,3 +1,10 @@
1
+ <style>
2
+ .dark-mode {
3
+ background-color: #242424;
4
+ color: lightgrey;
5
+ }
6
+ </style>
7
+
1
8
  <!-- <p class="text-center">
2
9
  <img
3
10
  src="https://github.com/mpatfield/homebridge-easy-mqtt/blob/latest/img/banner.png?raw=true"
@@ -15,6 +22,6 @@
15
22
  </br><button type="button" class="btn btn-primary" id="introContinue" i18n="continue", i18n_replace="arrow"></button>
16
23
  </div>
17
24
 
18
- <footer id="footer" class="text-center" style="display: none; color: #ba0000;" i18n="optional"></footer>
25
+ <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="optional"></footer>
19
26
 
20
- <script src="ui.js?v=1.0.0-beta.4"></script>
27
+ <script src="ui.js?v=1.0.0"></script>
@@ -1 +1 @@
1
- "use strict";(()=>{var s={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'},g=e=>{document.querySelectorAll("[i18n]").forEach(t=>{let n=t.getAttribute("i18n"),r=e.config[n],o=t.getAttribute("i18n_replace");o&&(r=r.replace("%s",s[o])),t.innerHTML=r})},x=e=>{let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((r,o)=>t.indexOf(r.tagName.toLowerCase())-t.indexOf(o.tagName.toLowerCase())).forEach(r=>{let o=r.innerHTML;o=o.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,i,a)=>e.config[i]&&typeof e.config[i]=="object"&&a in e.config[i]?e.config[i][a]:d),r.innerHTML!==o&&(r.innerHTML=o)})},c=e=>{let t=Array.from(window.parent.document.querySelectorAll("fieldset legend")).filter(n=>!n.textContent?.includes(e.config.title.accessories));for(let n of t){let o=n.closest("fieldset")?.querySelector('input[type="text"][name="name"]');o&&n.textContent!==(o.value||e.config.title.accessory)&&(n.textContent=o.value!==""?o.value:e.config.title.accessory),o&&!o.dataset.accessoryNameListener&&(o.addEventListener("input",()=>c(e)),o.dataset.accessoryNameListener="true")}};function m(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var f=e=>{let t=!1;e.accessories?.forEach(n=>{if(n.info.id===void 0){let r=m();n.info.id=r,t=!0}}),t&&homebridge.updatePluginConfig([e])},l=async e=>{homebridge.showSpinner(),document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{x(e),c(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",n=>{let r=n.data;r.length&&f(r[0])}),homebridge.hideSpinner()},u=e=>{document.getElementById("introContinue").addEventListener("click",async()=>{l(e)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()};(async()=>{homebridge.showSpinner();try{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);g(t);let n=await homebridge.getPluginConfig();n.length?await l(t):(n.push({name:s.easy_mqtt}),await homebridge.updatePluginConfig(n),u(t))}catch(e){homebridge.toast.error(e.message),homebridge.hideSpinner()}})();})();
1
+ "use strict";(()=>{var s={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'},g=e=>{document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),r=e.config[o],n=t.getAttribute("i18n_replace");n&&(r=r.replace("%s",s[n])),t.innerHTML=r})},x=e=>{let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((r,n)=>t.indexOf(r.tagName.toLowerCase())-t.indexOf(n.tagName.toLowerCase())).forEach(r=>{let n=r.innerHTML;n=n.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,i,a)=>e.config[i]&&typeof e.config[i]=="object"&&a in e.config[i]?e.config[i][a]:d),r.innerHTML!==n&&(r.innerHTML=n)})},c=e=>{let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let n=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');n&&o.textContent!==(n.value||e.config.title.accessory)&&(o.textContent=n.value!==""?n.value:e.config.title.accessory),n&&!n.dataset.accessoryNameListener&&(n.addEventListener("input",()=>c(e)),n.dataset.accessoryNameListener="true")}};function m(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var f=e=>{let t=!1;e.accessories?.forEach(o=>{if(o.info.id===void 0){let r=m();o.info.id=r,t=!0}}),t&&homebridge.updatePluginConfig([e])},l=async e=>{homebridge.showSpinner(),document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{x(e),c(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",o=>{let r=o.data;r.length&&f(r[0])}),homebridge.hideSpinner()},u=e=>{document.getElementById("introContinue").addEventListener("click",async()=>{l(e)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()};(async()=>{homebridge.showSpinner();try{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);g(t);let o=await homebridge.getPluginConfig();o.length?await l(t):(o.push({name:s.easy_mqtt}),await homebridge.updatePluginConfig(o),u(t))}catch(e){homebridge.toast.error(e.message),homebridge.hideSpinner()}})();})();
package/dist/i18n/en.d.ts CHANGED
@@ -23,7 +23,6 @@ declare const en: {
23
23
  switch: string;
24
24
  };
25
25
  title: {
26
- accessories: string;
27
26
  accessory: string;
28
27
  broker: string;
29
28
  disableLogging: string;
package/dist/i18n/en.js CHANGED
@@ -23,7 +23,6 @@ const en = {
23
23
  switch: 'Switch',
24
24
  },
25
25
  title: {
26
- accessories: 'Accessories',
27
26
  accessory: 'Accessory',
28
27
  broker: 'Broker',
29
28
  disableLogging: 'Disable Logging',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,6 @@ declare const translations: {
32
32
  switch: string;
33
33
  };
34
34
  title: {
35
- accessories: string;
36
35
  accessory: string;
37
36
  broker: string;
38
37
  disableLogging: string;
@@ -23,7 +23,6 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
23
23
  switch: string;
24
24
  };
25
25
  title: {
26
- accessories: string;
27
26
  accessory: string;
28
27
  broker: string;
29
28
  disableLogging: string;
package/dist/i18n/zz.d.ts CHANGED
@@ -23,7 +23,6 @@ declare const zz: {
23
23
  switch: string;
24
24
  };
25
25
  title: {
26
- accessories: string;
27
26
  accessory: string;
28
27
  broker: string;
29
28
  disableLogging: string;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Easy MQTT",
5
5
  "description": "Homebridge plugin for easy control of MQTT devices",
6
6
  "type": "module",
7
- "version": "1.0.0-beta.4",
7
+ "version": "1.0.0",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-easy-mqtt#readme",
9
9
  "repository": {
10
10
  "type": "git",