From f629f4a01968eb69b511ae3d1432be22a1685438 Mon Sep 17 00:00:00 2001 From: Daniel Kempkens Date: Tue, 13 Aug 2024 21:22:18 +0200 Subject: [PATCH] feat(ha): publish weather data --- lib/weewx_proxy/http/ecowitt.ex | 3 ++- lib/weewx_proxy/http/purple_air.ex | 3 ++- lib/weewx_proxy/sdr/ecowitt.ex | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/weewx_proxy/http/ecowitt.ex b/lib/weewx_proxy/http/ecowitt.ex index f75c5a8..5c26b5b 100644 --- a/lib/weewx_proxy/http/ecowitt.ex +++ b/lib/weewx_proxy/http/ecowitt.ex @@ -23,7 +23,8 @@ defmodule WeewxProxy.HTTP.Ecowitt do sdr_keys = Sdr.recently_uploaded_keys(data.dateTime) _ = Logger.debug("Removing keys: `#{inspect(sdr_keys)}'") partial_data = Map.drop(data, sdr_keys) - Publisher.publish("weewx/ingest_us", partial_data) + :ok = Publisher.publish("weewx/ingest_us", partial_data) + Publisher.publish_value_map("hadata/weewx/us", partial_data) else _ = Logger.error("Not publishing record because data appears invalid: #{inspect(data)}") :ok diff --git a/lib/weewx_proxy/http/purple_air.ex b/lib/weewx_proxy/http/purple_air.ex index ea08e59..5cd1cc0 100644 --- a/lib/weewx_proxy/http/purple_air.ex +++ b/lib/weewx_proxy/http/purple_air.ex @@ -136,7 +136,8 @@ defmodule WeewxProxy.HTTP.PurpleAir do } _ = :ets.insert(:purpleair, {:last_update, transformed_data.dateTime}) - Publisher.publish("weewx/ingest_si", transformed_data) + :ok = Publisher.publish("weewx/ingest_si", transformed_data) + Publisher.publish_value_map("hadata/weewx/si", transformed_data) end @spec format_date_time(parsed_body()) :: non_neg_integer() diff --git a/lib/weewx_proxy/sdr/ecowitt.ex b/lib/weewx_proxy/sdr/ecowitt.ex index c2d2ffb..f8fd6cd 100644 --- a/lib/weewx_proxy/sdr/ecowitt.ex +++ b/lib/weewx_proxy/sdr/ecowitt.ex @@ -141,7 +141,8 @@ defmodule WeewxProxy.Sdr.Ecowitt do partial_data = Map.drop(data, purpleair_keys) true = :ets.insert(:sdr_ecowitt, {{type, :last_update}, data.dateTime}) - Publisher.publish("weewx/ingest_si", partial_data) + :ok = Publisher.publish("weewx/ingest_si", partial_data) + Publisher.publish_value_map("hadata/weewx/si", partial_data) else _ = Logger.error("Not publishing record because data appears invalid: #{inspect(data)}") :ok