| | |
| | | return null; |
| | | } |
| | | this.c3Mac = hex.substring(0, 8); |
| | | this.year = hex.substring(8, 10); |
| | | this.month = hex.substring(10, 12); |
| | | this.day = hex.substring(12, 14); |
| | | this.hour = hex.substring(14, 16); |
| | | this.min = hex.substring(16, 18); |
| | | this.sec = hex.substring(18, 20); |
| | | this.chargingPort = hex.substring(20, 24); |
| | | this.statusBit = hex.substring(24, 26); |
| | | this.year = parseVal(hex.substring(8, 10)); |
| | | this.month = parseVal(hex.substring(10, 12)); |
| | | this.day = parseVal(hex.substring(12, 14)); |
| | | this.hour = parseVal(hex.substring(14, 16)); |
| | | this.min = parseVal(hex.substring(16, 18)); |
| | | this.sec = parseVal(hex.substring(18, 20)); |
| | | this.chargingPort = parseVal(hex.substring(20, 24)); |
| | | this.statusBit = parseVal(hex.substring(24, 26)); |
| | | this.deviceTemperature = (parseVal(hex, 26, 28) + "." + parseVal(hex, 28, 30)); |
| | | this.gridVoltage = hex.substring(30, 34); |
| | | this.gridCurrent = hex.substring(34, 38); |
| | | this.frequency = hex.substring(38, 42); |
| | | this.powerFactor = hex.substring(42, 46); |
| | | this.activePower = hex.substring(46, 50); |
| | | this.reactivePower = hex.substring(50, 54); |
| | | this.chargedCapacity = hex.substring(54, 58); |
| | | this.reservedCapacity = hex.substring(58, 62); |
| | | this.remainingAmount = hex.substring(62, 66); |
| | | this.alreadyChargingTime = hex.substring(66, 72); |
| | | this.gridVoltage = (parseVal(hex, 30, 32) + "." + parseVal(hex, 32, 34)); |
| | | this.gridCurrent = (parseVal(hex, 34, 36) + "." + parseVal(hex, 36, 38)); |
| | | this.frequency = (parseVal(hex, 38, 40) + "." + parseVal(hex, 40, 42)); |
| | | this.powerFactor = (parseVal(hex, 42, 44) + "." + parseVal(hex, 44, 46)); |
| | | this.activePower = (parseVal(hex, 46, 48) + "." + parseVal(hex, 48, 50)); |
| | | this.reactivePower = (parseVal(hex, 50, 52) + "." + parseVal(hex, 52, 54)); |
| | | this.chargedCapacity = (parseVal(hex, 54, 56) + "." + parseVal(hex, 56, 58)); |
| | | this.reservedCapacity = (parseVal(hex, 58, 60) + "." + parseVal(hex, 60, 62)); |
| | | this.remainingAmount = (parseVal(hex, 62, 64) + "." + parseVal(hex, 64, 66)); |
| | | this.alreadyChargingTime = parseVal(hex.substring(66, 72)); |
| | | |
| | | return this; |
| | | } |
| | |
| | | private Integer parseVal(String frame, int start, int end) { |
| | | return Integer.parseInt(frame.substring(start, end), 16); |
| | | } |
| | | |
| | | private String parseVal(String hex) { |
| | | return Integer.parseInt(hex, 16) + ""; |
| | | } |
| | | } |
| | | } |