/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package com.youchain.jamod.service.dto;

import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @website https://eladmin.vip
* @description /
* @author huojin
* @date 2025-03-21
**/
@Data
public class ModbusInfoDto implements Serializable {

    /** 自增主键，唯一标识每条记录 */
    private Integer id;

    /** Modbus 设备的名称，用于直观识别设备 */
    private String deviceName;

    /** Modbus 设备的 IP 地址 */
    private String deviceIp;

    /** Modbus 设备的端口号 */
    private Integer devicePort;

    /** Modbus 设备的详细描述信息，如设备用途、型号等 */
    private String deviceDescription;

    /** Modbus 数据的类型 */
    private String dataType;

    /** 批量读取数据的起始地址 */
    private Integer startAddress;

    /** 批量读取的数据长度 */
    private Integer dataLength;

    /** 批量读取的数据值集合，以特定格式存储，如逗号分隔的字符串 */
    private String dataValues;

    /** 最后一次读取该数据的时间 */
    private Timestamp lastReadTime;

    /** 最后一次修改该数据的时间 */
    private Timestamp lastModifyTime;

    /** 数据的版本号，每次数据修改时版本号递增，用于数据追溯 */
    private Integer dataVersion;

    /** 数据的状态，normal 表示正常，abnormal 表示异常，warning 表示警告，maintenance 表示维护中 */
    private String dataStatus;

    /** 是否触发报警，TRUE 表示触发，FALSE 表示未触发 */
    private Integer alarmStatus;

    /** 记录设备连接状态，TRUE 表示连接成功，FALSE 表示连接失败 */
    private Integer isConnected;

    /** 异常重试次数 */
    private Integer maxRetries;

    /** 状态：1启用、0禁用 */
    private Boolean enabled;

    /** 报错原因 */
    private String description;
}