Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReaderType.LAST does not return last value #388

Open
mdyvik opened this issue Nov 4, 2024 · 1 comment
Open

ReaderType.LAST does not return last value #388

mdyvik opened this issue Nov 4, 2024 · 1 comment

Comments

@mdyvik
Copy link

mdyvik commented Nov 4, 2024

When using ReaderType.ACTUAL or 'SNAPSHOT', the last value retrieved consistently shows an hour offset. Instead of retrieving the actual last data point, it returns the data point from one hour earlier.

This code:

  import tagreader
  from tagreader import list_sources
  from datetime import datetime, timedelta
  from tagreader.utils import ReaderType
  
  c = tagreader.IMSClient(datasource='GFC', imstype='aspenone')
  try:
      c.connect()
      print("Connection successful")
  except Exception as e:
      print(f"Connection failed: {e}")
  
  
  # Use the read() method to read the tag data
  df_LAST = c.read(tags=['GFC.03-ST121.RPM'], read_type=ReaderType.LAST)
  df_SNAPSHOT = c.read(tags=['GFC.03-ST121.RPM'], read_type='SNAPSHOT')
  df = c.read(tags=['GFC.03-ST121.RPM'], start_time='04-11-24 12:50:00', end_time='04-11-24 13:10:00', read_type=ReaderType.ACTUAL)
  
  # Print the result
  print(df_LAST)
  print(df_SNAPSHOT)
  print(df)

returns:

  Connection successful
                             GFC.03-ST121.RPM
  time
  2024-11-04 12:05:41+01:00        8988.56543
                             GFC.03-ST121.RPM
  time
  2024-11-04 12:05:41+01:00        8988.56543
                                    GFC.03-ST121.RPM
  time
  2024-11-04 12:50:12.501000+01:00       8978.452148
  2024-11-04 12:50:53.505000+01:00       8989.392578
  2024-11-04 12:51:03.513000+01:00       9000.988281
  2024-11-04 12:51:13.511000+01:00       9011.892578
  2024-11-04 12:51:33.513000+01:00       9022.156250
  2024-11-04 12:52:27.522000+01:00       9011.138672
  2024-11-04 12:52:36.523000+01:00       9000.280273
  2024-11-04 12:52:45.524000+01:00       9010.517578
  2024-11-04 12:53:15.531000+01:00       9021.043945
  2024-11-04 12:53:24.532000+01:00       9032.085938
  2024-11-04 12:53:29.532000+01:00       9021.666992
  2024-11-04 12:53:33.533000+01:00       9031.952148
  2024-11-04 12:53:53.535000+01:00       9042.305664
  2024-11-04 12:53:57.535000+01:00       9032.219727
  2024-11-04 12:54:12.541000+01:00       9042.305664
  2024-11-04 12:54:20.542000+01:00       9031.284180
  2024-11-04 12:55:12.551000+01:00       9042.038086
  2024-11-04 12:56:31.563000+01:00       9053.131836
  2024-11-04 12:57:19.571000+01:00       9042.886719
  2024-11-04 12:57:45.574000+01:00       9032.442383
  2024-11-04 12:58:31.583000+01:00       9021.310547

where the data point: 2024-11-04 12:58:31.583000+01:00 9021.310547 is the actual last datapoint.

@Asgmel03
Copy link
Contributor

Asgmel03 commented Nov 4, 2024

Hello!

Thanks for the feedback! I've looked into the issue, and it seems that the issue is not with the readertype itself but rather with the end_time parameter. If the parameter is not added the tagreader package sets it to datetime.utcnow() which is one hour behind of Norwegian time at the moment. I will add this to our backlog and fix it in the future as it is indeed a bug.

For now as a temporary fix you can pass end_time=datetime.now() to the c.read call, i.e. c.read(tag=abc, end_time=datetime.now(), read_type=ReaderType.x)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants