mac
2024-03-13 4a2d7f9ac055d10ba7baf58df690e0ad62826f52
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -7,6 +7,7 @@
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.home.type.GatewayType;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.internet.HttpClient;
@@ -35,6 +36,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import io.dcloud.common.adapter.util.DeviceInfo;
/**
@@ -162,6 +165,50 @@
        json.addProperty("sid", sid);
        json.addProperty("oid", oid);
        json.addProperty("name", name);
        // json.addProperty("zoneType", "password");//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String str) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                    //临时的逻辑,上传oid列表到云端
                    uploadDataToCloud(UserConfigManage.getInstance().getHomeId(), mac, null);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 添加多个逆变器到云端上
     *
     * @param mac           -
     * @param cloudCallBeak -
     */
    public void addAllInverterDeviceToCloud(String homeId, String mac, List<GatewayBean> list, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Device_Add_All;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
        JsonArray ary = new JsonArray();
        for (int i = 0; i < list.size(); i++) {
            GatewayBean gatewayBean=list.get(i);
            JsonObject inverterInfo = new JsonObject();
            inverterInfo.addProperty("mac",gatewayBean.getDevice_mac());
            inverterInfo.addProperty("spk",gatewayBean.getGatewayType());
            inverterInfo.addProperty("sid",gatewayBean.getSid());
            inverterInfo.addProperty("oid",gatewayBean.getOid());
            inverterInfo.addProperty("name",gatewayBean.getDevice_name());
            ary.add(inverterInfo);
        }
        json.add("devices", ary);
        // json.addProperty("zoneType", "password");//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@@ -442,7 +489,7 @@
     * 网关时间读取
     *
     * @param mac          设备mac
     * @param linkCallBack 回调update
     * @param linkCallBack 回调updatetime
     */
    public void getGatewayTime(String mac, LinkCallBack<DeviceTimeBean> linkCallBack) {
        String requestUrl = TopicApi.GET_GATEWAY_TIME;
@@ -482,13 +529,22 @@
     * @param mac          设备mac
     * @param date         日期
     * @param time         时间
     * @param timezone     时区
     * @param linkCallBack 回调update
     */
    public void editGatewayTime(String mac, String date, String time, LinkCallBack<Boolean> linkCallBack) {
    public void editGatewayTime(String mac, String date, String time, String timezone, LinkCallBack<Boolean> linkCallBack) {
        String requestUrl = TopicApi.SET_GATEWAY_TIME_EDIT;
        JsonObject json = new JsonObject();
        json.addProperty("date", date);// "2020-08-15"
        json.addProperty("time", time);//"17:25:20"
        if (!TextUtils.isEmpty(date)) {
            json.addProperty("date", date);// "2020-08-15"
        }
        if (!TextUtils.isEmpty(time)) {
            json.addProperty("time", time);//"17:25:20"
        }
        if (!TextUtils.isEmpty(timezone)) {
            json.addProperty("timezone", timezone);//时区(语雀https://hdl-gz.yuque.com/wnkbmh/cdrglh/yckkyp#qWOPS)
        }
        TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() {
            @Override
            public void onSuccess(String msg) {
@@ -761,7 +817,7 @@
                                            cloudCallBeak.onSuccess(getCurrentHomeGatewayList(homeId));
                                        }
                                    }
                                    HdlLogLogic.print("获取设备远程通讯信息失败->msg->" + e.getMsg() + "(" + e.getCode() + ")");
                                    HdlLogLogic.print("获取设备远程通讯信息失败--->msg--->" + e.getMsg() + "(" + e.getCode() + ")");
                                }
                            });
                        }
@@ -841,6 +897,7 @@
        JsonObject json = new JsonObject();
        json.addProperty("homeId", "");
        json.addProperty("server_addr", "");
        json.addProperty("local_secret", "");
        TcpClient.getInstance().sendDataToLinkGateway(mac, true, requestUrl, json, "", new HDLLinkCallBack() {
            @Override
            public void onSuccess(String msg) {
@@ -883,7 +940,7 @@
     *
     * @param gatewayCallBack -
     */
    public void searchAllGateway(GatewayCallBack gatewayCallBack) {
    public void searchAllNetworkGateway(GatewayCallBack gatewayCallBack) {
        //网关搜索
        HDLLinkLocalSdk.getInstance().refreshGateway(gatewayCallBack, this.getGatewaySpk());
    }