diff --git a/README.md b/README.md index 59ef531..573ee41 100644 --- a/README.md +++ b/README.md @@ -12,83 +12,27 @@ ## e3oncan adapter for ioBroker -Collect data on CAN bus for Viessmann E3 devices, e.g. Vitocal, Vitocharge, Energy Meter E380 - -## Developer manual -This section is intended for the developer. It can be deleted later. - -### DISCLAIMER - -Please make sure that you consider copyrights and trademarks when you use names or logos of a company and add a disclaimer to your README. -You can check other adapters for examples or ask in the developer community. Using a name or logo of a company without permission may cause legal problems for you. - -### Getting started - -You are almost done, only a few steps left: -1. Create a new repository on GitHub with the name `ioBroker.e3oncan` - -1. Push all files to the GitHub repo. The creator has already set up the local repository for you: - ```bash - git push origin main - ``` -1. Add a new secret under https://github.com/MyHomeMyData/ioBroker.e3oncan/settings/secrets. It must be named `AUTO_MERGE_TOKEN` and contain a personal access token with push access to the repository, e.g. yours. You can create a new token under https://github.com/settings/tokens. - -1. Head over to [main.js](main.js) and start programming! - -### Best Practices -We've collected some [best practices](https://github.com/ioBroker/ioBroker.repositories#development-and-coding-best-practices) regarding ioBroker development and coding in general. If you're new to ioBroker or Node.js, you should -check them out. If you're already experienced, you should also take a look at them - you might learn something new :) - -### Scripts in `package.json` -Several npm scripts are predefined for your convenience. You can run them using `npm run ` -| Script name | Description | -|-------------|-------------| -| `test:js` | Executes the tests you defined in `*.test.js` files. | -| `test:package` | Ensures your `package.json` and `io-package.json` are valid. | -| `test:integration` | Tests the adapter startup with an actual instance of ioBroker. | -| `test` | Performs a minimal test run on package files and your tests. | -| `check` | Performs a type-check on your code (without compiling anything). | -| `lint` | Runs `ESLint` to check your code for formatting errors and potential bugs. | -| `translate` | Translates texts in your adapter to all required languages, see [`@iobroker/adapter-dev`](https://github.com/ioBroker/adapter-dev#manage-translations) for more details. | -| `release` | Creates a new release, see [`@alcalzone/release-script`](https://github.com/AlCalzone/release-script#usage) for more details. | - -### Writing tests -When done right, testing code is invaluable, because it gives you the -confidence to change your code while knowing exactly if and when -something breaks. A good read on the topic of test-driven development -is https://hackernoon.com/introduction-to-test-driven-development-tdd-61a13bc92d92. -Although writing tests before the code might seem strange at first, but it has very -clear upsides. - -The template provides you with basic tests for the adapter startup and package files. -It is recommended that you add your own tests into the mix. - -### Publishing the adapter -Using GitHub Actions, you can enable automatic releases on npm whenever you push a new git tag that matches the form -`v..`. We **strongly recommend** that you do. The necessary steps are described in `.github/workflows/test-and-release.yml`. - -Since you installed the release script, you can create a new -release simply by calling: -```bash -npm run release -``` -Additional command line options for the release script are explained in the -[release-script documentation](https://github.com/AlCalzone/release-script#command-line). - -To get your adapter released in ioBroker, please refer to the documentation -of [ioBroker.repositories](https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository). - -### Test the adapter manually with dev-server -Since you set up `dev-server`, you can use it to run, test and debug your adapter. - -You may start `dev-server` by calling from your dev directory: -```bash -dev-server watch -``` - -The ioBroker.admin interface will then be available at http://localhost:8081/ - -Please refer to the [`dev-server` documentation](https://github.com/ioBroker/dev-server#command-line) for more details. +# Basic concept +Viessmann E3 series devices are doing a lot of data exchange on CAN bus. + +This adapter can listen to this communication and extract many useful information. The often used energy meter E380 CA is also supported. + +Important parts are based on the project [open3e](https://github.com/abnoname/open3e). +A python based implementation using MQTT messaging is also availabe, see [E3onCAN](https://github.com/MyHomeMyData/E3onCAN). + +Present implementation is restricted on listening. Next step will be to implement services readByDid and writeByDid according to UDSonCAN protocol. Then, same functionality as with open3e will be available. + +# E380 data and units + +| ID | Data| Unit | +| ------|:--- |------| +| 0x250 | Active Power L1, L2, L3, Total | W | +| 0x252 | Reactive Power L1, L2, L3, Total | W | +| 0x254 | Current, L1, L2, L3, cosPhi | A, - | +| 0x256 | Voltage, L1, L2, L3, Frequency | V, Hz | +| 0x258 | Cumulated Import, Export | kWh | +| 0x25A | Total Active Power, Total Reactive Power | W | +| 0x25C | Cumulated Import | kWh | ## Changelog