Mount does not send correct assigns in my code

Oh right. handle_event also expects 3 arguments. Try:

def handle_event("set_temp", _params, socket) do
  {:noreply, assign(socket, :temp, 24)}
end