diff --git a/config/config.exs b/config/config.exs index bf2b22b..1f25f9d 100644 --- a/config/config.exs +++ b/config/config.exs @@ -31,7 +31,7 @@ config :logger, backends: [RingLogger] keys = [ Path.join([System.user_home!(), ".ssh", "id_rsa.pub"]), - Path.join[(System.user_home!(), ".ssh", "id_rsa_mac.pub"]), + Path.join([System.user_home!(), ".ssh", "id_rsa_bekk.pub"]) ] |> Enum.filter(&File.exists?/1) diff --git a/lib/han_ams/Parser.ex b/lib/han_ams/Parser.ex index 17a3071..45ce1df 100644 --- a/lib/han_ams/Parser.ex +++ b/lib/han_ams/Parser.ex @@ -4,11 +4,9 @@ defmodule HanAms.Parser do alias HanAms.Lists def decode(<>) do - - ## finn checksum verifyChecksum(rest) - ## fortsett å parse data + # Start parsing of data parse(rest, %{}) end @@ -41,13 +39,13 @@ defmodule HanAms.Parser do defp parse( <<0x7E, _::binary-size(16), 0x09, len, datetime::binary-size(len), rest::binary>>, acc - ) do + ) + when acc == %{} do parse(rest, %{meter_time: parse_datetime(len, datetime)}) end # message type defp parse(<<0x02, message_type, rest::binary>>, acc) do - '' parse(rest, put_in(acc[:list], message_type_to_list(message_type))) end @@ -213,5 +211,4 @@ defmodule HanAms.Parser do 18 -> %Lists.ThreeFasesMessageType3{} end end - end diff --git a/test/han_ams_test.exs b/test/han_ams_test.exs index 5dc3d16..49d8a02 100644 --- a/test/han_ams_test.exs +++ b/test/han_ams_test.exs @@ -25,7 +25,6 @@ defmodule HanAmsTest do } end - # @tag :skip test "parse threeFasesMessageType2" do bytes = <<0x7E, 0xA0, 0x78, 0x01, 0x02, 0x01, 0x10, 0xC4, 0x98, 0xE6, 0xE7, 0x00, 0x0F, 0x40, 0x00, @@ -62,7 +61,6 @@ defmodule HanAmsTest do assert actual == expected end - @tag :skip test "parse threeFasesMessageType3" do bytes = <<0x7E, 0xA0, 0x9A, 0x01, 0x02, 0x01, 0x10, 0xAA, 0xA5, 0xE6, 0xE7, 0x00, 0x0F, 0x40, 0x00,