Buenos días
No tengo ni idea sobre los scripts de Weewx, pero por lo pronto yo esa condicional no la haría así, sino al revés, es decir:
var ahora = new Date
if (ahora.getHours < 18 && ahora.getHours > 06)
else
end if
De lo contrario, yo creo que siempre te saltaría al else, ya que por ejemplo si "ahora.getHours" vale 20, se cumpliría sólo la primera condición, pero no la segunda.
Aún así, no creo que sea el problema, ya que no es un error sintáctico.
Saludos