amqp-mqtt swap now enabled
parent
94314cce9d
commit
31ea283015
|
@ -21,8 +21,8 @@ config :farmbot, :init, [
|
|||
|
||||
# Transports.
|
||||
config :farmbot, :transport, [
|
||||
Farmbot.BotState.Transport.GenMQTT,
|
||||
# Farmbot.BotState.Transport.AMQP,
|
||||
# Farmbot.BotState.Transport.GenMQTT,
|
||||
Farmbot.BotState.Transport.AMQP,
|
||||
Farmbot.BotState.Transport.HTTP,
|
||||
]
|
||||
|
||||
|
|
|
@ -44,8 +44,8 @@ config :farmbot, :init, [
|
|||
]
|
||||
|
||||
config :farmbot, :transport, [
|
||||
Farmbot.BotState.Transport.GenMQTT,
|
||||
# Farmbot.BotState.Transport.AMQP,
|
||||
# Farmbot.BotState.Transport.GenMQTT,
|
||||
Farmbot.BotState.Transport.AMQP,
|
||||
Farmbot.BotState.Transport.HTTP,
|
||||
]
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ defmodule Farmbot.Bootstrap.Supervisor do
|
|||
# get a token
|
||||
case @auth_task.authorize(email, pass, server) do
|
||||
{:ok, token} ->
|
||||
Logger.info(2, "Successful authorization: #{@auth_task} - #{email} - #{server}")
|
||||
Logger.success(2, "Successful authorization: #{@auth_task} - #{email} - #{server}")
|
||||
ConfigStorage.update_config_value(:bool, "settings", "first_boot", false)
|
||||
ConfigStorage.update_config_value(:string, "authorization", "token", token)
|
||||
ConfigStorage.update_config_value(:string, "authorization", "last_shutdown_reason", nil)
|
||||
|
|
|
@ -7,6 +7,7 @@ defmodule Farmbot.BotState.Transport.AMQP do
|
|||
alias Farmbot.System.ConfigStorage
|
||||
alias Farmbot.CeleryScript
|
||||
alias CeleryScript.AST
|
||||
import Farmbot.BotState.Utils
|
||||
|
||||
@exchange "amq.topic"
|
||||
|
||||
|
@ -24,7 +25,7 @@ defmodule Farmbot.BotState.Transport.AMQP do
|
|||
|
||||
def init([]) do
|
||||
token = ConfigStorage.get_config_value(:string, "authorization", "token")
|
||||
with {:ok, %{bot: device, mqtt: mqtt_server, virtual_host: vhost}} <- Farmbot.Jwt.decode(token),
|
||||
with {:ok, %{bot: device, mqtt: mqtt_server, vhost: vhost}} <- Farmbot.Jwt.decode(token),
|
||||
{:ok, conn} <- AMQP.Connection.open([host: mqtt_server, username: device, password: token, virtual_host: vhost || "/"]),
|
||||
{:ok, chan} <- AMQP.Channel.open(conn),
|
||||
queue_name <- Enum.join([device, UUID.uuid1()], "-"),
|
||||
|
@ -56,7 +57,7 @@ defmodule Farmbot.BotState.Transport.AMQP do
|
|||
|
||||
def handle_log_events(logs, state) do
|
||||
for %Farmbot.Log{} = log <- logs do
|
||||
if log.module == nil or (Module.split(log.module || Elixir.Logger) |> List.first == "Farmbot") do
|
||||
if should_log?(log.module, log.verbosity) do
|
||||
location_data = Map.get(state.state_cache || %{}, :location_data, %{position: %{x: -1, y: -1, z: -1}})
|
||||
meta = %{type: log.level, x: nil, y: nil, z: nil}
|
||||
log_without_pos = %{created_at: log.time, meta: meta, channels: log.meta[:channels] || [], message: log.message}
|
||||
|
|
|
@ -4,6 +4,7 @@ defmodule Farmbot.BotState.Transport.GenMQTT do
|
|||
use Farmbot.Logger
|
||||
alias Farmbot.BotState.Transport.GenMQTT.Client
|
||||
alias Farmbot.CeleryScript.AST
|
||||
import Farmbot.BotState.Utils
|
||||
|
||||
@doc false
|
||||
def start_link do
|
||||
|
@ -36,7 +37,7 @@ defmodule Farmbot.BotState.Transport.GenMQTT do
|
|||
|
||||
def handle_log_events(logs, {%{client: client} = internal_state, old_bot_state}) do
|
||||
for %Farmbot.Log{} = log <- logs do
|
||||
if log.module != nil or Module.split(log.module || Elixir.Logger) |> List.first == "Farmbot" and (log.verbosity || 0) < 3 do
|
||||
if should_log?(log.module, log.verbosity) do
|
||||
location_data = Map.get(old_bot_state || %{}, :location_data, %{position: %{x: -1, y: -1, z: -1}})
|
||||
meta = %{type: log.level, x: nil, y: nil, z: nil, verbosity: log.verbosity}
|
||||
log_without_pos = %{created_at: log.time, meta: meta, channels: log.meta[:channels] || [], message: log.message}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
defmodule Farmbot.BotState.Utils do
|
||||
@moduledoc "Utility functions for handling bot_state data"
|
||||
|
||||
def should_log?(module, verbosity)
|
||||
def should_log?(nil, verbosity) when verbosity < 3, do: true
|
||||
def should_log?(nil, _), do: false
|
||||
|
||||
def should_log?(module, verbosity) when verbosity < 3 do
|
||||
List.first(Module.split(module)) == "Farmbot"
|
||||
end
|
||||
|
||||
def should_log?(_, _), do: false
|
||||
end
|
|
@ -6,7 +6,7 @@ defmodule Farmbot.Jwt do
|
|||
:exp,
|
||||
:iss,
|
||||
:mqtt,
|
||||
:virtual_host,
|
||||
:vhost,
|
||||
:os_update_server
|
||||
]
|
||||
|
||||
|
@ -16,7 +16,8 @@ defmodule Farmbot.Jwt do
|
|||
exp: number,
|
||||
iss: binary,
|
||||
mqtt: binary,
|
||||
os_update_server: binary
|
||||
os_update_server: binary,
|
||||
vhost: binary,
|
||||
}
|
||||
|
||||
@doc "Decode a token."
|
||||
|
|
|
@ -43,12 +43,12 @@ defmodule Farmbot.Logger.Console do
|
|||
end
|
||||
|
||||
defp maybe_log(%Farmbot.Log{module: module} = log) do
|
||||
should_log = List.first(Module.split(module)) == "Farmbot"
|
||||
if should_log do
|
||||
# should_log = List.first(Module.split(module)) == "Farmbot"
|
||||
# if should_log do
|
||||
IO.inspect log
|
||||
else
|
||||
:ok
|
||||
end
|
||||
# else
|
||||
# :ok
|
||||
# end
|
||||
end
|
||||
|
||||
def handle_call({:set_verbosity_level, num}, _from, state) do
|
||||
|
|
Loading…
Reference in New Issue