     jwt = Keyword.fetch!(args, :jwt)
     http_ping_timer = Process.send_after(self(), :http_ping, 5000)
 
+    _ = Leds.blue(:off)
+
     state = %State{
       conn: nil,
       chan: nil,


    case API.get(API.client(), "/api/device") do
      {:ok, _} ->
        http_ping_timer = Process.send_after(self(), :http_ping, ms)
        {:noreply, %{state | http_ping_timer: http_ping_timer, ping_fails: 0}}

      _ ->
        ping_fails = state.ping_fails + 1
        FarmbotCore.Logger.error(3, "Ping failed (#{ping_fails})")
        http_ping_timer = Process.send_after(self(), :http_ping, ms)
        {:noreply, %{state | http_ping_timer: http_ping_timer, ping_fails: ping_fails}}
    end

         :ok <- Queue.bind(chan, ping, @exchange, routing_key: route <> ".#"),
         {:ok, _tag} <- Basic.consume(chan, ping, self(), no_ack: true) do
      FarmbotCore.Logger.debug(3, "connected to PingPong channel")
      _ = Leds.blue(:solid)
      {:noreply, %{state | conn: conn, chan: chan}}
    else
      nil ->
