Skip to content

Commit

Permalink
"rainbird": "^1.1.0-beta.4"
Browse files Browse the repository at this point in the history
  • Loading branch information
donavanbecker committed Aug 31, 2024
1 parent bafc289 commit d54b861
Show file tree
Hide file tree
Showing 19 changed files with 7,358 additions and 4,129 deletions.
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
Expand All @@ -25,7 +25,7 @@
}
],
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
"editor.defaultFormatter": "vscode.json-language-features"
},
"codeQL.githubDatabase.update": "never"
}
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
<a href="https://paypal.me/donavanbecker"><img title="donavanbecker" src="https://badgen.net/badge/donavanbecker/paypal/yellow" ></a>
<a href="https://paypal.me/Mantorok1"><img title="mantorok1" src="https://badgen.net/badge/mantorok1/paypal/yellow" ></a>

<p>The Homebridge <a href="https://rainbird.com">RainBird</a>
<p>The Homebridge <a href="https://rainbird.com">RainBird</a>
plugin allows you to access your RainBird Controller from HomeKit with
<a href="https://homebridge.io">Homebridge</a>.
<a href="https://homebridge.io">Homebridge</a>.
</p>

</span>
Expand All @@ -27,28 +27,31 @@ plugin allows you to access your RainBird Controller from HomeKit with

1. Set a Static IP Address to your [RainBird](https://www.rainbird.com) Controller - [How to Set Static IP Address](https://www.howtogeek.com/184310/ask-htg-should-i-be-setting-static-ip-addresses-on-my-router/).
2. Input Static IP Address and Password for [RainBird](https://www.rainbird.com) Controller into Plugin UI Settings and restart Homebridge.
- If you choose to create child bridge with this plugin, do it at this time.
- Password is the password you used to setup the rainbird controller.
- If you choose to create child bridge with this plugin, do it at this time.
- Password is the password you used to setup the rainbird controller.

## Collaborators

- Main developer of the RaindBird API:
- [mantorok1](https://github.com/mantorok1)
- Main developer of the RaindBird API:
- [mantorok1](https://github.com/mantorok1)

## Compatiable Controllers

Any controller that supports the [RainBird LNK WiFi Module](https://www.rainbird.com/products/lnk-wifi-module) should be compatible. This includes:

- ESP-Me
- ESP-TM2
- ESP-RZXe
- ESP-ME3

## Known Limitations

- The Home app will default all sprinkler zone names to the Irrigation System's name which means it's not obvious which zone is which. The first one in the list may not necessarily be Zone 1. You'll need to use trial and error to figure out the zone and rename them appropriately.
- Using the RainBird app while the plugin is running can cause connectivity issues.
- The RainBird LNK WiFi Module may not support "Band Steering" and WiFi Channel 13. Try not using these on your router if you are having connectivity issues.
- Some models do not yet have support for displaying the time remaining. If its not working for your model please log a GitHub issue and we will try to add it with your help.

## Libraries

- [RainBird](https://github.com/donavanbecker/rainbird)
- Library used to comunicate with Rainbird Controllers.
138 changes: 45 additions & 93 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,96 +1,48 @@
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import stylistic from '@stylistic/eslint-plugin';
import antfu from '@antfu/eslint-config'


export default tseslint.config({
plugins: {
'@stylistic': stylistic,
'@typescript-eslint': tseslint.plugin,
},
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: true,
export default antfu(
{
ignores: ['dist', 'docs'],
jsx: false,
typescript: true,
formatters: {
markdown: true,
},
rules: {
'curly': ['error', 'multi-line'],
'import/extensions': ['error', 'ignorePackages'],
'import/order': 0,
'jsdoc/check-alignment': 'error',
'jsdoc/check-line-alignment': 'error',
'no-undef': 'error',
'perfectionist/sort-exports': 'error',
'perfectionist/sort-imports': [
'error',
{
groups: [
'builtin-type',
'external-type',
'internal-type',
['parent-type', 'sibling-type', 'index-type'],
'builtin',
'external',
'internal',
['parent', 'sibling', 'index'],
'object',
'unknown',
],
order: 'asc',
type: 'natural',
},
],
'perfectionist/sort-named-exports': 'error',
'perfectionist/sort-named-imports': 'error',
'sort-imports': 0,
'style/brace-style': ['error', '1tbs', { allowSingleLine: true }],
'style/quote-props': ['error', 'consistent-as-needed'],
'test/no-only-tests': 'error',
'unicorn/no-useless-spread': 'error',
'unused-imports/no-unused-vars': ['error', { caughtErrors: 'none' }],
},
},
files: ['**/*.ts'],
ignores: ['.dist/*'],
extends: [
pluginJs.configs.recommended,
...tseslint.configs.recommended,
],
rules: {
'@typescript-eslint/array-type': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
'@stylistic/type-annotation-spacing': 'error',
'@stylistic/quotes': [
'warn',
'single',
],
'@stylistic/indent': [
'warn',
2,
{
'SwitchCase': 1,
},
],
'@stylistic/linebreak-style': [
'warn',
'unix',
],
'@stylistic/semi': [
'warn',
'always',
],
'@stylistic/comma-dangle': [
'warn',
'always-multiline',
],
'@stylistic/dot-notation': 'off',
'eqeqeq': 'warn',
'curly': [
'warn',
'all',
],
'@stylistic/brace-style': [
'warn',
],
'prefer-arrow-callback': [
'warn',
],
'@stylistic/max-len': [
'warn',
150,
],
'no-console': [
'warn',
], // use the provided Homebridge log method instead
'no-non-null-assertion': [
'off',
],
'@stylistic/comma-spacing': [
'error',
],
'@stylistic/no-multi-spaces': [
'warn',
{
'ignoreEOLComments': true,
},
],
'@stylistic/no-trailing-spaces': [
'warn',
],
'@stylistic/lines-between-class-members': [
'warn',
'always',
{
'exceptAfterSingleLine': true,
},
],
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
});
)
Loading

0 comments on commit d54b861

Please sign in to comment.