I took a whack at modifying your isDST function for use in the United States. I have created a simple test sketch that seems to work and posted it to Github:
I made use of the standard Particle functions isDST, beginDST, endDST so I have a slightly different syntax:
if (Time.isValid())
{ // We only want to run this if time is valid - otherwise random result
isDSTusa() ? Time.beginDST() : Time.endDST();
}
Comments / suggestions / criticisms are welcome. I hope that other folks will find this useful as that change over is coming up.
Thanks,
Chip