@homebridge-plugins/homebridge-smarthq 0.4.0-beta.1 → 0.4.0-beta.2
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/README.md +11 -1
- package/config.schema.json +17 -0
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts +14 -0
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js +35 -0
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.d.ts +9 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js +35 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts +20 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js +65 -0
- package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.d.ts +10 -0
- package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.js +69 -0
- package/dist/devices/OpalIceMaker/Managers/OpalNightlightSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts +11 -0
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js +22 -0
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +20 -0
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +121 -0
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.d.ts +17 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.js +35 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalAddWaterStatusSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.d.ts +17 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.js +35 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalIceBucketStatusSvcManager.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.d.ts +27 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js +40 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.d.ts +13 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.js +33 -0
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/index.js.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/index.d.ts +7 -0
- package/dist/devices/OpalIceMaker/Managers/index.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/Managers/index.js +7 -0
- package/dist/devices/OpalIceMaker/Managers/index.js.map +1 -0
- package/dist/devices/OpalIceMaker/OpalDeviceBase.d.ts +13 -0
- package/dist/devices/OpalIceMaker/OpalDeviceBase.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/OpalDeviceBase.js +42 -0
- package/dist/devices/OpalIceMaker/OpalDeviceBase.js.map +1 -0
- package/dist/devices/OpalIceMaker/index.d.ts +17 -0
- package/dist/devices/OpalIceMaker/index.d.ts.map +1 -0
- package/dist/devices/OpalIceMaker/index.js +33 -0
- package/dist/devices/OpalIceMaker/index.js.map +1 -0
- package/dist/homebridge-ui/public/index.html +23 -25
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/platform.js +1 -1
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +6 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +7 -7
- package/dist/settings.js.map +1 -1
- package/docs/assets/dmt/dmt-component-data.js +1 -1
- package/docs/assets/dmt/dmt-search.cmp +0 -0
- package/docs/classes/SmartHQPlatform.html +66 -0
- package/docs/functions/default.html +1 -1
- package/docs/index.html +10 -2
- package/docs/interfaces/SmartHQPlatformConfig.html +16 -0
- package/docs/interfaces/SmartHqContext.html +4 -0
- package/docs/interfaces/credentials.html +4 -0
- package/docs/interfaces/devicesConfig.html +8 -0
- package/docs/interfaces/options.html +13 -0
- package/docs/modules.html +1 -1
- package/docs/variables/API_URL.html +2 -0
- package/docs/variables/ERD_CODES.html +2 -0
- package/docs/variables/ERD_TYPES.html +2 -0
- package/docs/variables/KEEPALIVE_TIMEOUT.html +2 -0
- package/docs/variables/LOGIN_URL.html +3 -0
- package/docs/variables/OAUTH2_CLIENT_ID.html +2 -0
- package/docs/variables/OAUTH2_CLIENT_SECRET.html +2 -0
- package/docs/variables/OAUTH2_REDIRECT_URI.html +2 -0
- package/docs/variables/PLATFORM_NAME.html +3 -0
- package/docs/variables/PLUGIN_NAME.html +3 -0
- package/docs/variables/SECURE_URL.html +3 -0
- package/package.json +3 -2
- package/vitest.config.ts +9 -0
- package/dist/devices/icemaker.d.ts +0 -17
- package/dist/devices/icemaker.d.ts.map +0 -1
- package/dist/devices/icemaker.js +0 -159
- package/dist/devices/icemaker.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>KEEPALIVE_TIMEOUT | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable KEEPALIVE_TIMEOUT<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">KEEPALIVE_TIMEOUT</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L86">settings.ts:86</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>LOGIN_URL | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable LOGIN_URL<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">LOGIN_URL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"https://accounts.brillion.geappliances.com/"</span><span class="tsd-signature-symbol"> = 'https://accounts.brillion.geappliances.com/'</span></div><div class="tsd-comment tsd-typography"><p>This is the Login URL for the SmartHQ API</p>
|
|
3
|
+
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L24">settings.ts:24</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>OAUTH2_CLIENT_ID | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable OAUTH2_CLIENT_ID<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">OAUTH2_CLIENT_ID</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"564c31616c4f7474434b307435412b4d2f6e7672"</span><span class="tsd-signature-symbol"> = '564c31616c4f7474434b307435412b4d2f6e7672'</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L82">settings.ts:82</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>OAUTH2_CLIENT_SECRET | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable OAUTH2_CLIENT_SECRET<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">OAUTH2_CLIENT_SECRET</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"6476512b5246446d452f697154444941387052645938466e5671746e5847593d"</span><span class="tsd-signature-symbol"> = '6476512b5246446d452f697154444941387052645938466e5671746e5847593d'</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L83">settings.ts:83</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>OAUTH2_REDIRECT_URI | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable OAUTH2_REDIRECT_URI<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">OAUTH2_REDIRECT_URI</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"brillion.4e617a766474657344444e562b5935566e51324a://oauth/redirect"</span><span class="tsd-signature-symbol"> = 'brillion.4e617a766474657344444e562b5935566e51324a://oauth/redirect'</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L84">settings.ts:84</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>PLATFORM_NAME | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable PLATFORM_NAME<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">PLATFORM_NAME</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"SmartHQ"</span><span class="tsd-signature-symbol"> = 'SmartHQ'</span></div><div class="tsd-comment tsd-typography"><p>This is the name of the platform that users will use to register the plugin in the Homebridge config.json</p>
|
|
3
|
+
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L14">settings.ts:14</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>PLUGIN_NAME | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable PLUGIN_NAME<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">PLUGIN_NAME</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"@homebridge-plugins/homebridge-smarthq"</span><span class="tsd-signature-symbol"> = '@homebridge-plugins/homebridge-smarthq'</span></div><div class="tsd-comment tsd-typography"><p>This must match the name of your plugin as defined the package.json</p>
|
|
3
|
+
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L19">settings.ts:19</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><style>body { visibility: hidden; }</style><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>SECURE_URL | @homebridge-plugins/homebridge-smarthq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-smarthq"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="../assets/style.css"><link rel="stylesheet" href="../assets/highlight.css"><script defer="" src="../assets/main.js"></script><script async="" src="../assets/icons.js" id="tsd-icons-script"></script><link rel="stylesheet" href="../assets/dmt/dmt-components.css"><link rel="stylesheet" href="../assets/dmt/dmt-theme.css"><script src="../assets/dmt/dmt-components.js" type="module"></script><noscript><style>body { visibility: visible; }</style></noscript></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";</script><div class="overlay"></div>
|
|
2
|
+
<main><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field" id="dmt-search-main"></div><div class="field" id="dmt-toolbar"><a href="../index.html" class="title">@homebridge-plugins/homebridge-smarthq</a></div></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main" tabindex="-1"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"></ul><div class="dmt-title-header-flex"><h1>Variable SECURE_URL<code class="tsd-tag">Const</code></h1></div></div><div class="tsd-signature"><span class="tsd-kind-variable">SECURE_URL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"https://secure.brillion.geappliances.com"</span><span class="tsd-signature-symbol"> = 'https://secure.brillion.geappliances.com'</span></div><div class="tsd-comment tsd-typography"><p>This is the Secure URL for the SmartHQ API</p>
|
|
3
|
+
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-smarthq/blob/a07dfd94b9e1b7675411a15b79f80f936eb305af/src/settings.ts#L29">settings.ts:29</a></li></ul></aside></div><div class="col-sidebar" tabindex="-1"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked=""><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu" tabindex="-1"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-smarthq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"></ul></nav></div></div></div></main></body></html>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-smarthq",
|
|
3
3
|
"displayName": "SmartHQ",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.4.0-beta.
|
|
5
|
+
"version": "0.4.0-beta.2",
|
|
6
6
|
"description": "The SmartHQ plugin allows you to interact with SmartHQ Devices in HomeKit and with Siri.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "donavanbecker",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"lint:fix": "eslint src/**/*.ts --fix",
|
|
47
47
|
"watch": "npm run build && npm run plugin-ui && npm link && nodemon",
|
|
48
48
|
"plugin-ui": "rsync ./src/homebridge-ui/public/index.html ./dist/homebridge-ui/public/",
|
|
49
|
-
"build": "npm run clean && tsc && npm run plugin-ui",
|
|
49
|
+
"build": "npm run clean && tsc && tsc-alias && npm run plugin-ui",
|
|
50
50
|
"prepublishOnly": "npm run lint && npm run build && npm run plugin-ui && npm run docs && npm run docs:lint && npm run docs:theme",
|
|
51
51
|
"postpublish": "npm run clean && npm ci",
|
|
52
52
|
"clean": "shx rm -rf ./dist",
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
"shx": "^0.3.4",
|
|
100
100
|
"ts-node": "^10.9.2",
|
|
101
101
|
"ts-node-dev": "^2.0.0",
|
|
102
|
+
"tsc-alias": "^1.8.11",
|
|
102
103
|
"typedoc": "^0.27.9",
|
|
103
104
|
"typescript": "^5.8.2",
|
|
104
105
|
"vitest": "^3.0.7"
|
package/vitest.config.ts
ADDED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PlatformAccessory } from 'homebridge';
|
|
2
|
-
import type { SmartHQPlatform } from '../platform.js';
|
|
3
|
-
import type { devicesConfig, SmartHqContext } from '../settings.js';
|
|
4
|
-
import { deviceBase } from './device.js';
|
|
5
|
-
export declare class SmartHQIceMaker extends deviceBase {
|
|
6
|
-
readonly platform: SmartHQPlatform;
|
|
7
|
-
readonly device: SmartHqContext['device'] & devicesConfig;
|
|
8
|
-
private opalProductionLimit;
|
|
9
|
-
private oimPowerSvcName;
|
|
10
|
-
private oimProgressSvcName;
|
|
11
|
-
private oimNightlightSvcName;
|
|
12
|
-
constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
|
|
13
|
-
private getProductionValue;
|
|
14
|
-
readErd(erd: string): Promise<string>;
|
|
15
|
-
writeErd(erd: string, value: string | boolean): Promise<undefined>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=icemaker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icemaker.d.ts","sourceRoot":"","sources":["../../src/devices/icemaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AASnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,eAAgB,SAAQ,UAAU;IAM3C,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAElC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAP3D,OAAO,CAAC,mBAAmB,CAAmB;IAC9C,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,oBAAoB,CAAoB;gBAErC,QAAQ,EAAE,eAAe,EAClC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EACnC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;YA6H7C,kBAAkB;IAgB1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAWpD"}
|
package/dist/devices/icemaker.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
import { interval, skipWhile } from 'rxjs';
|
|
4
|
-
import { ERD_TYPES } from '../settings.js';
|
|
5
|
-
import { deviceBase } from './device.js';
|
|
6
|
-
export class SmartHQIceMaker extends deviceBase {
|
|
7
|
-
platform;
|
|
8
|
-
device;
|
|
9
|
-
opalProductionLimit = Infinity;
|
|
10
|
-
oimPowerSvcName = 'Opal Power';
|
|
11
|
-
oimProgressSvcName = 'Opal Progress';
|
|
12
|
-
oimNightlightSvcName = 'Opal Nightlight';
|
|
13
|
-
constructor(platform, accessory, device) {
|
|
14
|
-
super(platform, accessory, device);
|
|
15
|
-
this.platform = platform;
|
|
16
|
-
this.device = device;
|
|
17
|
-
if (this.platform.config.options?.OPL) {
|
|
18
|
-
this.opalProductionLimit = this.platform.config.options.OPL;
|
|
19
|
-
}
|
|
20
|
-
this.debugLog(`Opal IceMaker Features: ${JSON.stringify(accessory.context.device.features)}`);
|
|
21
|
-
const opalIceMakerPowerService = this.accessory.getService(this.oimPowerSvcName) ?? this.accessory.addService(this.platform.Service.Switch, this.oimPowerSvcName, 'opal-power');
|
|
22
|
-
opalIceMakerPowerService
|
|
23
|
-
.getCharacteristic(this.platform.Characteristic.On)
|
|
24
|
-
.onGet(() => this.readErd(ERD_TYPES.OIM_POWER).then(r => Number.parseInt(r) !== 0))
|
|
25
|
-
.onSet(value => this.writeErd(ERD_TYPES.OIM_POWER, value));
|
|
26
|
-
const lightbulb = this.accessory.getService(this.oimNightlightSvcName)
|
|
27
|
-
|| this.accessory.addService(this.platform.Service.Lightbulb, this.oimNightlightSvcName);
|
|
28
|
-
lightbulb.getCharacteristic(this.platform.Characteristic.On)
|
|
29
|
-
.onGet(async () => {
|
|
30
|
-
const currentLevel = await this.readErd(ERD_TYPES.OIM_LIGHT_LEVEL);
|
|
31
|
-
return currentLevel !== '00'; // If the level is not OFF (00), return true (ON)
|
|
32
|
-
})
|
|
33
|
-
.onSet(async (value) => {
|
|
34
|
-
let newState;
|
|
35
|
-
const currentLevel = await this.readErd(ERD_TYPES.OIM_LIGHT_LEVEL);
|
|
36
|
-
if (value) {
|
|
37
|
-
// If turning the light ON, cycle through states
|
|
38
|
-
if (currentLevel === '00') {
|
|
39
|
-
newState = '02'; // LOW
|
|
40
|
-
}
|
|
41
|
-
else if (currentLevel === '02') {
|
|
42
|
-
newState = '01'; // HIGH
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
newState = '00'; // OFF
|
|
47
|
-
}
|
|
48
|
-
await this.writeErd(ERD_TYPES.OIM_LIGHT_LEVEL, newState);
|
|
49
|
-
this.debugLog(`Light state changed to: ${newState}`);
|
|
50
|
-
});
|
|
51
|
-
lightbulb.getCharacteristic(this.platform.Characteristic.Brightness)
|
|
52
|
-
.setProps({
|
|
53
|
-
minValue: 0, // Minimum value for brightness (OFF)
|
|
54
|
-
maxValue: 100, // Maximum value for brightness (HIGH)
|
|
55
|
-
minStep: 50, // Step value (only allow OFF, LOW, and HIGH)
|
|
56
|
-
})
|
|
57
|
-
.onGet(async () => {
|
|
58
|
-
const currentLevel = await this.readErd(ERD_TYPES.OIM_LIGHT_LEVEL);
|
|
59
|
-
// Map the light level to brightness values
|
|
60
|
-
if (currentLevel === '02') { // HIGH
|
|
61
|
-
return 50; // Dim Brightness
|
|
62
|
-
}
|
|
63
|
-
else if (currentLevel === '01') { // LOW
|
|
64
|
-
return 100; // Full Brightness
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return 0; // OFF
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
.onSet(async (value) => {
|
|
71
|
-
let newState;
|
|
72
|
-
if (value === 50) {
|
|
73
|
-
newState = '02'; // LOW (for dim brightness)
|
|
74
|
-
}
|
|
75
|
-
else if (value === 100) {
|
|
76
|
-
newState = '01'; // HIGH (for full brightness)
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
newState = '00'; // OFF
|
|
80
|
-
}
|
|
81
|
-
await this.writeErd(ERD_TYPES.OIM_LIGHT_LEVEL, newState);
|
|
82
|
-
this.debugLog(`Light brightness changed to: ${newState}`);
|
|
83
|
-
});
|
|
84
|
-
// Opal Progress service
|
|
85
|
-
const opalProgressSvc = this.accessory.getService(this.oimProgressSvcName)
|
|
86
|
-
|| this.accessory.addService(this.platform.Service.Fanv2, this.oimProgressSvcName);
|
|
87
|
-
opalProgressSvc.getCharacteristic(this.platform.Characteristic.Active)
|
|
88
|
-
.setProps({
|
|
89
|
-
// Omit PAIRED_WRITE to prevent user from setting Active to False, is read only.
|
|
90
|
-
perms: ["ev" /* Perms.EVENTS */, "pr" /* Perms.PAIRED_READ */],
|
|
91
|
-
});
|
|
92
|
-
opalProgressSvc.getCharacteristic(this.platform.Characteristic.RotationSpeed)
|
|
93
|
-
.setProps({
|
|
94
|
-
format: "int" /* Formats.INT */,
|
|
95
|
-
unit: "percentage" /* Units.PERCENTAGE */,
|
|
96
|
-
minStep: 1,
|
|
97
|
-
minValue: 0,
|
|
98
|
-
maxValue: 100,
|
|
99
|
-
perms: ["ev" /* Perms.EVENTS */, "pr" /* Perms.PAIRED_READ */],
|
|
100
|
-
})
|
|
101
|
-
.removeOnGet()
|
|
102
|
-
.removeOnSet();
|
|
103
|
-
// Get default accessory information service
|
|
104
|
-
const opalIceMakerMetadataService = this.accessory.getService('');
|
|
105
|
-
// Metadata for Device Form, Opal Production Limit
|
|
106
|
-
opalIceMakerMetadataService
|
|
107
|
-
?.getCharacteristic(this.platform.Characteristic.ProductData)
|
|
108
|
-
.onGet(() => 'l=Production_Limit&i=OPL&t=number&d=0&p=1-100,_0_to_unset');
|
|
109
|
-
// Start an update interval
|
|
110
|
-
interval(this.deviceRefreshRate * 1000)
|
|
111
|
-
.pipe(skipWhile(() => !this.accessory.services.find(svc => svc.displayName === this.oimProgressSvcName)))
|
|
112
|
-
.subscribe(async () => {
|
|
113
|
-
const currentProductionValue = await this.getProductionValue();
|
|
114
|
-
const oimPowerSvc = this.accessory.services.find(accSvc => accSvc.displayName === this.oimPowerSvcName);
|
|
115
|
-
const oimProgressSvc = this.accessory.services.find(accSvc => accSvc.displayName === this.oimProgressSvcName);
|
|
116
|
-
// Math.min: If opalProductionLimit is Infinity (default/unset value), set to 100. Otherwise use the opalProductionLimit that is less than 100
|
|
117
|
-
const progressBarProductionValue = Math.floor((100 / Math.min(this.opalProductionLimit, 100)) * currentProductionValue);
|
|
118
|
-
oimProgressSvc?.updateCharacteristic(this.platform.Characteristic.RotationSpeed, Math.min(progressBarProductionValue, 100));
|
|
119
|
-
oimProgressSvc?.updateCharacteristic(this.platform.Characteristic.Active, currentProductionValue > 0 ? 1 : 0);
|
|
120
|
-
// If opalProductLimit is Infinity (default/unset value), the machine will turn off by itself
|
|
121
|
-
if (currentProductionValue > this.opalProductionLimit) {
|
|
122
|
-
oimPowerSvc?.setCharacteristic(this.platform.Characteristic.On, false);
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
async getProductionValue() {
|
|
127
|
-
try {
|
|
128
|
-
const erdVal = await this.readErd(ERD_TYPES.OIM_PRODUCTION);
|
|
129
|
-
const hexToIntVal = Buffer.from(erdVal, 'hex').readUInt8(0);
|
|
130
|
-
const productionValue = Math.min(hexToIntVal, 100);
|
|
131
|
-
const completionistMsg = hexToIntVal > 100 ? `, Completion: ${hexToIntVal}` : '';
|
|
132
|
-
this.debugSuccessLog(`Progress Svc: Value: ${productionValue}, Limit: ${this.opalProductionLimit}${completionistMsg}`);
|
|
133
|
-
return productionValue;
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
const typedErr = error;
|
|
137
|
-
this.errorLog(`Failed to read production value: ${typedErr.message}`);
|
|
138
|
-
// Default to 0 if there's an error
|
|
139
|
-
return 0;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
async readErd(erd) {
|
|
143
|
-
const d = await axios
|
|
144
|
-
.get(`/appliance/${this.accessory.context.device.applianceId}/erd/${erd}`);
|
|
145
|
-
return String(d.data.value);
|
|
146
|
-
}
|
|
147
|
-
async writeErd(erd, value) {
|
|
148
|
-
await axios
|
|
149
|
-
.post(`/appliance/${this.accessory.context.device.applianceId}/erd/${erd}`, {
|
|
150
|
-
kind: 'appliance#erdListEntry',
|
|
151
|
-
userId: this.accessory.context.userId,
|
|
152
|
-
applianceId: this.accessory.context.device.applianceId,
|
|
153
|
-
erd,
|
|
154
|
-
value: typeof value === 'boolean' ? (value ? '01' : '00') : value,
|
|
155
|
-
});
|
|
156
|
-
return undefined;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=icemaker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icemaker.js","sourceRoot":"","sources":["../../src/devices/icemaker.ts"],"names":[],"mappings":"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"}
|