Skip to content

tobievii/mihome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A simple NodeJS wrapper and documentation for MiHome4U API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published