Skip to main content
Version: 8.3

system.historian.storeDataPoints

This function is used in Python Scripting.

Description​

Store a list of data points to the specified Historian.

Client Permission Restrictions​

This scripting function has no Client Permission restrictions.

Syntax #1​

system.historian.storeDataPoints(datapoints)

Parameters​

TypeParameterDescription
ListdatapointsA list of data points.

Returns​

A list of qualified values. The quality code will indicate success or failure. See Scripting Object Reference.

Scope​

Gateway, Vision Client, Perspective Session

Syntax #2​

system.historian.storeDataPoints(paths, values[, timestamps][, qualities])

Parameters​

TypeParameterDescription
ListpathsA list of historical paths.
ListvaluesA list of historical values.
ListtimestampsA list of timestamps. [optional]
ListqualitiesA list of qualities. [optional]

Returns​

A list of qualified values. The quality code will indicate success or failure. See Scripting Object Reference.

Scope​

Gateway, Vision Client, Perspective Session

Examples​

Using Syntax #1​

import random
from java.time import Instant
from com.inductiveautomation.historian.common.model.data import DataPointFactory
from com.inductiveautomation.ignition.common.model.values import QualityCode
from com.inductiveautomation.ignition.common import QualifiedPathUtils

# Define all the paths you want to store data for
source_path_strings = [
"histprov:my_historian:/sys:my_gateway:/prov:my_tag_provider:/tag:Motor_1_Amps",
"histprov:my_historian:/sys:my_gateway:/prov:my_tag_provider:/tag:Motor_2_Amps",
"histprov:my_historian:/sys:my_gateway:/prov:my_tag_provider:/tag:Tank_1_Level",
"histprov:my_historian:/sys:my_gateway:/prov:my_tag_provider:/tag:Valve_Status"
]

# This list will hold all the DataPoint objects
datapoints = []

# Get a single timestamp and quality for all points
timestamp = Instant.now()
quality = QualityCode.Good

# Loop over your list of paths
for path_string in source_path_strings:

# Create the QualifiedPath 'source'
source = QualifiedPathUtils.toPathFromHistoricalString(path_string)

# Generate a new random value
value = random.randint(1, 100)

# Create the data point
datapoint = DataPointFactory.createAtomicPoint(value, quality, timestamp, source)

# Add the point to our datapoints list
datapoints.append(datapoint)

system.historian.storeDataPoints(datapoints)

Using Syntax #2​

system.historian.storeDataPoints(paths = ["histprov:mariadb:/sys:gatewayName1:/prov:default:/tag:test_a"], values = [1], qualities = [192], timestamps = [system.date.now()])