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)} end