633 B · text History 9c0fc16
defmodule LambentExWeb.DeviceController do
  use LambentExWeb, :controller

  alias LambentEx.API
  @pubsub_name LambentEx.PubSub
  @pubsub_topic "http_pubs"

  action_fallback LambentExWeb.FallbackController

  require Logger

  def index(conn, data) do
    {path, data} = data |> Map.pop("path")

    LambentEx.Meta.get_http()
    |> Enum.each(fn {name, hpath} ->
      case {name, hpath} do
        {name, ^path} -> Phoenix.PubSub.broadcast(@pubsub_name, @pubsub_topic, {name, path, data})
        {name, _path} -> :ok
      end
    end)

    d = LambentEx.Scan.ESP8266x7777.devices()

    text(conn, %{esp82667777: d})
  end
end