open-index/open-npm huggingface dataset:
npm package: @svrooij/evohome
Description: Control your Honeywell evohome system right from Node or Typescript
Author: Stephan van Rooij
Latest version: 1.0.2

# Evohome client

[![Support me on Github][badge_sponsor]][link_sponsor]

This package will let you control your Honeywell Evohome system from node.

## Usage

Using this library is really easy. Just add it to your package `npn install @svrooij/evohome --save` and start using it.

## Examples

```js
const EvohomeClient = require('../lib/evohome-client').EvohomeClient
const username = 'youremail'
const password = 'yourpassword'
const evohomeClient = new EvohomeClient(username, password)

evohomeClient.getLocationsWithAutoLogin(3600).then(locations => {
  console.log('Location information %s', JSON.stringify(locations, null, 2))
}).catch(err => {
  console.log('Error occured %j', err)
  process.exit(3)
})
```

## Developer section

This library is build in typescript, but released as javascript. To start developing:

1. Check-out the code.
2. run `npm install` to install the typescript compiled and the dependencies.
3. Make your changes in the `./lib` folder.
4. Run `npm run build` to compile the code to javascript.
5. The code is linted with **eslint**, run the linter with `npm run lint` or `npm run lint-fix` to auto-fix.
6. Run the test to make sure it still works. `npm t`.

If you have set the environment variables `EVOHOME_USERNAME` and `EVOHOME_PASSWORD` the tests will try to load your actual data.
In VSCode you can set environment variables by adding this to the `settings.json` file.

```json
{
    "editor.tabSize": 2,
    "terminal.integrated.env.osx": {
      "EVOHOME_USERNAME":"your_username",
      "EVOHOME_PASSWORD":"your_password"
    }
}
```

[badge_sponsor]: https://img.shields.io/badge/Sponsor-on%20Github-red
[link_sponsor]: https://github.com/sponsors/svrooij
npm package: @svrooij/sunspec
Description: Reading sunspec
Author: Stephan van Rooij
Latest version: 0.9.0

# SunSpec interface

[![Support me on Github][badge_sponsor]][link_sponsor]
[![npm][badge_npm]][link_npm]
[![github issues][badge_issues]][link_issues]
[![Run tests from package.json][badge_build]][link_build]
[![semantic-release][badge_semantic]][link_semantic]

Sunspec is a specification to communicate with your solar power inverter. See [specs](https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf).

You can use this library to read the data from your inverter supporting modbus tcp (like SolarEdge).

```JavaScript
const SunspecReader = require('@svrooij/sunspec').SunspecReader;

const reader = new SunspecReader('192.168.x.x', 502);
reader.readInverterInfo() // Reads model info (only needed once)
  .then(() => {
    return reader.readData() // Read other data
  })
  .then(d => {
    console.log(d);
  })
  .catch(err => {
    console.warn(err);
  })
```

## Tested on

|Manufacturer|Model|Tested on|Tested by|
|------------|-----|---------|---------|
|SolarEdge|SE3680|2020-05-30|[@svrooij](https://github.com/svrooij)|

Send a PR, if you tested this on your inverter.

## Developer stuff

This library is written in TypeScript. You'll need to compile it before you can run.

```bash
npm install
npm run compile
```

[badge_sponsor]: https://img.shields.io/badge/Sponsor-on%20Github-red
[badge_issues]: https://img.shields.io/github/issues/svrooij/sunspec
[badge_npm]: https://img.shields.io/npm/v/@svrooij/sunspec
[badge_semantic]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[badge_build]: https://github.com/svrooij/sunspec/workflows/Run%20tests%20from%20package.json/badge.svg

[link_build]: https://github.com/svrooij/sunspec/actions
[link_sponsor]: https://github.com/sponsors/svrooij
[link_issues]: https://github.com/svrooij/sunspec/issues
[link_npm]: https://www.npmjs.com/package/@svrooij/sunspec
[link_semantic]: https://github.com/semantic-release/semantic-release
npm package: @svrooij/tcp-server
Description: A TCP Socket server with strong typed events and automatic closing
Author: Stephan van Rooij
Latest version: 1.0.1

# tcp-server

This library is to make it a bit easier to host a TCP socket.

## Install

```bash
npm install --save @svrooij/tcp-server
```

## API

Create a server with this code.

```JS
const TcpServer = require('@svrooij/tcp-server')

const server = new TcpServer({ port: 3000, host: '0.0.0.0' })
server.start()

server.on('textReceived', (text, remoteAddress) => {
  console.log('%s -> %s', remoteAddress, text)
})

server.publish('Publish message').then(success => {
  console.log('Message send ', success ? ' successfully' : 'failed')
})

process.on('SIGINT', () => {
  server.stop()
})
```

Connect to the server.

```plain
> telnet 192.168.1.20 3000
Trying 192.168.1.20...
Connected to my-computer.localdomain.
Escape character is '^]'.
```
npm package: @svrx/create-plugin
Description: Initialize a svrx plugin by running one command.
Author: Cody Chan
Latest version: 0.1.0

# @svrx/create-plugin

[![npm](https://img.shields.io/npm/v/@svrx/create-plugin.svg?style=flat-square)](https://www.npmjs.com/package/@svrx/create-plugin)

Initialize a svrx plugin by running one command.

## Usage

> Node >= 8 LTS

#### Initialize

 - npm

```bash
npm init @svrx/plugin
# Publish npm package with scope
# npm init @svrx/plugin --scope=<scope-name>
```

 - yarn

```bash
yarn create @svrx/plugin
# Publish npm package with scope
# yarn create @svrx/plugin --scope=<scope-name>
```

#### Test with plugin

> Make sure you've installed [svrx-cli](https://github.com/svrxjs/svrx-cli) globally.

In plugin directory:

```bash
npm start
```

## Development

 - `npm install`
 - `git commit` follows the [spec](https://www.conventionalcommits.org)
 - `npm run release`
npm package: @svrx/eslint-config
Description: ESLint config for svrx
Author: Cody Chan
Latest version: 1.0.0

# @svrx/eslint-config

[![npm](https://img.shields.io/npm/v/@svrx/eslint-config.svg?style=flat-square)](https://www.npmjs.com/package/@svrx/eslint-config)

ESLint config for svrx.


### Usage

```bash
npm i eslint @svrx/eslint-config -D
```

In your `.eslintrc`:

```json
{
  "extends": "@svrx"
}
```
npm package: @svrx/svrx
Description: svrx server live-reload mock 
Latest version: 1.1.7

# @svrx/svrx

> svrx core.

svrx(server-x) is a platform built for efficient front-end development.

See our [website](https://svrx.io/) for more information.

## Install

```bash
npm install --save-dev @svrx/svrx
```
npm package: @svrx/svrx-plugin-hello-world
Description: The svrx plugin for hello-world
Author: svrxjs
Latest version: 0.0.1

svrx-plugin-hello-world
---

[![svrx](https://img.shields.io/badge/svrx-plugin-%23ff69b4?style=flat-square)](https://svrx.io/)
[![npm](https://img.shields.io/npm/v/svrx-plugin-hello-world.svg?style=flat-square)](https://www.npmjs.com/package/svrx-plugin-hello-world)

The svrx plugin for hello-world

## Usage

> Please make sure that you have installed [svrx](https://svrx.io/) already.

### Via CLI

```bash
svrx -p "hello-world?user=svrxjs"
```

### Via API

```js
const svrx = require('@svrx/svrx');

svrx({ plugins: [ 'hello-world' ] }).start();
```

## Options

- auto: `boolean`,auto jump to the markdown you are editing. default is `svrx`

## License

MIT
npm package: @svrx/util
Description: util package of svrx
Latest version: 1.1.7

# @svrx/util

> General utilities for svrx.

svrx(server-x) is a platform built for efficient front-end development.

See our [website](https://svrx.io/) for more information.

## Install

```bash
npm install --save-dev @svrx/util
```