https://github.com/drudge/homebridge-mobilelink
Homebridge plugin that adds support for Generac Mobile Link generators
https://github.com/drudge/homebridge-mobilelink
Last synced: about 1 year ago
JSON representation
Homebridge plugin that adds support for Generac Mobile Link generators
- Host: GitHub
- URL: https://github.com/drudge/homebridge-mobilelink
- Owner: drudge
- License: apache-2.0
- Created: 2020-09-04T14:37:52.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-02-22T07:36:15.000Z (over 2 years ago)
- Last Synced: 2025-06-16T11:14:23.583Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://github.com/drudge/homebridge-mobilelink/wiki/FAQ
- Size: 497 KB
- Stars: 5
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Mobile Link Platform Plugin [](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
This is a Homebridge plugin that adds HomeKit support to Generac generators powered by the Mobile Link platform.
**This project is not endorsed or sponsored by Generac Power Systems, Inc. and is for educational purposes only.**
This project should be use in conjunction with the [developer documentation](https://developers.homebridge.io/). A full list of all supported service types, and their characteristics is available on this site.
## Setup Development Environment
To develop Homebridge plugins you must have Node.js 18 or later installed, and a modern code editor such as [VS Code](https://code.visualstudio.com/). This plugin template uses [TypeScript](https://www.typescriptlang.org/) to make development easier and comes with pre-configured settings for [VS Code](https://code.visualstudio.com/) and ESLint. If you are using VS Code install these extensions:
* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
## Install Development Dependencies
Using a terminal, navigate to the project folder and run this command to install the development dependencies:
```
npm install
```
## Build Plugin
TypeScript needs to be compiled into JavaScript before it can run. The following command will compile the contents of your [`src`](./src) directory and put the resulting code into the `dist` folder.
```
npm run build
```
## Link To Homebridge
Run this command so your global install of Homebridge can discover the plugin in your development environment:
```
npm link
```
You can now start Homebridge, use the `-D` flag so you can see debug log messages in your plugin:
```
homebridge -D
```
## Watch For Changes and Build Automatically
If you want to have your code compile automatically as you make changes, and restart Homebridge automatically between changes you can run:
```
npm run watch
```
This will launch an instance of Homebridge in debug mode which will restart every time you make a change to the source code. It will load the config stored in the default location under `~/.homebridge`. You may need to stop other running instances of Homebridge while using this command to prevent conflicts. You can adjust the Homebridge startup command in the [`nodemon.json`](./nodemon.json) file.
## Versioning
Given a version number `MAJOR`.`MINOR`.`PATCH`, such as `1.4.3`, increment the:
1. **MAJOR** version when you make breaking changes to your plugin,
2. **MINOR** version when you add functionality in a backwards compatible manner, and
3. **PATCH** version when you make backwards compatible bug fixes.
You can use the `npm version` command to help you with this:
```bash
# major update / breaking changes
npm version major
# minor update / new features
npm version update
# patch / bugfixes
npm version patch
```
## Publish Package
When you are ready to publish your plugin to [npm](https://www.npmjs.com/), make sure you have removed the `private` attribute from the [`package.json`](./package.json) file then run:
```
npm publish
```
If you are publishing a scoped plugin, i.e. `@username/homebridge-xxx` you will need to add `--access=public` to command the first time you publish.
#### Publishing Beta Versions
You can publish *beta* versions of your plugin for other users to test before you release it to everyone.
```bash
# create a new pre-release version (eg. 2.1.0-beta.1)
npm version prepatch --preid beta
# publsh to @beta
npm publish --tag=beta
```
Users can then install the *beta* version by appending `@beta` to the install command, for example:
```
sudo npm install -g homebridge-mobilelink@beta
```