A simple NodeJS wrapper and documentation for the MiHome API. This provides some new functionality as well as exisiting stuff.
Just run npm install mihome
for access to the API Wrapper.
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');
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]');
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.
All methods use Promise Style Callback.
mihome.getUserProfile().then(profile => {
console.log(profile);
}).catch(err => console.error(err));