add iot_mqtt_aircon_gateway debug
This commit is contained in:
parent
504f82109a
commit
c7153b3c9c
@ -104,6 +104,7 @@ handle_cast({send_command, Ref, ReceiverPid, DeviceId, Command}, State = #state{
|
||||
|
||||
NCommand = jiffy:encode(Command#{<<"sessionid">> => SessionId}, [force_utf8]),
|
||||
iot_mqtt_connection:publish_msg(ConnPid, Topic, NCommand, 2),
|
||||
lager:debug("[iot_mqtt_aircon_gateway] publish message, topic: ~p, message: ~ts", [Topic, NCommand]),
|
||||
|
||||
NInflight = maps:put({DeviceId, SessionId}, {Ref, ReceiverPid}, Inflight),
|
||||
{noreply, State#state{inflight = NInflight}}.
|
||||
@ -115,6 +116,7 @@ handle_cast({send_command, Ref, ReceiverPid, DeviceId, Command}, State = #state{
|
||||
{noreply, NewState :: #state{}, timeout() | hibernate} |
|
||||
{stop, Reason :: term(), NewState :: #state{}}).
|
||||
handle_info({mqtt_message, Topic, Payload, _Qos}, State = #state{inflight = Inflight}) ->
|
||||
lager:debug("[iot_mqtt_aircon_gateway] get reply of topic: ~p, payload: ~p", [Topic, Payload]),
|
||||
case binary:split(Topic, <<"/">>) of
|
||||
[<<>>, <<"aircon">>, DeviceId, <<"command_reply">>] ->
|
||||
Reply = catch jiffy:decode(Payload, [return_maps]),
|
||||
@ -122,12 +124,14 @@ handle_info({mqtt_message, Topic, Payload, _Qos}, State = #state{inflight = Infl
|
||||
#{<<"sessionid">> := SessionId} ->
|
||||
case maps:take({DeviceId, SessionId}, Inflight) of
|
||||
error ->
|
||||
lager:debug("[iot_mqtt_aircon_gateway] not find in inflight"),
|
||||
{noreply, State};
|
||||
{{Ref, ReceiverPid}, NInflight} ->
|
||||
case is_pid(ReceiverPid) andalso is_process_alive(ReceiverPid) of
|
||||
true ->
|
||||
ReceiverPid ! {send_command_reply, Ref, Reply};
|
||||
false ->
|
||||
lager:debug("[iot_mqtt_aircon_gateway] reveiver is dead"),
|
||||
ok
|
||||
end,
|
||||
{noreply, State#state{inflight = NInflight}}
|
||||
@ -136,7 +140,7 @@ handle_info({mqtt_message, Topic, Payload, _Qos}, State = #state{inflight = Infl
|
||||
{noreply, State}
|
||||
end;
|
||||
_ ->
|
||||
lager:notice("[~p] get a invalid topic: ~p, message: ~p", [?MODULE, Topic, Payload]),
|
||||
lager:notice("[iot_mqtt_aircon_gateway] get a invalid topic: ~p, message: ~p", [Topic, Payload]),
|
||||
{noreply, State}
|
||||
end;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user