summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcheapie <no-email-for-you@example.com>2024-05-14 18:01:15 -0500
committercheapie <no-email-for-you@example.com>2024-05-14 18:01:15 -0500
commitdfcf5f322d05c8ca5e3336209c17516a1d5deba8 (patch)
tree90ca2a526378a4398c7823487393e24e2a25cd6e
parent90e7f15112f47756983e1d2013b70f78d788b3dc (diff)
downloadcelevator-dfcf5f322d05c8ca5e3336209c17516a1d5deba8.tar
celevator-dfcf5f322d05c8ca5e3336209c17516a1d5deba8.tar.gz
celevator-dfcf5f322d05c8ca5e3336209c17516a1d5deba8.tar.bz2
celevator-dfcf5f322d05c8ca5e3336209c17516a1d5deba8.tar.xz
celevator-dfcf5f322d05c8ca5e3336209c17516a1d5deba8.zip
Add car call security options to mesecons input modules
-rw-r--r--controllerfw.lua4
-rw-r--r--mesecons.lua45
2 files changed, 49 insertions, 0 deletions
diff --git a/controllerfw.lua b/controllerfw.lua
index 73c352f..f4c5b07 100644
--- a/controllerfw.lua
+++ b/controllerfw.lua
@@ -761,6 +761,10 @@ elseif event.type == "remotemsg" then
mem.groupdncalls[event.msg] = nil
elseif event.channel == "carcall" and mem.carstate == "normal" then
mem.carcalls[event.msg] = true
+ elseif event.channel == "security" and type(event.msg.floor) == "number" then
+ if mem.params.floornames[event.msg.floor] and event.msg.floor ~= (mem.params.mainlanding or 1) then
+ mem.params.carcallsecurity[event.msg.floor] = event.msg.mode
+ end
end
elseif event.type == "lightcurtain" and not mem.nudging then
if mem.carstate == "normal" or mem.carstate == "indep" then
diff --git a/mesecons.lua b/mesecons.lua
index bc00185..7064821 100644
--- a/mesecons.lua
+++ b/mesecons.lua
@@ -348,6 +348,51 @@ local inputoptions = {
end,
needsfloor = false,
},
+ {
+ id = "secdeny",
+ desc = "Lock Car Calls at Landing:",
+ func_on = function(controllerpos,floor)
+ celevator.controller.run(controllerpos,{
+ type = "remotemsg",
+ channel = "security",
+ msg = {
+ floor = floor,
+ mode = "deny",
+ },
+ })
+ end,
+ needsfloor = true,
+ },
+ {
+ id = "secauth",
+ desc = "Require Auth for Car Calls at Landing:",
+ func_on = function(controllerpos,floor)
+ celevator.controller.run(controllerpos,{
+ type = "remotemsg",
+ channel = "security",
+ msg = {
+ floor = floor,
+ mode = "auth",
+ },
+ })
+ end,
+ needsfloor = true,
+ },
+ {
+ id = "secallow",
+ desc = "Unlock Car Calls at Landing:",
+ func_on = function(controllerpos,floor)
+ celevator.controller.run(controllerpos,{
+ type = "remotemsg",
+ channel = "security",
+ msg = {
+ floor = floor,
+ mode = nil,
+ },
+ })
+ end,
+ needsfloor = true,
+ },
}
local dinputoptions = {