Update UCI File Without Duplicate Entries

I'm using:

uci add_list web.ruleset_main.rules='broadband'
uci set web.broadband=rule
uci set web.broadband.target='/broadband.lp'
uci add_list web.broadband.roles='admin'
uci add_list web.broadband.roles='engineer'

The following adds a ruleset each time script is run:

uci add_list web.ruleset_main.rules='broadband'`

How do I just add entries that don't exist (ie no duplicate lines)? I tried:

uci set web.broadband.roles='admin'
uci add_list web.broadband.roles='engineer'

It deletes all roles, add admin and engineer. If another role is set (eg guest) it will be deleted.

Any suggestions?


option prod_friendly_name 'Technicolor TG800vac'
DISTRIB_DESCRIPTION='OpenWrt Chaos Calmer 15.05.1'