|
@@ -39,6 +39,62 @@ const MQTT_KV = 'CCOS/DEVICE/Generator/Notify/KV'; //KV值
|
|
|
const MQTT_MAS = 'CCOS/DEVICE/Generator/Notify/MAS';
|
|
|
const MQTT_MA = 'CCOS/DEVICE/Generator/Notify/MA';
|
|
|
const MQTT_MS = 'CCOS/DEVICE/Generator/Notify/MS';
|
|
|
+const MQTT_ERRORLIST_NOTIFY = 'CCOS/DEVICE/Generator/Notify/ErrorList';
|
|
|
+
|
|
|
+interface ErrorListMessage {
|
|
|
+ IDX: string;
|
|
|
+ TYPE: string;
|
|
|
+ CMD: string;
|
|
|
+ KEY: string;
|
|
|
+ CONTEXT: Record<
|
|
|
+ string,
|
|
|
+ {
|
|
|
+ CodeID: string;
|
|
|
+ Type: string; // 0 表示error , 1 表示 warning
|
|
|
+ Level: string;
|
|
|
+ Resouceinfo: string;
|
|
|
+ Description: string;
|
|
|
+ CreationTime: string;
|
|
|
+ AppId: string;
|
|
|
+ InstanceId: string;
|
|
|
+ }
|
|
|
+ >;
|
|
|
+ Ver: string;
|
|
|
+ Transaction: string;
|
|
|
+ HANDLE: {
|
|
|
+ ROUTE: string;
|
|
|
+ FLAGS: string;
|
|
|
+ LANG: string;
|
|
|
+ HANDLEID: string;
|
|
|
+ OWNERID: {
|
|
|
+ EBUSID: string;
|
|
|
+ MACHINEID: string;
|
|
|
+ PROCID: string;
|
|
|
+ ADDR: string;
|
|
|
+ };
|
|
|
+ DEVID: {
|
|
|
+ EBUSID: string;
|
|
|
+ MACHINEID: string;
|
|
|
+ PROCID: string;
|
|
|
+ ADDR: string;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ TOPIC: string;
|
|
|
+ PUBLISH: string;
|
|
|
+}
|
|
|
+
|
|
|
+const handleErrorListMessage = (message: ErrorListMessage) => {
|
|
|
+ console.log(
|
|
|
+ `[mqttServiceForDevice] 收到ErrorList消息: ${JSON.stringify(message.CONTEXT)}`
|
|
|
+ );
|
|
|
+ Object.keys(message.CONTEXT).forEach((key) => {
|
|
|
+ const error = message.CONTEXT[key];
|
|
|
+ console.log(
|
|
|
+ `Error CodeID: ${error.CodeID}, Level: ${error.Level}, Resource Info: ${error.Resouceinfo}`
|
|
|
+ );
|
|
|
+ // Add additional handling logic here if needed
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
const options = {
|
|
|
clean: true,
|
|
@@ -140,6 +196,15 @@ const startListening = () => {
|
|
|
);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ mqttClient.subscribe(MQTT_ERRORLIST_NOTIFY, (err) => {
|
|
|
+ if (err) {
|
|
|
+ console.error(
|
|
|
+ '[mqttServiceForDevice] Failed to subscribe to topic MQTT_ERRORLIST_NOTIFY',
|
|
|
+ err
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
mqttClient.on('error', (error) => {
|
|
@@ -182,6 +247,11 @@ const startListening = () => {
|
|
|
console.log(`从设备发来新的MS值 ${parsedMessage.CONTEXT}`);
|
|
|
emitter.emit('NEW_MS', parsedMessage.CONTEXT);
|
|
|
}
|
|
|
+
|
|
|
+ if (topic === MQTT_ERRORLIST_NOTIFY) {
|
|
|
+ const parsedMessage: ErrorListMessage = JSON.parse(message.toString());
|
|
|
+ handleErrorListMessage(parsedMessage);
|
|
|
+ }
|
|
|
});
|
|
|
};
|
|
|
|