1.1.1 • Published 5 years ago

jeedom-request-jsonrpc v1.1.1

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

Overview

Node module to calls Jeedom's RPC API : https://jeedom.github.io/core/fr_FR/jsonrpc_api

This module uses phin for request (https://github.com/ethanent/phin)

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'
)

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:

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)

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()

Requests result examples

without a value returned

{
    "statusCode": 200,
    "statusMessage":"OK",
    "result": true,
    "error": false
}

with a value returned

{
    "statusCode": 200,
    "statusMessage":"OK",
    "result":{
        "collectDate": "2018-09-30 14:49:03",
        "value": 21.2
     },
    "error": false
}

with an error

{
  "statusCode": 200,
  "statusMessage": "OK",
  "result": false,
  "error": {
    "code": 701,
    "message": "Cmd introuvable : 63334"
  }
}

Useful links

Changelog

https://github.com/clement-berard/jeedom-request-jsonrpc/releases

1.1.1

5 years ago

1.1.0

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago