Skip to content

dblommesteijn/homebridge-goodwe-inverter

Repository files navigation

Homebridge GoodWe Inverter

This homebridge plugin consumes the local broadcasted status by GoodWe Inverters on port 8899 (UDP).

Setup Development Environment

To develop Homebridge plugins you must have Node.js 12 or later installed, and a modern code editor such as VS Code. This plugin template uses TypeScript to make development easier and comes with pre-configured settings for VS Code and ESLint. If you are using VS Code install these extensions:

Install Development Dependencies and Run Locally

You need to install the Swiss File Knife: http://stahlworks.com/dev/swiss-file-knife.html. For Mac it's available via Homebrew: https://formulae.brew.sh/formula/sfk

brew install sfk

NOTE: For other platforms, like Raspberry PI, I recomend downloading the binary from Stahlworks' website.

Troubleshooting

You'll need to make sure SFK is configured and working with your setup. When the plugin is not responding the appropriate responses, please first try to run the following command:

sfk cudp <inverter_ip> 8899 -listen -noerror -timeout=5000 0x7f0375940049d5c2 -pure +xed "/[eol]//"

Installing NPM and dependencies for local-dev

Using a terminal, navigate to the project folder and run this command to install the development dependencies:

npm install

TypeScript needs to be compiled into JavaScript before it can run. The following command will compile the contents of your src directory and put the resulting code into the dist folder.

npm run build

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

At this point the plugin should show up in your local Homebridge setup.