# Historical Tag Provider Issues

**URL:** <https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [March 16, 2025, 7:30pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757 "2025-03-16T19:30:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![elijah.roberts](https://avatars.discourse-cdn.com/v4/letter/e/a6a055/32.png) [@elijah.roberts](https://forum.inductiveautomation.com/u/elijah.roberts)\
**Post date:** [March 16, 2025, 7:30pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/1 "2025-03-16T19:30:14Z")

</div>

I will start with what I am trying to accomplish here first. So I have a dynamic tag history binding using the model from the manual.

- **key** [array]
  - **[0]** {object}
    - **aggregate** value
    - **alias** value
    - **path** value

  - **[1]**{object}
    - **aggregate** value
    - **alias** value
    - **path** value

  - ...

Now I have done this same thing other places so I know that portion is correct.

But when I have a tag path in there. I get the all mysterious:  
"No historical tag information could be found for any of the specified paths"  
showing up in my logs.

This is also for any tag I have tried to use in this binding. The one thing I have found out is that if I make it a direct tag binding, it's fine and no logs appearing.

2 areas that I think I have narrowed it down to are:  
1- My sqlth\_drv table has 2 entries in it both with the same gateway name in the name column and on shows null in the provider column while the other shows my prodier name I am using for these tags.

2 - my tag path in a direct binding looks like:

```python
[Database/gatewayname:provider]path/to/motortag/status/motor amps

```

While in my dynamic structure my path is:

```python
[Provider]Path/To/MotorTag/Status/Motor Amps

```

Is this something someone has ran into before, or is there something in this information that I am doing wrong or have issues that look like they need fixed?

Thanks for any advice!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 16, 2025, 9:10pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/2 "2025-03-16T21:10:27Z")

</div>

When you put just a tag provider name inside the square brackets, the tag provider is asked to expand to the appropriate "driver" and history provider name.

Do note that Perspective generally expects history paths to be in QualifiedPath format, while Vision generally expects history paths to be in enhanced TagPath format. (Scripted queries tolerate all three.)

See these topics for more:

> [@Get historical path from tagpath](https://forum.inductiveautomation.com/t/get-historical-path-from-tagpath/59128):
>
> Is there a native scripting function or otherwise a way to supply a tagpath and get returned its historical path

> [@Remote Tag Provider History Queries](https://forum.inductiveautomation.com/t/remote-tag-provider-history-queries/93632):
>
> I'm working on a couple tasks related to historians and history queries, and have encountered some behaviors of remote tag providers (RTPs) that have me stymied: There's no public way to retrieve the gateway name that a RTP is pointing at, nor any public way to retrieve the far end's real tag provider name. (Reflection has exposed com.inductiveautomation.ignition.gateway.tags.distributed.client.RemoteTagProvider and com.inductiveautomation.metro.api.ServerId to me, and a number of private fie…

---

<div class="post-metadata">

**Author:** ![elijah.roberts](https://avatars.discourse-cdn.com/v4/letter/e/a6a055/32.png) [@elijah.roberts](https://forum.inductiveautomation.com/u/elijah.roberts)\
**Post date:** [March 16, 2025, 9:13pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/3 "2025-03-16T21:13:10Z")

</div>

Thanks, I will get to reading these!

---

<div class="post-metadata">

**Author:** ![elijah.roberts](https://avatars.discourse-cdn.com/v4/letter/e/a6a055/32.png) [@elijah.roberts](https://forum.inductiveautomation.com/u/elijah.roberts)\
**Post date:** [March 17, 2025, 12:59pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/4 "2025-03-17T12:59:14Z")

</div>

So using @paul-griffith's supplied code in that first post.

I am returned the tag path that I was originally supplying but with the prefix of

```python
histprov:provider:/drv:driver:/tag:

```

So in my tag history binding in Perspective, I tried to use that qualified path being returned, and I get an unable to parse path error. Maybe I am misunderstanding the requirements of paths you referred to there?

I am a little confused as the manual shows this as the example though for dynamic tag paths:

```python
[
{
    "aggregate": "Average",
    "alias": "tank_temp",
    "path": "[default]Tank/03/Temperature"
},
{
    "aggregate": "Average",
    "alias": "setpoint",
    "path": "[default]Tank/03/Setpoint"
}
]

```

> **[Tag History Bindings in Perspective | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/working-with-perspective-components/bindings-in-perspective/tag-history-bindings-in-perspective#using-dynamic-tag-paths)**
>
> Tag History Binding

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 17, 2025, 1:19pm UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/5 "2025-03-17T13:19:30Z")

</div>

Paths in the format `histprov:....:/drv:....:/tag:....` are the `QualifiedPath` format. This is the modern format in Perspective.

Paths in the format `[localHistProv/gatewayName:tagProv]path/to/tag` are the legacy "expanded" history path within a `BasicTagPath` format. These translate to the modern format as:

```python
histprov:localHistProv:/drv:gatewayName:tagProv:/tag:path/to/tag

```

Paths in the format `[tagProv]path/to/tag` are not historian tag paths at all. When handed to the historian, the historian interrogates that tag provider and the details of the tag to internally construct the `QualifiedPath` for you. Most of the user manual examples use this short cut, because it is perfectly reasonable to do so in a single-gateway system. Including the example for Perspective indirect history binding.

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [March 25, 2025, 7:46am UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/6 "2025-03-25T07:46:13Z")

</div>

what ‘drv’ does this example tag path from [Tag Paths | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/platform/tags/tag-paths#:~:text=Historical%20Tag%20Path%20Syntax) use?

`histprov:default:/tag:_Simulator_/Ramp/Ramp0`

also - how can a [more specific aggregation mode [be] defined on a tag path](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/working-with-perspective-components/bindings-in-perspective/tag-history-bindings-in-perspective#:~:text=unless%20a%20more%20specific%20aggregation%20mode%20is%20defined%20on%20a%20tag%20path)?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 25, 2025, 11:53am UTC](https://forum.inductiveautomation.com/t/historical-tag-provider-issues/103757/7 "2025-03-25T11:53:51Z")

</div>

> [@hunterdg](#):
>
> this example tag path

I'm not sure that is valid. 🤷‍♂️

> [@hunterdg](#):
>
> can a more specific aggregation mode [be] defined on a tag path?

The aggregation mode is not part of the tag path at all.
