# Ignition Extensions - Convenience utilities for advanced users

**URL:** <https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615>\
**Category:** 3rd Party Modules\
**Created:** [September 28, 2022, 6:41pm UTC](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615 "2022-09-28T18:41:11Z")\
**Posts on this page:** 1\
**Showing post:** 95

<div class="post-metadata">

**Author:** ![WillMT10](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@WillMT10](https://forum.inductiveautomation.com/u/WillMT10)\
**Post date:** [May 5, 2023, 2:38am UTC](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615/95 "2023-05-05T02:38:36Z")

</div>

I'm curious, why do you need the `indexOf()` and `toStr()` portions of that expression? I would have thought that the expression below would work, but I'm guessing I'm missing something important:

```auto
qualityOf({tag}) != 'Bad_NotFound' &&
qualityOf({tag}) != 'Bad_Disabled'

```

---

_[View the full topic](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615)._
