""" Examples of using event messages """ from datetime import datetime from mqtt_protocol import ChargeRecord, SwapRecord from mqtt_protocol.event_messages import RateDetail, ChargeStartType, SwapType, SwapMode def charge_record_example(): # Create rate details rate_details = [ RateDetail(rateType=1, startTime="2024-02-24 10:00:00", stopTime="2024-02-24 12:00:00", elect=50.5), RateDetail(rateType=2, startTime="2024-02-24 12:00:00", stopTime="2024-02-24 14:00:00", elect=45.8) ] # Create a charge record charge_record = ChargeRecord.create( equipNo="CHG001", orderSn="CR202402240001", gunNo="1", startTime="2024-02-24 10:00:00", stopTime="2024-02-24 14:00:00", startSOC=20.5, endSOC=85.3, chgQty=96.3, startMeter=1000.0, endMeter=1096.3, plateNo="京A12345", vin="LSVAA12345G123456", stopReason=1, sharpElect=50.5, peakElect=45.8, flatElect=0.0, valleyElect=0.0, rateModelID="RATE001", detailsList=rate_details, swapSn="", chgSwitch=0, startType=ChargeStartType.STATION_AUTO ) print("Charge Record Example:") print(charge_record.to_json()) def swap_record_example(): # Create a swap record swap_record = SwapRecord( equipNo="ROBOT001", orderSn="SR202402240001", startTime="2024-02-24 15:00:00", stopTime="2024-02-24 15:10:00", vin="LSVAA12345G123456", rfidCode="123456789012345678901234", plateNo="京A12345", newBatID="BAT001", newCabinetNo=1, newBatSoc=95.5, oldBatID="BAT002", oldCabinetNo=2, oldBatSoc=15.5, swapType=SwapType.BATTERY_SWAP, swapMode=SwapMode.FULL_AUTO, swapStartType=1, lane=1, userID="USER001", stationMode=1 ) print("\nSwap Record Example:") print(swap_record.to_json()) if __name__ == "__main__": charge_record_example() swap_record_example()