2025-02-24 15:10:30 +08:00

68 lines
1.4 KiB
Python

"""
Constants used throughout the MQTT protocol implementation
"""
# Protocol version
PROTOCOL_VERSION = "V2.6.2"
# Topic related constants
TOPIC_PREFIX = "HCMS" # Heavy truck Charging Management System
TOPIC_SEPARATOR = "/"
# Message directions
M2S = "M2S" # Master to Slave (Cloud Platform to Station)
S2M = "S2M" # Slave to Master (Station to Cloud Platform)
# Message types
STATE = "state"
EVENT = "event"
CONFIRM = "confirm"
REQUEST = "request"
RESPONSE = "response"
KEEPALIVE = "keepalive"
ENCRYPT_KEY_REQ = "encryptKeyReq"
ENCRYPT_KEY_RESP = "encryptKeyResp"
# Station modes
STATION_MODE_OPERATION = 1
STATION_MODE_DEBUG = 2
STATION_MODE_MAINTENANCE = 3
# Device states
DEVICE_STATE_UNKNOWN = 0
DEVICE_STATE_NORMAL = 1
DEVICE_STATE_ALARM = 2
# Charging states
CHARGING_STATE_STANDBY = 1
CHARGING_STATE_CHARGING = 2
CHARGING_STATE_COMPLETE = 3
CHARGING_STATE_FAULT = 4
CHARGING_STATE_OFFLINE = 5
# Swap states
SWAP_STATE_NOT_STARTED = 1
SWAP_STATE_STARTED = 2
SWAP_STATE_PAUSED = 3
SWAP_STATE_RESUMED = 4
SWAP_STATE_TERMINATED = 5
SWAP_STATE_COMPLETED = 6
# Rate types
RATE_TYPE_SHARP = 1
RATE_TYPE_PEAK = 2
RATE_TYPE_FLAT = 3
RATE_TYPE_VALLEY = 4
# Lane types
LANE_TYPE_SINGLE = 1
LANE_TYPE_DOUBLE = 2
# Error codes
ERROR_SUCCESS = 1
ERROR_FAILURE = 2
# Timeouts (in seconds)
KEEPALIVE_INTERVAL = 30
EVENT_RETRY_INTERVAL = 15
COMMUNICATION_TIMEOUT = 90 # 3 * KEEPALIVE_INTERVAL