Upload
vuthien
View
213
Download
0
Embed Size (px)
Citation preview
Logger Configuration – DRAFT 6 Page 1 of 15
1
SunSpec Alliance Interoperability Specification Data Logger Configuration SunSpec Alliance Logger Workgroup Lynn Linse, Bob Fox, John Blair, Howard Davis, Aaron McNally, Stephen Lapointe, Richard Duong, Robert Hyatt, Bill Randle, Martin Beran, Robert Orozco, John Nunneley
DRAFT 6
ABSTRACT
This document makes recommendations for logger configuration parameters and proposes and XML schema to support interchange of configuration data.
Logger Configuration – DRAFT 6 Page 2 of 15
Change Log
Version 0.04 -‐ Changes added from the Dec-‐12 2011 meeting.
DRAFT 5 -‐ Changes from May 29, 2012 and previous meetings.
-‐ Limited scope for this DRAFT to recommended configuration items
DRAFT 6 -‐ Checkpoint for September 2012 Update
Logger Configuration – DRAFT 6 Page 3 of 15
1 Introduction This SunSpec Alliance Interoperability Specification describes the general configurations settings that a SunSpec Logger should support as best practice. An XML schema is also provided to support the interchange of configuration data although no methods are defined at this time. This specification does not cover operational status of the Logger or control of the monitored devices.
All configuration values are optional –a logger may be 100% locally configured. Many vendors/monitoring companies will prefer to preload a logger, send it to the field where it merely boots up and works. This will be especially appealing in say residential systems that are high-‐volume and low-‐variety as it promises that all systems are the same.
However, industry trends call for a logger that can service multiple remote hosts, each being able to remotely adjust the rate and quantity of data they receive. Even in the above example (high-‐volume, low-‐variety residential), a home-‐owner or remote troubleshooter might wish to temporarily increase the collection rate from a standard once per hour to 5 minute intervals, or enable separate collection of the A/B phases of a split system instead of merely the overall power and current.
2 Terms and Concepts
2.1 Objects within a Logger In the context of configuration, a logger includes several collections of objects that may be browsed and optionally configured.
The collection of objects may be static due to manual logger configuration, or it may be dynamic based on period browsing by the logger.
2.1.1 Interface Objects An Interface Object represents a primary network interface related to internet access, data upload, or data acquisition that may include Ethernet or PPP-‐serial interfaces (such as cellular). Example configuration settings include how the interface obtains IP and DNS information.
2.1.2 Host Objects A Host Object represents a remote target for log data or a remote source of configuration or control directives. The logger should be capable of supporting multiple host objects. Each host configuration includes information to specify what data to upload, how often to upload, granularity of the data samples, and exception reporting. Loggers may interact with hosts to download configuration information, firmware updates, or control directives for devices.
Logger Configuration – DRAFT 6 Page 4 of 15
2.1.3 Device Objects A Device Object represents a source of data for the logger to collect, which ultimately is data for upload to Hosts. Example configuration settings include which data points to collect and the frequency at which to poll the device.
2.2 Configuration Methods No methods for configuring the logger are currently defined. Loggers may be pre-‐configured at the factory, or a local operator may apply settings at installation time or as needed. A Logger may expose services that allow a remote host (with appropriate permissions) to browse the configuration settings and make changes or a Host may expose configuration settings as a resource accessible by the Logger for download and application.
3 Suggested Settings
3.1 General The first phase specification is oriented for XML and other text transfer methods.
In general, all strings should be Unicode-‐aware for international support, plus settings should be not be case sensitive (unless the context requires it, such an authentication password value).
3.1.1 Additional Configuration Parameters A given Logger implementation may support additional configuration settings and the recommended XML schema allows for this via the generic ConfigParameterType;
3.1.2 Locked Settings Settings may contain a “locked” attribute that may be used to protect settings from accidental change. Settings that are “locked” may not be altered without a special “unlock” operation being performed. For example, changes that would prevent a remote operator to successfully correct if misconfigured such as the IP configuration.
3.1.3 Enabled Settings Settings may contain an “enabled” attribute that may be used to switch portions of the configuration on/off. For example, disabling a Host upload.
3.2 Logger Group The following settings are recommended for configuration of the Logger.
3.2.1 Name This setting is a user-‐friendly name for this Logger.
This name may be hard-‐coded based on Logger hardware (e.g. Manuf-‐MACADDR) or set within the logger configuration.
Logger Configuration – DRAFT 6 Page 5 of 15
3.2.2 Remote Control This switch is used to enable/disable remote Host control of the Logger. A local operator must enable remote control explicitly if this option is disabled.
3.2.3 X509 The URI of the Logger’s X509 certificate that is used if required for Host authentication. Hosts may require strong authentication by the Logger.
3.3 Interface Group A logger shall contain one or more network interface objects. Interfaces are used to communicate with Hosts and/or devices. A simple configuration may only include a single IP based interface that is used to communicate with both remote (internet based) hosts and local (Modbus/TCP) devices. More complex configurations may consist of multiple RS485/232 ports supporting Modbus or other proprietary serial protocols and multiple IP based interfaces over cellular or broadband for communication with Hosts.
A full communications interface description consists of a link interface type, one or more protocol stacks, and optional proxy server models.
3.3.1 Name This setting is a user-‐friendly name for this interface.
This name maybe Read-‐Only, being either hard-‐coded based on Logger hardware, or set within the logger configuration.
3.3.2 Ethernet Link Layer This configuration element includes the complete settings for an Ethernet link layer.
3.3.2.1 Name
A string value. The system name for this interface.
3.3.2.2 Control
An enumerated value to control the link layer.
0 – Enable auto-‐negotiate 1 – Force full duplex
3.3.2.3 Forced Speed
An integer value in Mbs. If the Link Control auto-‐negotiate is disabled, force the interface to this speed.
3.3.3 Serial Link Layer Settings for a serial link layer.
3.3.3.1 Name
A string value. The system name for this interface.
Logger Configuration – DRAFT 6 Page 6 of 15
3.3.3.2 Baud Rate
Baud Rate setting for the interface in bits per second.
3.3.3.3 Bits
Number of data bits per character.
3.3.3.4 Parity
Enumerated value. Setting for parity.
0 – None
1 – Odd
2 -‐ Even
3.3.3.5 Duplex
Enumerated value. Duplex setting.
0 – Full
1 – Half
3.3.3.6 Flow Control
Enumerated value. Flow control setting.
0 – None
1 – Hardware
2 – Software (XON/XOFF)
3.3.4 Cellular Link Settings for a Cellular link layer.
3.3.4.1 Name
A string value. The system name of the interface.
3.3.5 PPP Link Settings for a PPP link layer.
3.3.5.1 Name
A string value. The system name for this interface.
3.3.6 WIFI Link Settings for a WIFI (IEEE 802.11) link layer. TBD
3.3.6.1 Name
A string value. The system name for this interface.
Logger Configuration – DRAFT 6 Page 7 of 15
SSID – network to join
Security – None, WEP, WPA – lots of legacy modes. What is used now?
Mode – auto, b, g, n, dual -‐ lots of legacy modes. What is used now?
Channel
3.3.7 802.15.4 (Zigbee) Link Settings for a Zigbee link layer.
3.3.7.1 Name
A string value. The system name for this interface.
PAN ID, Channel, Credentials, Link key, ???
3.3.8 Simple Network This configuration element includes the basic settings for a simplified IPV4 stack
3.3.8.1 Name
A string value. The system name of the interface.
3.3.8.2 Config
Select the configuration method to use. An enumerated value.
0 -‐ Use a static IP
1-‐ use DHCP.
3.3.8.3 Control
A bitmask value. Control the use of services.
0 – Enable DNS 1-‐ Enable NTP
3.3.8.4 Address
The IPv4 address of this interface, using a dotted string notation.
3.3.8.5 Netmask
The IPv4 network mask for this interface, using a dotted string notation.
3.3.8.6 Gateway
The IP address of the gateway for this interface, using a dotted string notation.
3.3.8.7 DNS1
The IP address of the primary DNS server for this interface, using a dotted string notation.
Logger Configuration – DRAFT 6 Page 8 of 15
3.3.8.8 DNS2
The IP address of the secondary DNS server for this interface, using a dotted string notation.
3.3.8.9 Link Control
An enumerated value to control the link layer.
0 – Auto-‐negotiate enable 1-‐ Force full duplex 2-‐ Force 10Mbs 3-‐ Force 100Mbs 4-‐ Force 1Gbs
3.3.9 IPv4 Protocol Stack Settings for an IPv4 protocol Stack.
3.3.9.1 Name
A string value. The system name for this interface.
3.3.9.2 Config
Select the configuration method to use. An enumerated value.
0 -‐ Use a static IP
1-‐ Use DHCP 2-‐ Use BOOTP 3-‐ Use Zeroconf
3.3.9.3 Control
A bitmask value. Control the use of services.
0 – Enable DNS 1 -‐ Enable NTP
3.3.9.4 Address
The IPv4 address of this interface, using a dotted string notation.
3.3.9.5 Netmask
The IPv4 network mask for this interface, using a dotted string notation.
3.3.9.6 Gateway
The IP address of the gateway for this interface, using a dotted string notation.
3.3.9.7 DNS1
The IP address of the primary DNS server for this interface, using a dotted string notation.
Logger Configuration – DRAFT 6 Page 9 of 15
3.3.9.8 DNS2
The IP address of the secondary DNS server for this interface, using a dotted string notationtem name for this interface.
3.3.9.9 NTP1
The IP address of the primary NTP server for this interface, using a dotted string notation.
3.3.9.10 NTP2 The IP address of the secondary NTP server for this interface, using a dotted string notation.
3.3.9.11 Domain Name
The network domain name for this interface.
3.3.9.12 Host Name
The network host name for this interface.
3.3.10 IPv6 Protocol Stack Settings for an IPv6 protocol Stack.
3.3.10.1 Name
A string value. The system name for this interface. E.g. eth0:1
3.3.10.2 Config Select the configuration method to use. An enumerated value.
0 -‐ Use a static IP
1 -‐ Use DHCP
2 -‐ Use BOOTP
3 -‐ Use Zeroconf
3.3.10.3 Control A bitmask value. Control the use of services.
0 – Enable DNS 1 -‐ Enable NTP
3.3.10.4 Address The IPv6 address of this interface, using a colon (“:”) string notation.
3.3.10.5 CIDR The IPv6 Classless Inter-‐Domain Routing Number for this interface, using a using a colon (“:”) string notation.
Logger Configuration – DRAFT 6 Page 10 of 15
3.3.10.6 Gateway The IPv6 address of the gateway for this interface, using a using a colon (“:”) string notation.
3.3.10.7 DNS1 The IPv6 address of the primary DNS server for this interface, using a using a colon (“:”) string notation.
3.3.10.8 DNS2 The IPv6 address of the secondary DNS server for this interface, using a using a colon (“:”) string notationtem name for this interface.
3.3.10.9 NTP1 The IPv6 address of the primary NTP server for this interface, using a using a colon (“:”) string notation.
3.3.10.10 NTP2 The IPv6 address of the secondary NTP server for this interface, using a using a colon (“:”) string notationtem name for this interface.
3.3.10.11 Domain Name
The network domain name for this interface.
3.3.10.12 Host Name
The network host name for this interfacemined.
3.4 Host Group These settings define a remote host for logger upload, and are indexed starting at “1”. A logger should support multiple hosts. A host may be a consumer of data, a source of control, or both.
3.4.1 Name This setting is a user-‐friendly name for this host. This name can be cross-‐referenced to index number to understand all of the configured hosts.
3.4.2 Upload Group Includes settings related to the network address of the host.
3.4.2.1 URI
The complete URI of the host service for uploading of data using the SunSpec Logger Upload Protocol.
3.4.2.2 Login
For hosts requiring authentication, the login name for the Logger to access the Host.
Logger Configuration – DRAFT 6 Page 11 of 15
3.4.2.3 Password
For hosts requiring authentication, the password for the Logger to access the Host.
3.4.2.4 Compression
Enumerated value. Type of compression to use when uploading data to the host.
0 – None
1 – Compress
2 -‐ gzip
3.4.2.5 Verbose
Boolean value. Include complete point meta data with the upload. (default is false).
3.4.2.6 Upload DataSet Group
The dataset specifies how often and what to upload. By default, if no datasets are specified, all collected data is reported at the default.
3.4.2.6.1 Exception Reporting
Enable exception reporting. Loggers should support reporting by exception. Exceptions shall be reported immediately if enabled. Hosts may disable exception reporting once an exception has been acknowledged and then re-‐enable once the exception has been cleared. Exceptions may be defined for each data point included in the data set.
Default: OFF
3.4.2.6.2 Upload Rate
The rate at which to upload data to the host in seconds. E.g. every 15 minutes or once per hour or day.
3.4.2.6.3 Maximum Rate
The maximum rate at which to upload data expressed in bytes per standard unit of time. E.g. 100 MB per hour. Sets a quota on the maximum amount of data that may be sent to this host. Caution: this will cause the logger to stop reporting for the period if the quota is exceeded.
3.4.2.6.4 Granularity
The granularity of the data samples to upload. E.g. 1 minute or 15 second samples.
Logger Configuration – DRAFT 6 Page 12 of 15
3.4.2.6.5 Algorithm
Enumerated value. The algorithm to use when folding raw samples together. E.g. the Logger may be sampling the data every second but the host only wants 15 minute granularity.
0 – Average. The samples are binned and averaged over the interval (default).
1 – First. The samples are binned and the first value is used.
2 – Last. The samples are binned and the last value is use.
3 – Minimum. The samples are binned and the minimum value is used.
4 – Maximum. The samples are binned and the maximum value is used.
5 – Clipped. The samples are binned, clipped, and then averaged.
6 – Vendor. The samples are binned and a vendor specific method is used.
3.4.2.6.6 At Time
Upload the data at a specific time of day in seconds. E.g. 0 will start the upload at midnight. This works in conjunction with the Upload Rate. E.g. an Upload Rate of 15 minutes and an At Time of 0 will cause the Logger to start uploading at Midnight and 4 times per hour at 00, 15,30, 45 thereafter.
3.4.2.6.7 Randomize
Time in seconds to randomize before uploading. This setting causes a logger to select a +/-‐ time adjustment to avoid host congestion at fixed time. This Randomness shall apply to both standard upload and retries of uploads.
Example: if 100 loggers attempt to upload on the hour +/-‐ 1 second, then the host needs to handle 100 concurrent connections. If the 100 loggers select a +/-‐ 3 minute random jitter, then the peak demand is reduced.
3.4.2.6.8 Retry Rate
This setting defines how long to delay and retry if an upload fails. It follows the same coding rules as Upload Rate, and setting to 0 means never retry. A good default might be a 5 minutes back-‐off.
3.4.2.6.9 Retry Count
This setting defines how many times, at Retry Rate, to retry the upload. A good default might be a 1 or 2 reties.
Logger Configuration – DRAFT 6 Page 13 of 15
3.4.2.6.10 Max Bytes
This setting defines the maximum bytes to upload in a single upload in MB. This defaults to “0” for no limit. Hitting the limit causes a ‘Retry’ like behavior – for example, if the logger has 2.5 MB of data and the MaxBytes = 1MB, then the logger will attempt to upload roughly the first (oldest) 1MB. Once this succeeds, then Host.Timing.RetryRate later it will try the second 1MB, and finally Host.Timing.RetryRate later it will try the last 0.5MB.
This is also a cellular tweak, as the larger the file to upload by HTTP, the more likely the upload is to fail – normal HTTP doesn’t support block-‐retry or session recovery. Assuming new data is appended to the old data, it is possible for a cellular-‐based logger to accumulate such a large file that it has almost no chance of success.
3.4.2.6.11 Upload Dataset Filter Group
Specify filters on the dataset as to what data to upload and what exceptions should be reported. Loggers should support report by exception. Basic polling algorithms can miss important events. Dataset filters allow the Host to finally control what data gets reported, how often it gets reported, and what exceptions should be reported immediately.
3.4.2.6.11.1 Manufacturer
Filter on the Manufacturer for reporting. Useful for reporting to OEMs.
3.4.2.6.11.2 Model
Filter on the Model for reporting.. Useful for selecting specific device types.
3.4.2.6.11.3 Serial Number
Filter on the serial number for reporting. This selects a specific device.
3.4.2.6.11.4 Upload Dataset Filter Include Group Specify the data points that shall be included in this dataset report
3.4.2.6.11.4.1 Model ID The SunSpec Model ID of the data point to be included in this Upload Dataset.
3.4.2.6.11.4.2 Include The Name of the data point within the SunSpec Model that shall be included in the dataset. If no point names are specified, all data points shall be included in the dataset.
3.4.2.6.11.4.2.1 Deadband The deadband value in +/-‐ percent. If the point value has changed by more than the allowed deadband, report this exception immediately. E.g. a Deadband value of 10
Logger Configuration – DRAFT 6 Page 14 of 15
would cause the Logger to report this dataset if the value varies by more that 10% of the nominal value.
3.4.2.6.11.4.2.2 High Limit Report this dataset immediately if the sampled value exceeds this value.
3.4.2.6.11.4.3 Low Limit Report this dataset immediately if the sampled valued is less than this value.
3.5 Device Group These settings define a source of data for the logger to collect, and are indexed starting at “1”. SunSpec devices attached to a serial interface may be auto-‐discovered by polling the Modbus address space and checking for the SunSpec signature at the well-‐known register offsets (see SunSpec Common Model). This section allows explicit device configuration.
3.5.1 Name This setting is a user-‐friendly name for this device. This name can be cross-‐referenced to index number to understand all of the configured devices.
3.5.2 Interface The interface name associated with this device as defined in the interface configuration.
3.5.3 IP Address For IP based interfaces, the IP address of this device. The Address shall be IPv4 or IPv6 as appropriate for the interface.
3.5.4 IP Port For IP based interface, the port associated with this device. For Modbus based devices, this is typically 502.
3.5.5 Device ID For Modbus based devices, this is the Modbus address of the device.
3.5.6 Maximum Read Register Length The maximum number of registers to read at one time may be limited. SunSpec recommends all Modbus devices support the maximum read register length of 125. Use this setting for devices that are not capable of this.
3.5.7 Request Timeout Timeout value for read request in seconds.
3.5.8 Sample Rate Specify the sample rate in seconds for this device. A value of zero means to sample this device as fast as possible.