From 70c1ba24af27ba64e1d9ad50eb722541212ed8b6 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 30 六月 2023 17:26:54 +0800 Subject: [PATCH] 2023年06月30日17:26:51 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index 5914e25..67b6bcd 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -13,6 +13,7 @@ import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.ui.bean.HouseIdBean; +import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.uni.UniToAndroidBean; @@ -24,6 +25,7 @@ import com.hdl.sdk.link.core.callback.GatewayCallBack; import com.hdl.sdk.link.core.callback.ModbusCallBack; import com.hdl.sdk.link.core.connect.HDLModBusConnect; +import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import org.greenrobot.eventbus.EventBus; import org.json.JSONObject; @@ -97,7 +99,51 @@ //璁惧妯″潡 switch (type) { case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: { - //娣诲姞 + //娣诲姞璁惧鍒颁簯绔� + String mac = getKeyValue("mac", getKeyValue("data", data)); + + HdlDeviceLogic.getInstance().steGatewayParam(mac, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + HdlDeviceLogic.getInstance().editGatewayParam(mac, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac); + if (gatewayBean == null) { + uniCallbackData(null, -100, "鏈湴鎵句笉鍒扮綉鍏�", callback); + return; + } + HdlDeviceLogic.getInstance().addInverterDeviceToCloud(mac, + gatewayBean.getGatewayType(), + gatewayBean.getSid(), + gatewayBean.getOid(), + gatewayBean.getDevice_name(), + new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniCallbackData(null, callback); + } + + @Override + public void onFailure(Exception exception) { + uniCallbackData(null, -100, exception.getMessage(), callback); + } + }); + } + + @Override + public void onFailure(Exception exception) { + uniCallbackData(null, -100, exception.getMessage(), callback); + } + }); + } + + @Override + public void onFailure(Exception exception) { + uniCallbackData(null, -100, exception.getMessage(), callback); + } + }); + } break; @@ -119,6 +165,24 @@ break; case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND: { sendModBus(data, callback); + } + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OID: { + //娣诲姞璁惧鍒颁簯绔� + String mac = getKeyValue("mac", getKeyValue("data", data)); + //鑾峰彇oid鍒楄〃 + HdlDeviceLogic.getInstance().getGatewayOidList(mac, new CloudCallBeak<List<OidBean>>() { + @Override + public void onSuccess(List<OidBean> list) { + if (callback != null) { + uniCallbackData(list, callback); + } + } + + @Override + public void onFailure(Exception e) { + uniCallbackData(null, -2, e.getMessage(), callback); + } + }); } } @@ -293,6 +357,9 @@ if (TextUtils.isEmpty(obj.toString())) { return new JSONObject(); } + if (obj.toString().startsWith("{") && obj.toString().endsWith("}")) { + return new JSONObject(obj.toString()); + } if (obj instanceof JSONObject) { return (JSONObject) obj; } -- Gitblit v1.8.0