/config/push

The push service configuration. This service is used to share the meter data with a remote web server. The data is sent via an HTTP POST request.

Get /config/push

SecurityApiKey
Request
query Parameters
max-depth
integer >= 1

Limit output depth of the response. See Max-Depth.

Example: max-depth=2
filter
string

Response filter string. See Filter-Spec.

Example: filter={foo,bar}
Responses
200

Normal response.

401

Unauthorized response.

get/config/push
Request samples
Response samples
application/json
{
  • "result": {},
  • "error": "Error message (present if an error occurred)."
}

Replace /config/push

SecurityApiKey
Request
Request Body schema: application/json
interval
integer (configPushInterval) >= 1

The interval in seconds between push updates. A value of 60, for example, would cause the push service to attempt to send data to the remote web server once a minute.

options
string (configPushOptions)

The options controlling how data is pushed to the remote web server. Multiple options must be separated by commas (,).

This resource is available only if /config/push/service is an empty string.

Available options are:

  • day: Data will be pushed with day granularity (at most one row of data per day).

  • deflate: Use the deflate algorithm to compress the push data. This adds HTTP header Content-Encoding: deflate to the POST request.

  • epoch: Report the register values relative to the epoch. Without this option, absolute values are sent which start at zero at the time the meter database was created.

  • gzip: Use the gzip algorithm to compress the push data. This adds HTTP header Content-Encoding: gzip to the POST request.

  • json: Push data in JSON format instead of XML. The JSON format is the same as the one returned by the /register service, except that the top-level ts section and the idx members in the registers section are omitted since they are not meaningful for push data.

  • hour: Data will be pushed with hour granularity (at most one row of data per hour).

  • max=n: Pushed at most n rows in a single POST request. This limit must be in the range from 1 to 900.

  • msec: Data will be pushed with millisecond granularity (at most one row of data per millisecond).

  • old_first: Push the oldest data row first. By default, the youngest data row is pushed first.

  • sec: Data will be pushed with second granularity (at most one row of data per second).

  • secure: If this option is present, secure connections to the remote web server are allowed only if the server possesses a certificate that the meter can verify as authentic. Without this option, the server's certificate is not verified. This option is ignored if /config/net/http/client/insecure is true.

  • skip=n: Push only every (n+1)-th data row. For example, with hour granularity and skip=2, data rows would be spaced apart by (at least) 3 hours. They may be spaced apart more depending on the rows that are available in the database.

  • totals: Push not just the physical registers but also the virtual registers.

By default, data is pushed with minute granularity (at most one row of data per minute).

password
string (configPushPassword)

The password to be provided to the remote web server for authentication purposes. The password is submitted to the remote web server as part of a Basic HTTP Authorization header. For this reason, a password should only be specified when using a secure connection (https scheme).

This resource is available only if /config/push/web/service is an empty string.

This resource is write-only.

service
string (configPushService)

The name of a push service provider to shared data with.

To set this to a non-empty value please use the service activation command since that ensures the push provider knows to expect data from this meter. The body of the activation request should contain member service set to the string push and provider set to name of the desired push service provider.

uri
string (configPushUri)

The URI of the web server to share data with. This resource is available only if /config/push/service is an empty string.

user
string (configPushUser)

The user name to provide to the web server for authentication purposes. If this string is not empty, the user name and the password are both sent to the web server as part of a Basic HTTP Authorization header.

This resource is available only if /config/push/web/service is an empty string.

Responses
200

Normal response.

401

Unauthorized response.

put/config/push
Request samples
application/json
{}
Response samples
application/json
{
  • "status": "OK",
  • "error": "Error message (present if an error occurred)."
}

Update /config/push

SecurityApiKey
Request
Request Body schema: application/json
interval
integer (configPushInterval) >= 1

The interval in seconds between push updates. A value of 60, for example, would cause the push service to attempt to send data to the remote web server once a minute.

options
string (configPushOptions)

The options controlling how data is pushed to the remote web server. Multiple options must be separated by commas (,).

This resource is available only if /config/push/service is an empty string.

Available options are:

  • day: Data will be pushed with day granularity (at most one row of data per day).

  • deflate: Use the deflate algorithm to compress the push data. This adds HTTP header Content-Encoding: deflate to the POST request.

  • epoch: Report the register values relative to the epoch. Without this option, absolute values are sent which start at zero at the time the meter database was created.

  • gzip: Use the gzip algorithm to compress the push data. This adds HTTP header Content-Encoding: gzip to the POST request.

  • json: Push data in JSON format instead of XML. The JSON format is the same as the one returned by the /register service, except that the top-level ts section and the idx members in the registers section are omitted since they are not meaningful for push data.

  • hour: Data will be pushed with hour granularity (at most one row of data per hour).

  • max=n: Pushed at most n rows in a single POST request. This limit must be in the range from 1 to 900.

  • msec: Data will be pushed with millisecond granularity (at most one row of data per millisecond).

  • old_first: Push the oldest data row first. By default, the youngest data row is pushed first.

  • sec: Data will be pushed with second granularity (at most one row of data per second).

  • secure: If this option is present, secure connections to the remote web server are allowed only if the server possesses a certificate that the meter can verify as authentic. Without this option, the server's certificate is not verified. This option is ignored if /config/net/http/client/insecure is true.

  • skip=n: Push only every (n+1)-th data row. For example, with hour granularity and skip=2, data rows would be spaced apart by (at least) 3 hours. They may be spaced apart more depending on the rows that are available in the database.

  • totals: Push not just the physical registers but also the virtual registers.

By default, data is pushed with minute granularity (at most one row of data per minute).

password
string (configPushPassword)

The password to be provided to the remote web server for authentication purposes. The password is submitted to the remote web server as part of a Basic HTTP Authorization header. For this reason, a password should only be specified when using a secure connection (https scheme).

This resource is available only if /config/push/web/service is an empty string.

This resource is write-only.

service
string (configPushService)

The name of a push service provider to shared data with.

To set this to a non-empty value please use the service activation command since that ensures the push provider knows to expect data from this meter. The body of the activation request should contain member service set to the string push and provider set to name of the desired push service provider.

uri
string (configPushUri)

The URI of the web server to share data with. This resource is available only if /config/push/service is an empty string.

user
string (configPushUser)

The user name to provide to the web server for authentication purposes. If this string is not empty, the user name and the password are both sent to the web server as part of a Basic HTTP Authorization header.

This resource is available only if /config/push/web/service is an empty string.

Responses
200

Normal response.

401

Unauthorized response.

post/config/push
Request samples
application/json
{}
Response samples
application/json
{
  • "status": "OK",
  • "error": "Error message (present if an error occurred)."
}

Delete /config/push

Reset to default. See the descriptions of the individual endpoints for their default values. Commonly, arrays and strings are cleared to empty, numbers are cleared to 0, and booleans are cleared to false.

SecurityApiKey
Responses
200

Normal response.

401

Unauthorized response.

delete/config/push
Request samples
Response samples
application/json
{
  • "status": "OK",
  • "error": "Error message (present if an error occurred)."
}