Skip to content

Commit

Permalink
Refresh of dependent software packages, and overhaul of the plugin to…
Browse files Browse the repository at this point in the history
… homebridge interface (#5)


Co-authored-by: Noam Cohen <[email protected]>
  • Loading branch information
NorthernMan54 and noamcohen97 authored Nov 11, 2024
1 parent 740f5da commit 1dd00bf
Show file tree
Hide file tree
Showing 85 changed files with 37,783 additions and 17,704 deletions.
18 changes: 11 additions & 7 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@ assignees: ''
<!-- You must use the issue template below when submitting a bug -->

**Describe The Bug:**

<!-- A clear and concise description of what the bug is. -->

**To Reproduce:**

<!-- Steps to reproduce the behavior. -->

**Expected behavior:**

<!-- A clear and concise description of what you expected to happen. -->

**Logs:**

<!-- Bug reports that do not contain logs may be closed without warning. -->

```
Expand All @@ -34,16 +38,16 @@ Remove any sensitive information, such as your homebridge-gsh / google-smarthome
```

**Screenshots:**

<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Node.js Version**: <!-- node -v -->
* **NPM Version**: <!-- npm -v -->
* **Homebridge Version**: <!-- homebridge -V -->
* **Homebridge GSH Plugin Version**:
* **Homebridge Config UI X Plugin Version**:
* **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -->

- **Node.js Version**: <!-- node -v -->
- **NPM Version**: <!-- npm -v -->
- **Homebridge Version**: <!-- homebridge -V -->
- **Homebridge GSH Plugin Version**:
- **Homebridge Config UI X Plugin Version**:
- **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -->

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ blank_issues_enabled: false
contact_links:
- name: Homebridge Discord Community
url: https://discord.gg/cFFBuvp
about: Ask your questions in the homebridge-gsh channel
about: Ask your questions in the homebridge-gsh channel
5 changes: 4 additions & 1 deletion .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,19 @@ assignees: ''
---

**Is your feature request related to a problem? Please describe:**

<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

**Describe the solution you'd like:**

<!-- A clear and concise description of what you want to happen. -->

**Describe alternatives you've considered:**

<!-- A clear and concise description of any alternative solutions or features you've considered. -->

**Additional context:**
<!-- Add any other context or screenshots about the feature request here. -->

<!-- Add any other context or screenshots about the feature request here. -->

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
18 changes: 10 additions & 8 deletions .github/ISSUE_TEMPLATE/support-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ assignees: ''
<!-- You must use the issue template below when submitting a support request -->

**Describe Your Problem:**

<!-- A clear and concise description of what problem you are trying to solve. -->

**Logs:**

<!-- Support requests that do not contain logs may be closed without warning. -->

```
Expand All @@ -23,21 +25,21 @@ Remove any sensative information.
**Homebridge Config:**

```json
Show your homebridge config.json here.
Show your homebridge config.json here.
Remove any sensitive information, such as your homebridge-gsh / google-smarthome token.
```

**Screenshots:**

<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Node.js Version**: <!-- node -v -->
* **NPM Version**: <!-- npm -v -->
* **Homebridge Version**: <!-- homebridge -V -->
* **Homebridge GSH Plugin Version**:
* **Homebridge Config UI X Plugin Version**:
* **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -->

- **Node.js Version**: <!-- node -v -->
- **NPM Version**: <!-- npm -v -->
- **Homebridge Version**: <!-- homebridge -V -->
- **Homebridge GSH Plugin Version**:
- **Homebridge Config UI X Plugin Version**:
- **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -->

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
18 changes: 9 additions & 9 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

This document outlines security procedures and general policies for the `homebridge-gsh` project.

* [Reporting a Bug](#reporting-a-bug)
* [Disclosure Policy](#disclosure-policy)
* [Comments on this Policy](#comments-on-this-policy)
- [Reporting a Bug](#reporting-a-bug)
- [Disclosure Policy](#disclosure-policy)
- [Comments on this Policy](#comments-on-this-policy)

## Reporting a Bug

The `homebridge-gsh` team and community take all security bugs in `homebridge-gsh`
The `homebridge-gsh` team and community take all security bugs in `homebridge-gsh`
seriously. Thank you for improving the security of `homebridge-gsh`. We appreciate
your efforts and responsible disclosure and will make every effort to acknowledge
your efforts and responsible disclosure and will make every effort to acknowledge
your contributions.

Report security bugs by emailing the maintainer at [email protected]
Expand All @@ -30,10 +30,10 @@ When the security team receives a security bug report, they will assign it to a
primary handler. This person will coordinate the fix and release process,
involving the following steps:

* Confirm the problem and determine the affected versions.
* Audit code to find any potential similar problems.
* Prepare fixes for all releases still under maintenance. These fixes will be
released as fast as possible to npm.
- Confirm the problem and determine the affected versions.
- Audit code to find any potential similar problems.
- Prepare fixes for all releases still under maintenance. These fixes will be
released as fast as possible to npm.

## Comments on this Policy

Expand Down
2 changes: 1 addition & 1 deletion .github/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ markComment: >
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
closeComment: false
4 changes: 2 additions & 2 deletions .github/workflows/Build and Publish.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name:
"Build, Publish and Release"
'Build, Publish and Release'

#
# Automatically publish beta releases on pushes, require a manual workflow action for production releases
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
with:
tag: ${{ needs.get_tags.outputs.TARGET_IMAGE_TAG }}
dynamically_adjust_version: true
npm_version_command: "pre"
npm_version_command: pre
pre_id: ${{ needs.get_tags.outputs.TARGET_IMAGE_TAG }}
install_cmd: npm ci && cd homebridge-ui/public && npm ci
secrets:
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ node_modules
.env
dist
homebridge-gsh-**.tgz
/homebridge-ui/public/.angular
/homebridge-ui/public/.angular/cache
test/hbConfig/.uix-dashboard.json
test/hbConfig/.uix-secrets
/test/hbConfig/accessories
/test/hbConfig/backups
/test/hbConfig/persist
/test/hbConfig/accessories
test/hbConfig/config.json
2 changes: 1 addition & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"recommendations": [
"dbaeumer.vscode-eslint"
]
}
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
"source.fixAll.eslint": "explicit"
},
"editor.formatOnSave": true
}
}
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

All notable changes to `homebridge-gsh` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).

## v3.1.0 (2024-11-11)

### Changes

- Updated dependent software packages. This included a major overhaul of the plugin to homebridge interface.
- Make homebridge-gsh Homebridge 2.0 Ready
- Updates to Heater/Cooler #4 tks to @noamcohen97
- Added ability to invert accessory name filter, tks @UiharuKazari2008
- Added a significant number of test cases, to support future enhancements
- Added support for beta testing of Cloud Server
- Complete transistion of dependencies to Homebridge organization

## v3.0.0 (2024-10-27)

Recently Oznu annouced that he no longer had the resources or free time required to maintain this plugin. So we worked with him to transfer the operational assets of the service over to us, so that we could continue to offer this service for Google Home users.
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ Symlink your development directory to global:
npm link
```

You can now run `homebridge` and it will use `homebridge-gsh` from your development directory.
You can now run `homebridge` and it will use `homebridge-gsh` from your development directory.
35 changes: 27 additions & 8 deletions config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"title": "Enable Debug Logging",
"type": "boolean"
},
"instanceBlacklist": {
"instanceDenylist": {
"title": "Instance",
"type": "array",
"items": {
Expand All @@ -58,6 +58,10 @@
"type": "string"
}
},
"accessoryFilterInverse": {
"title": "Invert Accessory Filter ( Change Accessory filter to only allow the names accessories, rather than deny them )",
"type": "boolean"
},
"accessorySerialFilter": {
"title": "Accessory",
"type": "array",
Expand All @@ -69,6 +73,11 @@
"forceFahrenheit": {
"title": "Force Degrees Fahrenheit",
"type": "boolean"
},
"betaServer": {
"title": "Use beta cloud server",
"type": "boolean",
"default": false
}
}
},
Expand All @@ -81,12 +90,12 @@
"items": [
{
"type": "help",
"helpvalue": "<h5>Debug Mode</h5><em class='primary-text'>Enabling debug mode can help troubleshoot problems. If you are experiencing problems with this plugin you should enable debug logging and include the results in your support request.</em>"
"helpvalue": "<h5><B>Debug Mode</b></h5><em class='primary-text'>Enabling debug mode can help troubleshoot problems. If you are experiencing problems with this plugin you should enable debug logging and include the results in your support request.</em>"
},
"debug",
{
"type": "help",
"helpvalue": "<h5>Pin Code</h5><em class='primary-text'>If you provide a pin code, the Google Assistant will prompt you for your code before performing certain actions. e.g. unlocking a Lock Mechanism.</em>"
"helpvalue": "<h5><B>Pin Code</b></h5><em class='primary-text'>If you provide a pin code, the Google Assistant will prompt you for your code before performing certain actions. e.g. unlocking a Lock Mechanism.</em>"
},
{
"notitle": true,
Expand All @@ -101,7 +110,7 @@
},
{
"type": "help",
"helpvalue": "<h5>Instance Blacklist</h5><em class='primary-text'>Enter the usernames of any Homebridge instances or child bridges on your network that you don't want to be able to control from the Google Assistant.</em>"
"helpvalue": "<h5><B>Instance deny list</b></h5><em class='primary-text'>Enter the usernames of any Homebridge instances or child bridges on your network that you don't want to be able to control from the Google Assistant.</em>"
},
{
"nodescription": true,
Expand All @@ -126,7 +135,7 @@
},
{
"type": "help",
"helpvalue": "<h5>Accessory Filter</h5><em class='primary-text'>Enter the names (as displayed in the Google Home app) of the accessories you don't want to control from the Google Assistant.</em>"
"helpvalue": "<h5><B>Accessory Filter - by name</b></h5><em class='primary-text'>Enter the names (as displayed in the Google Home app) of the accessories you don't want to control from the Google Assistant.</em>"
},
{
"nodescription": true,
Expand All @@ -151,7 +160,12 @@
},
{
"type": "help",
"helpvalue": "<em class='primary-text'>Enter the serial of the accessories you don't want to control from the Google Assistant.</em>"
"helpvalue": "<h5><B>Invert Accessory list</b></h5><em class='primary-text'>Rather than deny access to Accessory Filter names, allow only them.</em>"
},
"accessoryFilterInverse",
{
"type": "help",
"helpvalue": "<h5><B>Accessory Filter - by serial number</b></h5><em class='primary-text'>Enter the serial of the accessories you don't want to control from the Google Assistant.</em>"
},
{
"nodescription": true,
Expand All @@ -176,9 +190,14 @@
},
{
"type": "help",
"helpvalue": "<h5>Force Fahrenheit</h5><em class='primary-text'>Some Homebridge thermostat plugins do not correctly report they are using Fahrenheit temperature units. Enabling this option will force all thermostats accessories to display temperature units in Fahrenheit.</em>"
"helpvalue": "<h5><B>Force Fahrenheit</b></h5><em class='primary-text'>Some Homebridge thermostat plugins do not correctly report they are using Fahrenheit temperature units. Enabling this option will force all thermostats accessories to display temperature units in Fahrenheit.</em>"
},
"forceFahrenheit",
{
"type": "help",
"helpvalue": "<h5><B>Beta Cloud</b></h5><em class='primary-text'>Used for cloud server testing only. Change plugin cloud endpoint to beta test server.</em>"
},
"forceFahrenheit"
"betaServer"
]
}
]
Expand Down
51 changes: 51 additions & 0 deletions homebridge-ui/public/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts"
],
"parserOptions": {
"project": [
"tsconfig.json",
"e2e/tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/component-selector": [
"error",
{
"prefix": "app",
"style": "kebab-case",
"type": "element"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"prefix": "app",
"style": "camelCase",
"type": "attribute"
}
]
}
},
{
"files": [
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {}
}
]
}
2 changes: 1 addition & 1 deletion homebridge-ui/public/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# homebridge-gsh plugin custom user interface

See https://github.com/homebridge/plugin-ui-utils
See https://github.com/homebridge/plugin-ui-utils
Loading

0 comments on commit 1dd00bf

Please sign in to comment.