Compare commits
3 Commits
feature/im
...
b547f66d86
| Author | SHA1 | Date | |
|---|---|---|---|
|
b547f66d86
|
|||
|
f3de8e36ea
|
|||
|
44f2c57819
|
@@ -21,5 +21,7 @@ RUN cargo auditable build --release
|
||||
|
||||
FROM gcr.io/distroless/cc-debian12:nonroot AS runtime
|
||||
COPY --from=builder /app/target/release/automation /app/automation
|
||||
ENV AUTOMATION__ENTRYPOINT=/app/config/config.lua
|
||||
ENV LUA_PATH="/app/?.lua;;"
|
||||
COPY ./config /app/config
|
||||
CMD [ "/app/automation" ]
|
||||
|
||||
@@ -25,10 +25,18 @@ function module.setup(mqtt_client)
|
||||
})
|
||||
windows.add(window)
|
||||
|
||||
local printer = devices.OutletOnOff.new({
|
||||
name = "3D Printer",
|
||||
room = "Guest Room",
|
||||
topic = helper.mqtt_z2m("guest/printer"),
|
||||
client = mqtt_client,
|
||||
})
|
||||
|
||||
--- @type Module
|
||||
return {
|
||||
light,
|
||||
window,
|
||||
printer,
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@@ -59,28 +59,23 @@ function module.setup(mqtt_client)
|
||||
})
|
||||
hallway_automation.set_trash(trash)
|
||||
|
||||
---@param duration number
|
||||
---@return fun(_, open: boolean)
|
||||
local function frontdoor_presence(duration)
|
||||
local timeout = utils.Timeout.new()
|
||||
|
||||
return function(_, open)
|
||||
local function frontdoor_presence(_, open)
|
||||
if open then
|
||||
timeout:cancel()
|
||||
|
||||
if presence.overall_presence() then
|
||||
if not presence.overall_presence() then
|
||||
mqtt_client:send_message(helper.mqtt_automation("presence/contact/frontdoor"), {
|
||||
state = true,
|
||||
updated = utils.get_epoch(),
|
||||
})
|
||||
end
|
||||
else
|
||||
timeout:start(duration, function()
|
||||
timeout:start(debug.debug_mode and 10 or 15 * 60, function()
|
||||
mqtt_client:send_message(helper.mqtt_automation("presence/contact/frontdoor"), nil)
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local frontdoor = devices.ContactSensor.new({
|
||||
name = "Frontdoor",
|
||||
@@ -89,7 +84,7 @@ function module.setup(mqtt_client)
|
||||
topic = helper.mqtt_z2m("hallway/frontdoor"),
|
||||
client = mqtt_client,
|
||||
callback = {
|
||||
frontdoor_presence(debug.debug_mode and 10 or 15 * 60),
|
||||
frontdoor_presence,
|
||||
hallway_automation.door_callback,
|
||||
},
|
||||
battery_callback = battery.callback,
|
||||
|
||||
Reference in New Issue
Block a user