68 lines
1.4 KiB
Python
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 |