I am using queryTagHistory to fetch data for interval for 60 minutes but receiving null error

I am using queryTagHistory to fetch data for interval for 60 minutes but receiving null error for 20th feb 2024.

Below are the data points collected from historian table(19 to 26 feb 2024) for reference:

floatvalue time_stamp
255 Mon Feb 19 18:08:42 IST 2024
250 Mon Feb 19 18:08:59 IST 2024
250 Mon Feb 19 18:20:01 IST 2024
250 Mon Feb 19 18:20:03 IST 2024
240 Mon Feb 19 18:26:36 IST 2024
265 Mon Feb 19 19:26:41 IST 2024
260 Mon Feb 19 20:33:25 IST 2024
280 Tue Feb 20 00:37:08 IST 2024
285 Tue Feb 20 01:16:53 IST 2024
275 Tue Feb 20 01:43:23 IST 2024
270 Tue Feb 20 01:45:29 IST 2024
270 Tue Feb 20 02:20:04 IST 2024
270 Tue Feb 20 02:20:06 IST 2024
270 Tue Feb 20 08:29:26 IST 2024
270 Tue Feb 20 08:30:11 IST 2024
270 Tue Feb 20 10:20:06 IST 2024
270 Tue Feb 20 10:20:08 IST 2024
220 Tue Feb 20 13:41:41 IST 2024
270 Tue Feb 20 14:20:23 IST 2024
280 Tue Feb 20 14:31:44 IST 2024
275 Tue Feb 20 14:54:49 IST 2024
275 Tue Feb 20 15:02:29 IST 2024
275 Tue Feb 20 15:02:31 IST 2024
275 Tue Feb 20 15:02:33 IST 2024
275 Tue Feb 20 15:02:40 IST 2024
200 Wed Feb 21 00:40:13 IST 2024
200 Wed Feb 21 01:37:47 IST 2024
200 Wed Feb 21 01:38:30 IST 2024
200 Wed Feb 21 02:20:11 IST 2024
200 Wed Feb 21 02:20:13 IST 2024
200 Wed Feb 21 10:20:13 IST 2024
200 Wed Feb 21 16:11:42 IST 2024
200 Wed Feb 21 16:11:50 IST 2024
200 Wed Feb 21 16:11:52 IST 2024
200 Wed Feb 21 16:12:05 IST 2024
260 Wed Feb 21 19:22:05 IST 2024
200 Wed Feb 21 20:27:33 IST 2024
240 Wed Feb 21 21:39:58 IST 2024
210 Wed Feb 21 23:01:41 IST 2024
210 Wed Feb 21 23:59:45 IST 2024
210 Thu Feb 22 00:00:29 IST 2024
250 Thu Feb 22 00:16:26 IST 2024
275 Thu Feb 22 00:57:12 IST 2024
275 Thu Feb 22 02:20:18 IST 2024
275 Thu Feb 22 02:20:20 IST 2024
265 Thu Feb 22 02:34:57 IST 2024
270 Thu Feb 22 02:47:36 IST 2024
265 Thu Feb 22 02:59:51 IST 2024
260 Thu Feb 22 03:15:34 IST 2024
270 Thu Feb 22 04:35:02 IST 2024
270 Thu Feb 22 10:20:20 IST 2024
270 Thu Feb 22 10:20:22 IST 2024
260 Thu Feb 22 14:43:08 IST 2024
255 Thu Feb 22 14:53:02 IST 2024
245 Thu Feb 22 15:40:41 IST 2024
240 Thu Feb 22 15:50:37 IST 2024
260 Thu Feb 22 16:32:26 IST 2024
265 Thu Feb 22 16:44:53 IST 2024
258 Thu Feb 22 17:06:52 IST 2024
258 Thu Feb 22 18:20:23 IST 2024
258 Thu Feb 22 19:02:33 IST 2024
258 Thu Feb 22 19:02:35 IST 2024
275 Fri Feb 23 01:17:11 IST 2024
270 Fri Feb 23 02:00:32 IST 2024
270 Fri Feb 23 02:20:25 IST 2024
265 Fri Feb 23 04:40:25 IST 2024
265 Fri Feb 23 10:20:27 IST 2024
265 Fri Feb 23 10:20:29 IST 2024
260 Fri Feb 23 12:11:05 IST 2024
260 Fri Feb 23 13:07:21 IST 2024
260 Fri Feb 23 13:08:05 IST 2024
280 Fri Feb 23 14:15:39 IST 2024
270 Fri Feb 23 14:55:56 IST 2024
270 Fri Feb 23 15:08:19 IST 2024
270 Fri Feb 23 15:09:05 IST 2024
268 Fri Feb 23 16:37:52 IST 2024
265 Fri Feb 23 16:38:00 IST 2024
260 Fri Feb 23 18:10:27 IST 2024
260 Fri Feb 23 18:20:30 IST 2024
260 Fri Feb 23 18:20:32 IST 2024
280 Sat Feb 24 01:33:54 IST 2024
280 Sat Feb 24 02:20:32 IST 2024
280 Sat Feb 24 02:20:34 IST 2024
270 Sat Feb 24 02:30:23 IST 2024
275 Sat Feb 24 05:40:10 IST 2024
280 Sat Feb 24 05:55:57 IST 2024
270 Sat Feb 24 06:07:48 IST 2024
270 Sat Feb 24 10:20:35 IST 2024
270 Sat Feb 24 10:20:37 IST 2024
240 Sat Feb 24 12:54:10 IST 2024
240 Sat Feb 24 18:20:37 IST 2024
240 Sat Feb 24 18:20:39 IST 2024
245 Sun Feb 25 00:00:12 IST 2024
250 Sun Feb 25 00:16:45 IST 2024
255 Sun Feb 25 00:36:03 IST 2024
255 Sun Feb 25 02:20:39 IST 2024
280 Sun Feb 25 04:13:55 IST 2024
270 Sun Feb 25 05:04:29 IST 2024
270 Sun Feb 25 10:20:42 IST 2024
270 Sun Feb 25 10:20:44 IST 2024
270 Sun Feb 25 18:20:44 IST 2024
270 Sun Feb 25 18:20:46 IST 2024
280 Mon Feb 26 01:16:13 IST 2024
270 Mon Feb 26 01:55:50 IST 2024
275.7999878 Mon Feb 26 01:58:31 IST 2024
270 Mon Feb 26 02:06:22 IST 2024
270 Mon Feb 26 02:20:47 IST 2024
270 Mon Feb 26 02:20:48 IST 2024
250 Mon Feb 26 04:05:59 IST 2024
280 Mon Feb 26 04:49:55 IST 2024
270 Mon Feb 26 05:40:20 IST 2024
275 Mon Feb 26 06:18:10 IST 2024
270 Mon Feb 26 06:38:49 IST 2024
280 Mon Feb 26 07:45:32 IST 2024
270 Mon Feb 26 08:02:50 IST 2024
280 Mon Feb 26 08:59:18 IST 2024
220 Mon Feb 26 09:43:22 IST 2024
220 Mon Feb 26 10:20:49 IST 2024
220 Mon Feb 26 10:20:51 IST 2024

I am receiving data for other dates but not for 20th feb 2024 it is returning null.

Below is the code:

tags_to_query = ['[MQTT Engine]Edge Nodes/Gliwice/Line REX/Curing Oven/Air Circulation/Burner/Temperature/Temperature_PV']
from datetime import timedelta, datetime
dt = datetime.now()
r=dt-timedelta(days = 37, hours=10)
print("r",r)
from datetime import datetime
from_time=datetime.combine(r, datetime.min.time())
print("from_time",datetime.combine(r, datetime.min.time()))
to_time=from_time+timedelta(minutes=1400)
print("to_time",to_time)
aggregation_mode = 'Average'
return_size = -1
Interpolation = 0
dataSet = system.tag.queryTagHistory(paths = tags_to_query, intervalMinutes = 60, startDate = r, endDate = to_time, aggregationMode = aggregation_mode, returnFormat="Wide", includeBoundingValues = True, ignoreBadQuality = True, noInterpolation = False )
print(dataSet)
print(dataSet.getColumnCount())
print(dataSet.getRowCount())
for row in range(dataSet.getRowCount()):
	for col in range(dataSet.getColumnCount()):
		print dataSet.getValueAt(row, col)

I have attached the screenshot for reference :

Is the above post format correct ?

Please let me know if anything else is required.

Thanks,
Taher

Code formatting looks good!

Questions:

  1. Is time_stamp coming in as a DateTime type or as a string type? You really want it coming in DateTime.
  2. Why are you using import timedelta, datetime? Ignition's built-in system.date | Ignition User Manual will be quicker and simpler.

Answers:

  1. The time_stamp is in DateTime format.
  2. I have a good experience in python libraries. Ignition supports python so it is easier for me to code.

My question is why does the queryTagHistory return an error(null) on 20th Feb 2024. If the data is available in the tag historian table.

Well, no. Ignition includes jython, but jython's standard library is not perfectly compatible with java's data types, and due to the age of v2.7, is littered with bugs. The datetime module is one of the worst.

Use Ignition system.* functions for everything offered, and java classes for everything else. Your "easier" path will be miserable.

1 Like

I think you didn't understood my question.

Please check the below screenshot for further reference.

The code python datetime library works like a charm and gives the same output result as system.*

The system.* and python datetime both gives null error for particular date (20th feb 2024)

Try shoving the resulting dataset into a table component so you can actually see the data returned. It might not be returning a data point for that specific date.

You could also try wrapping your dataset.getValue(row, col) in a str() call to stringify it. IIRC calling print on a non string datatype in the script console is finicky.

It should return zero probably if the data point is not available, if i am not wrong ?

However, I have raised a ticket with the support team.