Plugin: HTTP
This plugin provides a reactive http client integration. Using entities of type http requests via HTTP can be made.
With this plugin it's possible to integrate external services into your home automation.
Entity Types
| Name | Property | Data Type | Socket Type |
|---|---|---|---|
| http | url | string | input |
| method | string | input | |
| request_headers | object | input | |
| payload | object | input | |
| response_headers | object | output | |
| result | object | output | |
| status | number | output |
| | jsonrpc | url | string | input | | | jsonrpc_version | string | input | | | method | string | none | | | params | object | input | | | result | object | output | | | error | object | output |
Platform Compatibility
| Platform | Compatibility |
|---|---|
| Linux | ✓ |
| MacOS | ✓ |
| Windows | ✓ |
Repository
| Name | Repository |
|---|---|
| reactive-graph-plugin-http | https://github.com/reactive-graph/plugins-core/tree/main/plugins/http |
Usage
Usage
GraphQL
Create HTTP Request
First create an entity instance of type http and specify the URL and the method.
By creating the entity instance no request will be made. The next example explains how to execute the request.
mutation {
instances {
entities {
create(
type: "http",
id: "a3370278-b05c-4d1a-ad57-cabd575c37e4",
properties: [
{
name: "url",
value: "https://api.sunrise-sunset.org/json?lat=47.557400&lng=9.707209&formatted=0"
},
{
name: "method",
value: "GET"
},
{
name: "request_headers",
value: {}
},
{
name: "payload",
value: {}
},
{
name: "response_headers",
value: {}
},
{
name: "result",
value: {}
},
{
name: "status",
value: 500
}
]
) {
id
type {
name
}
properties(
names: [
"url",
"method",
"request_headers",
"payload",
"response_headers",
"result",
"status"
]
) {
name
value
}
}
}
}
}
Execute HTTP Request
By triggering the property payload the HTTP request will be executed and the results will be written into the
property result.
mutation {
instances {
entities {
update(
id: "a3370278-b05c-4d1a-ad57-cabd575c37e4",
properties: [
{
name: "payload",
value: {}
}
]
) {
id
type {
name
}
properties(
names: [
"url",
"method",
"request_headers",
"payload",
"response_headers",
"result",
"status"
]
) {
name
value
}
}
}
}
}