# Tag Alarm Enable Expression Binding not Synchronous change？

**URL:** <https://forum.inductiveautomation.com/t/tag-alarm-enable-expression-binding-not-synchronous-change/94400>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [August 9, 2024, 9:06am UTC](https://forum.inductiveautomation.com/t/tag-alarm-enable-expression-binding-not-synchronous-change/94400 "2024-08-09T09:06:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![taohongyu88](https://avatars.discourse-cdn.com/v4/letter/t/f05b48/32.png) [@taohongyu88](https://forum.inductiveautomation.com/u/taohongyu88)\
**Post date:** [August 9, 2024, 9:06am UTC](https://forum.inductiveautomation.com/t/tag-alarm-enable-expression-binding-not-synchronous-change/94400/1 "2024-08-09T09:06:19Z")

</div>

In Tag Alarms-Enable Binding:  
If I bind it to one Tag, when tag change ,the Enabled value will Synchronous change. It's right.

 ![863b5e008ec8f8d7f819582f7d8018c](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/3/03facdf395e58ba1e5d20f4e7dcdf726ff54dbc9.png)

But,if I bind it to Expression, when tag change ,the Enabled value will not Synchronous change. I must restart Tag. If I changed this Tag again, it not Synchronous change?

 ![49b0ccddcc283a507b2d2eae0518786](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/c/2c991833338e3bfa5c741dd705e5f7d86ef51d57.png)

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 9, 2024, 9:43am UTC](https://forum.inductiveautomation.com/t/tag-alarm-enable-expression-binding-not-synchronous-change/94400/2 "2024-08-09T09:43:03Z")

</div>

`==` syntax is Python. Expression Language does not use Python.

Reduce your expression to,  
`!{[.]../SensorPara/high_warning_enable}`  
which will return the NOT of the tag. (Note the `'!'` at the start of the expression.)

Tip: add some "air" into your coding.  
`if({[.]../SensorPara/high_warning_enable}=false,true,false)`  
is much easier to read when spaces are added after punctuation and to separate keywords (same as in English).  
`if({[.]../SensorPara/high_warning_enable} = false, true, false)`

---

<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:** [August 9, 2024, 11:14am UTC](https://forum.inductiveautomation.com/t/tag-alarm-enable-expression-binding-not-synchronous-change/94400/3 "2024-08-09T11:14:10Z")

</div>

Keep in mind that alarm bindings only execute when the alarm has an event. So you should expect your enable/disable changes to happen **late**.

The reliable way to do this is to **write** to the alarm properties from a valueChange event script on the property of interest.
