#1139 Release 3.9.15

Brian Frank Fri 25 Oct

We have posted the latest release 3.9.15 on GitHub and updated the docs.

See previous version notes:

  • 3.9.14 topic 1046
  • 3.9.13 topic 1020
  • 3.9.12 topic 983
  • 3.9.11 topic 945
  • 3.9.10 topic 908
  • 3.9.9 topic 844
  • 3.9.8 topic 797
  • 3.9.7 topic 743
  • 3.9.6 topic 737
  • 3.9.5 topic 714
  • 3.9.4 topic 699
  • 3.9.3 topic 694
  • 3.9.2 topic 687

This release includes:

  • new Synthetics ontology for ML and simulation data
  • significant enhancements to modeling three phase power
  • improvements to the EVSE ontology
  • enhancements and clarification for Filter syntax

Thanks to all of the community who helped make this new work possible!

Synthetics

WG #1070 was created to model machine learning models in Haystack. They in turn collaborated with other community members developing a design for modeling simulation data. This work was proposed via 1125 this past summer and is now an official part of Haystack. It introduces a new point function marker synthetic in addition to the original sensor, cmd, and sp function markers.

See the Synthetics chapter for all the details.

Electric Phase Modeling

Overview

Previously, the scope of the phase tag was too broad: it applied to electric voltage, current, power, energy, and power factor points in split-phase and 3-phase electric power systems. The appropriate enumerations for the phase tag differed by the physical quantity being measured, which made validation difficult and could be confusing to domain experts. In addition, the previous enumerations did not cover all types of measurements that may apply.

This release improves how Project Haystack defines the location of an electric point within an AC electric power system by:

  • Clarifying definitions for line measurements
  • Adding tags or enumerations for neutral and ground measurements
  • Using globally recognized enum values
  • Specifying line, line-to-neutral, or phase average measurements

Enum Terminology

Previously phase enum values "A", "B", "C", "AB", "BC", "CA", etc. commonly known within the North American market applied.

Now the following enum values which are better understood around the world apply:

  • L1
  • L2
  • L3
  • L1-L2
  • L2-L3
  • L3-L1
  • L1-N
  • L2-N
  • L3-N

In relation to three-phase systems in North America, "L1" = "A", "L2" = "B", and "L3" = "C".

Note: These enum values apply to split-phase and 3-phase phase electric power systems. However, split-phase electric power systems do not use "L3", "L2-L3", "L3-L1", and "L3-N" enum values.

New Enums

The phase tag is being deprecated. Moving forward, the following quantity-specific enum tags apply:

  • lineVolt: "L1-L2", "L2-L3", or "L3-L1"
  • phaseVolt: "L1-N", "L2-N", or "L3-N"
  • lineCurrent: "L1", "L2", or "L3"
  • phaseCurrent: "L1-L2", "L2-L3", or "L3-L1"
  • linePower: "L1-L2", "L2-L3", or "L3-L1"
  • phasePower: "L1", "L2", or "L3"
  • linePf: "L1-L2", "L2-L3", or "L3-L1"
  • phasePf: "L1", "L2", or "L3"
  • lineEnergy: "L1-L2", "L2-L3", or "L3-L1"
  • phaseEnergy: "L1", "L2", or "L3"

These tags and enumerations are based on the common understanding of "line" vs. "phase" quantities when referencing, voltage, current, power, energy, and power factor in three-phase power systems.

In Xeto (and conceptually), the correct values for these quantity-specific tags can be defined by the following generic enums:

  • ElecLine, which has "L1", "L2", and "L3" values
  • ElecLineToLine, which has "L1-L2", "L2-L3", and "L3-L1" values
  • ElecLineToNeutral, which has "L1-N", "L2-N", and "L3-N" values

These generic enums are applied as follows:

  • lineVolt : ElecLineToLine
  • phaseVolt : ElecLineToNeutral
  • lineCurrent : ElecLine
  • phaseCurrent : ElecLineToLine
  • linePower : ElecLineToLine
  • phasePower : ElecLine
  • linePf : ElecLineToLine
  • phasePf : ElecLine
  • lineEnergy : ElecLineToLine
  • phaseEnergy : ElecLine

Note: volt is intentionally used instead of voltage for consistency and backwards compatibility with the existing volt tag, i.e. to avoid further breaking changes to Project Haystack.

A key motivation for these changes were to balance having database queries that are simple, explicit, and understandable without either (a) listing all possible enumeration values in the query or (b) using and not syntax.

Average Marker

This release introduces the lineAvg and phaseAvg tags which may be applied to electrical voltage, current, power, energy, and power factor points. When applied these tags indicate a point that is the average of line-to-line, line-to-neutral, or line sensor values (depending on the quantity).

Here are several examples of how these tags may be applied:

  • lineAvg applied to an electric current point is defined as the average of lineCurrent "L1", "L2", and "L3" sensor values
  • lineAvg applied to an electric power point is defined as the average of linePower "L1-L2", "L2-L3", and "L3-L1" sensor values
  • phaseAvg applied to an electric voltage point is defined as the average of phaseVolt "L1-N", "L2-N", and "L3-N" sensor values
  • phaseAvg applied to an electric current point is defined as the average of phaseCurrent "L1-L2", "L2-L3", and "L3-L1" sensor values

Ground Marker

Previously there was no way to define a point that measures current on an electrical ground conductor. Therefore we introduced the ground marker tag for this application.

Neutral Marker

The phase tag that had a "N" value for neutral has become deprecated. Therefore, this release defines a neutral marker tag.

Meter Chapter

All of these changes are fully described in a reworked Meters chapter.

EVSE

Previously EVSE equip entities were modeled using the evse-assembly conjunct. Now these entities are modeled using the evse-powerConverter and evse-dispenser conjuncts instead. The evseCableType tag was introduced to better describe evse-cable.

Other tags have been introduced:

Also, there have been improvements to the documentation, including examples.

Review EVSE chapter for more details

Change Log

Version 3.9.15 (25 Oct 2024)

  • Rework of EVSE design from WG
  • #1109: rework elec phase modeling to use new suite of tags
  • #1056: batch hisRead and hisWrite API operations
  • #1125: add synthetics tags
  • Flush out more HTTP API examples (in both Zinc and JSON)
  • Formalize Filter specify for comparison of Numbers with units
  • Add Xeto specs to Filter syntax
  • Rename computed to computedFromReciprocal for associations
  • Rework docHaystack Meters chapter

Login or Signup to reply.