1.0.3 • Published 4 years ago

mihome v1.0.3

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

mihome

A simple NodeJS wrapper and documentation for the MiHome API. This provides some new functionality as well as exisiting stuff.

Installing

Just run npm install mihome for access to the API Wrapper.

Usage

To get started you either need to get an API Key already or to get one. If don't already have an API Key:

mihome.getAPIKey('example@example.org', 'examplepassword').then(apiKey => {
	console.log(apiKey);
}).catch(err => console.error(err));

If you already have an API Key:

mihome.login('example@example.org', 'exampleapikey'); 

Weird Things.

Dates

As kinda of described in the API Documentation, Timestamps need to be in the format. '2018-00-00T00:00:00.000Z', this String YYYY-MM-DD[T]HH:mm:SS.SSS[Z] can format them.
To format dates easily I recommend moment.js, and then using the format function.

moment().format('YYYY-MM-DD[T]HH:mm:SS.SSS[Z]');

Validation Error

For some strange reason a perfectly valid request will sometimes work but other times return a validation request.
I will contact the Energinie Engineers to see what is causing this and hopefully fix it.

Methods

All methods use Promise Style Callback.

getUserProfile - Gets information about the user that is currenlty logged in.

mihome.getUserProfile().then(profile => {
	console.log(profile);
}).catch(err => console.error(err));

Devices

list - Lists the Devices Available (Hub)

delete(id) - Deletes the Device with that ID.

Sub Devices

list - Lists the Subdevices Available

delete(id) - Deletes the Subdevice with that ID.

powerOn(id) - Turns the ID on.

powerOff(id) - Turns the ID off.

fetchUsageData(id, data_type, resolution, start_time, end_time, limit) - Gets usage data between specific time

  • id - The ID to get Usage Data.
  • data_type - Either 'watts' or 'reported_temperature'
  • resolution - Either 'instant', 'hourly', 'daily'
  • start_time - Start Time: See
  • end_time - End Time: See

Subdevice Groups

list - Lists the groups Available

delete(id) - Deletes the group with that ID.

powerOn(id) - Turns the ID on.

powerOff(id) - Turns the ID off.

Push Notifications

list - Lists the notifications subscriptions.