# \[bug-4173\]Alarms Tag structured changed with 8.1?

**URL:** <https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141>\
**Category:** Ignition\
**Created:** [August 20, 2021, 2:49pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141 "2021-08-20T14:49:00Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![gilles.levesque](https://avatars.discourse-cdn.com/v4/letter/g/919ad9/32.png) [@gilles.levesque](https://forum.inductiveautomation.com/u/gilles.levesque)\
**Post date:** [August 20, 2021, 2:49pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/1 "2021-08-20T14:49:00Z")

</div>

Hello I am updating from 7.9.9 to 8.1.9 and i am in testing process and i noticed that the structure of the alarms tag have changed.  
Old:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/9/c900456d24ae5a0fd22ab1a593a813ea0b158425.png)  
New:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/7/e7a43ccb2a2972e0d0fb4553e27c231ffe2c389b.png)

That is causing me some problems cause i was using the AlertActive and now i guess it had been replaced with HasActive?.

And the path isn’t the same either…  
Before:  
{PLC\_NOLTEC/Silos/Silo B1/Alarmes/Active.AlertActive}  
After 8.1  
{[default]PLC\_NOLTEC/Silos/Silo B1/Alarmes/Active/Alarms.HasActive}

Will i have to change all my expressions and object that use alarming with 8.1?

---

<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:** [August 20, 2021, 3:09pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/2 "2021-08-20T15:09:35Z")

</div>

Any legacy paths should continue to work. You are _encouraged_ to migrate to the new syntax, but we take some pains to ensure that the old paths should work.

---

<div class="post-metadata">

**Author:** ![brandon1](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@brandon1](https://forum.inductiveautomation.com/u/brandon1)\
**Post date:** [August 20, 2021, 4:29pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/3 "2021-08-20T16:29:33Z")

</div>

I will jump in this discussion to say that in my experience the legacy paths DO NOT work. Thankfully we developed a script that could go through the window’s binding setup and change it automatically. It was still painful to deal with but just add it to the list of things that have to be done as part of the upgrade migration. I recommend using templates that take the base tag path and derive alarm information from there. It makes it much easier to deal with changes to the sub properties.

---

<div class="post-metadata">

**Author:** ![gilles.levesque](https://avatars.discourse-cdn.com/v4/letter/g/919ad9/32.png) [@gilles.levesque](https://forum.inductiveautomation.com/u/gilles.levesque)\
**Post date:** [August 20, 2021, 7:25pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/4 "2021-08-20T19:25:52Z")

</div>

I can confirm that it’s not working, i had objects that would change color if one or more alarm was active but the object had the bad quality overlay.  
I change the Expression from {PLC\_NOLTEC/Silos/Silo B1/Alarmes/Active.AlertActive} to {[default]PLC\_NOLTEC/Silos/Silo B1/Alarmes/Active/Alarms.HasActive} and the overlay disapear.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 20, 2021, 8:36pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/5 "2021-08-20T20:36:38Z")

</div>

These might be useful as well to know

> [@Undocumented changes when migrating from v7 to v8](https://forum.inductiveautomation.com/t/undocumented-changes-when-migrating-from-v7-to-v8/38044):
>
> Just some items I’ve found during v7 to v8 upgrades that may not be documented (some of them might be) and can cause hiccups (and quite a bit of work, relatively speaking!). The official guide to upgrading from IA is [here](https://docs.inductiveautomation.com/display/DOC81/Ignition+8+Upgrade+Guide). Tags: UDT v7 property UDTParentType has been renamed in v8 to TypeId Tag quality string values have changed. E.g. EDITED FOR 8.1.10 below 8.1.10 “Not Found” ==\> “Bad\_NotFound”; “Disabled” ==\> “Bad\_Disabled”; 8.1.10 and above “Bad\_NotFound(Error description…)”, “Bad\_ErrorC…

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [September 10, 2021, 12:03am UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/6 "2021-09-10T00:03:20Z")

</div>

@gilles.levesque,

I am attempting to duplicate this issue, but I haven’t been successful. As Paul mentioned, we do have code that will map the 7.9 attributes to their 8.x counterparts. One thing I am seeing is some of the mappings are returning `Error_TypeConversion` messages when a value doesn’t return an expected type because instead of a `0` or `-1` returned like in 7.9, we are returning `None`. Although this doesn’t look to be the case for the specific properties you are mentioning.

Can you please run the following script for me in the Designer Script console and let me know what returns?:

```auto
type(system.tag.readBlocking(['PLC_NOLTEC/Silos/Silo B1/Alarmes/Active.AlertActive'])[0].value)

```

You should get `<type 'bool'>`, but if you get something else I would like to know.

Also if you could DM me an example project resource and tag export that is experiencing this, it might help me identify what the problem is.

Thanks,  
Garth

---

<div class="post-metadata">

**Author:** ![gilles.levesque](https://avatars.discourse-cdn.com/v4/letter/g/919ad9/32.png) [@gilles.levesque](https://forum.inductiveautomation.com/u/gilles.levesque)\
**Post date:** [September 20, 2021, 2:32pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/7 "2021-09-20T14:32:00Z")

</div>

Hello. I am back from Vacation today…

Here is a print screen of the result of the script you wanted me to execute. This one was executed from 7.9.9

 ![image001.jpg](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/7/97a8ea7f2d7557c5f13f9a4a5906f35da08949c4.jpeg)

And this is the result when executed from 8.1.9

 ![image003.jpg](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/b/8be8212c90cabfe77b53f3f80521d8e557caaf99.jpeg)

So that seem to work.

---

<div class="post-metadata">

**Author:** ![gilles.levesque](https://avatars.discourse-cdn.com/v4/letter/g/919ad9/32.png) [@gilles.levesque](https://forum.inductiveautomation.com/u/gilles.levesque)\
**Post date:** [September 20, 2021, 2:48pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/8 "2021-09-20T14:48:14Z")

</div>

Ok here w how I encounter the problem.

We are using Tab navigation for our vision projects. When an alarm occurs in one of the sus system I want to make the corresponding Tab to flash red. To do that, I’ve create a custom property for each tab for alarm Status. I also add a custom property for tabs colors using cell update.

My Alarm Tags are configured using words where each bits is corresponding to an alarm.

So for the AlarmSts custom properties I was checking the if one of the alarm word has the AlertActive status through an Expression:

Here is the version of the expression after modification.

![image001.png](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/e/de671a7aa703f7454530bbaa8b0341a5922e82ad.png)

Prior to the modification it was pointing to {PLC\_NOLTEC/Silos/Silo B1/Alarmes/Active.AlertActive} and I had the had the bad quality overlay on the tabs

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [September 20, 2021, 6:19pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/9 "2021-09-20T18:19:09Z")

</div>

@gilles.levesque,

Based on the information you have shared, `PLC_NOLTEC/Silos/Silo B1/Alarmes/Active.AlertActive` looks to be evaluating in a manner we would expect in 8.1. By any chance are any of your expressions using any of the following alarm properties from 7.9?

```auto
.AlarmHighestAckPriority
.AlarmHighestUnackPriority
.AlertCurrentSeverity

```

What I am seeing is there is a difference between the 7.9 and 8.x behavior when there isn’t an active alarm and we are returning `null` in 8.x instead of the `-1` that was returned in 7.9. This causes the expressions to fail because the first parameter isn’t a value it expects.

Based on what you noted in your second screenshot, I still am unable to duplicate the issue you noted.  
Is there any chance that I could get any of the following via a DM?:

1. An export of the 7.9 version of the Vision Window you were seeing these problems with and an export of the related tags
2. A screenshot of the diagnostics window when the error is present (Right click the component in the Designer \> Run Diagnostics)

Thanks,  
Garth

---

<div class="post-metadata">

**Author:** ![Ryan\_Shaw](https://avatars.discourse-cdn.com/v4/letter/r/dbc845/32.png) [@Ryan\_Shaw](https://forum.inductiveautomation.com/u/Ryan_Shaw)\
**Post date:** [October 27, 2025, 8:53pm UTC](https://forum.inductiveautomation.com/t/bug-4173-alarms-tag-structured-changed-with-8-1/50141/10 "2025-10-27T20:53:41Z")

</div>

Thank you for providing that information. This is what I was experiencing during an upgrade from 7.9 to 8.1. There was an if statement in an expression using .AlertActive for a tag that had no configured alarms. In 8.x only tags that have a configured alarm have the .Alarm property as a reference, so it returned None instead of -1 which raised an eval error.
