In the simplest case, to reset the hub by software, you need to intercept the request the hub makes to the old api, hubapi.myacurite.com, and return a special json string. Here's a small php program that sends back what it needs (untested):
<?php
$headers = getallheaders();
header('Content-Type: application/json');
echo '{"localtime":"04:00:00","checkversion":"224"}';
?>
This tells the hub to reset the dailyrain counter at 04:00:00.
The code above, in addition to sending json "{"localtime":"04:00:00","checkversion":"224"}", will also (behind the scenes) send additional headers, one which contains the time of your server where the code is running. The full response to the hub would look something like this if we sniffed the network:
Date: Fri, 15 Mar 2019 04:32:02 GMT
Server: Apache/2.4.25 (Raspbian)
Content-Length: 45
Connection: close
Content-Type: application/json
{"localtime":"04:00:00","checkversion":"224"}
So it looks at the time returned by your web server code, and when the time is just at or shortly after the time in the json string, it will reset the counter. The hub doesn't know what timezone it is in, so you should set the json string to something that makes sense for your zone. In my case I'm on the east coast and my times are returned in GMT+0, so since I want the hub to rollover at midnight, I make that json string 04:00:00.
Thinking about it, we can probably just set the timezone in php.ini, and that would let you use 00:00:00 and adjust for DST automatically.
Intercepting the original request to the acurite, and setting up something to run that code, is probably the hard part if you don't hack linux or write code for a living or hobby. If you look back, I posted a link to a github project that has some instructions/advice, and there are other people that have written similar programs.