defmodule AugieWeb.TemperatureLive do
use Phoenix.LiveView
alias Augie.Sensor.IMU
alias Phoenix.PubSub
@moduledoc false
def mount(_params, _context, socket) do
if connected?(socket), do: PubSub.subscribe(Augie.PubSub, "telemetry.imu")
{:ok, assign(socket, temperature: nil)}
end
def handle_info(%IMU{temperature: temperature}, socket) when is_float(temperature),
do: {:noreply, assign(socket, temperature: temperature)}
def handle_info(%IMU{temperature: temperature}, socket) when is_integer(temperature),
do: {:noreply, assign(socket, temperature: temperature / 1.0)}