Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.0.0 #1070

Merged
merged 44 commits into from
Oct 12, 2024
Merged

v4.0.0 #1070

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c160691
beta-3.8.3
donavanbecker Sep 26, 2024
fd7b028
Update beta-release.yml
donavanbecker Sep 26, 2024
da8b745
Fix incorrect handling of openState in Contact Sensor (#1061)
nzws Sep 26, 2024
16eb86a
Update CHANGELOG.md
donavanbecker Sep 26, 2024
b485a1c
update
donavanbecker Sep 26, 2024
d8d3f8a
update
donavanbecker Sep 27, 2024
4f05b7a
node-switchbot: beta
donavanbecker Sep 28, 2024
1dd95ba
"node-switchbot": "2.5.0-beta.10"
donavanbecker Sep 29, 2024
315c7e9
"node-switchbot": "2.5.0-beta.12"
donavanbecker Sep 29, 2024
6bf0445
Update beta-release.yml
donavanbecker Sep 29, 2024
c4e9913
Update beta-release.yml
donavanbecker Sep 29, 2024
6694101
"node-switchbot": "2.5.0-beta.13"
donavanbecker Sep 29, 2024
f7ec407
"node-switchbot": "2.5.0-beta.14"
donavanbecker Sep 29, 2024
9c05736
ad try catch to node-switchbot
donavanbecker Sep 29, 2024
a45a446
move all to node-switchbot
donavanbecker Sep 30, 2024
a3fb8cb
Update platform.ts
donavanbecker Sep 30, 2024
9dac9af
listen for logs emitted
donavanbecker Sep 30, 2024
174f562
allow info logs to be pushed
donavanbecker Sep 30, 2024
8b6f906
Update platform.ts
donavanbecker Sep 30, 2024
53c557e
more changes
donavanbecker Sep 30, 2024
6ec7169
new node-switchbot beta
donavanbecker Sep 30, 2024
08f980b
"node-switchbot": "2.5.0-beta.25"
donavanbecker Sep 30, 2024
aeaacc7
"node-switchbot": "2.5.0-beta.28"
donavanbecker Sep 30, 2024
6551cb0
fix getDevices
donavanbecker Sep 30, 2024
963774f
Update platform.ts
donavanbecker Sep 30, 2024
c884639
fix discord
donavanbecker Oct 3, 2024
c2b75db
finall node-switchbot beta
donavanbecker Oct 3, 2024
5fce87d
get the new logging from BLE API
donavanbecker Oct 3, 2024
f56cf8a
fix
donavanbecker Oct 5, 2024
15eae4b
add logging
donavanbecker Oct 5, 2024
3549868
Update platform.ts
donavanbecker Oct 5, 2024
ab3f544
more logs for RotationSpeed
donavanbecker Oct 5, 2024
408bcd1
0 if RotationSpeed is undefined
donavanbecker Oct 5, 2024
87545ef
more
donavanbecker Oct 5, 2024
d84f57c
better
donavanbecker Oct 7, 2024
e82b4e1
Fix #1065 - light level stuck at max (#1066)
4gra Oct 7, 2024
b46a3c5
major changes
donavanbecker Oct 9, 2024
fcf3957
Merge branch 'latest' into beta-4.0.0
donavanbecker Oct 9, 2024
0dcf417
remove node 18
donavanbecker Oct 9, 2024
4529b2b
potential bot fix
donavanbecker Oct 9, 2024
3049dc7
add deviceConfig that can be set at a deviceType level
donavanbecker Oct 10, 2024
0c6ff7d
make it so deviceId settings override deviceType settings
donavanbecker Oct 11, 2024
c6f0c00
add remoteTypeeConfig
donavanbecker Oct 12, 2024
3f2000f
v4.0.0
donavanbecker Oct 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Node-CI Beta
on:
push:
branches: [beta-*.*.*, beta]
release:
types: [prereleased]
workflow_dispatch:

jobs:
Expand All @@ -14,15 +12,14 @@ jobs:
enable_coverage: true
secrets:
token: ${{ secrets.GITHUB_TOKEN }}

lint:
needs: build_and_test
uses: OpenWonderLabs/.github/.github/workflows/eslint.yml@latest

publish:
needs: lint

if: ${{ github.repository == 'OpenWonderLabs/homebridge-switchbot' }}

uses: OpenWonderLabs/.github/.github/workflows/npm-publish.yml@latest
with:
tag: 'beta'
Expand All @@ -32,6 +29,17 @@ jobs:
secrets:
npm_auth_token: ${{ secrets.npm_token }}

pre-release:
needs: publish
if: ${{ github.repository == 'OpenWonderLabs/homebridge-switchbot' }}
uses: OpenWonderLabs/.github/.github/workflows/pre-release.yml@latest
with:
npm_version: ${{ needs.publish.outputs.NPM_VERSION }}
body: |
**Beta Release**
**Version**: v${{ needs.publish.outputs.NPM_VERSION }}
[How To Test Beta Releases](https://github.com/OpenWonderLabs/homebridge-switchbot/wiki/Beta-Version)

github-releases-to-discord:
name: Discord Webhooks
needs: [build_and_test,publish]
Expand Down
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,32 @@

All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)

## [4.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v4.0.0) (2024-10-11)

### What's Changed
#### ⚠️ Breaking Changes
- Added `deviceType` based config
- This allows you to set a setting that will be used across the same deviceType
- `deviceType` based config settings can be over written by individual device settings set by the deviceId
- Added `remoteType` based config
- This allows you to set a setting that will be used across the same IR remoteType
- `remoteType` based config settings can be over written by individual device settings set by the deviceId
- All device specific configs have been moved to the same level on the config to elimate the use of multiple of the same config and to better support the new `deviceType` based config.
- ** ⚠️ If you have config set for any of the following SwitchBot device Types: `Curtain`, `Blind Tilt`, `Color Bulb`, `Strip Light`, `Hub`, `Meter`, `Meter Plus`, `Humidifier`, `Contact Sensor`, `Motion Sensor`, `Water Detector`, `Ceiling Light`, or `Lock`; you will need to re-setup your config for that deviceId**
- ** ⚠️ If you have config set for any of the following IR remote Types: `Fan`, `DIY Fan`, `Light`, `DIY Light`, `Air Conditioner`, `DIY Air Conditioner`, or `Others`; you will need to re-setup your config for that deviceId**
- OpenAPI is now support by Version [3.0.0](https://github.com/OpenWonderLabs/node-switchbot/releases/latest) of [`node-switchbot`](https://github.com/OpenWonderLabs/node-switchbot), so made changes to refect that.

#### Other Changes
- Add `K10+ Pro` deviceType Support
- Housekeeping and updated dependencies.

**Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.3...v4.0.0

## [3.8.3](https://github.com/OpenWonderLabs/homebridge-switchbot/releases/tag/v3.8.3) (2024-10-09)

### What's Changed
- Fix incorrect handling of openState in Contact Sensor [#1061](https://github.com/OpenWonderLabs/homebridge-switchbot/pull/1061), Thanks [@nzws](https://github.com/nzws)
- Fix light level stuck at ma [#1066](https://github.com/OpenWonderLabs/homebridge-switchbot/pull/1066), Thanks [@4gra](https://github.com/4gra)
- Fix light level stuck at max [#1066](https://github.com/OpenWonderLabs/homebridge-switchbot/pull/1066), Thanks [@4gra](https://github.com/4gra)
- Housekeeping and updated dependencies.

**Full Changelog**: https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.2...v3.8.3
Expand Down
14,278 changes: 12,865 additions & 1,413 deletions config.schema.json

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions docs/assets/highlight.css
Original file line number Diff line number Diff line change
@@ -1,22 +1,64 @@
:root {
--light-hl-0: #000000;
--dark-hl-0: #C8C8C8;
--light-hl-1: #000000;
--dark-hl-1: #D4D4D4;
--light-hl-2: #001080;
--dark-hl-2: #9CDCFE;
--light-hl-3: #267F99;
--dark-hl-3: #4EC9B0;
--light-hl-4: #008000;
--dark-hl-4: #6A9955;
--light-hl-5: #098658;
--dark-hl-5: #B5CEA8;
--light-code-background: #FFFFFF;
--dark-code-background: #1E1E1E;
}

@media (prefers-color-scheme: light) { :root {
--hl-0: var(--light-hl-0);
--hl-1: var(--light-hl-1);
--hl-2: var(--light-hl-2);
--hl-3: var(--light-hl-3);
--hl-4: var(--light-hl-4);
--hl-5: var(--light-hl-5);
--code-background: var(--light-code-background);
} }

@media (prefers-color-scheme: dark) { :root {
--hl-0: var(--dark-hl-0);
--hl-1: var(--dark-hl-1);
--hl-2: var(--dark-hl-2);
--hl-3: var(--dark-hl-3);
--hl-4: var(--dark-hl-4);
--hl-5: var(--dark-hl-5);
--code-background: var(--dark-code-background);
} }

:root[data-theme='light'] {
--hl-0: var(--light-hl-0);
--hl-1: var(--light-hl-1);
--hl-2: var(--light-hl-2);
--hl-3: var(--light-hl-3);
--hl-4: var(--light-hl-4);
--hl-5: var(--light-hl-5);
--code-background: var(--light-code-background);
}

:root[data-theme='dark'] {
--hl-0: var(--dark-hl-0);
--hl-1: var(--dark-hl-1);
--hl-2: var(--dark-hl-2);
--hl-3: var(--dark-hl-3);
--hl-4: var(--dark-hl-4);
--hl-5: var(--dark-hl-5);
--code-background: var(--dark-code-background);
}

.hl-0 { color: var(--hl-0); }
.hl-1 { color: var(--hl-1); }
.hl-2 { color: var(--hl-2); }
.hl-3 { color: var(--hl-3); }
.hl-4 { color: var(--hl-4); }
.hl-5 { color: var(--hl-5); }
pre, code { background: var(--code-background); }
2 changes: 1 addition & 1 deletion docs/assets/main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/functions/default.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><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><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a></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"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@switchbot/homebridge-switchbot</a></li><li><a href="default.html">default</a></li></ul><h1>Function default</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="default" class="tsd-anchor"></a><span class="tsd-kind-call-signature">default</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#default" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/8bb3faecdfed24721e3940dd8652587017c0ec77/src/index.ts#L11">index.ts:11</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><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"><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"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@switchbot/homebridge-switchbot</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><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><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a></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"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@switchbot/homebridge-switchbot</a></li><li><a href="default.html">default</a></li></ul><h1>Function default</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="default" class="tsd-anchor"></a><span class="tsd-kind-call-signature">default</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#default" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/c88463960e9cc3c5fdaf6d8861164061787401a0/src/index.ts#L11">index.ts:11</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><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"><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"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@switchbot/homebridge-switchbot</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
Loading
Loading