Skip to content

Fixed Cloud Integrations

Matt Magoffin edited this page Sep 14, 2026 · 3 revisions

Fixed Cloud Integrations

This page descirbes the Cloud Integrations support for statically-configured "fixed" datum streams.

This "integration" does not actually integrate with an external service. Rather it allows you to generate datum from static configuration and expressions.

Fixed Integration service

The Fixed integration service identifier is s10k.c2c.i9n.fixed. It supports no service properties.

Fixed Datum Stream services

The AlsoEnergy integration supports the following Cloud Datum Stream Service implementations:

Service Identifier Description
Fixed Interval s10k.c2c.ds.fixed.interval Generate datum at fixed time intervals, like "every 5 minutes" or "once a month".

Fixed Interval Datum Stream Service

The Fixed Interval datum stream service identifier is s10k.c2c.ds.fixed.interval. The following service properties are supported:

Property Description
granularity The resolution of the data to generate. One of Minute, FiveMinute, TenMinute, FifteenMinute, TwentyMinute, ThirtyMinute, Hour, Day, Month, Year. All sub-hour and the hour granularities are clock-aligned to whole hours, for example FifteenMinute generates datum on each hour, 15 minutes past, 30 minutes past, and 45 minutes past the start of each hour. All others will take place on midnight, with Month on the first of each month and Year on 1 Jan of each year. ISO duration syntax is also supported, for example PT1M for Minute and P1D for Day. Only duration values equivalent to the enumerated constants are supported (for example PT2M for two minutes is not supported). Defaults to FifteenMinute if not specified.
tz A time zone identifier to treat Day or larger granularities as, for example America/Los_Angeles. Defaults to UTC.
virtualSourceIds A list or comma-delimited list of virtual source IDs. See Virtual datum streams for more information.

No Data Filters are supported.

Data value mapping

The Fixed Interval cloud data value model uses mapping property reference values as literal property values, so there is no data value hierarchy or mapping as in most other datum stream services. Mapping property expression values work like normal expressions as in other datum stream services.

Datum Import support

This service supports the Cloud Datum Stream import service.

Example

Here is an example datum stream configuration for node 10 source test/fixed for 5-minute granularity with two mapped properties:

Property Description
life An Instantaneous static reference with a value of 42.
lifetime An Accumulating expression offsetProp(sourceId,1,timestamp,"lifetime",0) + life; this just accumulates the value of life into a lifetime "odometer" style total value.
{
  "datumStream" : {
    "configId" : 22,
    "name" : "Fixed 5min Test",
    "serviceIdentifier" : "s10k.c2c.ds.fixed.interval",
    "datumStreamMappingId" : 23,
    "schedule" : "300",
    "kind" : "n",
    "objectId" : 10,
    "sourceId" : "test/fixed",
    "serviceProperties" : {
      "granularity" : "FiveMinute"
    }
  },
  "mapping" : {
    "configId" : 23,
    "name" : "Fixed Test",
    "integrationId" : 20
  },
  "integration" : {
    "configId" : 20,
    "name" : "Fixed Test",
    "serviceIdentifier" : "s10k.c2c.i9n.fixed"
  },
  "properties" : [ {
    "datumStreamMappingId" : 23,
    "index" : 0,
    "propertyType" : "i",
    "propertyName" : "life",
    "valueType" : "r",
    "valueReference" : "42"
  }, {
    "datumStreamMappingId" : 23,
    "index" : 1,
    "propertyType" : "a",
    "propertyName" : "lifetime",
    "valueType" : "s",
    "valueReference" : "offsetProp(sourceId,1,timestamp,\"lifetime\",0) + life"
  } ]
}

Here is an example stream of the initial hour of datum generated by this configuration. The life property is static, while lifetime is the result of the accumulting expression, each datum adding 42 to the running total:

╔══════════════════════╤══════╤═══════════╤════════════╤══════╤══════════╗
║ Timestamp            │ Kind │ Object ID │ Source ID  │ life │ lifetime ║
╠══════════════════════╪══════╪═══════════╪════════════╪══════╪══════════╣
║ 2026-09-12T12:00:00Z │    n │        10 │ test/fixed │   42 │       42 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:05:00Z │    n │        10 │ test/fixed │   42 │       84 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:10:00Z │    n │        10 │ test/fixed │   42 │      126 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:15:00Z │    n │        10 │ test/fixed │   42 │      168 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:20:00Z │    n │        10 │ test/fixed │   42 │      210 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:25:00Z │    n │        10 │ test/fixed │   42 │      252 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:30:00Z │    n │        10 │ test/fixed │   42 │      294 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:35:00Z │    n │        10 │ test/fixed │   42 │      336 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:40:00Z │    n │        10 │ test/fixed │   42 │      378 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:45:00Z │    n │        10 │ test/fixed │   42 │      420 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:50:00Z │    n │        10 │ test/fixed │   42 │      462 ║
╟──────────────────────┼──────┼───────────┼────────────┼──────┼──────────╢
║ 2026-09-12T12:55:00Z │    n │        10 │ test/fixed │   42 │      504 ║
╚══════════════════════╧══════╧═══════════╧════════════╧══════╧══════════╝

Clone this wiki locally