It seems like any frequency below 300000 returns this error. However, if I scan the same command + send using signal/tx with “use_scan”: true, it works fine. It seems like there’s a validation error.
Testing on a unit (serial number starting with ZZ), version v2.28.0 firmware:
curl -iH "Bond-Token: 5exxxx52efb09a4a" http://192.168.86.225/v2/signal/tx -X PUT -d '{"freq":38,"modulation":"OOK","encoding":"hex","bps":40000,"reps":1,"data":"FF00FF00FF00"}
HTTP/1.1 204 No Content
Content-Length: 0
Looking at the source code, I don’t see why this wouldn’t work on v2.15.8.1. Anyways, you could upgrade to more recent firmware. If you have a “Snowbird” unit (serial number starting A or B) then you’ll need to use the “beta” firmware channel and be warned that there’s a chance of data loss with an upgrade of those Snowbird units.