From d1bb52748505caa0c9bd9c71c4c91c1afba73847 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 30 六月 2023 18:11:05 +0800 Subject: [PATCH] 2023年06月30日18:11:01 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 78 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 74 insertions(+), 4 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..5c96236 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); + } + }); } } @@ -162,13 +226,16 @@ */ void sendModBus(Object data, DCUniMPJSCallback callback) { String tempData = getKeyValue("data", data); - if (tempData == null) { - LogUtils.i("data鍐呭涓虹┖"); + if (TextUtils.isEmpty(tempData)) { + HdlLogLogic.print("data鍐呭涓虹┖"); return; } ModBusBean modBusBean = com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(tempData), ModBusBean.class); +// ModBusBean modBusBean = new ModBusBean(); +// modBusBean.setOid("0101050219D44A00"); +// modBusBean.setData(new byte[]{00,01,00,00,00,0x09,00,00,00,01,03,00,00,00,01}); if (modBusBean.getOid() == null || modBusBean.getData() == null) { - LogUtils.i("鍐呭涓虹┖,oid=" + modBusBean.getOid() + " data=" + modBusBean.getData()); + HdlLogLogic.print("鍐呭涓虹┖,oid=" + modBusBean.getOid() + " data=" + modBusBean.getData()); return; } @@ -293,6 +360,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