NAV
Command Line Ruby Python PHP Perl Java NodeJS Javascript

Introduction

Welcome to the EKM METERING API!

We at EKM see easy access to your data, and the scalable systems behind the EKM Push, as crucial to moving our products into the future. To that end, we do what is unheard of in our industry, we give you your data for FREE.

The EKM API is organized around Representational State Transfer, or REST. You can use our Application Programming Interface, or API, to access EKM API endpoints, which can get you information on various EKM Push meter/ioStack data and utilize it in your own application, database, billing system, or building automation system.

We have language bindings in Shell (cURL), Ruby, Python, PHP, Perl, Java, Javascript and Nodejs! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Our API is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients, and we support cross-origin resource sharing to allow you to interact securely with our API from a client-side web application (though you should remember that you should never expose your secret EKM Push API key in any public website’s client-side code). JSON will be returned in all responses from the API, including errors (though if you’re using API bindings, we will convert the response to the appropriate language-specific object).

Authentication

To authorize, make sure to use your personal EKM Push account key.

The examples in this API documentation use the demo key of MTAxMDoyMDIw. Please make sure you remove this key and place your personal key in the https address if you are trying to access the meters in your account.

With shell, you can just pass the correct address with each request
curl -s "URL Here"
Authorization: "EKM Push Key"
# Ruby Version: 3.1.2

# Load required modules
require 'net/http'
require 'json'
require 'uri'

# Call the call_api method to create a usable
# object named api_object from the API request URI
# Put the API request URI in the call

def call_api(api_path)
  uri = URI.parse("URL Here#{api_path}")
  response = Net::HTTP.get_response(uri)
  puts response.uri
  JSON.parse(response.body)
end

# Call the call_api method to create a usable
# object named api_object from the API request URI
# Put the API request URI in the call
# URI only NOT URL - Do not include for example https://summary.ekmpush.com
api_object = call_api('URI Here')

# This just displays the object but you can use what ever
# code you would like to work with the object here
require 'pp'
pp api_object

'''
Python version: 3.9.12
'''

# Required Python Modules
import urllib.request
import urllib.error
import urllib.parse
import json
import pprint

# This function accesses the api_request URL and converts
# the contents to a usable Python object and returns it
def call_api ( api_request ):
    '''
    Make http request
    '''
    response = urllib.request.urlopen(api_request)
    response = response.read()
    json_object = json.loads(response.decode())
    return json_object

# Call the call_api function to create a usable
# object named api_object from the API request URL.
# Put the API request URL in the call
api_object = call_api("URL Here")

# This just displays the object but you can use what ever
# code you would like to work with the object here
pprint.pprint(api_object)

<?php
// PHP 8.0.17 (cli)

// Call the callApi function to create a usable
// object named $apiObject from the API request URL.
// Put the API request URL in the call
$apiObject=callApi('URL Here');

// This just displays the object but you can use what ever
// code you would like to work with the object here
var_dump($apiObject);

// This function accesses the apiRequest URL and converts
// the contents to a usable PHP object and returns it
function callApi ($apiRequest='') {

        $json=@file_get_contents($apiRequest);
        $jsonObject=json_decode($json);
        return ($jsonObject);

}
?>    
#!/usr/bin/perl
# Perl version: v5.34
# CPAN.pm version 2.2
# Perl Modules Version:
# JSON: 4.05
# LWP::Protocol::https: 6.10
# LWP::Simple: 6.62
#
# OS Prerequisites
# UBUNTU
# apt install cpanminus
#
# Install Perl Modules
#       cpan LWP::Simple
#       cpan LWP::Protocol::https
#       cpan JSON

# Required Perl Modules
use strict;
use warnings;
use LWP::Simple;
use JSON;
use Data::Dumper;

# This function accesses the api_request URL and converts
# the contents to a usable Perl object and returns it
sub call_api {
    my $api_request = shift;
    my $json_text   = get($api_request);
    my $json_object = JSON->new->utf8->decode($json_text);
    return $json_object;
}

# Call the call_api function to create a usable
# object named api_object from the API request URL.
# Put the API request URL in the call
my $api_object = call_api('URL Here');

# This just displays the object but you can use what ever
# code you would like to work with the object here
print Dumper($api_object);    ## no critic (InputOutput::RequireCheckedSyscalls)

/*
 openjdk version "17.0.2" 2022-01-18

 Download the correct org.json jar version for your
 needs from: https://mvnrepository.com/artifact/org.json/json

 This example uses version 20220320 accessible here:
 https://repo1.maven.org/maven2/org/json/json/20220320/json-20220320.jar

 Instructions to run this program

 1. Put this code in a file named EKM.java
 2. Copy the downloaded org.json jar and EKM.java to the same directory
 3. Compile
  javac -cp .:./json-20220320.jar ./EKM.java
 4. Run
  java -cp .:./json-20220320.jar EKM
*/

//Import required classes
import java.net.*;
import java.io.*;
import org.json.*;

@java.lang.SuppressWarnings({"java:S106", "java:S112", "java:S125"})

public class EKM {
    public static JSONObject callApi(String apiRequest) throws Exception {

        // This code accesses the apiRequest URL and converts
        // the contents to a usable JSON object

        URL url = new URL(apiRequest);
        URLConnection connection = url.openConnection();
        BufferedReader in = new BufferedReader(
                                               new InputStreamReader(
                                                                     connection.getInputStream()));

        StringBuilder response = new StringBuilder();
        String inputLine;

        while ((inputLine = in.readLine()) != null)
            response.append(inputLine);

        in.close();

        return new JSONObject(response.toString());
    }

    public static void main(String[] args) throws Exception {
        /*
         Call callApi to create a usable
         object named apiObject from the API request URL.
         Put the API request URL in the call
         */
        JSONObject apiObject = EKM.callApi("URL Here");

        /*
         You can access any part of the apiObject using code like this:
         JSONArray  readData = apiObject.getJSONObject("readmeter").getJSONArray("ReadSet").
         getJSONObject(0).getJSONArray("ReadData");
        */

        // This just outputs the whole apiObject
        System.out.println(apiObject.toString(4));
    }
}
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

// The example function is called from the 
// body tag when the page loads
function example(){

// Call the callApi function to create a usable
// object named apiObject from the API request URL.
// Put the API request URL in the call
callApi('URL Here',function(apiObject){

       // This just displays the object in the result div
       // you can use what ever code you would like to work 
       // with the object here
       document.getElementById("result").innerHTML = "<pre>"+JSON.stringify(apiObject, null, 4)+"</pre>";
       });

};

// This code accesses the apiRequest URL and converts
// the contents to a usable JSON object named apiObject
function callApi(apiRequest,callback) {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (xhttp.readyState == 4 && xhttp.status == 200) {
        var jsonObject = JSON.parse(xhttp.responseText);
        callback(jsonObject);
      }
    };
    xhttp.open("GET", apiRequest, true);
    xhttp.send();
}
</script>

</head>
  <body onload="example()">
    <div id="result"/>
  </body>
</html>
/*
* Requirements
* NodeJS: v16.14.2
* Axios:  0.27.2
*/

// Load modules
const axios = require('axios');

const apiClient = axios.create({
  baseURL: 'URL Here',
  timeout: 1000 * 15,
})

// This code accesses the apiRequest query and
// logs the response data or the error
;(async () => {
  try {
    const res = await apiClient.get('URI Here');
    const apiResData = res.data;

    console.log(JSON.stringify(apiResData, null, 2));
  } catch (error) {
    console.error(error.message);
  }
})();

Make sure to replace the sample key: MTAxMDoyMDIw, with your API key in the https address.

EKM uses API keys to allow access to the API. You authenticate to the EKM API by providing one of your unique API keys in each request. Each Push account holder is provided with an EKM Push User Key, which provides access to all meters in their account. This key carries lots of privileges so we encourage you to keep it secret. In addition to this master key, additional keys are also provided to give access to each meter/ioStack individually, and keys can be created to provide access to sub groups of meters/ioStacks upon request. These secondary keys can be used to share single meters/ioStacks, or a subset of meters/ioStacks, without sharing access to all meters/ioStacks in an account. For example, if you are a landlord with multiple rentals and meters/ioStacks, you could share specific meter/ioStack keys with each of your tenants, so that they could have access to only the data that pertains to their usage.

Authentication to the API occurs via HTTP Basic Auth. Provide your API key as the basic authorized username. You do not need to provide a password. You must authenticate for all requests.

The EKM Push API expects the API key to be included in all requests to the server. The key is included in the URL in the following way:

Authorization: key=MTAxMDoyMDIw

Realtime API

Click here to go to Realtime Documentation

If you are developing your own app, cloud-to-cloud solution, billing system, or other SAS solution, our Real-Time API allows you to easily access your EKM Push data in any format that you need. Below you will find descriptions regarding how to access the data, and about the filters you can apply so the data comes to you in a format that is easily digested and inserted into your software solution.

The real-time API provides the 1,000 latest meter readings for each of your meters/IOStack devices. If your device is being read once per minute, the data will be made available once per minute, per device. Whether you have one device or 10,000 devices, this is the easiest and most scalable way to access your data.

The EKM Dash, EKM Widget, encompass.io, wattvision.com, pvoutput.org, the other solutions in our Push App Store, as well as other customers that have their own custom solutions, all use this API to access their data. We use the same API as you and do not give ourselves any special permissions, we see what you see, which forces us to make the API as great as possible for everyone. We have even given you code examples that can be copy and pasted into your own software language to make the data access that much easier.

Use the API definition, metered values definition, code snippet suggestion, and guide to get you on your way to developing your next killer app. If you create something great, let us know; we’re open to adding all useful apps into the Push App Store.

We also have a Realtime API Request Builder Tool found here:

Realtime API Builder

Account API

Click here to go to Account API Documentation

This API provides information for accounts and devices owned by the account.

Get information for the specified target, which can be account, gateway, meter or ioStack.

You could make API request with the EKM Push Key that is your own Authorization Key that you received for your Push Account, or instead the EKM Push Key you could use Gateway Key for more restricted access. Be aware that if you use the Gateway Key, you will only receive information regards to that gateway.

Gateway Settings API

Click here to go to Gateway Settings API Documentation

This API is used to send commands and settings to devices connected to a Push3 gateway as well as the gateway device itself.

Trigger API

Click here to go to Trigger API Documentation

A REST API to lookup/create/update/delete triggers.

EKM Push3 gateway triggers are one of the most powerful tools that EKM has to offer. You can automate how and when the EKM Push system will react to metered values. You can have the Push gateway send you an email or control a relay to turn on/off a switch or close a valve based on the metered data for example. Push3 gateways have the ability trigger specific actions based on conditions that you set up. Triggers live on the Push3 gateways so they will continue to function even without an internet connection. Triggers can control the relays on the v.4 Omnimeters, in order to turn something on or off, or they can email you notifications of the trigger. Please note: v.3 Omnimeters do not have controllable relays, so the relay triggers will not work, but the email triggers will.

Summary API

Click here to go to Summary Documentation

Our Summary API takes every Real-Time read, over 15 minute time periods, and summarizes them into single 15 minute summaries. We store this data forever to provide a long term historical dataset for each meter. Our system can then combine these summaries together to summarize hours, days, weeks, and months. This dataset is often the best way to get historical values like kWh, pulse counts, etc. It also provides averages, min. and max. values, difference, and more. We make this data available to you via our Summary API in a very similar way to our Real-Time API.

You can use the Summary API definition to access the data you need, from 15 minutes to years of data. We have gone to great lengths to provide this data for free in order to add value to our metering systems. The Summary API, the Real-Time API, great affordable hardware, and scalable access to your data are all components of the most powerful, and highest value metering system available in the world.

We also have a Summary API Request Builder Tool found here: Summary API Builder

Summary V2 API

Click here to go to Summary V2 Documentation

Summary V2 API is a new set of summary features, such as First/Last to get the first and/or last reported date for the given meter(s)/ioStack(s), GStat for getting the status of one or more gateways, IOStack for getting information from new sensors, and more.

The API V2 summary and documentation are currently in beta, signifying that they are subject to changes and updates. It’s important to note that the API V2 calls and specifications provided in this documentation may undergo modifications as the beta phase progresses. Users should stay informed and regularly check for updates to ensure compatibility and adherence to the latest specifications

RS-485 Communications

Click here to go to RS-485 Documentation

This section is for developers, or individuals, that want to communicate with their EKM Meters directly using their own software or embedded solution.

The code examples found in this section are in the simplest possible method to get you started. You are welcome to make them more robust.

First we start you out just connecting to the meter. You will find there is a very simple command line process to help you get started.

After that we cover the CRC method required for most communication to the meter.

Then we put it all together, in a simple test script that will show reads, and also open and close the relays.

Last we cover how to convert the 255 character strings that the meter responds with to a usable array containing field names and their values. It is our hope that after you go through these steps you will have all the information you need, to build whatever tools you like to access the meter.

Our meters use an IEC 62056-21 communication standard that has been optimized for our own needs. We are more than happy to share this with you. With this you can write your own software or embedded solution to access your meter data.

IEC 62056 is a set of standards for Electricity metering data exchange by International Electrotechnical Commission.

To learn more about the IEC 62056 standard click the button below to visit the WikiPedia website.

Additional PDF docs are available:

v.3 Meter Settings Protocol

v.3 Meter Parsing

v.4/v.5 Meter Settings Protocol

v.4/v.5 Meter Parsing

v.4/v.5 Meter Alternate Modbus Protocol

If you are coding in Python you can also make use of our ekmmeters.py API.

Status Codes

EKM uses conventional HTTP response codes in addition to our API Status Codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided, and codes in the 5xx range indicate an error with EKM’s servers (these are rare).

The EKM API uses the following API specific Status codes:

API Status Code Meaning
1000 There is not data for: {meters}
1001 There is not data for: {meters} between ${startDate} and ${endDate}
1002 There is not data for: {meters} This meter first reported on:
1003 There is not data for: {meters} This meter last reported on:
1004 Timezone is not supported for this date range request
1100 All invalid query requests
1101 Invalid format
1102 Invalid value
1103 Invalid parameter
1200 Found invalid meter: {meter} for key: MTAxMDoyMDIw
1300 Oops! It looks like there was an unexpected error. Try checking your query for issues or hold tight while we see what we can do. This error has been reported.

The EKM API also uses the following HTTP Status codes:

HTTP Status Code Meaning
200 OK – The request succeeded.
400 Bad Request – The server could not understand the request due to invalid syntax.
401 Unauthorized – Although the HTTP standard specifies “unauthorized”, semantically this response means “unauthenticated”. That is, the client must authenticate itself to get the requested response.
403 Forbidden – The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client’s identity is known to the server.
404 Not Found – The server can not find the requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 Forbidden to hide the existence of a resource from an unauthorized client. This response code is probably the most well known due to its frequent occurrence on the web.
429 Too Many Requests – The user has sent too many requests in a given amount of time (“rate limiting”).
500 Internal Server Error – The server has encountered a situation it does not know how to handle.
501 Not Implemented – The Vertical Bar otherwise known as “pipe” request method is not supported by the server and cannot be handled. The only methods that servers are required to support (and therefore that must not return this code) are GET and HEAD.
502 Bad Gateway – This error response means that the server, while working as a gateway to get a response needed to handle the request, got an invalid response.
503 Service Unavailable – The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded. Note that together with this response, a user-friendly page explaining the problem should be sent. This response should be used for temporary conditions and the Retry-After HTTP header should, if possible, contain the estimated time before the recovery of the service. The webmaster must also take care about the caching-related headers that are sent along with this response, as these temporary condition responses should usually not be cached.
504 Gateway Timeout – This error response is given when the server is acting as a gateway and cannot get a response in time.
505 HTTP Version Not Supported – The HTTP version used in the request is not supported by the server.
506 Variant Also Negotiates – The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.
510 Not Extended – Further extensions to the request are required for the server to fulfill it.
511 Network Authentication Required – Indicates that the client needs to authenticate to gain network access.

Widget Documentation

Access free web-based real-time and historical graphs showcasing your EKM Push data, covering all your devices including meters and ioStacks. It is quick, easy, and does not require a login.

The EKM Widget offers a convenient means to gain visual insights into your systems’ performance. We utilize it to monitor our office’s current consumption and solar power generation in real-time. Additionally, the historical chart helps us track the impact of efficiency upgrades on our usage and monitor the energy consumption of our electric car over time.

With the release of Widget v6.0, we have introduced a new feature where the URL parameters are compressed. This change was necessary due to the growing number of parameters, especially with the addition of ioStack that is our new hub for counting pulses, reading analog and digital sensors, and for control.

If you are already using a Widget URL, rest assured that it will continue to work seamlessly with our latest update. The widget will automatically compress your URL if the URL length exceeds 512 characters, you will notice this compression in the URL after the ‘q’ (query) parameter. If you want to add new parameter(s), you can do so at the end of the URL. For example, if you want to manually update the 'reads’ parameter to 500, you need to add it: https://widget.ekmmetering.com/widget/?q=COMPRESSED_STRING&reads=500

Of course, you can use any parameter you want. Please check the documentation to ensure you are using the correct name for the parameter(s).

Required Parameters

Following, we will explain the basic parameters that should be included at the beginning of any request to the widget URL. The first fundamental parameters are:

key

EKM Push Key that is your own Authorization Key that you received for your Push Account. For example: key=MTAxMDoyMDIw

deviceType

Select between “meter” or “iostack”, that are the devices we offer and have real-time and historical data. For example: deviceType=meter

deviceAddress

Exact meter/ioStack number to call. For example: deviceAddress=300004127

Widget Basic Request

Below is an example of what a typical Widget https address will look like:

https://widget.ekmmetering.com/widget/?key=MTAxMDoyMDIw&deviceType=meter&deviceAddress=300004127

Click to try

An example of the information typically included in an HTTPS call is as follows:

https Address Description
https://widget.ekmmetering.com/widget/? Start of the https address for widget request.
key Parameter for calling the key.
MTAxMDoyMDIw EKM Push authorization key.
deviceType Parameter to select a device type, such as “meter” or “ioStack”.
iostack This will select a meter device.
deviceAddress Parameter for making a call to a specific ioStack.
300004127 Meter address to call.

When you make a request and the URL length exceeds 512 characters, you will notice that the URL is updated to: https://widget.ekmmetering.com/widget/?q=H4sIAAAAAAAACm2SQYvCMBSEf03K7oKQvKi3HARZWFhv3h-xfWowTUqTdu3F374UWo1tc5r5wgxzeDfq1OG4ux_2vjvsf_6yglqT07GrSBkfos5vA9oVRU0hqE3_MuPRGkd4qXV1xbMhWwSlnbb-gsaheOTetVRHKjChfSzqk6WlxEtDomWi148QdSQ0rmpiGIxv4qNqbCDMXUSRaEi0TPQ60XV4z_QeJl5O_Ji_eltgGZ750cPEy4l_5g1WNbVvFS8EcyTnaOyyftaVIJgjOUfJruijthgoT5e9ICxBuQSTffPONwhLUC7BdTachECnS1JH7W4M-C-1ZMevsj8pteX8CfQdhRIbzrNALvgaS1-QxdCVJ29RKAab7OzrsrE6PVn10WrbEAO-YsC3nH8y4Ay-GfCPvm01oC8GXHD-D1xFyaxQAwAA

This is the compression version of your original URL explained:

https Address Description
https://widget.ekmmetering.com/widget/? Start of the https address for widget request.
q Parameter for compressed values
H4sIAAAAAAAACm2SQYvCMB… Compressed values

Realtime Parameters

Following, you will find real-time parameters that you could use to add them to build your widget URL.

Reads

You can choose between 100, 500, or 1000 for the latest reads.

You can specify this in the URL as follows: reads=100 for the latest 100 reads.

Layout

You can display multiple options on the graph, such as the Reads table, Range table, or a table with the raw data. You can show multiple tables or simply hide all buttons on the graph.

To add one element to your graph, you have to set: layout=show_table to show the table with the raw data. But if you want to display more than one box on the graph, you can set them using ~ between each element: layout=show_legend~show_table. This will show the reads values and the table with the raw data.

History Graph Parameters

Below, you will find parameters for creating historical graph that you can use to add to your widget URL.

Scale

By combining reads and scale parameters, you can retrieve historical data for your device.

Here are the options:

You can specify these parameters in the URL like this: scale=dy&reads=7 to retrieve historical data every day for the last week.

Setting Parameters

Below, you will find various options to configure different values for display on the graph.

kWh

Specifically for meters, you can configure the kWh to be displayed in the Total Bar below the graph or when Total kWh is selected for display on the graph.

Here are the options you can configure for this setting:

So, with these configured values, your kWh will have the name ‘Specific Name’ and the cost of 2 USD (United States Dollar) for each 1 kWh.

Pulse

If you want to personalize your Pulse values to display them on the graph, you can set the following parameters:

For Meters

You can set 'Pulse 1’, 'Pulse 2’, and 'Pulse 3’.

With these configured values, your Pulse 1 will have the name 'Specific Name’, and each pulse reported will represent 1 gallon with a cost of 2 USD (United States Dollar) per gallon.

For ioStack

You can set 'Pulse 1’, 'Pulse 2’, 'Pulse 3’, and 'Pulse 4’ like you do for meters, but adding 'io_’ to the beginning.

With these configured values, your Pulse 2 will have the name 'Specific Name’, and each pulse reported will represent 1 gallon with a cost of 2 USD (United States Dollar) per gallon.

Analog Sensor

The Analog Sensor can be used for lux, voltage, pressure sensors, and many others.

In this example, we use a tank level sensor. Analog Sensor 1 will have the name 'Tank Level’. The minimum value that represents an empty tank is 600, and the maximum value representing a full tank is 1185. The formula to convert these values to percent is (value-600) / (1185-600) * 100. Finally, we set a symbol to represent the converted value: ’%’. The values shown on the graph will display the percent value instead of the raw value.

1 Wire

Our ioStack device allows you to connect 1-Wire sensors, such as our 1-Wire Temperature Sensor - Waterproof, Stainless Steel - DS18B20, as well as other 1-Wire sensors for humidity and Lux measurements. You can set the following parameters:

In the examples given before, you are working with your sensor ow_1_1_degc. The name you set was: 'Home Temp’. You are converting the data given in Celsius to Fahrenheit: value * 9/5 + 32, and the symbol for this converted data is: '°F’.

Next, you can find a table with the required [SENSOR_KEY].

Sensor Key Name
ow_1_1_degc 1-Wire 1_1 Degree C
ow_1_2_degc 1-Wire 1_2 Degree C
ow_1_3_degc 1-Wire 1_3 Degree C
ow_1_4_degc 1-Wire 1_4 Degree C
ow_2_1_degc 1-Wire 2_1 Degree C
ow_2_2_degc 1-Wire 2_2 Degree C
ow_2_3_degc 1-Wire 2_3 Degree C
ow_2_4_degc 1-Wire 2_4 Degree C
ow_3_1_degc 1-Wire 3_1 Degree C
ow_3_2_degc 1-Wire 3_2 Degree C
ow_3_3_degc 1-Wire 3_3 Degree C
ow_3_4_degc 1-Wire 3_4 Degree C
ow_4_1_degc 1-Wire 4_1 Degree C
ow_4_2_degc 1-Wire 4_2 Degree C
ow_4_3_degc 1-Wire 4_3 Degree C
ow_4_4_degc 1-Wire 4_4 Degree C
ow_1_1_humidity 1-Wire 1_1 Humidity
ow_1_2_humidity 1-Wire 1_2 Humidity
ow_1_3_humidity 1-Wire 1_3 Humidity
ow_1_4_humidity 1-Wire 1_4 Humidity
ow_2_1_humidity 1-Wire 2_1 Humidity
ow_2_2_humidity 1-Wire 2_2 Humidity
ow_2_3_humidity 1-Wire 2_3 Humidity
ow_2_4_humidity 1-Wire 2_4 Humidity
ow_3_1_humidity 1-Wire 3_1 humidity
ow_3_2_humidity 1-Wire 3_2 Humidity
ow_3_3_humidity 1-Wire 3_3 Humidity
ow_3_4_humidity 1-Wire 3_4 Humidity
ow_4_1_humidity 1-Wire 4_1 Humidity
ow_4_2_humidity 1-Wire 4_2 Humidity
ow_4_3_humidity 1-Wire 4_3 Humidity
ow_4_4_humidity 1-Wire 4_4 Humidity
ow_1_1_lux 1-Wire 1_1 Lux
ow_1_2_lux 1-Wire 1_2 Lux
ow_1_3_lux 1-Wire 1_3 Lux
ow_1_4_lux 1-Wire 1_4 Lux
ow_2_1_lux 1-Wire 2_1 Lux
ow_2_2_lux 1-Wire 2_2 Lux
ow_2_3_lux 1-Wire 2_3 Lux
ow_2_4_lux 1-Wire 2_4 Lux
ow_3_1_lux 1-Wire 3_1 Lux
ow_3_2_lux 1-Wire 3_2 Lux
ow_3_3_lux 1-Wire 3_3 Lux
ow_3_4_lux 1-Wire 3_4 Lux
ow_4_1_lux 1-Wire 4_1 Lux
ow_4_2_lux 1-Wire 4_2 Lux
ow_4_3_lux 1-Wire 4_3 Lux
ow_4_4_lux 1-Wire 4_4 Lux

Layout/Fields

Total Field

Below the Graph, you will find a bar that shows the Total. You can set it following the next instructions.

For meters

By default, Widget uses kwh_tot for meters, but you can select a total field from the Key column:

Key Name
kwh_tot Total kWh
kwh_tariff_1 kWh Tariff 1
kwh_tariff_2 kWh Tariff 2
kwh_tariff_3 kWh Tariff 3
kwh_tariff_4 kWh Tariff 4
rev_kwh_tot Reverse kWh
rev_kwh_tariff_1 Reverse kWh Tariff 1
rev_kwh_tariff_2 Reverse kWh Tariff 2
rev_kwh_tariff_3 Reverse kWh Tariff 3
rev_kwh_tariff_4 Reverse kWh Tariff 4
fwd_kwh_tot Forward kWh
fwd_kwh_tariff_1 Forward kWh Tariff 1
fwd_kwh_tariff_2 Forward kWh Tariff 2
fwd_kwh_tariff_3 Forward kWh Tariff 3
fwd_kwh_tariff_4 Forward kWh Tariff 4
net_kwh_tot Net kWh
net_kwh_tariff_1 Net kWh Tariff 1
net_kwh_tariff_2 Net kWh Tariff 2
net_kwh_tariff_3 Net kWh Tariff 3
net_kwh_tariff_4 Net kWh Tariff 4
pc_raw_1 Pulse Count 1
pc_raw_2 Pulse Count 2
pc_raw_3 Pulse Count 3
pulse_cnt_1 PC 1 Value
pulse_cnt_2 PC 2 Value
pulse_cnt_3 PC 3 Value
converted_pulse_cnt_1 PC 1 Value Converted
converted_pulse_cnt_2 PC 2 Value Converted
converted_pulse_cnt_3 PC 3 Value Converted

For example, to show net_kwh_tot in the total field, you need to set in the URL: total_field=net_kwh_tot.

For ioStacks

By default Widget uses pulse_cnt_1 for ioStacks, but you can select a total field from the Key column:

Key Name
pulse_cnt_1 Pulse Count 1
pulse_cnt_2 Pulse Count 2
pulse_cnt_3 Pulse Count 3
pulse_cnt_4 Pulse Count 4
converted_io_pulse_cnt_1 PC 1 Converted
converted_io_pulse_cnt_2 PC 2 Converted
converted_io_pulse_cnt_3 PC 3 Converted
converted_io_pulse_cnt_4 PC 4 Converted

For example, to show converted_io_pulse_cnt_1 in the total field you need to set in the URL: io_total_field=converted_io_pulse_cnt_1.

Line Graph Fields

You can set up to 4 lines on the real-time graph.

For meters

By default, the widget shows rms_watts_tot, amps_ln_1, rms_volts_ln_1, power_factor_ln_1 for meters. You can set your own values to display on the real-time graph, ranging from 1 to 4 values. If you want to set more than one value, you will need to separate each parameter with a ~.

For example, you can display on the Line Graph:

  1. kWh Tariff 1
  2. Reverse kWh
  3. Watts Line 1
  4. Total kWh

So you can set them in the following way: line_graph_fields=kwh_tariff_1~rev_kwh_tot~rms_watts_ln_1~kwh_tot

You can find the Line Graph values in the Line Graph Key column:

Line Graph Key Description
kwh_tot Total kWh
kwh_tariff_1 kWh Tariff 1
kwh_tariff_2 kWh Tariff 2
kwh_tariff_3 kWh Tariff 3
kwh_tariff_4 kWh Tariff 4
rev_kwh_tot Reverse kWh
rev_kwh_tariff_1 Reverse kWh Tariff 1
rev_kwh_tariff_2 Reverse kWh Tariff 2
rev_kwh_tariff_3 Reverse kWh Tariff 3
rev_kwh_tariff_4 Reverse kWh Tariff 4
fwd_kwh_tot Forward kWh
fwd_kwh_tariff_1 Forward kWh Tariff 1
fwd_kwh_tariff_2 Forward kWh Tariff 2
fwd_kwh_tariff_3 Forward kWh Tariff 3
fwd_kwh_tariff_4 Forward kWh Tariff 4
net_kwh_tot Net kWh
net_kwh_tariff_1 Net kWh Tariff 1
net_kwh_tariff_2 Net kWh Tariff 2
net_kwh_tariff_3 Net kWh Tariff 3
net_kwh_tariff_4 Net kWh Tariff 4
rms_volts_ln_1 Volts Line 1
rms_volts_ln_2 Volts Line 2
rms_volts_ln_3 Volts Line 3
amps_ln_1 Amps Line 1
amps_ln_2 Amps Line 2
amps_ln_3 Amps Line 3
rms_watts_ln_1 Watts Line 1
rms_watts_ln_2 Watts Line 2
rms_watts_ln_3 Watts Line 3
rms_watts_tot Total RMS Watts
power_factor_ln_1 Power Factor Line 1
power_factor_ln_2 Power Factor Line 2
power_factor_ln_3 Power Factor Line 3
rms_watts_max_demand RMS Watts Max Demand
max_demand_period Max Demand Period
ct_ratio CT Ratio
pc_raw_1 Pulse Count 1
pc_raw_2 Pulse Count 2
pc_raw_3 Pulse Count 3
pulse_cnt_1 PC 1 Value
pulse_cnt_2 PC 2 Value
pulse_cnt_3 PC 3 Value
converted_pulse_cnt_1 PC 1 Value Converted
converted_pulse_cnt_2 PC 2 Value Converted
converted_pulse_cnt_3 PC 3 Value Converted
pulse_ratio_1 Pulse Ratio 1
pulse_ratio_2 Pulse Ratio 2
pulse_ratio_3 Pulse Ratio 3
state_inputs Pulse Input State
reactive_energy_tot Total Reactive Energy
kwh_rst kWh Rst
rev_kwh_rst Rev kWh Rst
reactive_pwr_ln_1 Reactive Power Line 1
reactive_pwr_ln_2 Reactive Power Line 2
reactive_pwr_ln_3 Reactive Power Line 3
reactive_pwr_tot Total Reactive Power
kwh_scale kWh Scale
line_freq Line Freq
state_watts_dir State Watts Dir
state_out State Out
kwh_ln_1 kWh Line 1
kwh_ln_2 kWh Line 2
kwh_ln_3 kWh Line 3
rev_kwh_ln_1 Rev kWh Line 1
rev_kwh_ln_2 Rev kWh Line 2
rev_kwh_ln_3 Rev kWh Line 3
max_demand_rst Max Demand Rst
cf_ratio CF Ratio
meter_status_code Meter Status Code
net_calc_watts_ln_1 Net Watts Line 1
net_calc_watts_ln_2 Net Watts Line 2
net_calc_watts_ln_3 Net Watts Line 3
net_calc_watts_tot Net Watts Total
For ioStacks

By default, the widget shows analog_in_1, analog_in_2, analog_in_3, analog_in_4 for ioStacks. You can set your own values to display on the real-time graph, ranging from 1 to 4 values. If you want to set more than one value, you will need to separate each parameter with a ~.

For example, you can display on the Line Graph:

  1. Analog Input 1
  2. Converted AI 1
  3. 1-Wire 1_1 Degree C
  4. Converted 1-Wire 1_1 Degree C

So you can set them in the following way: io_line_graph_fields=analog_in_1~converted_analog_in_1~ow_1_1_degc~converted_ow_1_1_degc

You can find the Line Graph values in the Line Graph Key column:

Line Graph Key Description
analog_in_1 Analog Input 1
analog_in_2 Analog Input 2
analog_in_3 Analog Input 3
analog_in_4 Analog Input 4
converted_analog_in_1 Converted AI 1
converted_analog_in_2 Converted AI 2
converted_analog_in_3 Converted AI 3
converted_analog_in_4 Converted AI 4
state_inputs Pulse Input State
state_out Control Output State
pulse_cnt_1 Pulse Count 1
pulse_cnt_2 Pulse Count 2
pulse_cnt_3 Pulse Count 3
pulse_cnt_4 Pulse Count 4
converted_io_pulse_cnt_1 PC 1 Converted
converted_io_pulse_cnt_2 PC 2 Converted
converted_io_pulse_cnt_3 PC 3 Converted
converted_io_pulse_cnt_4 PC 4 Converted
pulse_cnt_rst_1 Resettable Pulse Count 1
pulse_cnt_rst_2 Resettable Pulse Count 2
pulse_cnt_rst_3 Resettable Pulse Count 3
pulse_cnt_rst_4 Resettable Pulse Count 4
pulse_hold_ms_1 Pulse Hold (ms) 1
pulse_hold_ms_2 Pulse Hold (ms) 2
pulse_hold_ms_3 Pulse Hold (ms) 3
pulse_hold_ms_4 Pulse Hold (ms) 4
pulse_hi_prev_ms_1 Pulse High Previous (ms) 1
pulse_hi_prev_ms_2 Pulse High Previous (ms) 2
pulse_hi_prev_ms_3 Pulse High Previous (ms) 3
pulse_hi_prev_ms_4 Pulse High Previous (ms) 4
pulse_lo_prev_ms_1 Pulse Low Previous (ms) 1
pulse_lo_prev_ms_2 Pulse Low Previous (ms) 2
pulse_lo_prev_ms_3 Pulse Low Previous (ms) 3
pulse_lo_prev_ms_4 Pulse Low Previous (ms) 4
pulse_hi_total_sec_1 Pulse High Total (sec) 1
pulse_hi_total_sec_2 Pulse High Total (sec) 2
pulse_hi_total_sec_3 Pulse High Total (sec) 3
pulse_hi_total_sec_4 Pulse High Total (sec) 4
pulse_lo_total_sec_1 Pulse Low Total (sec) 1
pulse_lo_total_sec_2 Pulse Low Total (sec) 2
pulse_lo_total_sec_3 Pulse Low Total (sec) 3
pulse_lo_total_sec_4 Pulse Low Total (sec) 4
ow_1_1_degc 1-Wire 1_1 Degree C
ow_1_2_degc 1-Wire 1_2 Degree C
ow_1_3_degc 1-Wire 1_3 Degree C
ow_1_4_degc 1-Wire 1_4 Degree C
ow_2_1_degc 1-Wire 2_1 Degree C
ow_2_2_degc 1-Wire 2_2 Degree C
ow_2_3_degc 1-Wire 2_3 Degree C
ow_2_4_degc 1-Wire 2_4 Degree C
ow_3_1_degc 1-Wire 3_1 Degree C
ow_3_2_degc 1-Wire 3_2 Degree C
ow_3_3_degc 1-Wire 3_3 Degree C
ow_3_4_degc 1-Wire 3_4 Degree C
ow_4_1_degc 1-Wire 4_1 Degree C
ow_4_2_degc 1-Wire 4_2 Degree C
ow_4_3_degc 1-Wire 4_3 Degree C
ow_4_4_degc 1-Wire 4_4 Degree C
ow_1_1_humidity 1-Wire 1_1 Humidity
ow_1_2_humidity 1-Wire 1_2 Humidity
ow_1_3_humidity 1-Wire 1_3 Humidity
ow_1_4_humidity 1-Wire 1_4 Humidity
ow_2_1_humidity 1-Wire 2_1 Humidity
ow_2_2_humidity 1-Wire 2_2 Humidity
ow_2_3_humidity 1-Wire 2_3 Humidity
ow_2_4_humidity 1-Wire 2_4 Humidity
ow_3_1_humidity 1-Wire 3_1 Humidity
ow_3_2_humidity 1-Wire 3_2 Humidity
ow_3_3_humidity 1-Wire 3_3 Humidity
ow_3_4_humidity 1-Wire 3_4 Humidity
ow_4_1_humidity 1-Wire 4_1 Humidity
ow_4_2_humidity 1-Wire 4_2 Humidity
ow_4_3_humidity 1-Wire 4_3 Humidity
ow_4_4_humidity 1-Wire 4_4 Humidity
ow_1_1_lux 1-Wire 1_1 Lux
ow_1_2_lux 1-Wire 1_2 Lux
ow_1_3_lux 1-Wire 1_3 Lux
ow_1_4_lux 1-Wire 1_4 Lux
ow_2_1_lux 1-Wire 2_1 Lux
ow_2_2_lux 1-Wire 2_2 Lux
ow_2_3_lux 1-Wire 2_3 Lux
ow_2_4_lux 1-Wire 2_4 Lux
ow_3_1_lux 1-Wire 3_1 Lux
ow_3_2_lux 1-Wire 3_2 Lux
ow_3_3_lux 1-Wire 3_3 Lux
ow_3_4_lux 1-Wire 3_4 Lux
ow_4_1_lux 1-Wire 4_1 Lux
ow_4_2_lux 1-Wire 4_2 Lux
ow_4_3_lux 1-Wire 4_3 Lux
ow_4_4_lux 1-Wire 4_4 Lux
converted_ow_1_1_degc Converted 1-Wire 1_1 Degree C
converted_ow_1_2_degc Converted 1-Wire 1_2 Degree C
converted_ow_1_3_degc Converted 1-Wire 1_3 Degree C
converted_ow_1_4_degc Converted 1-Wire 1_4 Degree C
converted_ow_2_1_degc Converted 1-Wire 2_1 Degree C
converted_ow_2_2_degc Converted 1-Wire 2_2 Degree C
converted_ow_2_3_degc Converted 1-Wire 2_3 Degree C
converted_ow_2_4_degc Converted 1-Wire 2_4 Degree C
converted_ow_3_1_degc Converted 1-Wire 3_1 Degree C
converted_ow_3_2_degc Converted 1-Wire 3_2 Degree C
converted_ow_3_3_degc Converted 1-Wire 3_3 Degree C
converted_ow_3_4_degc Converted 1-Wire 3_4 Degree C
converted_ow_4_1_degc Converted 1-Wire 4_1 Degree C
converted_ow_4_2_degc Converted 1-Wire 4_2 Degree C
converted_ow_4_3_degc Converted 1-Wire 4_3 Degree C
converted_ow_4_4_degc Converted 1-Wire 4_4 Degree C
converted_ow_1_1_humidity Converted 1-Wire 1_1 Humidity
converted_ow_1_2_humidity Converted 1-Wire 1_2 Humidity
converted_ow_1_3_humidity Converted 1-Wire 1_3 Humidity
converted_ow_1_4_humidity Converted 1-Wire 1_4 Humidity
converted_ow_2_1_humidity Converted 1-Wire 2_1 Humidity
converted_ow_2_2_humidity Converted 1-Wire 2_2 Humidity
converted_ow_2_3_humidity Converted 1-Wire 2_3 Humidity
converted_ow_2_4_humidity Converted 1-Wire 2_4 Humidity
converted_ow_3_1_humidity Converted 1-Wire 3_1 Humidity
converted_ow_3_2_humidity Converted 1-Wire 3_2 Humidity
converted_ow_3_3_humidity Converted 1-Wire 3_3 Humidity
converted_ow_3_4_humidity Converted 1-Wire 3_4 Humidity
converted_ow_4_1_humidity Converted 1-Wire 4_1 Humidity
converted_ow_4_2_humidity Converted 1-Wire 4_2 Humidity
converted_ow_4_3_humidity Converted 1-Wire 4_3 Humidity
converted_ow_4_4_humidity Converted 1-Wire 4_4 Humidity
converted_ow_1_1_lux Converted 1-Wire 1_1 Lux
converted_ow_1_2_lux Converted 1-Wire 1_2 Lux
converted_ow_1_3_lux Converted 1-Wire 1_3 Lux
converted_ow_1_4_lux Converted 1-Wire 1_4 Lux
converted_ow_2_1_lux Converted 1-Wire 2_1 Lux
converted_ow_2_2_lux Converted 1-Wire 2_2 Lux
converted_ow_2_3_lux Converted 1-Wire 2_3 Lux
converted_ow_2_4_lux Converted 1-Wire 2_4 Lux
converted_ow_3_1_lux Converted 1-Wire 3_1 Lux
converted_ow_3_2_lux Converted 1-Wire 3_2 Lux
converted_ow_3_3_lux Converted 1-Wire 3_3 Lux
converted_ow_3_4_lux Converted 1-Wire 3_4 Lux
converted_ow_4_1_lux Converted 1-Wire 4_1 Lux
converted_ow_4_2_lux Converted 1-Wire 4_2 Lux
converted_ow_4_3_lux Converted 1-Wire 4_3 Lux
converted_ow_4_4_lux Converted 1-Wire 4_4 Lux

Bar Graph Field

If you want to change the graph from real-time to History, to see your historical data saved, you can set the next parameters.

For meters

By default, the Widget uses kwh_tot for meters. If you want to change it and show for example, net_kwh_tot you can set: bar_graph_field=net_kwh_tot. You can set bar_graph_field taken the value from the *Bar Graph Key *column.

Bar Graph Key Description
kwh_tot Total kWh
kwh_tariff_1 kWh Tariff 1
kwh_tariff_2 kWh Tariff 2
kwh_tariff_3 kWh Tariff 3
kwh_tariff_4 kWh Tariff 4
rev_kwh_tot Reverse kWh
rev_kwh_tariff_1 Reverse kWh Tariff 1
rev_kwh_tariff_2 Reverse kWh Tariff 2
rev_kwh_tariff_3 Reverse kWh Tariff 3
rev_kwh_tariff_4 Reverse kWh Tariff 4
fwd_kwh_tot Forward kWh
fwd_kwh_tariff_1 Forward kWh Tariff 1
fwd_kwh_tariff_2 Forward kWh Tariff 2
fwd_kwh_tariff_3 Forward kWh Tariff 3
fwd_kwh_tariff_4 Forward kWh Tariff 4
net_kwh_tot Net kWh
net_kwh_tariff_1 Net kWh Tariff 1
net_kwh_tariff_2 Net kWh Tariff 2
net_kwh_tariff_3 Net kWh Tariff 3
net_kwh_tariff_4 Net kWh Tariff 4
pc_raw_1 Pulse Count 1
pc_raw_2 Pulse Count 2
pc_raw_3 Pulse Count 3
pulse_cnt_1 PC 1 Value
pulse_cnt_2 PC 2 Value
pulse_cnt_3 PC 3 Value
converted_pulse_cnt_1 PC 1 Value Converted
converted_pulse_cnt_2 PC 2 Value Converted
converted_pulse_cnt_3 PC 3 Value Converted
————– ————–
rms_volts_ln_1_average RMS Volts Line 1 Average
rms_volts_ln_1_min RMS Volts Line 1 Min
rms_volts_ln_1_max RMS Volts Line 1 Max
rms_volts_ln_2_average RMS Volts Line 2 Average
rms_volts_ln_2_min RMS Volts Line 2 Min
rms_volts_ln_2_max RMS Volts Line 2 Max
rms_volts_ln_3_average RMS Volts Line 3 Average
rms_volts_ln_3_min RMS Volts Line 3 Min
rms_volts_ln_3_max RMS Volts Line 3 Max
amps_ln_1_average Amps Line 1 Average
amps_ln_1_min Amps Line 1 Min
amps_ln_1_max Amps Line 1 Max
amps_ln_2_average Amps Line 2 Average
amps_ln_2_min Amps Line 2 Min
amps_ln_2_max Amps Line 2 Max
amps_ln_3_average Amps Line 3 Average
amps_ln_3_min Amps Line 3 Min
amps_ln_3_max Amps Line 3 Max
rms_watts_ln_1_average RMS Watts Line 1 Average
rms_watts_ln_1_min RMS Watts Line 1 Min
rms_watts_ln_1_max RMS Watts Line 1 Max
rms_watts_ln_2_average RMS Watts Line 2 Average
rms_watts_ln_2_min RMS Watts Line 2 Min
rms_watts_ln_2_max RMS Watts Line 2 Max
rms_watts_ln_3_average RMS Watts Line 3 Average
rms_watts_ln_3_min RMS Watts Line 3 Min
rms_watts_ln_3_max RMS Watts Line 3 Max
rms_watts_tot_average RMS Watts Total Average
rms_watts_tot_min RMS Watts Total Min
rms_watts_tot_max RMS Watts Total Max
rms_watts_max_demand_min RMS Watts Max Demand Min
rms_watts_max_demand_max RMS Watts Max Demand Max
rms_watts_max_demand_diff RMS Watts Max Demand Diff
power_factor_ln_1_average Power Factor Line 1 Average
power_factor_ln_2_average Power Factor Line 2 Average
power_factor_ln_3_average Power Factor Line 3 Average
reactive_energy_tot_diff Reactive Energy Total
kwh_rst_diff kWh Rst
rev_kwh_rst_diff Rev kWh Rst
reactive_pwr_ln_1_average Reactive Power Line 1 Average
reactive_pwr_ln_1_max Reactive Power Line 1 Max
reactive_pwr_ln_2_average Reactive Power Line 2 Average
reactive_pwr_ln_2_max Reactive Power Line 2 Max
reactive_pwr_ln_3_average Reactive Power Line 3 Average
reactive_pwr_ln_3_max Reactive Power Line 3 Max
reactive_pwr_tot_average Reactive Power Total Average
reactive_pwr_tot_max Reactive Power Total Max
line_freq_average Line Freq Average
line_freq_max Line Freq Max
kwh_ln_1_diff kWh Line 1
kwh_ln_2_diff kWh Line 2
kwh_ln_3_diff kWh Line 3
rev_kwh_ln_1_diff Rev kWh Line 1
rev_kwh_ln_2_diff Rev kWh Line 2
rev_kwh_ln_3_diff Rev kWh Line 3
For ioStacks

By default, the Widget uses pulse_cnt_1 for ioStacks. If you want to change it and show for example, analog_in_1_average you can set: io_bar_graph_field=analog_in_1_average. You can set io_bar_graph_field taken the value from the Bar Graph Key column.

Bar Graph Key Description
pulse_cnt_1 Pulse Count 1
pulse_cnt_2 Pulse Count 2
pulse_cnt_3 Pulse Count 3
pulse_cnt_4 Pulse Count 4
converted_io_pulse_cnt_1 PC 1 Converted
converted_io_pulse_cnt_2 PC 2 Converted
converted_io_pulse_cnt_3 PC 3 Converted
converted_io_pulse_cnt_4 PC 4 Converted
————– ————–
analog_in_1_average Analog Input 1 Avg
analog_in_1_min Analog Input 1 Min
analog_in_1_max Analog Input 1 Max
analog_in_2_average Analog Input 2 Avg
analog_in_2_min Analog Input 2 Min
analog_in_2_max Analog Input 2 Max
analog_in_3_average Analog Input 3 Avg
analog_in_3_min Analog Input 3 Min
analog_in_3_max Analog Input 3 Max
analog_in_4_average Analog Input 4 Avg
analog_in_4_min Analog Input 4 Min
analog_in_4_max Analog Input 4 Max
converted_analog_in_1_average Converted AI 1 Avg
converted_analog_in_1_min Converted AI 1 Min
converted_analog_in_1_max Converted AI 1 Max
converted_analog_in_2_average Converted AI 2 Avg
converted_analog_in_2_min Converted AI 2 Min
converted_analog_in_2_max Converted AI 2 Max
converted_analog_in_3_average Converted AI 3 Avg
converted_analog_in_3_min Converted AI 3 Min
converted_analog_in_3_max Converted AI 3 Max
converted_analog_in_4_average Converted AI 4 Avg
converted_analog_in_4_min Converted AI 4 Min
converted_analog_in_4_max Converted AI 4 Max
pulse_hold_ms_1_average Pulse Hold (ms) 1 Avg
pulse_hold_ms_1_min Pulse Hold (ms) 1 Min
pulse_hold_ms_1_max Pulse Hold (ms) 1 Max
pulse_hold_ms_2_average Pulse Hold (ms) 2 Avg
pulse_hold_ms_2_min Pulse Hold (ms) 2 Min
pulse_hold_ms_2_max Pulse Hold (ms) 2 Max
pulse_hold_ms_3_average Pulse Hold (ms) 3 Avg
pulse_hold_ms_3_min Pulse Hold (ms) 3 Min
pulse_hold_ms_3_max Pulse Hold (ms) 3 Max
pulse_hold_ms_4_average Pulse Hold (ms) 4 Avg
pulse_hold_ms_4_min Pulse Hold (ms) 4 Min
pulse_hold_ms_4_max Pulse Hold (ms) 4 Max
pulse_hi_prev_ms_1_average Pulse High Previous (ms) 1 Avg
pulse_hi_prev_ms_1_min Pulse High Previous (ms) 1 Min
pulse_hi_prev_ms_1_max Pulse High Previous (ms) 1 Max
pulse_hi_prev_ms_2_average Pulse High Previous (ms) 2 Avg
pulse_hi_prev_ms_2_min Pulse High Previous (ms) 2 Min
pulse_hi_prev_ms_2_max Pulse High Previous (ms) 2 Max
pulse_hi_prev_ms_3_average Pulse High Previous (ms) 3 Avg
pulse_hi_prev_ms_3_min Pulse High Previous (ms) 3 Min
pulse_hi_prev_ms_3_max Pulse High Previous (ms) 3 Max
pulse_hi_prev_ms_4_average Pulse High Previous (ms) 4 Avg
pulse_hi_prev_ms_4_min Pulse High Previous (ms) 4 Min
pulse_hi_prev_ms_4_max Pulse High Previous (ms) 4 Max
pulse_lo_prev_ms_1_average Pulse Low Previous (ms) 1 Avg
pulse_lo_prev_ms_1_min Pulse Low Previous (ms) 1 Min
pulse_lo_prev_ms_1_max Pulse Low Previous (ms) 1 Max
pulse_lo_prev_ms_2_average Pulse Low Previous (ms) 2 Avg
pulse_lo_prev_ms_2_min Pulse Low Previous (ms) 2 Min
pulse_lo_prev_ms_2_max Pulse Low Previous (ms) 2 Max
pulse_lo_prev_ms_3_average Pulse Low Previous (ms) 3 Avg
pulse_lo_prev_ms_3_min Pulse Low Previous (ms) 3 Min
pulse_lo_prev_ms_3_max Pulse Low Previous (ms) 3 Max
pulse_lo_prev_ms_4_average Pulse Low Previous (ms) 4 Avg
pulse_lo_prev_ms_4_min Pulse Low Previous (ms) 4 Min
pulse_lo_prev_ms_4_max Pulse Low Previous (ms) 4 Max
pulse_hi_total_sec_1_average Pulse High Total (sec) 1 Avg
pulse_hi_total_sec_1_min Pulse High Total (sec) 1 Min
pulse_hi_total_sec_1_max Pulse High Total (sec) 1 Max
pulse_hi_total_sec_2_average Pulse High Total (sec) 2 Avg
pulse_hi_total_sec_2_min Pulse High Total (sec) 2 Min
pulse_hi_total_sec_2_max Pulse High Total (sec) 2 Max
pulse_hi_total_sec_3_average Pulse High Total (sec) 3 Avg
pulse_hi_total_sec_3_min Pulse High Total (sec) 3 Min
pulse_hi_total_sec_3_max Pulse High Total (sec) 3 Max
pulse_hi_total_sec_4_average Pulse High Total (sec) 4 Avg
pulse_hi_total_sec_4_min Pulse High Total (sec) 4 Min
pulse_hi_total_sec_4_max Pulse High Total (sec) 4 Max
pulse_lo_total_sec_1_average Pulse Low Total (sec) 1 Avg
pulse_lo_total_sec_1_min Pulse Low Total (sec) 1 Min
pulse_lo_total_sec_1_max Pulse Low Total (sec) 1 Max
pulse_lo_total_sec_2_average Pulse Low Total (sec) 2 Avg
pulse_lo_total_sec_2_min Pulse Low Total (sec) 2 Min
pulse_lo_total_sec_2_max Pulse Low Total (sec) 2 Max
pulse_lo_total_sec_3_average Pulse Low Total (sec) 3 Avg
pulse_lo_total_sec_3_min Pulse Low Total (sec) 3 Min
pulse_lo_total_sec_3_max Pulse Low Total (sec) 3 Max
pulse_lo_total_sec_4_average Pulse Low Total (sec) 4 Avg
pulse_lo_total_sec_4_min Pulse Low Total (sec) 4 Min
pulse_lo_total_sec_4_max Pulse Low Total (sec) 4 Max
ow_1_1_degc_average 1-Wire 1_1 Degree C Avg
ow_1_1_degc_min 1-Wire 1_1 Degree C Min
ow_1_1_degc_max 1-Wire 1_1 Degree C Max
ow_1_2_degc_average 1-Wire 1_2 Degree C Avg
ow_1_2_degc_min 1-Wire 1_2 Degree C Min
ow_1_2_degc_max 1-Wire 1_2 Degree C Max
ow_1_3_degc_average 1-Wire 1_3 Degree C Avg
ow_1_3_degc_min 1-Wire 1_3 Degree C Min
ow_1_3_degc_max 1-Wire 1_3 Degree C Max
ow_1_4_degc_average 1-Wire 1_4 Degree C Avg
ow_1_4_degc_min 1-Wire 1_4 Degree C Min
ow_1_4_degc_max 1-Wire 1_4 Degree C Max
ow_2_1_degc_average 1-Wire 2_1 Degree C Avg
ow_2_1_degc_min 1-Wire 2_1 Degree C Min
ow_2_1_degc_max 1-Wire 2_1 Degree C Max
ow_2_2_degc_average 1-Wire 2_2 Degree C Avg
ow_2_2_degc_min 1-Wire 2_2 Degree C Min
ow_2_2_degc_max 1-Wire 2_2 Degree C Max
ow_2_3_degc_average 1-Wire 2_3 Degree C Avg
ow_2_3_degc_min 1-Wire 2_3 Degree C Min
ow_2_3_degc_max 1-Wire 2_3 Degree C Max
ow_2_4_degc_average 1-Wire 2_4 Degree C Avg
ow_2_4_degc_min 1-Wire 2_4 Degree C Min
ow_2_4_degc_max 1-Wire 2_4 Degree C Max
ow_3_1_degc_average 1-Wire 3_1 Degree C Avg
ow_3_1_degc_min 1-Wire 3_1 Degree C Min
ow_3_1_degc_max 1-Wire 3_1 Degree C Max
ow_3_2_degc_average 1-Wire 3_2 Degree C Avg
ow_3_2_degc_min 1-Wire 3_2 Degree C Min
ow_3_2_degc_max 1-Wire 3_2 Degree C Max
ow_3_3_degc_average 1-Wire 3_3 Degree C Avg
ow_3_3_degc_min 1-Wire 3_3 Degree C Min
ow_3_3_degc_max 1-Wire 3_3 Degree C Max
ow_3_4_degc_average 1-Wire 3_4 Degree C Avg
ow_3_4_degc_min 1-Wire 3_4 Degree C Min
ow_3_4_degc_max 1-Wire 3_4 Degree C Max
ow_4_1_degc_average 1-Wire 4_1 Degree C Avg
ow_4_1_degc_min 1-Wire 4_1 Degree C Min
ow_4_1_degc_max 1-Wire 4_1 Degree C Max
ow_4_2_degc_average 1-Wire 4_2 Degree C Avg
ow_4_2_degc_min 1-Wire 4_2 Degree C Min
ow_4_2_degc_max 1-Wire 4_2 Degree C Max
ow_4_3_degc_average 1-Wire 4_3 Degree C Avg
ow_4_3_degc_min 1-Wire 4_3 Degree C Min
ow_4_3_degc_max 1-Wire 4_3 Degree C Max
ow_4_4_degc_average 1-Wire 4_4 Degree C Avg
ow_4_4_degc_min 1-Wire 4_4 Degree C Min
ow_4_4_degc_max 1-Wire 4_4 Degree C Max
ow_1_1_humidity_average 1-Wire 1_1 Humidity Avg
ow_1_1_humidity_min 1-Wire 1_1 Humidity Min
ow_1_1_humidity_max 1-Wire 1_1 Humidity Max
ow_1_2_humidity_average 1-Wire 1_2 Humidity Avg
ow_1_2_humidity_min 1-Wire 1_2 Humidity Min
ow_1_2_humidity_max 1-Wire 1_2 Humidity Max
ow_1_3_humidity_average 1-Wire 1_3 Humidity Avg
ow_1_3_humidity_min 1-Wire 1_3 Humidity Min
ow_1_3_humidity_max 1-Wire 1_3 Humidity Max
ow_1_4_humidity_average 1-Wire 1_4 Humidity Avg
ow_1_4_humidity_min 1-Wire 1_4 Humidity Min
ow_1_4_humidity_max 1-Wire 1_4 Humidity Max
ow_2_1_humidity_average 1-Wire 2_1 Humidity Avg
ow_2_1_humidity_min 1-Wire 2_1 Humidity Min
ow_2_1_humidity_max 1-Wire 2_1 Humidity Max
ow_2_2_humidity_average 1-Wire 2_2 Humidity Avg
ow_2_2_humidity_min 1-Wire 2_2 Humidity Min
ow_2_2_humidity_max 1-Wire 2_2 Humidity Max
ow_2_3_humidity_average 1-Wire 2_3 Humidity Avg
ow_2_3_humidity_min 1-Wire 2_3 Humidity Min
ow_2_3_humidity_max 1-Wire 2_3 Humidity Max
ow_2_4_humidity_average 1-Wire 2_4 Humidity Avg
ow_2_4_humidity_min 1-Wire 2_4 Humidity Min
ow_2_4_humidity_max 1-Wire 2_4 Humidity Max
ow_3_1_humidity_average 1-Wire 3_1 Humidity Avg
ow_3_1_humidity_min 1-Wire 3_1 Humidity Min
ow_3_1_humidity_max 1-Wire 3_1 Humidity Max
ow_3_2_humidity_average 1-Wire 3_2 Humidity Avg
ow_3_2_humidity_min 1-Wire 3_2 Humidity Min
ow_3_2_humidity_max 1-Wire 3_2 Humidity Max
ow_3_3_humidity_average 1-Wire 3_3 Humidity Avg
ow_3_3_humidity_min 1-Wire 3_3 Humidity Min
ow_3_3_humidity_max 1-Wire 3_3 Humidity Max
ow_3_4_humidity_average 1-Wire 3_4 Humidity Avg
ow_3_4_humidity_min 1-Wire 3_4 Humidity Min
ow_3_4_humidity_max 1-Wire 3_4 Humidity Max
ow_4_1_humidity_average 1-Wire 4_1 Humidity Avg
ow_4_1_humidity_min 1-Wire 4_1 Humidity Min
ow_4_1_humidity_max 1-Wire 4_1 Humidity Max
ow_4_2_humidity_average 1-Wire 4_2 Humidity Avg
ow_4_2_humidity_min 1-Wire 4_2 Humidity Min
ow_4_2_humidity_max 1-Wire 4_2 Humidity Max
ow_4_3_humidity_average 1-Wire 4_3 Humidity Avg
ow_4_3_humidity_min 1-Wire 4_3 Humidity Min
ow_4_4_humidity_max 1-Wire 4_4 Humidity Max
ow_1_1_lux_average 1-Wire 1_1 Lux Avg
ow_1_1_lux_min 1-Wire 1_1 Lux Min
ow_1_1_lux_max 1-Wire 1_1 Lux Max
ow_1_2_lux_average 1-Wire 1_2 Lux Avg
ow_1_2_lux_min 1-Wire 1_2 Lux Min
ow_1_2_lux_max 1-Wire 1_2 Lux Max
ow_1_3_lux_average 1-Wire 1_3 Lux Avg
ow_1_3_lux_min 1-Wire 1_3 Lux Min
ow_1_3_lux_max 1-Wire 1_3 Lux Max
ow_1_4_lux_average 1-Wire 1_4 Lux Avg
ow_1_4_lux_min 1-Wire 1_4 Lux Min
ow_1_4_lux_max 1-Wire 1_4 Lux Max
ow_2_1_lux_average 1-Wire 2_1 Lux Avg
ow_2_1_lux_min 1-Wire 2_1 Lux Min
ow_2_1_lux_max 1-Wire 2_1 Lux Max
ow_2_2_lux_average 1-Wire 2_2 Lux Avg
ow_2_2_lux_min 1-Wire 2_2 Lux Min
ow_2_2_lux_max 1-Wire 2_2 Lux Max
ow_2_3_lux_average 1-Wire 2_3 Lux Avg
ow_2_3_lux_min 1-Wire 2_3 Lux Min
ow_2_3_lux_max 1-Wire 2_3 Lux Max
ow_2_4_lux_average 1-Wire 2_4 Lux Avg
ow_2_4_lux_min 1-Wire 2_4 Lux Min
ow_2_4_lux_max 1-Wire 2_4 Lux Max
ow_3_1_lux_average 1-Wire 3_1 Lux Avg
ow_3_1_lux_min 1-Wire 3_1 Lux Min
ow_3_1_lux_max 1-Wire 3_1 Lux Max
ow_3_2_lux_average 1-Wire 3_2 Lux Avg
ow_3_2_lux_min 1-Wire 3_2 Lux Min
ow_3_2_lux_max 1-Wire 3_2 Lux Max
ow_3_3_lux_average 1-Wire 3_3 Lux Avg
ow_3_3_lux_min 1-Wire 3_3 Lux Min
ow_3_3_lux_max 1-Wire 3_3 Lux Max
ow_3_4_lux_average 1-Wire 3_4 Lux Avg
ow_3_4_lux_min 1-Wire 3_4 Lux Min
ow_3_4_lux_max 1-Wire 3_4 Lux Max
ow_4_1_lux_average 1-Wire 4_1 Lux Avg
ow_4_1_lux_min 1-Wire 4_1 Lux Min
ow_4_1_lux_max 1-Wire 4_1 Lux Max
ow_4_2_lux_average 1-Wire 4_2 Lux Avg
ow_4_2_lux_min 1-Wire 4_2 Lux Min
ow_4_2_lux_max 1-Wire 4_2 Lux Max
ow_4_3_lux_average 1-Wire 4_3 Lux Avg
ow_4_3_lux_min 1-Wire 4_3 Lux Min
ow_4_3_lux_max 1-Wire 4_3 Lux Max
ow_4_4_lux_average 1-Wire 4_4 Lux Avg
ow_4_4_lux_min 1-Wire 4_4 Lux Min
ow_4_4_lux_max 1-Wire 4_4 Lux Max
converted_ow_1_1_degc_average Converted 1-Wire 1_1 Degree C Avg
converted_ow_1_1_degc_min Converted 1-Wire 1_1 Degree C Min
converted_ow_1_1_degc_max Converted 1-Wire 1_1 Degree C Max
converted_ow_1_2_degc_average Converted 1-Wire 1_2 Degree C Avg
converted_ow_1_2_degc_min Converted 1-Wire 1_2 Degree C Min
converted_ow_1_2_degc_max Converted 1-Wire 1_2 Degree C Max
converted_ow_1_3_degc_average Converted 1-Wire 1_3 Degree C Avg
converted_ow_1_3_degc_min Converted 1-Wire 1_3 Degree C Min
converted_ow_1_3_degc_max Converted 1-Wire 1_3 Degree C Max
converted_ow_1_4_degc_average Converted 1-Wire 1_4 Degree C Avg
converted_ow_1_4_degc_min Converted 1-Wire 1_4 Degree C Min
converted_ow_1_4_degc_max Converted 1-Wire 1_4 Degree C Max
converted_ow_2_1_degc_average Converted 1-Wire 2_1 Degree C Avg
converted_ow_2_1_degc_min Converted 1-Wire 2_1 Degree C Min
converted_ow_2_1_degc_max Converted 1-Wire 2_1 Degree C Max
converted_ow_2_2_degc_average Converted 1-Wire 2_2 Degree C Avg
converted_ow_2_2_degc_min Converted 1-Wire 2_2 Degree C Min
converted_ow_2_2_degc_max Converted 1-Wire 2_2 Degree C Max
converted_ow_2_3_degc_average Converted 1-Wire 2_3 Degree C Avg
converted_ow_2_3_degc_min Converted 1-Wire 2_3 Degree C Min
converted_ow_2_3_degc_max Converted 1-Wire 2_3 Degree C Max
converted_ow_2_4_degc_average Converted 1-Wire 2_4 Degree C Avg
converted_ow_2_4_degc_min Converted 1-Wire 2_4 Degree C Min
converted_ow_2_4_degc_max Converted 1-Wire 2_4 Degree C Max
converted_ow_3_1_degc_average Converted 1-Wire 3_1 Degree C Avg
converted_ow_3_1_degc_min Converted 1-Wire 3_1 Degree C Min
converted_ow_3_1_degc_max Converted 1-Wire 3_1 Degree C Max
converted_ow_3_2_degc_average Converted 1-Wire 3_2 Degree C Avg
converted_ow_3_2_degc_min Converted 1-Wire 3_2 Degree C Min
converted_ow_3_2_degc_max Converted 1-Wire 3_2 Degree C Max
converted_ow_3_3_degc_average Converted 1-Wire 3_3 Degree C Avg
converted_ow_3_3_degc_min Converted 1-Wire 3_3 Degree C Min
converted_ow_3_3_degc_max Converted 1-Wire 3_3 Degree C Max
converted_ow_3_4_degc_average Converted 1-Wire 3_4 Degree C Avg
converted_ow_3_4_degc_min Converted 1-Wire 3_4 Degree C Min
converted_ow_3_4_degc_max Converted 1-Wire 3_4 Degree C Max
converted_ow_4_1_degc_average Converted 1-Wire 4_1 Degree C Avg
converted_ow_4_1_degc_min Converted 1-Wire 4_1 Degree C Min
converted_ow_4_1_degc_max Converted 1-Wire 4_1 Degree C Max
converted_ow_4_2_degc_average Converted 1-Wire 4_2 Degree C Avg
converted_ow_4_2_degc_min Converted 1-Wire 4_2 Degree C Min
converted_ow_4_2_degc_max Converted 1-Wire 4_2 Degree C Max
converted_ow_4_3_degc_average Converted 1-Wire 4_3 Degree C Avg
converted_ow_4_3_degc_min Converted 1-Wire 4_3 Degree C Min
converted_ow_4_3_degc_max Converted 1-Wire 4_3 Degree C Max
converted_ow_4_4_degc_average Converted 1-Wire 4_4 Degree C Avg
converted_ow_4_4_degc_min Converted 1-Wire 4_4 Degree C Min
converted_ow_4_4_degc_max Converted 1-Wire 4_4 Degree C Max
converted_ow_1_1_humidity_average Converted 1-Wire 1_1 Humidity Avg
converted_ow_1_1_humidity_min Converted 1-Wire 1_1 Humidity Min
converted_ow_1_1_humidity_max Converted 1-Wire 1_1 Humidity Max
converted_ow_1_2_humidity_average Converted 1-Wire 1_2 Humidity Avg
converted_ow_1_2_humidity_min Converted 1-Wire 1_2 Humidity Min
converted_ow_1_2_humidity_max Converted 1-Wire 1_2 Humidity Max
converted_ow_1_3_humidity_average Converted 1-Wire 1_3 Humidity Avg
converted_ow_1_3_humidity_min Converted 1-Wire 1_3 Humidity Min
converted_ow_1_3_humidity_max Converted 1-Wire 1_3 Humidity Max
converted_ow_1_4_humidity_average Converted 1-Wire 1_4 Humidity Avg
converted_ow_1_4_humidity_min Converted 1-Wire 1_4 Humidity Min
converted_ow_1_4_humidity_max Converted 1-Wire 1_4 Humidity Max
converted_ow_2_1_humidity_average Converted 1-Wire 2_1 Humidity Avg
converted_ow_2_1_humidity_min Converted 1-Wire 2_1 Humidity Min
converted_ow_2_1_humidity_max Converted 1-Wire 2_1 Humidity Max
converted_ow_2_2_humidity_average Converted 1-Wire 2_2 Humidity Avg
converted_ow_2_2_humidity_min Converted 1-Wire 2_2 Humidity Min
converted_ow_2_2_humidity_max Converted 1-Wire 2_2 Humidity Max
converted_ow_2_3_humidity_average Converted 1-Wire 2_3 Humidity Avg
converted_ow_2_3_humidity_min Converted 1-Wire 2_3 Humidity Min
converted_ow_2_3_humidity_max Converted 1-Wire 2_3 Humidity Max
converted_ow_2_4_humidity_average Converted 1-Wire 2_4 Humidity Avg
converted_ow_2_4_humidity_min Converted 1-Wire 2_4 Humidity Min
converted_ow_2_4_humidity_max Converted 1-Wire 2_4 Humidity Max
converted_ow_3_1_humidity_average Converted 1-Wire 3_1 humidity Avg
converted_ow_3_1_humidity_min Converted 1-Wire 3_1 humidity Min
converted_ow_3_1_humidity_max Converted 1-Wire 3_1 humidity Max
converted_ow_3_2_humidity_average Converted 1-Wire 3_2 Humidity Avg
converted_ow_3_2_humidity_min Converted 1-Wire 3_2 Humidity Min
converted_ow_3_2_humidity_max Converted 1-Wire 3_2 Humidity Max
converted_ow_3_3_humidity_average Converted 1-Wire 3_3 Humidity Avg
converted_ow_3_3_humidity_min Converted 1-Wire 3_3 Humidity Min
converted_ow_3_3_humidity_max Converted 1-Wire 3_3 Humidity Max
converted_ow_3_4_humidity_average Converted 1-Wire 3_4 Humidity Avg
converted_ow_3_4_humidity_min Converted 1-Wire 3_4 Humidity Min
converted_ow_3_4_humidity_max Converted 1-Wire 3_4 Humidity Max
converted_ow_4_1_humidity_average Converted 1-Wire 4_1 Humidity Avg
converted_ow_4_1_humidity_min Converted 1-Wire 4_1 Humidity Min
converted_ow_4_1_humidity_max Converted 1-Wire 4_1 Humidity Max
converted_ow_4_2_humidity_average Converted 1-Wire 4_2 Humidity Avg
converted_ow_4_2_humidity_min Converted 1-Wire 4_2 Humidity Min
converted_ow_4_2_humidity_max Converted 1-Wire 4_2 Humidity Max
converted_ow_4_3_humidity_average Converted 1-Wire 4_3 Humidity Avg
converted_ow_4_3_humidity_min Converted 1-Wire 4_3 Humidity Min
converted_ow_4_3_humidity_max Converted 1-Wire 4_3 Humidity Max
converted_ow_4_4_humidity_average Converted 1-Wire 4_4 Humidity Avg
converted_ow_4_4_humidity_min Converted 1-Wire 4_4 Humidity Min
converted_ow_4_4_humidity_max Converted 1-Wire 4_4 Humidity Max
converted_ow_1_1_lux_average Converted 1-Wire 1_1 Lux Avg
converted_ow_1_1_lux_min Converted 1-Wire 1_1 Lux Min
converted_ow_1_1_lux_max Converted 1-Wire 1_1 Lux Max
converted_ow_1_2_lux_average Converted 1-Wire 1_2 Lux Avg
converted_ow_1_2_lux_min Converted 1-Wire 1_2 Lux Min
converted_ow_1_2_lux_max Converted 1-Wire 1_2 Lux Max
converted_ow_1_3_lux_average Converted 1-Wire 1_3 Lux Avg
converted_ow_1_3_lux_min Converted 1-Wire 1_3 Lux Min
converted_ow_1_3_lux_max Converted 1-Wire 1_3 Lux Max
converted_ow_1_4_lux_average Converted 1-Wire 1_4 Lux Avg
converted_ow_1_4_lux_min Converted 1-Wire 1_4 Lux Min
converted_ow_1_4_lux_max Converted 1-Wire 1_4 Lux Max
converted_ow_2_1_lux_average Converted 1-Wire 2_1 Lux Avg
converted_ow_2_1_lux_min Converted 1-Wire 2_1 Lux Min
converted_ow_2_1_lux_max Converted 1-Wire 2_1 Lux Max
converted_ow_2_2_lux_average Converted 1-Wire 2_2 Lux Avg
converted_ow_2_2_lux_min Converted 1-Wire 2_2 Lux Min
converted_ow_2_2_lux_max Converted 1-Wire 2_2 Lux Max
converted_ow_2_3_lux_average Converted 1-Wire 2_3 Lux Avg
converted_ow_2_3_lux_min Converted 1-Wire 2_3 Lux Min
converted_ow_2_3_lux_max Converted 1-Wire 2_3 Lux Max
converted_ow_2_4_lux_average Converted 1-Wire 2_4 Lux Avg
converted_ow_2_4_lux_min Converted 1-Wire 2_4 Lux Min
converted_ow_2_4_lux_max Converted 1-Wire 2_4 Lux Max
converted_ow_3_1_lux_average Converted 1-Wire 3_1 Lux Avg
converted_ow_3_1_lux_min Converted 1-Wire 3_1 Lux Min
converted_ow_3_1_lux_max Converted 1-Wire 3_1 Lux Max
converted_ow_3_2_lux_average Converted 1-Wire 3_2 Lux Avg
converted_ow_3_2_lux_min Converted 1-Wire 3_2 Lux Min
converted_ow_3_2_lux_max Converted 1-Wire 3_2 Lux Max
converted_ow_3_3_lux_average Converted 1-Wire 3_3 Lux Avg
converted_ow_3_3_lux_min Converted 1-Wire 3_3 Lux Min
converted_ow_3_3_lux_max Converted 1-Wire 3_3 Lux Max
converted_ow_3_4_lux_average Converted 1-Wire 3_4 Lux Avg
converted_ow_3_4_lux_min Converted 1-Wire 3_4 Lux Min
converted_ow_3_4_lux_max Converted 1-Wire 3_4 Lux Max
converted_ow_4_1_lux_average Converted 1-Wire 4_1 Lux Avg
converted_ow_4_1_lux_min Converted 1-Wire 4_1 Lux Min
converted_ow_4_1_lux_max Converted 1-Wire 4_1 Lux Max
converted_ow_4_2_lux_average Converted 1-Wire 4_2 Lux Avg
converted_ow_4_2_lux_min Converted 1-Wire 4_2 Lux Min
converted_ow_4_2_lux_max Converted 1-Wire 4_2 Lux Max
converted_ow_4_3_lux_average Converted 1-Wire 4_3 Lux Avg
converted_ow_4_3_lux_min Converted 1-Wire 4_3 Lux Min
converted_ow_4_3_lux_max Converted 1-Wire 4_3 Lux Max
converted_ow_4_4_lux_average Converted 1-Wire 4_4 Lux Avg
converted_ow_4_4_lux_min Converted 1-Wire 4_4 Lux Min
converted_ow_4_4_lux_max Converted 1-Wire 4_4 Lux Max

Table Fields

In the real-time graph, you can show the raw data in a table. By default the Widget will show all the fields that have values.

For meters

If you want to display specific parameters for your meter reads, you can set them. For example, if you want to display 'amps_ln_1’, 'rms_watts_ln_1’, and 'kwh_ln_1’, you need to add them to the 'table_fields’ parameter in this format: table_fields=amps_ln_1~rms_watts_ln_1~kwh_ln_1.

All available fields are listed in the table below:

Field Description
kwh_tot Total kWh
kwh_tariff_1 kWh Tariff 1
kwh_tariff_2 kWh Tariff 2
kwh_tariff_3 kWh Tariff 3
kwh_tariff_4 kWh Tariff 4
rev_kwh_tot Reverse kWh
rev_kwh_tariff_1 Reverse kWh Tariff 1
rev_kwh_tariff_2 Reverse kWh Tariff 2
rev_kwh_tariff_3 Reverse kWh Tariff 3
rev_kwh_tariff_4 Reverse kWh Tariff 4
fwd_kwh_tot Forward kWh
fwd_kwh_tariff_1 Forward kWh Tariff 1
fwd_kwh_tariff_2 Forward kWh Tariff 2
fwd_kwh_tariff_3 Forward kWh Tariff 3
fwd_kwh_tariff_4 Forward kWh Tariff 4
net_kwh_tot Net kWh
net_kwh_tariff_1 Net kWh Tariff 1
net_kwh_tariff_2 Net kWh Tariff 2
net_kwh_tariff_3 Net kWh Tariff 3
net_kwh_tariff_4 Net kWh Tariff 4
rms_volts_ln_1 Volts Line 1
rms_volts_ln_2 Volts Line 2
rms_volts_ln_3 Volts Line 3
amps_ln_1 Amps Line 1
amps_ln_2 Amps Line 2
amps_ln_3 Amps Line 3
rms_watts_ln_1 Watts Line 1
rms_watts_ln_2 Watts Line 2
rms_watts_ln_3 Watts Line 3
rms_watts_tot Total RMS Watts
power_factor_ln_1 Power Factor Line 1
power_factor_ln_2 Power Factor Line 2
power_factor_ln_3 Power Factor Line 3
rms_watts_max_demand RMS Watts Max Demand
max_demand_period Max Demand Period
ct_ratio CT Ratio
pc_raw_1 Pulse Count 1
pc_raw_2 Pulse Count 2
pc_raw_3 Pulse Count 3
pulse_cnt_1 PC 1 Value
pulse_cnt_2 PC 2 Value
pulse_cnt_3 PC 3 Value
converted_pulse_cnt_1 PC 1 Value Converted
converted_pulse_cnt_2 PC 2 Value Converted
converted_pulse_cnt_3 PC 3 Value Converted
pulse_ratio_1 Pulse Ratio 1
pulse_ratio_2 Pulse Ratio 2
pulse_ratio_3 Pulse Ratio 3
state_inputs Pulse Input State
reactive_energy_tot Total Reactive Energy
kwh_rst kWh Rst
rev_kwh_rst Rev kWh Rst
reactive_pwr_ln_1 Reactive Power Line 1
reactive_pwr_ln_2 Reactive Power Line 2
reactive_pwr_ln_3 Reactive Power Line 3
reactive_pwr_tot Total Reactive Power
kwh_scale kWh Scale
line_freq Line Freq
state_watts_dir State Watts Dir
state_out State Out
kwh_ln_1 kWh Line 1
kwh_ln_2 kWh Line 2
kwh_ln_3 kWh Line 3
rev_kwh_ln_1 Rev kWh Line 1
rev_kwh_ln_2 Rev kWh Line 2
rev_kwh_ln_3 Rev kWh Line 3
max_demand_rst Max Demand Rst
cf_ratio CF Ratio
meter_status_code Meter Status Code
net_calc_watts_ln_1 Net Watts Line 1
net_calc_watts_ln_2 Net Watts Line 2
net_calc_watts_ln_3 Net Watts Line 3
net_calc_watts_tot Net Watts Total
For ioStacks

If you want to display specific parameters for your ioStack reads, you can set them. For example, if you just want to display 'analog_in_1’, 'analog_in_2’, and 'analog_in_3’, you need to add them to the 'table_fields’ parameter in this format: io_table_fields=analog_in_1~analog_in_2~analog_in_3.

All available fields are listed in the table below:

Field Description
analog_in_1 Analog Input 1
analog_in_2 Analog Input 2
analog_in_3 Analog Input 3
analog_in_4 Analog Input 4
state_inputs Pulse Input State
state_out Control Output State
pulse_cnt_1 Pulse Count 1
pulse_cnt_2 Pulse Count 2
pulse_cnt_3 Pulse Count 3
pulse_cnt_4 Pulse Count 4
pulse_cnt_rst_1 Resettable Pulse Count 1
pulse_cnt_rst_2 Resettable Pulse Count 2
pulse_cnt_rst_3 Resettable Pulse Count 3
pulse_cnt_rst_4 Resettable Pulse Count 4
pulse_hold_ms_1 Pulse Hold (ms) 1
pulse_hold_ms_2 Pulse Hold (ms) 2
pulse_hold_ms_3 Pulse Hold (ms) 3
pulse_hold_ms_4 Pulse Hold (ms) 4
pulse_hi_prev_ms_1 Pulse High Previous (ms) 1
pulse_hi_prev_ms_2 Pulse High Previous (ms) 2
pulse_hi_prev_ms_3 Pulse High Previous (ms) 3
pulse_hi_prev_ms_4 Pulse High Previous (ms) 4
pulse_lo_prev_ms_1 Pulse Low Previous (ms) 1
pulse_lo_prev_ms_2 Pulse Low Previous (ms) 2
pulse_lo_prev_ms_3 Pulse Low Previous (ms) 3
pulse_lo_prev_ms_4 Pulse Low Previous (ms) 4
pulse_hi_total_sec_1 Pulse High Total (sec) 1
pulse_hi_total_sec_2 Pulse High Total (sec) 2
pulse_hi_total_sec_3 Pulse High Total (sec) 3
pulse_hi_total_sec_4 Pulse High Total (sec) 4
pulse_lo_total_sec_1 Pulse Low Total (sec) 1
pulse_lo_total_sec_2 Pulse Low Total (sec) 2
pulse_lo_total_sec_3 Pulse Low Total (sec) 3
pulse_lo_total_sec_4 Pulse Low Total (sec) 4
ow_1_1_degc 1-Wire 1_1 Degree C
ow_1_2_degc 1-Wire 1_2 Degree C
ow_1_3_degc 1-Wire 1_3 Degree C
ow_1_4_degc 1-Wire 1_4 Degree C
ow_2_1_degc 1-Wire 2_1 Degree C
ow_2_2_degc 1-Wire 2_2 Degree C
ow_2_3_degc 1-Wire 2_3 Degree C
ow_2_4_degc 1-Wire 2_4 Degree C
ow_3_1_degc 1-Wire 3_1 Degree C
ow_3_2_degc 1-Wire 3_2 Degree C
ow_3_3_degc 1-Wire 3_3 Degree C
ow_3_4_degc 1-Wire 3_4 Degree C
ow_4_1_degc 1-Wire 4_1 Degree C
ow_4_2_degc 1-Wire 4_2 Degree C
ow_4_3_degc 1-Wire 4_3 Degree C
ow_4_4_degc 1-Wire 4_4 Degree C
ow_1_1_humidity 1-Wire 1_1 Humidity
ow_1_2_humidity 1-Wire 1_2 Humidity
ow_1_3_humidity 1-Wire 1_3 Humidity
ow_1_4_humidity 1-Wire 1_4 Humidity
ow_2_1_humidity 1-Wire 2_1 Humidity
ow_2_2_humidity 1-Wire 2_2 Humidity
ow_2_3_humidity 1-Wire 2_3 Humidity
ow_2_4_humidity 1-Wire 2_4 Humidity
ow_3_1_humidity 1-Wire 2_1 Humidity
ow_3_2_humidity 1-Wire 3_2 Humidity
ow_3_3_humidity 1-Wire 3_3 Humidity
ow_3_4_humidity 1-Wire 3_4 Humidity
ow_4_1_humidity 1-Wire 4_1 Humidity
ow_4_2_humidity 1-Wire 4_2 Humidity
ow_4_3_humidity 1-Wire 4_3 Humidity
ow_4_4_humidity 1-Wire 4_4 Humidity
ow_1_1_lux 1-Wire 1_1 Lux
ow_1_2_lux 1-Wire 1_2 Lux
ow_1_3_lux 1-Wire 1_3 Lux
ow_1_4_lux 1-Wire 1_4 Lux
ow_2_1_lux 1-Wire 2_1 Lux
ow_2_2_lux 1-Wire 2_2 Lux
ow_2_3_lux 1-Wire 2_3 Lux
ow_2_4_lux 1-Wire 2_4 Lux
ow_3_1_lux 1-Wire 3_1 Lux
ow_3_2_lux 1-Wire 3_2 Lux
ow_3_3_lux 1-Wire 3_3 Lux
ow_3_4_lux 1-Wire 3_4 Lux
ow_4_1_lux 1-Wire 4_1 Lux
ow_4_2_lux 1-Wire 4_2 Lux
ow_4_3_lux 1-Wire 4_3 Lux
ow_4_4_lux 1-Wire 4_4 Lux

Relative View

You can set the minimum and maximum values to define the range of your data displayed on the graph. The minimum value determines where the graph starts at the bottom, while the maximum value determines where the graph ends at the top.

For meters

To activate the relative view, you need to set compare=1, and to set the minimum, use compare_min_y=100, and compare_max_y=200 for the maximum

For ioStacks

To activate the relative view, you need to set io_compare=1, and to set the minimum, use io_compare_min_y=100, and io_compare_max_y=200 for the maximum

Bar Graph Color

For your historical graph, you can select the color of the bars displayed. Set it using: historical=Orange.

You can choose from the following list of colors:

Layout

You can display multiple options on the graph, such as the Reads table, Range table, or a table with the raw data. You can show multiple tables or simply hide all buttons on the graph.

To add one element to your graph, you have to set: layout=show_table to show the table with the raw data. But if you want to display more than one box on the graph, you can set them using ~ between each element: layout=show_legend~show_table. This will show the reads values and the table with the raw data.

Available Measurements

Key Value
gl US Gallon
qt US Quart
pt US Pint
l Liter
ml Milliliter
m3 Cubic Meter
ft3 Cubic Foot
in3 Cubic Inch
CCF CCF
kWh Kilowatt Hour (kWh)

Available Currency Codes

Currency Country Name
USD United States Dollar
ALL Albania Lek
AFN Afghanistan Afghani
ARS Argentina Peso
AWG Aruba Guilder
AUD Australia Dollar
AZN Azerbaijan New Manat
BSD Bahamas Dollar
BBD Barbados Dollar
BYR Belarus Ruble
BZD Belize Dollar
BMD Bermuda Dollar
BOB Bolivia Boliviano
BAM Bosnia and Herzegovina Convertible Marka
BWP Botswana Pula
BGN Bulgaria Lev
BRL Brazil Real
BND Brunei Darussalam Dollar
KHR Cambodia Riel
CAD Canada Dollar
KYD Cayman Islands Dollar
CLP Chile Peso
CNY China Yuan Renminbi
COP Colombia Peso
CRC Costa Rica Colon
HRK Croatia Kuna
CUP Cuba Peso
CZK Czech Republic Koruna
DKK Denmark Krone
DOP Dominican Republic Peso
XCD East Caribbean Dollar
EGP Egypt Pound
SVC El Salvador Colon
EEK Estonia Kroon
EUR Euro Member Countries
FKP Falkland Islands (Malvinas) Pound
FJD Fiji Dollar
GHC Ghana Cedi
GIP Gibraltar Pound
GTQ Guatemala Quetzal
GGP Guernsey Pound
GYD Guyana Dollar
HNL Honduras Lempira
HKD Hong Kong Dollar
HUF Hungary Forint
ISK Iceland Krona
INR India Rupee
IDR Indonesia Rupiah
IRR Iran Rial
IMP Isle of Man Pound
ILS Israel Shekel
JMD Jamaica Dollar
JPY Japan Yen
JEP Jersey Pound
KZT Kazakhstan Tenge
KPW Korea (North) Won
KRW Korea (South) Won
KGS Kyrgyzstan Som
LAK Laos Kip
LVL Latvia Lat
LBP Lebanon Pound
LRD Liberia Dollar
LTL Lithuania Litas
MKD Macedonia Denar
MYR Malaysia Ringgit
MUR Mauritius Rupee
MXN Mexico Peso
MNT Mongolia Tughrik
MZN Mozambique Metical
NAD Namibia Dollar
NPR Nepal Rupee
ANG Netherlands Antilles Guilder
NZD New Zealand Dollar
NIO Nicaragua Cordoba
NGN Nigeria Naira
KPW Korea (North) Won
NOK Norway Krone
OMR Oman Rial
PKR Pakistan Rupee
PAB Panama Balboa
PYG Paraguay Guarani
PEN Peru Nuevo Sol
PHP Philippines Peso
PLN Poland Zloty
QAR Qatar Riyal
RON Romania New Leu
RUB Russia Ruble
SHP Saint Helena Pound
SAR Saudi Arabia Riyal
RSD Serbia Dinar
SCR Seychelles Rupee
SGD Singapore Dollar
SBD Solomon Islands Dollar
SOS Somalia Shilling
ZAR South Africa Rand
KRW Korea (South) Won
LKR Sri Lanka Rupee
SEK Sweden Krona
CHF Switzerland Franc
SRD Suriname Dollar
SYP Syria Pound
TWD Taiwan New Dollar
THB Thailand Baht
TTD Trinidad and Tobago Dollar
TRL Turkey Lira
TVD Tuvalu Dollar
UAH Ukraine Hryvnia
GBP United Kingdom Pound
UYU Uruguay Peso
UZS Uzbekistan Som
VEF Venezuela Bolivar
VND Viet Nam Dong
YER Yemen Rial
ZWD Zimbabwe Dollar