Thanks again @ScruffR. In my defence, (I think solely because of my use of the Timealarms library? I couldn’t get your code to work) I was in a bit of a rush to try to get a fix implemented asap. In the end I’ve gone for @BulldogLowell’s code which I’m using like this (in case it helps anyone coming after me):
bool isDST(int day, int month, int dayOfWeek)
{
if (month < 3 || month > 10)
{
return false;
}
if (month > 3 && month < 10)
{
return true;
}
int previousSunday = day - dayOfWeek;
if (month == 3)
{
return previousSunday >= 25;
}
if (month == 10) return previousSunday < 25;
{
return false;
}
}
and in loop
bool daylightSavings = isDST(Time.day(), Time.month(), Time.weekday());
Time.zone(daylightSavings? 1 : 0);
Seems to be working at the moment.