Zabbix Trigger Hysteresis - Incorrect trigger expression

I am trying to use the following expressions:

({TRIGGER.VALUE}=0&{Template App Zabbix Agent:agent.ping.nodata(5m)}=1) | ({TRIGGER.VALUE}=1&{Template App Zabbix Agent:agent.ping.min(20m)}=1)

But i get the following error: Incorrect trigger expression. Check expression part starting from "0&{Template App Zabbix Agent:agent.ping.nodata(5m)}=1)|({TRIGGER.VALUE}=1&{Template App Zabbix Agent:agent.ping.min(20m)}=1)".

Any idea what i am doing wrong?


Solution 1:

The issue comes from the "&" and "|", you can see the full list of supported expressions for 3.2 here: https://www.zabbix.com/documentation/3.2/manual/config/triggers/expression

That's my sample trigger for temperature hysteresis:

({TRIGGER.VALUE}=0 and {Template Sensor:temp.T1.last(5m)}>{$MAX_TEMP_T1}) or 
        ({TRIGGER.VALUE}=1 and {Template Sensor:temp.T1.last(5m)}>{$MAX_TEMP_T1_HYST})

With these template macros:

{$MAX_TEMP_T1} = 28
{$MAX_TEMP_T1_HYST} = 25

Also, from 3.2 you can use the "Recovery Expression" feature: https://www.zabbix.com/documentation/3.2/manual/introduction/whatsnew320#easier_trigger_hysteresis