/mygekko-client-library

MyGekko javascript client library

Primary LanguageTypeScriptApache License 2.0Apache-2.0

NPM npm npm GitHub issues GitHub Workflow Status (with event) GitHub Workflow Status (with event) GitHub Workflow Status (with event)

Documentation

For more detailed documentation see docs

Installation

yarn add mygekko-client-library

Using the client library

This is a very simple example. This creates a remote client and retrieves the details of all blinds:

import { RemoteClient } from 'mygekko-client-library';

const client = new RemoteClient({
  username: '<your-mygekko-user-email>',
  gekkoId: '<your-gekko-id>',
  apiKey: '<your-mygekko-api-remote-key>',
});

try {
  const blinds = client.blinds.getItems();
  console.log(blinds);
  await client.blinds.setPosition('item0', 75);
  const blindsTrends = client.blinds.getTrends(
    '2023-01-01T00:00:00+01:00',
    '2023-01-06T00:00:00+01:00',
    500
  );
  console.log(blindsTrends);
} catch (e) {
  console.log(e);
}

And this creates a local client and retrieves the details of all blinds:

import { LocalClient } from 'mygekko-client-library';

const client = new LocalClient({
  ip: '<your-mygekko-ip-address>',
  username: '<your-mygekko-username>',
  password: '<your-mygekko-password>',
});

try {
  const blinds = client.blinds.getItems();
  console.log(blinds);
  await client.blinds.setPosition('item0', 75);
  const blindsTrends = client.blinds.getTrends(
    '2023-01-01T00:00:00+01:00',
    '2023-01-06T00:00:00+01:00',
    500
  );
  console.log(blindsTrends);
} catch (e) {
  console.log(e);
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests.