diff --git a/src/base/fm.lua b/src/base/fm.lua index 6d77453..0fa2ec5 100644 --- a/src/base/fm.lua +++ b/src/base/fm.lua @@ -3,8 +3,10 @@ FM = function(PIN, f) gpio.mode(PIN, gpio.INT); gpio.trig(PIN, 'up', function() v = v + 1; - F.s('fm'..PIN, v); - f(v); + if v%450 == 0 then + f(v/450); + F.s('fm'..PIN, v); + end end); return function() return v; diff --git a/src/base/rly.lua b/src/base/rly.lua index ddc564e..09fb9ba 100644 --- a/src/base/rly.lua +++ b/src/base/rly.lua @@ -1,11 +1,12 @@ -RLY = function(P, f) +RLY = function(P, f, SHIFT) + SHIFT = SHIFT or 0; local v = F.n('rly'..P); gpio.mode(P, gpio.OUTPUT); - gpio.write(P, v); + gpio.write(P, (v + SHIFT) % 2); return function(c) if c ~= nil then v = tonumber(c) % 2; - gpio.write(P, v); + gpio.write(P, (v + SHIFT) % 2); F.s('rly'..P, v); if f ~= nil then f(v); end end diff --git a/src/bath/script.lua b/src/bath/script.lua index f789536..5922f0d 100644 --- a/src/bath/script.lua +++ b/src/bath/script.lua @@ -1,5 +1,5 @@ P_RLY = 1; -P_FM = 2; +P_FM = 5; M = MQTT_TOPIC_PREFIX; MQTT_KEEP_ALIVE = 10; @@ -9,9 +9,9 @@ dofile('fm.lua'); R = RLY(P_RLY, function(c) REG(M..'snsr/valve', c); -end); +end, 1); -F = FM(P_FM, function(v) +FM(P_FM, function(v) REG(M..'snsr/flowmeter', v); end); diff --git a/src/din/script.lua b/src/din/script.lua index 1e03ff2..c9921ee 100644 --- a/src/din/script.lua +++ b/src/din/script.lua @@ -1,5 +1,3 @@ -P_SWI_O = 2; -P_SWI_I = 5; P_RLY = 1; M = MQTT_TOPIC_PREFIX; @@ -9,8 +7,8 @@ dofile('swi.lua'); R = RLY(P_RLY, function(c) REG(M..'snsr/light', c); -end); -SWI(P_SWI_O, P_SWI_I, function(c) +end, 1); +SWI(function(c) REG(M..'snsr/swi', c); R(R()+1); end); diff --git a/src/firmware/nodemcu-release-9-modules-2022-07-23-11-41-58-integer.bin b/src/firmware/nodemcu-release-9-modules-2022-07-23-11-41-58-integer.bin new file mode 100644 index 0000000..af2db28 Binary files /dev/null and b/src/firmware/nodemcu-release-9-modules-2022-07-23-11-41-58-integer.bin differ diff --git a/src/hall/script.lua b/src/hall/script.lua index 14bfe1b..4fced7b 100644 --- a/src/hall/script.lua +++ b/src/hall/script.lua @@ -8,12 +8,12 @@ dofile('swi.lua'); R = RLY(P_RLY, function(c) REG(M..'snsr/light', c); -end); +end, 0); D = RLY(P_TRIGER, function(c) if c == 1 then REG(M..'snsr/door', c); end -end); +end, 0); D(0); SWI(function(c) REG(M..'snsr/swi', c); diff --git a/src/liv/script.lua b/src/liv/script.lua index 1e03ff2..c9921ee 100644 --- a/src/liv/script.lua +++ b/src/liv/script.lua @@ -1,5 +1,3 @@ -P_SWI_O = 2; -P_SWI_I = 5; P_RLY = 1; M = MQTT_TOPIC_PREFIX; @@ -9,8 +7,8 @@ dofile('swi.lua'); R = RLY(P_RLY, function(c) REG(M..'snsr/light', c); -end); -SWI(P_SWI_O, P_SWI_I, function(c) +end, 1); +SWI(function(c) REG(M..'snsr/swi', c); R(R()+1); end);