From 6c19a7b8a712a2b6bc091c7db51ad763b5bd337f Mon Sep 17 00:00:00 2001 From: Adrian Kumpf <8999358+adriankumpf@users.noreply.github.com> Date: Mon, 19 Jul 2021 15:09:59 +0200 Subject: [PATCH] Handle owner_api errors returned by streaming API Addresses #1848 --- lib/tesla_api/stream.ex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/tesla_api/stream.ex b/lib/tesla_api/stream.ex index 2b319778..7a800cdc 100644 --- a/lib/tesla_api/stream.ex +++ b/lib/tesla_api/stream.ex @@ -147,7 +147,14 @@ defmodule TeslaApi.Stream do {:ok, state} {:ok, %{"msg_type" => "data:error", "tag" => ^tag, "error_type" => "client_error"} = msg} -> - raise "Client Error: #{inspect(msg)}" + case msg do + %{"value" => "owner_api error:" <> _ = error} -> + Logger.warn("Streaming API Client Error: #{error}") + {:close, state} + + _ -> + raise "Client Error: #{inspect(msg)}" + end {:ok, %{"msg_type" => "data:error", "tag" => ^tag, "error_type" => type, "value" => v}} -> Logger.error("Error #{inspect(type)}: #{v}")