Module node pour API JEEDOM JSON-RPC
npm install jeedom-request-jsonrpc
Jeedom API - JSON RPC 2.0 for NodeJs
npm i jeedom-request-jsonrpc --save
yarn add jeedom-request-jsonrpc
javascript
const { apiJeedom } = require('jeedom-request-jsonrpc')
`
Instanciate:
`javascript
const apiJeedomRunnable = new apiJeedom(
'jeedom-hostname-or-ip',
'my-api-key'
)
`
Details of apiJeedom function:
apiJeedom(jeedomHost, apikey, reqParams = {}, jsonrpc = '2.0', uriJeedomApi = '/core/api/jeeApi.php')
- jeedomHost host of jeedom server
- apikey api key of jeedom
- reqParams optionnals params to add to request (phin package options)
- jsonrpc version of jsonrpc
- uriJeedomApi base url of jeedom server
Make a request:
`javascript
const requestJeedom = apiJeedomRunnable.run(
'scenario::changeState', {
id: 11,
state: 'run'
})
`
Details of apiJeedomRunnable.run function:
apiJeedomRunnable.run(cmd, params)
- cmd command of API
- params params belongs to command
Example 1 : (Promise flow)
`javascript
requestJeedom
.then(response => {
console.log('Response : ', response.result)
})
.catch(error => {
console.log('An error : ', error)
})
`
Example 2 : (async - await)
`javascript
const functionToRequestJeedom = async () => {
try {
let jeedomResponse = await requestJeedom
console.log("Response", jeedomResponse)
} catch (e) {
cb(e)
}
}
functionToRequestJeedom()
`
Requests result examples
$3
`json
{
"statusCode": 200,
"statusMessage":"OK",
"result": true,
"error": false
}
`
$3
`json
{
"statusCode": 200,
"statusMessage":"OK",
"result":{
"collectDate": "2018-09-30 14:49:03",
"value": 21.2
},
"error": false
}
`
$3
`json
{
"statusCode": 200,
"statusMessage": "OK",
"result": false,
"error": {
"code": 701,
"message": "Cmd introuvable : 63334"
}
}
``