Jeedom API - JSON RPC 2.0 for NodeJs
Overview
Node module to calls Jeedom's RPC API : https://jeedom.github.io/core/fr_FR/jsonrpc_api
This module uses axios (https://github.com/axios/axios)
Install
npm i jeedom-request-jsonrpc --save
yarn add jeedom-request-jsonrpc
Get Started
Import package:
const { apiJeedom } = require('jeedom-request-jsonrpc')
Instanciate:
const apiJeedomRunnable = new apiJeedom(
'jeedom-hostname-or-ip',
'my-api-key'
)
Make a request:
const requestJeedom = apiJeedomRunnable.run(
'scenario::changeState', {
id: 11,
state: 'run'
})
Details of run
function:
run(cmd, params)
cmd
command of APIparams
params belongs to command
Example 1 : (Promise flow
)
requestJeedom
.then(response => {
console.log('Response : ', response.result)
})
.catch(error => {
console.log('An error : ', error)
})
Example 2 : (async - await
)
const functionToRequestJeedom = async () => {
try {
let jeedomResponse = await requestJeedom
console.log("Response", jeedomResponse)
} catch (e) {
cb(e)
}
}
functionToRequestJeedom()
Request Result
Two examples of request result:
{
"status": 200,
"statusText":"OK",
"result": true
}
{
"status": 200,
"statusText":"OK",
"result":{
"collectDate": "2018-09-30 14:49:03",
"value": 21.2
}
}
Useful links
Changelog
1.0.6 (January 2019)
- Fix documentation
- Delete some useless packages
- Refactor of code
1.0.5 (October 2018)
- Add Typescript Definitions
1.0.4 (October 2018)
- Improve error managment
- Bugs fix
- Fix documentation