This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
augie/webapp/lib/augie_web/live/temperature_live.ex

20 lines
600 B
Elixir
Raw Normal View History

2020-04-28 21:09:54 +12:00
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, "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