Send E-Stop message if the bot has been locked for 10 minutes.
This commit is contained in:
parent
4ddb45e7dd
commit
a1faf4a2ca
|
@ -125,6 +125,7 @@ defmodule Farmbot.Bootstrap.Supervisor do
|
|||
|
||||
children = [
|
||||
worker(Farmbot.Bootstrap.AuthTask, []),
|
||||
worker(Farmbot.CeleryScript.EstopTimer, []),
|
||||
supervisor(Farmbot.Firmware.Supervisor, []),
|
||||
supervisor(Farmbot.BotState.Supervisor, []),
|
||||
supervisor(Farmbot.BotState.Transport.Supervisor, []),
|
||||
|
|
|
@ -3,6 +3,7 @@ defmodule Farmbot.CeleryScript.AST.Node.Sequence do
|
|||
use Farmbot.CeleryScript.AST.Node
|
||||
use Farmbot.Logger
|
||||
import Farmbot.System.ConfigStorage, only: [get_config_value: 3]
|
||||
alias Farmbot.CeleryScript.EstopTimer
|
||||
allow_args [:version, :label, :locals, :is_outdated]
|
||||
|
||||
def execute(%{label: name}, body, env) do
|
||||
|
@ -45,11 +46,12 @@ defmodule Farmbot.CeleryScript.AST.Node.Sequence do
|
|||
end
|
||||
|
||||
defp maybe_send_email(msg) do
|
||||
channels = if get_config_value(:bool, "settings", "email_on_estop") do
|
||||
[:email, :toast]
|
||||
else
|
||||
[]
|
||||
Logger.error(1, msg)
|
||||
if get_config_value(:bool, "settings", "email_on_estop") do
|
||||
if !EstopTimer.timer_active? do
|
||||
EstopTimer.start_timer(msg)
|
||||
end
|
||||
end
|
||||
Logger.error 1, msg, [channels: channels]
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -506,6 +506,10 @@ defmodule Farmbot.Firmware do
|
|||
defp do_reply(state, reply) do
|
||||
maybe_cancel_timer(state.timer)
|
||||
case state.current do
|
||||
%Current{fun: :emergency_unlock, from: from} ->
|
||||
# i really don't want this to be here..
|
||||
Farmbot.CeleryScript.EstopTimer.cancel_timer()
|
||||
:ok = GenServer.reply from, reply
|
||||
%Current{fun: :emergency_lock, from: from} ->
|
||||
:ok = GenServer.reply from, {:error, :emergency_lock}
|
||||
%Current{fun: _fun, from: from} ->
|
||||
|
|
Loading…
Reference in a new issue