# No viable alternative at input

**URL:** <https://forum.inductiveautomation.com/t/no-viable-alternative-at-input/46663>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [May 13, 2021, 9:05am UTC](https://forum.inductiveautomation.com/t/no-viable-alternative-at-input/46663 "2021-05-13T09:05:22Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [May 13, 2021, 9:49am UTC](https://forum.inductiveautomation.com/t/no-viable-alternative-at-input/46663/7 "2021-05-13T09:49:35Z")

</div>

.read has also been deprecated, but bear in mind it returns 3 values, you have to get the .value an example shown here:

> [@Problem adding variable in email body](http://forum.inductiveautomation.com/t/problem-adding-variable-in-email-body/45846/2):
>
> value = newValue.value if value == 1: variable = system.tag.read("[default]TagTest") variableQV = variable.value body = "TagTestValue: " +str(variableQV) system.report.executeAndDistribute(path="MyPath", project="MyProject", action= "email", actionSettings = {"to":["myEmail"], "smtpServerName":"EmailSetting", "from":"myCompany", "subject":"MySubject", "body":body})

but as you are on ignition 80/81 you should use the new functions [system.tag.readBlocking - Ignition User Manual 8.0 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC80/system.tag.readBlocking)

---

_[View the full topic](https://forum.inductiveautomation.com/t/no-viable-alternative-at-input/46663)._
