diff --git a/time/timeswitch/package.json b/time/timeswitch/package.json
index 9b699382..6d0fca3b 100644
--- a/time/timeswitch/package.json
+++ b/time/timeswitch/package.json
@@ -3,7 +3,7 @@
"version" : "0.0.8",
"description" : "A Node-RED node to provide a simple timeswitch to schedule daily on/off events.",
"dependencies" : {
- "moment-timezone": "^0.5.33",
+ "spacetime": "^6.12.5",
"suncalc": "^1.8.0"
},
"repository" : {
diff --git a/time/timeswitch/timeswitch.html b/time/timeswitch/timeswitch.html
index 7689f5bf..52506229 100644
--- a/time/timeswitch/timeswitch.html
+++ b/time/timeswitch/timeswitch.html
@@ -235,7 +235,7 @@
-
+
@@ -265,7 +265,7 @@
-
+
@@ -276,19 +276,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -298,7 +286,7 @@
-
+
@@ -343,23 +331,15 @@
-
-
-
-
-
-
-
-
+
-
-
-
+
+
@@ -389,17 +369,15 @@
-
-
-
+
-
-
+
+
@@ -440,10 +418,10 @@
-
+
-
+
@@ -543,9 +521,10 @@
-
+
+
@@ -562,7 +541,7 @@
-
+
@@ -571,12 +550,12 @@
-
+
-
+
@@ -586,13 +565,12 @@
-
+
-
-
+
@@ -600,48 +578,71 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -660,7 +661,7 @@
-
+
@@ -705,16 +706,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -726,23 +717,9 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
@@ -786,30 +763,64 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
diff --git a/time/timeswitch/timeswitch.js b/time/timeswitch/timeswitch.js
index 0e1c7506..1e0e8f40 100644
--- a/time/timeswitch/timeswitch.js
+++ b/time/timeswitch/timeswitch.js
@@ -2,7 +2,7 @@
module.exports = function(RED) {
"use strict";
var SunCalc = require('suncalc');
- var moment = require('moment-timezone');
+ const spacetime = require("spacetime")
function TimeswitchNode(n) {
RED.nodes.createNode(this, n);
@@ -44,8 +44,8 @@ module.exports = function(RED) {
this.on("input", function(msg2) {
if (msg2.payload === "reset") { ison = 0; }
- var timeOffset = moment.tz.zone(this.timezone).utcOffset(Date.now()) * 60 * 1000;
- var now = new Date(Date.now() - timeOffset);
+ var timeOffset = spacetime(Date.now()).goto(this.timezone.toLowerCase()).timezone().current.offset * 60 * 60 * 1000;
+ var now = new Date(Date.now() + timeOffset);
var nowMillis = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), 0);
var midnightMillis = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), 0, 0);
var today = Math.round((nowMillis - midnightMillis) / 60000) % 1440;