# Indirect tags, arrays, templates

**URL:** <https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [February 4, 2025, 12:11am UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809 "2025-02-04T00:11:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [February 4, 2025, 12:11am UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/1 "2025-02-04T00:11:26Z")

</div>

Hi,  
I have 2 questions regarding tags and templates. I'm grabbing tags from an OPCUA server.  
1- When indirectly binding tags, it seems like I can't index a specific array element. I get a syntax error regarding the "[" character. ex: [tags]dog{1}/bBark[0]. I would also need to subtract 1 from the index. How would I do that?  
2- Is it possible to modify some template parameters in an instance? I'd like something similar to modifying a component in a group.  
Thank you.

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [February 4, 2025, 7:38am UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/2 "2025-02-04T07:38:03Z")

</div>

1. Works fine for me. Using this:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/0/e0c3dd679b80624a4843cb9ee97dd5a489ba6ba2.png)  
Where {1} contains the path of an integer array path, and {2} contains a integer  
You can't do math there though. If it needs to be dynamic, create another custom property, and do the math there. Then reference that prop in your indirect tag binding.

2. what ?

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [February 4, 2025, 5:14pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/3 "2025-02-04T17:14:02Z")

</div>

I mean if I have 10 instances of a template and only want one component in one of them to not follow that template indirect tag binding. How do I do that?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 4, 2025, 5:25pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/4 "2025-02-04T17:25:43Z")

</div>

You cannot. The point of templates is to be entirely standardized, there's no way to override individual values in a single instance (other than "baking in" that logic to the template itself, via _more_ parameters).

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [February 4, 2025, 5:31pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/5 "2025-02-04T17:31:18Z")

</div>

Got it. Is there a way to check what the logic evaluates to in the instance?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 4, 2025, 5:38pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/6 "2025-02-04T17:38:31Z")

</div>

Not really; you can use labels as debug tools at runtime for some things, but there's no built in tool that will tell you what everything's values are.

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [February 6, 2025, 9:05pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/7 "2025-02-06T21:05:41Z")

</div>

I realized that in the template designer itself I can put sample numbers for the template property variable and see what that evaluates to! I originally had it empty because I thought it would use that specific number for all instances and override the instance variable but that's not the case 🙂 Thanks.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 6, 2025, 11:09pm UTC](https://forum.inductiveautomation.com/t/indirect-tags-arrays-templates/101809/8 "2025-02-06T23:09:23Z")

</div>

Just be aware that values you enter into the designer will be the _initial_ value that's used when you first create a new instance of the template. Generally you'll have a binding or property assignment or something else that more or less instantly runs and replaces it with a "real" value, but it _could_ be confusing if an "incorrect" value is momentarily displayed.
