Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
ezeio2:apiref:subscribe [2021-01-27 00:07] – andreh | ezeio2:apiref:subscribe [2021-01-28 20:53] – andreh | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== subscribe ==== | ==== subscribe ==== | ||
- | Request a websocket data stream, and commands to manage the data stream | + | Request a websocket data stream, and commands to manage the data stream. |
=== Description === | === Description === | ||
Line 104: | Line 104: | ||
The data received will have a '' | The data received will have a '' | ||
- | | LOGDATA | The field data is from the 'fast log'. The interval is determined by the log interval setting on each field. | | + | | '' |
- | | STATUS | The field data is from the ' | + | | '' |
Note that the ezeio normally buffers data before the data is uploaded to the cloud servers, so the data may be delayed with up to 20 minutes | Note that the ezeio normally buffers data before the data is uploaded to the cloud servers, so the data may be delayed with up to 20 minutes | ||
The STATUS updates will be sent every 10 minutes even if a faster subscription is active. | The STATUS updates will be sent every 10 minutes even if a faster subscription is active. | ||
+ | |||
+ | This is an example of what a '' | ||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Note that the fields array will include all configured fields for this unit - regardless of their log setting. All fields are always logged every 10 minutes. | ||
+ | |||
+ | A '' | ||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Note that this message only includes the fields that are configured for fast logging (interval less than 10 minutes). Please see below for the meaning of the '' | ||
**Step 3 : Request subscription changes** | **Step 3 : Request subscription changes** | ||
Line 115: | Line 155: | ||
With an open websocket and while receiving data from the ezeio system, you can call the subscribe API to request immediate updates or to cancel updates from a certain ezeio. | With an open websocket and while receiving data from the ezeio system, you can call the subscribe API to request immediate updates or to cancel updates from a certain ezeio. | ||
- | To request | + | To request |
- | < | + | < |
+ | The log updates will revert to normal (buffered) mode after 30 minutes. | ||
To cancel updates, the call is: | To cancel updates, the call is: | ||
Line 122: | Line 163: | ||
Multiple requests can be sent in the same command: | Multiple requests can be sent in the same command: | ||
- | < | + | < |
+ | Up to 50 devices can be included in the same command | ||
- | === Example code (PHP) === | + | === Example code to set up the websocket channel and receive data (PHP) === |
- | < | + | < |
<?php | <?php | ||
define(" | define(" | ||
| | ||
// API keyID and key needs to be set up in eze.io under Groups-> | // API keyID and key needs to be set up in eze.io under Groups-> | ||
- | define(" | + | define(" |
- | define(" | + | define(" |
// Using the textalk/ | // Using the textalk/ | ||
+ | // https:// | ||
require(' | require(' | ||
use WebSocket\Client; | use WebSocket\Client; | ||
- | // Request a websocket key using cURL | + | // Request a websocket key and metadata |
$ch = curl_init(); | $ch = curl_init(); | ||
curl_setopt($ch, | curl_setopt($ch, |