OK, I know “413 request was too large” is caused by the request header size exceeding 1024 bytes. Are you using a browser to access the controller, or the mobile app? The parameters of the GET request itself is only about 600 bytes, so it must be that the rest of the header is fairly large.
“anything I don’t specify reverts to defaults” — I am surprised by this — this behavior is on early firmware versions. Firmware 2.1.9 and later no longer resets parameters if they don’t appear in the request. I think it’s best you submit your configurations so we can take a closer look.