I've hunted through multiple solutions in search for this over the last couple of months off and on, and haven't found an actual clear solution for what I'm looking to do; most people helping end up directing the person asking to various excellent methods of ensuring bandwidth fairness or reducing buffer bloat. That's probably the right answer for most of the people asking, but I'm looking for a very specific solution that actually does require a bandwidth limit for a single device (or IP range).
I've got a small home network running OpenWRT successfully with a Verizon air card. I do some light streaming video usage, almost exclusively with a single device (smart TV). My interest is in limiting bandwidth to this one device in order to force the Netflix and Amazon apps into a considerably lower video resolution, since both services intentionally avoid giving you a choice in their app settings. Doing so considerably extends the portion of the month I can watch low res video without getting the rest of my connection deprioritized. No fairness-oriented solution will solve this particular quirk without applying a pretty hard kb/s limit to the device.
I'm currently running an OpenWRT derivative named ROOter, based on LEDE 17.01.2, and it's been working perfectly otherwise for almost a year and a half. If necessary to get a package I'd need, I can back up my current image and upgrade to the latest version, which is based on OpenWrt 18.06.1. I'm using ROOter primarily due to the excellent job it does handling air cards.
My hardware can't support multiple SSID's, so if the easiest solution is to move the single device to a new interface and rate limit that one interface, I can do that, but it'll take a bit of extra work.
Is there a simple solution I'm missing? I've done custom traffic shaping using tc, but it's been years, and I'd end up completely re-learning if I need to do a custom setup. I'll do that if I need.
Thanks for your time if you have any suggestions!