diff --git a/lib/localiser/mqtt/router.ex b/lib/localiser/mqtt/router.ex index a83d29e..5d1fd0d 100644 --- a/lib/localiser/mqtt/router.ex +++ b/lib/localiser/mqtt/router.ex @@ -52,10 +52,11 @@ defmodule Localiser.MQTT.Router do defp handle_rssi(sensor_id, payload) do case Jason.decode(payload) do - {:ok, %{"id" => tag_id, "rssi" => rssi} = decoded} -> + {:ok, %{"id" => id, "rssi" => rssi, "type" => type} = decoded} -> reading = %{ + type: type, sensor_id: sensor_id, - tag_id: tag_id, + tag_id: "#{type}:#{id}", rssi: rssi, tx_power: Map.get(decoded, "tx_power"), timestamp: DateTime.utc_now() @@ -63,17 +64,6 @@ defmodule Localiser.MQTT.Router do Localiser.MQTT.Telemetry.count_reading() Localiser.RSSI.Buffer.push(reading) - {:ok, %{"tag_id" => tag_id, "rssi" => rssi}} -> - reading = %{ - sensor_id: sensor_id, - tag_id: tag_id, - rssi: rssi, - tx_power: nil, - timestamp: DateTime.utc_now() - } - Localiser.MQTT.Telemetry.count_reading() - Localiser.RSSI.Buffer.push(reading) - {:error, reason} -> Logger.error("[MQTT.Router] Bad payload from #{sensor_id}: #{inspect(reason)}") Localiser.MQTT.Telemetry.count_error()