| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.JsonArray; |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hdl.linkpm.sdk.core.exception.HDLException; |
| | |
| | | import com.hdl.photovoltaic.config.AppConfigManage; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; |
| | | import com.hdl.photovoltaic.internet.TcpClient; |
| | | import com.hdl.photovoltaic.internet.api.TopicApi; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | | import com.hdl.photovoltaic.listener.LinkCallBack; |
| | | import com.hdl.photovoltaic.ui.bean.CUserInfo; |
| | |
| | | import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.callback.GatewayCallBack; |
| | | import com.hdl.sdk.link.core.callback.HDLLinkCallBack; |
| | | import com.hdl.sdk.link.core.callback.ModbusCallBack; |
| | | import com.hdl.sdk.link.core.connect.HDLModBusConnect; |
| | | import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; |
| | |
| | | //逆变器清空住宅id |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_CLEAR_DATA: { |
| | | this.uniClearInverterHomeId(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //spk属性编辑 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_edit_SEND: { |
| | | this.uniLinkSpkAttributeEdit(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //spk属性读取 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_read_SEND: { |
| | | this.uniLinkSpkAttributeRead(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //获取未处理/未读消息数量 |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * link spk 属性编辑 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniLinkSpkAttributeEdit(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); |
| | | JsonArray jay = new JsonArray(); |
| | | if (!TextUtils.isEmpty(attribute_data)) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class); |
| | | String objects = jObject.get("objects").toString(); |
| | | jay = gson.fromJson(objects, JsonArray.class); |
| | | } catch (Exception ignored) { |
| | | } |
| | | } |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_DOWN, jay, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String msg) { |
| | | uniCallbackData(type, msg, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * link spk 属性读取 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniLinkSpkAttributeRead(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); |
| | | JsonArray jay = new JsonArray(); |
| | | //{"id":"c2d8b26b-3371-4fed-a190-78da31b454cf","time_stamp":"1711531144489","objects":[{"sid":"010126005C000251333036333237"}]} |
| | | if (!TextUtils.isEmpty(attribute_data)) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class); |
| | | String objects = jObject.get("objects").toString(); |
| | | jay = gson.fromJson(objects, JsonArray.class); |
| | | } catch (Exception ignored) { |
| | | } |
| | | |
| | | } |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_READ, jay, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String msg) { |
| | | uniCallbackData(type, msg, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 发送modbus协议数据 |